carbon_ruby_sdk 0.2.42 → 0.2.43

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/README.md +135 -3
  4. data/lib/carbon_ruby_sdk/api/data_sources_api.rb +196 -0
  5. data/lib/carbon_ruby_sdk/api/files_api.rb +4 -4
  6. data/lib/carbon_ruby_sdk/api/integrations_api.rb +48 -16
  7. data/lib/carbon_ruby_sdk/api/users_api.rb +71 -0
  8. data/lib/carbon_ruby_sdk/models/add_data_source_tags_input.rb +234 -0
  9. data/lib/carbon_ruby_sdk/models/azure_blob_auth_request.rb +14 -4
  10. data/lib/carbon_ruby_sdk/models/cold_storage_props.rb +1 -1
  11. data/lib/carbon_ruby_sdk/models/external_source_item.rb +11 -1
  12. data/lib/carbon_ruby_sdk/models/fresh_desk_connect_request.rb +15 -5
  13. data/lib/carbon_ruby_sdk/models/gitbook_connect_request.rb +15 -5
  14. data/lib/carbon_ruby_sdk/models/github_connect_request.rb +14 -4
  15. data/lib/carbon_ruby_sdk/models/guru_connect_request.rb +15 -5
  16. data/lib/carbon_ruby_sdk/models/o_auth_url_request.rb +15 -5
  17. data/lib/carbon_ruby_sdk/models/organization_user_data_source_api.rb +15 -1
  18. data/lib/carbon_ruby_sdk/models/organization_user_data_source_filters.rb +12 -1
  19. data/lib/carbon_ruby_sdk/models/remove_data_source_tags_input.rb +242 -0
  20. data/lib/carbon_ruby_sdk/models/rss_feed_input.rb +15 -5
  21. data/lib/carbon_ruby_sdk/models/s3_auth_request.rb +15 -5
  22. data/lib/carbon_ruby_sdk/models/sync_options.rb +15 -5
  23. data/lib/carbon_ruby_sdk/models/user_response.rb +18 -4
  24. data/lib/carbon_ruby_sdk/models/white_labeling_response.rb +18 -4
  25. data/lib/carbon_ruby_sdk/version.rb +1 -1
  26. data/lib/carbon_ruby_sdk.rb +2 -0
  27. data/spec/api/data_sources_api_spec.rb +22 -0
  28. data/spec/api/files_api_spec.rb +1 -1
  29. data/spec/api/users_api_spec.rb +10 -0
  30. data/spec/models/add_data_source_tags_input_spec.rb +34 -0
  31. data/spec/models/azure_blob_auth_request_spec.rb +6 -0
  32. data/spec/models/external_source_item_spec.rb +6 -0
  33. data/spec/models/fresh_desk_connect_request_spec.rb +6 -0
  34. data/spec/models/gitbook_connect_request_spec.rb +6 -0
  35. data/spec/models/github_connect_request_spec.rb +6 -0
  36. data/spec/models/guru_connect_request_spec.rb +6 -0
  37. data/spec/models/o_auth_url_request_spec.rb +6 -0
  38. data/spec/models/organization_user_data_source_api_spec.rb +6 -0
  39. data/spec/models/organization_user_data_source_filters_spec.rb +6 -0
  40. data/spec/models/remove_data_source_tags_input_spec.rb +40 -0
  41. data/spec/models/rss_feed_input_spec.rb +6 -0
  42. data/spec/models/s3_auth_request_spec.rb +6 -0
  43. data/spec/models/sync_options_spec.rb +6 -0
  44. data/spec/models/user_response_spec.rb +6 -0
  45. data/spec/models/white_labeling_response_spec.rb +6 -0
  46. metadata +8 -2
@@ -0,0 +1,242 @@
1
+ =begin
2
+ #Carbon
3
+
4
+ #Connect external data to LLMs, no matter the source.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ =end
8
+
9
+ require 'date'
10
+ require 'time'
11
+
12
+ module Carbon
13
+ class RemoveDataSourceTagsInput
14
+ attr_accessor :data_source_id
15
+
16
+ attr_accessor :tags_to_remove
17
+
18
+ attr_accessor :remove_all_tags
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'data_source_id' => :'data_source_id',
24
+ :'tags_to_remove' => :'tags_to_remove',
25
+ :'remove_all_tags' => :'remove_all_tags'
26
+ }
27
+ end
28
+
29
+ # Returns all the JSON keys this model knows about
30
+ def self.acceptable_attributes
31
+ attribute_map.values
32
+ end
33
+
34
+ # Attribute type mapping.
35
+ def self.openapi_types
36
+ {
37
+ :'data_source_id' => :'Integer',
38
+ :'tags_to_remove' => :'Array<String>',
39
+ :'remove_all_tags' => :'Boolean'
40
+ }
41
+ end
42
+
43
+ # List of attributes with nullable: true
44
+ def self.openapi_nullable
45
+ Set.new([
46
+ ])
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Carbon::RemoveDataSourceTagsInput` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Carbon::RemoveDataSourceTagsInput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'data_source_id')
65
+ self.data_source_id = attributes[:'data_source_id']
66
+ end
67
+
68
+ if attributes.key?(:'tags_to_remove')
69
+ if (value = attributes[:'tags_to_remove']).is_a?(Array)
70
+ self.tags_to_remove = value
71
+ end
72
+ end
73
+
74
+ if attributes.key?(:'remove_all_tags')
75
+ self.remove_all_tags = attributes[:'remove_all_tags']
76
+ else
77
+ self.remove_all_tags = false
78
+ end
79
+ end
80
+
81
+ # Show invalid properties with the reasons. Usually used together with valid?
82
+ # @return Array for valid properties with the reasons
83
+ def list_invalid_properties
84
+ invalid_properties = Array.new
85
+ if @data_source_id.nil?
86
+ invalid_properties.push('invalid value for "data_source_id", data_source_id cannot be nil.')
87
+ end
88
+
89
+ invalid_properties
90
+ end
91
+
92
+ # Check to see if the all the properties in the model are valid
93
+ # @return true if the model is valid
94
+ def valid?
95
+ return false if @data_source_id.nil?
96
+ true
97
+ end
98
+
99
+ # Checks equality by comparing each attribute.
100
+ # @param [Object] Object to be compared
101
+ def ==(o)
102
+ return true if self.equal?(o)
103
+ self.class == o.class &&
104
+ data_source_id == o.data_source_id &&
105
+ tags_to_remove == o.tags_to_remove &&
106
+ remove_all_tags == o.remove_all_tags
107
+ end
108
+
109
+ # @see the `==` method
110
+ # @param [Object] Object to be compared
111
+ def eql?(o)
112
+ self == o
113
+ end
114
+
115
+ # Calculates hash code according to all attributes.
116
+ # @return [Integer] Hash code
117
+ def hash
118
+ [data_source_id, tags_to_remove, remove_all_tags].hash
119
+ end
120
+
121
+ # Builds the object from hash
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ # @return [Object] Returns the model itself
124
+ def self.build_from_hash(attributes)
125
+ new.build_from_hash(attributes)
126
+ end
127
+
128
+ # Builds the object from hash
129
+ # @param [Hash] attributes Model attributes in the form of hash
130
+ # @return [Object] Returns the model itself
131
+ def build_from_hash(attributes)
132
+ return nil unless attributes.is_a?(Hash)
133
+ attributes = attributes.transform_keys(&:to_sym)
134
+ self.class.openapi_types.each_pair do |key, type|
135
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
136
+ self.send("#{key}=", nil)
137
+ elsif type =~ /\AArray<(.*)>/i
138
+ # check to ensure the input is an array given that the attribute
139
+ # is documented as an array but the input is not
140
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
141
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
142
+ end
143
+ elsif !attributes[self.class.attribute_map[key]].nil?
144
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
145
+ end
146
+ end
147
+
148
+ self
149
+ end
150
+
151
+ # Deserializes the data based on type
152
+ # @param string type Data type
153
+ # @param string value Value to be deserialized
154
+ # @return [Object] Deserialized data
155
+ def _deserialize(type, value)
156
+ case type.to_sym
157
+ when :Time
158
+ Time.parse(value)
159
+ when :Date
160
+ Date.parse(value)
161
+ when :String
162
+ value.to_s
163
+ when :Integer
164
+ value.to_i
165
+ when :Float
166
+ value.to_f
167
+ when :Boolean
168
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
169
+ true
170
+ else
171
+ false
172
+ end
173
+ when :Object
174
+ # generic object (usually a Hash), return directly
175
+ value
176
+ when /\AArray<(?<inner_type>.+)>\z/
177
+ inner_type = Regexp.last_match[:inner_type]
178
+ value.map { |v| _deserialize(inner_type, v) }
179
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
180
+ k_type = Regexp.last_match[:k_type]
181
+ v_type = Regexp.last_match[:v_type]
182
+ {}.tap do |hash|
183
+ value.each do |k, v|
184
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
185
+ end
186
+ end
187
+ else # model
188
+ # models (e.g. Pet) or oneOf
189
+ klass = Carbon.const_get(type)
190
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
191
+ end
192
+ end
193
+
194
+ # Returns the string representation of the object
195
+ # @return [String] String presentation of the object
196
+ def to_s
197
+ to_hash.to_s
198
+ end
199
+
200
+ # to_body is an alias to to_hash (backward compatibility)
201
+ # @return [Hash] Returns the object in the form of hash
202
+ def to_body
203
+ to_hash
204
+ end
205
+
206
+ # Returns the object in the form of hash
207
+ # @return [Hash] Returns the object in the form of hash
208
+ def to_hash
209
+ hash = {}
210
+ self.class.attribute_map.each_pair do |attr, param|
211
+ value = self.send(attr)
212
+ if value.nil?
213
+ is_nullable = self.class.openapi_nullable.include?(attr)
214
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
215
+ end
216
+
217
+ hash[param] = _to_hash(value)
218
+ end
219
+ hash
220
+ end
221
+
222
+ # Outputs non-array value in the form of hash
223
+ # For object, use to_hash. Otherwise, just return the value
224
+ # @param [Object] value Any valid value
225
+ # @return [Hash] Returns the value in the form of hash
226
+ def _to_hash(value)
227
+ if value.is_a?(Array)
228
+ value.compact.map { |v| _to_hash(v) }
229
+ elsif value.is_a?(Hash)
230
+ {}.tap do |hash|
231
+ value.each { |k, v| hash[k] = _to_hash(v) }
232
+ end
233
+ elsif value.respond_to? :to_hash
234
+ value.to_hash
235
+ else
236
+ value
237
+ end
238
+ end
239
+
240
+ end
241
+
242
+ end
@@ -29,6 +29,9 @@ module Carbon
29
29
 
30
30
  attr_accessor :request_id
31
31
 
32
+ # Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.
33
+ attr_accessor :data_source_tags
34
+
32
35
  # Attribute mapping from ruby-style variable name to JSON key.
33
36
  def self.attribute_map
34
37
  {
@@ -40,7 +43,8 @@ module Carbon
40
43
  :'embedding_model' => :'embedding_model',
41
44
  :'generate_sparse_vectors' => :'generate_sparse_vectors',
42
45
  :'prepend_filename_to_chunks' => :'prepend_filename_to_chunks',
43
- :'request_id' => :'request_id'
46
+ :'request_id' => :'request_id',
47
+ :'data_source_tags' => :'data_source_tags'
44
48
  }
45
49
  end
46
50
 
@@ -60,7 +64,8 @@ module Carbon
60
64
  :'embedding_model' => :'EmbeddingGenerators',
61
65
  :'generate_sparse_vectors' => :'Boolean',
62
66
  :'prepend_filename_to_chunks' => :'Boolean',
63
- :'request_id' => :'String'
67
+ :'request_id' => :'String',
68
+ :'data_source_tags' => :'Object'
64
69
  }
65
70
  end
66
71
 
@@ -73,7 +78,7 @@ module Carbon
73
78
  :'skip_embedding_generation',
74
79
  :'generate_sparse_vectors',
75
80
  :'prepend_filename_to_chunks',
76
- :'request_id'
81
+ :'request_id',
77
82
  ])
78
83
  end
79
84
 
@@ -139,6 +144,10 @@ module Carbon
139
144
  if attributes.key?(:'request_id')
140
145
  self.request_id = attributes[:'request_id']
141
146
  end
147
+
148
+ if attributes.key?(:'data_source_tags')
149
+ self.data_source_tags = attributes[:'data_source_tags']
150
+ end
142
151
  end
143
152
 
144
153
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -172,7 +181,8 @@ module Carbon
172
181
  embedding_model == o.embedding_model &&
173
182
  generate_sparse_vectors == o.generate_sparse_vectors &&
174
183
  prepend_filename_to_chunks == o.prepend_filename_to_chunks &&
175
- request_id == o.request_id
184
+ request_id == o.request_id &&
185
+ data_source_tags == o.data_source_tags
176
186
  end
177
187
 
178
188
  # @see the `==` method
@@ -184,7 +194,7 @@ module Carbon
184
194
  # Calculates hash code according to all attributes.
185
195
  # @return [Integer] Hash code
186
196
  def hash
187
- [tags, url, chunk_size, chunk_overlap, skip_embedding_generation, embedding_model, generate_sparse_vectors, prepend_filename_to_chunks, request_id].hash
197
+ [tags, url, chunk_size, chunk_overlap, skip_embedding_generation, embedding_model, generate_sparse_vectors, prepend_filename_to_chunks, request_id, data_source_tags].hash
188
198
  end
189
199
 
190
200
  # Builds the object from hash
@@ -21,13 +21,17 @@ module Carbon
21
21
  # You can specify a Digital Ocean endpoint URL to connect a Digital Ocean Space through this endpoint. The URL should be of format <region>.digitaloceanspaces.com. It's not required for S3 buckets.
22
22
  attr_accessor :endpoint_url
23
23
 
24
+ # Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.
25
+ attr_accessor :data_source_tags
26
+
24
27
  # Attribute mapping from ruby-style variable name to JSON key.
25
28
  def self.attribute_map
26
29
  {
27
30
  :'access_key' => :'access_key',
28
31
  :'access_key_secret' => :'access_key_secret',
29
32
  :'sync_source_items' => :'sync_source_items',
30
- :'endpoint_url' => :'endpoint_url'
33
+ :'endpoint_url' => :'endpoint_url',
34
+ :'data_source_tags' => :'data_source_tags'
31
35
  }
32
36
  end
33
37
 
@@ -42,14 +46,15 @@ module Carbon
42
46
  :'access_key' => :'String',
43
47
  :'access_key_secret' => :'String',
44
48
  :'sync_source_items' => :'Boolean',
45
- :'endpoint_url' => :'String'
49
+ :'endpoint_url' => :'String',
50
+ :'data_source_tags' => :'Object'
46
51
  }
47
52
  end
48
53
 
49
54
  # List of attributes with nullable: true
50
55
  def self.openapi_nullable
51
56
  Set.new([
52
- :'endpoint_url'
57
+ :'endpoint_url',
53
58
  ])
54
59
  end
55
60
 
@@ -85,6 +90,10 @@ module Carbon
85
90
  if attributes.key?(:'endpoint_url')
86
91
  self.endpoint_url = attributes[:'endpoint_url']
87
92
  end
93
+
94
+ if attributes.key?(:'data_source_tags')
95
+ self.data_source_tags = attributes[:'data_source_tags']
96
+ end
88
97
  end
89
98
 
90
99
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -118,7 +127,8 @@ module Carbon
118
127
  access_key == o.access_key &&
119
128
  access_key_secret == o.access_key_secret &&
120
129
  sync_source_items == o.sync_source_items &&
121
- endpoint_url == o.endpoint_url
130
+ endpoint_url == o.endpoint_url &&
131
+ data_source_tags == o.data_source_tags
122
132
  end
123
133
 
124
134
  # @see the `==` method
@@ -130,7 +140,7 @@ module Carbon
130
140
  # Calculates hash code according to all attributes.
131
141
  # @return [Integer] Hash code
132
142
  def hash
133
- [access_key, access_key_secret, sync_source_items, endpoint_url].hash
143
+ [access_key, access_key_secret, sync_source_items, endpoint_url, data_source_tags].hash
134
144
  end
135
145
 
136
146
  # Builds the object from hash
@@ -48,6 +48,9 @@ module Carbon
48
48
  # Automatically open source file picker after the OAuth flow is complete. This flag is currently supported by BOX, DROPBOX, GOOGLE_DRIVE, ONEDRIVE, SHAREPOINT. It will be ignored for other data sources.
49
49
  attr_accessor :automatically_open_file_picker
50
50
 
51
+ # Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.
52
+ attr_accessor :data_source_tags
53
+
51
54
  # Attribute mapping from ruby-style variable name to JSON key.
52
55
  def self.attribute_map
53
56
  {
@@ -66,7 +69,8 @@ module Carbon
66
69
  :'sync_source_items' => :'sync_source_items',
67
70
  :'incremental_sync' => :'incremental_sync',
68
71
  :'file_sync_config' => :'file_sync_config',
69
- :'automatically_open_file_picker' => :'automatically_open_file_picker'
72
+ :'automatically_open_file_picker' => :'automatically_open_file_picker',
73
+ :'data_source_tags' => :'data_source_tags'
70
74
  }
71
75
  end
72
76
 
@@ -93,7 +97,8 @@ module Carbon
93
97
  :'sync_source_items' => :'Boolean',
94
98
  :'incremental_sync' => :'Boolean',
95
99
  :'file_sync_config' => :'FileSyncConfigNullable',
96
- :'automatically_open_file_picker' => :'Boolean'
100
+ :'automatically_open_file_picker' => :'Boolean',
101
+ :'data_source_tags' => :'Object'
97
102
  }
98
103
  end
99
104
 
@@ -111,7 +116,7 @@ module Carbon
111
116
  :'sync_files_on_connection',
112
117
  :'request_id',
113
118
  :'file_sync_config',
114
- :'automatically_open_file_picker'
119
+ :'automatically_open_file_picker',
115
120
  ])
116
121
  end
117
122
 
@@ -215,6 +220,10 @@ module Carbon
215
220
  if attributes.key?(:'automatically_open_file_picker')
216
221
  self.automatically_open_file_picker = attributes[:'automatically_open_file_picker']
217
222
  end
223
+
224
+ if attributes.key?(:'data_source_tags')
225
+ self.data_source_tags = attributes[:'data_source_tags']
226
+ end
218
227
  end
219
228
 
220
229
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -250,7 +259,8 @@ module Carbon
250
259
  sync_source_items == o.sync_source_items &&
251
260
  incremental_sync == o.incremental_sync &&
252
261
  file_sync_config == o.file_sync_config &&
253
- automatically_open_file_picker == o.automatically_open_file_picker
262
+ automatically_open_file_picker == o.automatically_open_file_picker &&
263
+ data_source_tags == o.data_source_tags
254
264
  end
255
265
 
256
266
  # @see the `==` method
@@ -262,7 +272,7 @@ module Carbon
262
272
  # Calculates hash code according to all attributes.
263
273
  # @return [Integer] Hash code
264
274
  def hash
265
- [tags, chunk_size, chunk_overlap, skip_embedding_generation, embedding_model, generate_sparse_vectors, prepend_filename_to_chunks, max_items_per_chunk, sync_files_on_connection, set_page_as_boundary, request_id, enable_file_picker, sync_source_items, incremental_sync, file_sync_config, automatically_open_file_picker].hash
275
+ [tags, chunk_size, chunk_overlap, skip_embedding_generation, embedding_model, generate_sparse_vectors, prepend_filename_to_chunks, max_items_per_chunk, sync_files_on_connection, set_page_as_boundary, request_id, enable_file_picker, sync_source_items, incremental_sync, file_sync_config, automatically_open_file_picker, data_source_tags].hash
266
276
  end
267
277
 
268
278
  # Builds the object from hash
@@ -49,6 +49,8 @@ module Carbon
49
49
 
50
50
  attr_accessor :auto_sync_enabled_sources
51
51
 
52
+ attr_accessor :connector_settings
53
+
52
54
  # Attribute mapping from ruby-style variable name to JSON key.
53
55
  def self.attribute_map
54
56
  {
@@ -70,7 +72,8 @@ module Carbon
70
72
  :'unique_file_tags' => :'unique_file_tags',
71
73
  :'enabled_features' => :'enabled_features',
72
74
  :'custom_limits' => :'custom_limits',
73
- :'auto_sync_enabled_sources' => :'auto_sync_enabled_sources'
75
+ :'auto_sync_enabled_sources' => :'auto_sync_enabled_sources',
76
+ :'connector_settings' => :'connector_settings'
74
77
  }
75
78
  end
76
79
 
@@ -100,7 +103,8 @@ module Carbon
100
103
  :'unique_file_tags' => :'Array<Object>',
101
104
  :'enabled_features' => :'Object',
102
105
  :'custom_limits' => :'Object',
103
- :'auto_sync_enabled_sources' => :'Array<Object>'
106
+ :'auto_sync_enabled_sources' => :'Array<Object>',
107
+ :'connector_settings' => :'Object'
104
108
  }
105
109
  end
106
110
 
@@ -206,6 +210,10 @@ module Carbon
206
210
  self.auto_sync_enabled_sources = value
207
211
  end
208
212
  end
213
+
214
+ if attributes.key?(:'connector_settings')
215
+ self.connector_settings = attributes[:'connector_settings']
216
+ end
209
217
  end
210
218
 
211
219
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -280,6 +288,10 @@ module Carbon
280
288
  invalid_properties.push('invalid value for "auto_sync_enabled_sources", auto_sync_enabled_sources cannot be nil.')
281
289
  end
282
290
 
291
+ if @connector_settings.nil?
292
+ invalid_properties.push('invalid value for "connector_settings", connector_settings cannot be nil.')
293
+ end
294
+
283
295
  invalid_properties
284
296
  end
285
297
 
@@ -303,6 +315,7 @@ module Carbon
303
315
  return false if @unique_file_tags.nil?
304
316
  return false if @custom_limits.nil?
305
317
  return false if @auto_sync_enabled_sources.nil?
318
+ return false if @connector_settings.nil?
306
319
  true
307
320
  end
308
321
 
@@ -329,7 +342,8 @@ module Carbon
329
342
  unique_file_tags == o.unique_file_tags &&
330
343
  enabled_features == o.enabled_features &&
331
344
  custom_limits == o.custom_limits &&
332
- auto_sync_enabled_sources == o.auto_sync_enabled_sources
345
+ auto_sync_enabled_sources == o.auto_sync_enabled_sources &&
346
+ connector_settings == o.connector_settings
333
347
  end
334
348
 
335
349
  # @see the `==` method
@@ -341,7 +355,7 @@ module Carbon
341
355
  # Calculates hash code according to all attributes.
342
356
  # @return [Integer] Hash code
343
357
  def hash
344
- [id, organization_id, organization_supplied_user_id, created_at, updated_at, deleted_at, num_files_synced, num_characters_synced, num_tokens_synced, aggregate_file_size, aggregate_num_characters, aggregate_num_tokens, aggregate_num_embeddings, aggregate_num_files_by_source, aggregate_num_files_by_file_format, unique_file_tags, enabled_features, custom_limits, auto_sync_enabled_sources].hash
358
+ [id, organization_id, organization_supplied_user_id, created_at, updated_at, deleted_at, num_files_synced, num_characters_synced, num_tokens_synced, aggregate_file_size, aggregate_num_characters, aggregate_num_tokens, aggregate_num_embeddings, aggregate_num_files_by_source, aggregate_num_files_by_file_format, unique_file_tags, enabled_features, custom_limits, auto_sync_enabled_sources, connector_settings].hash
345
359
  end
346
360
 
347
361
  # Builds the object from hash
@@ -17,12 +17,15 @@ module Carbon
17
17
 
18
18
  attr_accessor :custom_limits
19
19
 
20
+ attr_accessor :connector_settings
21
+
20
22
  # Attribute mapping from ruby-style variable name to JSON key.
21
23
  def self.attribute_map
22
24
  {
23
25
  :'remove_branding' => :'remove_branding',
24
26
  :'integrations' => :'integrations',
25
- :'custom_limits' => :'custom_limits'
27
+ :'custom_limits' => :'custom_limits',
28
+ :'connector_settings' => :'connector_settings'
26
29
  }
27
30
  end
28
31
 
@@ -36,7 +39,8 @@ module Carbon
36
39
  {
37
40
  :'remove_branding' => :'Boolean',
38
41
  :'integrations' => :'Object',
39
- :'custom_limits' => :'Object'
42
+ :'custom_limits' => :'Object',
43
+ :'connector_settings' => :'Object'
40
44
  }
41
45
  end
42
46
 
@@ -72,6 +76,10 @@ module Carbon
72
76
  if attributes.key?(:'custom_limits')
73
77
  self.custom_limits = attributes[:'custom_limits']
74
78
  end
79
+
80
+ if attributes.key?(:'connector_settings')
81
+ self.connector_settings = attributes[:'connector_settings']
82
+ end
75
83
  end
76
84
 
77
85
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -90,6 +98,10 @@ module Carbon
90
98
  invalid_properties.push('invalid value for "custom_limits", custom_limits cannot be nil.')
91
99
  end
92
100
 
101
+ if @connector_settings.nil?
102
+ invalid_properties.push('invalid value for "connector_settings", connector_settings cannot be nil.')
103
+ end
104
+
93
105
  invalid_properties
94
106
  end
95
107
 
@@ -99,6 +111,7 @@ module Carbon
99
111
  return false if @remove_branding.nil?
100
112
  return false if @integrations.nil?
101
113
  return false if @custom_limits.nil?
114
+ return false if @connector_settings.nil?
102
115
  true
103
116
  end
104
117
 
@@ -109,7 +122,8 @@ module Carbon
109
122
  self.class == o.class &&
110
123
  remove_branding == o.remove_branding &&
111
124
  integrations == o.integrations &&
112
- custom_limits == o.custom_limits
125
+ custom_limits == o.custom_limits &&
126
+ connector_settings == o.connector_settings
113
127
  end
114
128
 
115
129
  # @see the `==` method
@@ -121,7 +135,7 @@ module Carbon
121
135
  # Calculates hash code according to all attributes.
122
136
  # @return [Integer] Hash code
123
137
  def hash
124
- [remove_branding, integrations, custom_limits].hash
138
+ [remove_branding, integrations, custom_limits, connector_settings].hash
125
139
  end
126
140
 
127
141
  # Builds the object from hash
@@ -7,5 +7,5 @@ The version of the OpenAPI document: 1.0.0
7
7
  =end
8
8
 
9
9
  module Carbon
10
- VERSION = '0.2.42'
10
+ VERSION = '0.2.43'
11
11
  end
@@ -21,6 +21,7 @@ require 'carbon_ruby_sdk/models/account_response'
21
21
  require 'carbon_ruby_sdk/models/accounts_order_by'
22
22
  require 'carbon_ruby_sdk/models/accounts_order_by_nullable'
23
23
  require 'carbon_ruby_sdk/models/accounts_request'
24
+ require 'carbon_ruby_sdk/models/add_data_source_tags_input'
24
25
  require 'carbon_ruby_sdk/models/add_webhook_props'
25
26
  require 'carbon_ruby_sdk/models/address'
26
27
  require 'carbon_ruby_sdk/models/authentication_property'
@@ -205,6 +206,7 @@ require 'carbon_ruby_sdk/models/rss_feed_input'
205
206
  require 'carbon_ruby_sdk/models/rank_property'
206
207
  require 'carbon_ruby_sdk/models/raw_text_input'
207
208
  require 'carbon_ruby_sdk/models/raw_transcript_property_inner_value'
209
+ require 'carbon_ruby_sdk/models/remove_data_source_tags_input'
208
210
  require 'carbon_ruby_sdk/models/rerank_params'
209
211
  require 'carbon_ruby_sdk/models/rerank_params_nullable'
210
212
  require 'carbon_ruby_sdk/models/resync_file_query_input'
@@ -26,6 +26,17 @@ describe 'DataSourcesApi' do
26
26
  end
27
27
  end
28
28
 
29
+ # unit tests for add_tags
30
+ # Add Data Source Tags
31
+ # @param add_data_source_tags_input
32
+ # @param [Hash] opts the optional parameters
33
+ # @return [OrganizationUserDataSourceAPI]
34
+ describe 'add_tags test' do
35
+ it 'should work' do
36
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
+ end
38
+ end
39
+
29
40
  # unit tests for query_user_data_sources
30
41
  # User Data Sources
31
42
  # @param organization_user_data_source_query_input
@@ -37,6 +48,17 @@ describe 'DataSourcesApi' do
37
48
  end
38
49
  end
39
50
 
51
+ # unit tests for remove_tags
52
+ # Remove Data Source Tags
53
+ # @param remove_data_source_tags_input
54
+ # @param [Hash] opts the optional parameters
55
+ # @return [OrganizationUserDataSourceAPI]
56
+ describe 'remove_tags test' do
57
+ it 'should work' do
58
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
59
+ end
60
+ end
61
+
40
62
  # unit tests for revoke_access_token
41
63
  # Revoke Access Token
42
64
  # @param revoke_access_token_input
@@ -185,7 +185,7 @@ describe 'FilesApi' do
185
185
  # @option opts [FileContentTypesNullable] :media_type The media type of the file. If not provided, it will be inferred from the file extension.
186
186
  # @option opts [Boolean] :split_rows Whether to split tabular rows into chunks. Currently only valid for CSV, TSV, and XLSX files.
187
187
  # @option opts [Boolean] :enable_cold_storage Enable cold storage for the file. If set to true, the file will be moved to cold storage after a certain period of inactivity. Default is false.
188
- # @option opts [Integer] :hot_storage_time_to_live Time in seconds after which the file will be moved to cold storage.
188
+ # @option opts [Integer] :hot_storage_time_to_live Time in days after which the file will be moved to cold storage. Must be one of [1, 3, 7, 14, 30].
189
189
  # @option opts [Boolean] :generate_chunks_only If this flag is enabled, the file will be chunked and stored with Carbon, but no embeddings will be generated. This overrides the skip_embedding_generation flag.
190
190
  # @option opts [Boolean] :store_file_only If this flag is enabled, the file will be stored with Carbon, but no processing will be done.
191
191
  # @return [UserFile]
@@ -82,4 +82,14 @@ describe 'UsersApi' do
82
82
  end
83
83
  end
84
84
 
85
+ # unit tests for who_am_i
86
+ # Me Endpoint
87
+ # @param [Hash] opts the optional parameters
88
+ # @return [UserResponse]
89
+ describe 'who_am_i test' do
90
+ it 'should work' do
91
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
92
+ end
93
+ end
94
+
85
95
  end