carbon_ruby_sdk 0.2.42 → 0.2.43

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 (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