carbon_ruby_sdk 0.2.50 → 0.2.52

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.
@@ -0,0 +1,368 @@
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 Document360ConnectRequest
14
+ attr_accessor :tags
15
+
16
+ # This email will be used to identify your carbon data source. It should have access to the Document360 account you wish to connect.
17
+ attr_accessor :account_email
18
+
19
+ attr_accessor :access_token
20
+
21
+ attr_accessor :chunk_size
22
+
23
+ attr_accessor :chunk_overlap
24
+
25
+ attr_accessor :skip_embedding_generation
26
+
27
+ attr_accessor :embedding_model
28
+
29
+ attr_accessor :generate_sparse_vectors
30
+
31
+ attr_accessor :prepend_filename_to_chunks
32
+
33
+ attr_accessor :sync_files_on_connection
34
+
35
+ attr_accessor :request_id
36
+
37
+ # Enabling this flag will fetch all available content from the source to be listed via list items endpoint
38
+ attr_accessor :sync_source_items
39
+
40
+ attr_accessor :file_sync_config
41
+
42
+ # Tags to be associated with the data source. If the data source already has tags set, then an upsert will be performed.
43
+ attr_accessor :data_source_tags
44
+
45
+ # Attribute mapping from ruby-style variable name to JSON key.
46
+ def self.attribute_map
47
+ {
48
+ :'tags' => :'tags',
49
+ :'account_email' => :'account_email',
50
+ :'access_token' => :'access_token',
51
+ :'chunk_size' => :'chunk_size',
52
+ :'chunk_overlap' => :'chunk_overlap',
53
+ :'skip_embedding_generation' => :'skip_embedding_generation',
54
+ :'embedding_model' => :'embedding_model',
55
+ :'generate_sparse_vectors' => :'generate_sparse_vectors',
56
+ :'prepend_filename_to_chunks' => :'prepend_filename_to_chunks',
57
+ :'sync_files_on_connection' => :'sync_files_on_connection',
58
+ :'request_id' => :'request_id',
59
+ :'sync_source_items' => :'sync_source_items',
60
+ :'file_sync_config' => :'file_sync_config',
61
+ :'data_source_tags' => :'data_source_tags'
62
+ }
63
+ end
64
+
65
+ # Returns all the JSON keys this model knows about
66
+ def self.acceptable_attributes
67
+ attribute_map.values
68
+ end
69
+
70
+ # Attribute type mapping.
71
+ def self.openapi_types
72
+ {
73
+ :'tags' => :'Object',
74
+ :'account_email' => :'String',
75
+ :'access_token' => :'String',
76
+ :'chunk_size' => :'Integer',
77
+ :'chunk_overlap' => :'Integer',
78
+ :'skip_embedding_generation' => :'Boolean',
79
+ :'embedding_model' => :'EmbeddingGenerators',
80
+ :'generate_sparse_vectors' => :'Boolean',
81
+ :'prepend_filename_to_chunks' => :'Boolean',
82
+ :'sync_files_on_connection' => :'Boolean',
83
+ :'request_id' => :'String',
84
+ :'sync_source_items' => :'Boolean',
85
+ :'file_sync_config' => :'FileSyncConfigNullable',
86
+ :'data_source_tags' => :'Object'
87
+ }
88
+ end
89
+
90
+ # List of attributes with nullable: true
91
+ def self.openapi_nullable
92
+ Set.new([
93
+ :'tags',
94
+ :'chunk_size',
95
+ :'chunk_overlap',
96
+ :'skip_embedding_generation',
97
+ :'generate_sparse_vectors',
98
+ :'prepend_filename_to_chunks',
99
+ :'sync_files_on_connection',
100
+ :'request_id',
101
+ :'file_sync_config',
102
+ ])
103
+ end
104
+
105
+ # Initializes the object
106
+ # @param [Hash] attributes Model attributes in the form of hash
107
+ def initialize(attributes = {})
108
+ if (!attributes.is_a?(Hash))
109
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Carbon::Document360ConnectRequest` initialize method"
110
+ end
111
+
112
+ # check to see if the attribute exists and convert string to symbol for hash key
113
+ attributes = attributes.each_with_object({}) { |(k, v), h|
114
+ if (!self.class.attribute_map.key?(k.to_sym))
115
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Carbon::Document360ConnectRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
116
+ end
117
+ h[k.to_sym] = v
118
+ }
119
+
120
+ if attributes.key?(:'tags')
121
+ self.tags = attributes[:'tags']
122
+ end
123
+
124
+ if attributes.key?(:'account_email')
125
+ self.account_email = attributes[:'account_email']
126
+ end
127
+
128
+ if attributes.key?(:'access_token')
129
+ self.access_token = attributes[:'access_token']
130
+ end
131
+
132
+ if attributes.key?(:'chunk_size')
133
+ self.chunk_size = attributes[:'chunk_size']
134
+ else
135
+ self.chunk_size = 1500
136
+ end
137
+
138
+ if attributes.key?(:'chunk_overlap')
139
+ self.chunk_overlap = attributes[:'chunk_overlap']
140
+ else
141
+ self.chunk_overlap = 20
142
+ end
143
+
144
+ if attributes.key?(:'skip_embedding_generation')
145
+ self.skip_embedding_generation = attributes[:'skip_embedding_generation']
146
+ else
147
+ self.skip_embedding_generation = false
148
+ end
149
+
150
+ if attributes.key?(:'embedding_model')
151
+ self.embedding_model = attributes[:'embedding_model']
152
+ end
153
+
154
+ if attributes.key?(:'generate_sparse_vectors')
155
+ self.generate_sparse_vectors = attributes[:'generate_sparse_vectors']
156
+ else
157
+ self.generate_sparse_vectors = false
158
+ end
159
+
160
+ if attributes.key?(:'prepend_filename_to_chunks')
161
+ self.prepend_filename_to_chunks = attributes[:'prepend_filename_to_chunks']
162
+ else
163
+ self.prepend_filename_to_chunks = false
164
+ end
165
+
166
+ if attributes.key?(:'sync_files_on_connection')
167
+ self.sync_files_on_connection = attributes[:'sync_files_on_connection']
168
+ else
169
+ self.sync_files_on_connection = true
170
+ end
171
+
172
+ if attributes.key?(:'request_id')
173
+ self.request_id = attributes[:'request_id']
174
+ end
175
+
176
+ if attributes.key?(:'sync_source_items')
177
+ self.sync_source_items = attributes[:'sync_source_items']
178
+ else
179
+ self.sync_source_items = true
180
+ end
181
+
182
+ if attributes.key?(:'file_sync_config')
183
+ self.file_sync_config = attributes[:'file_sync_config']
184
+ end
185
+
186
+ if attributes.key?(:'data_source_tags')
187
+ self.data_source_tags = attributes[:'data_source_tags']
188
+ end
189
+ end
190
+
191
+ # Show invalid properties with the reasons. Usually used together with valid?
192
+ # @return Array for valid properties with the reasons
193
+ def list_invalid_properties
194
+ invalid_properties = Array.new
195
+ if @account_email.nil?
196
+ invalid_properties.push('invalid value for "account_email", account_email cannot be nil.')
197
+ end
198
+
199
+ if @access_token.nil?
200
+ invalid_properties.push('invalid value for "access_token", access_token cannot be nil.')
201
+ end
202
+
203
+ invalid_properties
204
+ end
205
+
206
+ # Check to see if the all the properties in the model are valid
207
+ # @return true if the model is valid
208
+ def valid?
209
+ return false if @account_email.nil?
210
+ return false if @access_token.nil?
211
+ true
212
+ end
213
+
214
+ # Checks equality by comparing each attribute.
215
+ # @param [Object] Object to be compared
216
+ def ==(o)
217
+ return true if self.equal?(o)
218
+ self.class == o.class &&
219
+ tags == o.tags &&
220
+ account_email == o.account_email &&
221
+ access_token == o.access_token &&
222
+ chunk_size == o.chunk_size &&
223
+ chunk_overlap == o.chunk_overlap &&
224
+ skip_embedding_generation == o.skip_embedding_generation &&
225
+ embedding_model == o.embedding_model &&
226
+ generate_sparse_vectors == o.generate_sparse_vectors &&
227
+ prepend_filename_to_chunks == o.prepend_filename_to_chunks &&
228
+ sync_files_on_connection == o.sync_files_on_connection &&
229
+ request_id == o.request_id &&
230
+ sync_source_items == o.sync_source_items &&
231
+ file_sync_config == o.file_sync_config &&
232
+ data_source_tags == o.data_source_tags
233
+ end
234
+
235
+ # @see the `==` method
236
+ # @param [Object] Object to be compared
237
+ def eql?(o)
238
+ self == o
239
+ end
240
+
241
+ # Calculates hash code according to all attributes.
242
+ # @return [Integer] Hash code
243
+ def hash
244
+ [tags, account_email, access_token, chunk_size, chunk_overlap, skip_embedding_generation, embedding_model, generate_sparse_vectors, prepend_filename_to_chunks, sync_files_on_connection, request_id, sync_source_items, file_sync_config, data_source_tags].hash
245
+ end
246
+
247
+ # Builds the object from hash
248
+ # @param [Hash] attributes Model attributes in the form of hash
249
+ # @return [Object] Returns the model itself
250
+ def self.build_from_hash(attributes)
251
+ new.build_from_hash(attributes)
252
+ end
253
+
254
+ # Builds the object from hash
255
+ # @param [Hash] attributes Model attributes in the form of hash
256
+ # @return [Object] Returns the model itself
257
+ def build_from_hash(attributes)
258
+ return nil unless attributes.is_a?(Hash)
259
+ attributes = attributes.transform_keys(&:to_sym)
260
+ self.class.openapi_types.each_pair do |key, type|
261
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
262
+ self.send("#{key}=", nil)
263
+ elsif type =~ /\AArray<(.*)>/i
264
+ # check to ensure the input is an array given that the attribute
265
+ # is documented as an array but the input is not
266
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
267
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
268
+ end
269
+ elsif !attributes[self.class.attribute_map[key]].nil?
270
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
271
+ end
272
+ end
273
+
274
+ self
275
+ end
276
+
277
+ # Deserializes the data based on type
278
+ # @param string type Data type
279
+ # @param string value Value to be deserialized
280
+ # @return [Object] Deserialized data
281
+ def _deserialize(type, value)
282
+ case type.to_sym
283
+ when :Time
284
+ Time.parse(value)
285
+ when :Date
286
+ Date.parse(value)
287
+ when :String
288
+ value.to_s
289
+ when :Integer
290
+ value.to_i
291
+ when :Float
292
+ value.to_f
293
+ when :Boolean
294
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
295
+ true
296
+ else
297
+ false
298
+ end
299
+ when :Object
300
+ # generic object (usually a Hash), return directly
301
+ value
302
+ when /\AArray<(?<inner_type>.+)>\z/
303
+ inner_type = Regexp.last_match[:inner_type]
304
+ value.map { |v| _deserialize(inner_type, v) }
305
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
306
+ k_type = Regexp.last_match[:k_type]
307
+ v_type = Regexp.last_match[:v_type]
308
+ {}.tap do |hash|
309
+ value.each do |k, v|
310
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
311
+ end
312
+ end
313
+ else # model
314
+ # models (e.g. Pet) or oneOf
315
+ klass = Carbon.const_get(type)
316
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
317
+ end
318
+ end
319
+
320
+ # Returns the string representation of the object
321
+ # @return [String] String presentation of the object
322
+ def to_s
323
+ to_hash.to_s
324
+ end
325
+
326
+ # to_body is an alias to to_hash (backward compatibility)
327
+ # @return [Hash] Returns the object in the form of hash
328
+ def to_body
329
+ to_hash
330
+ end
331
+
332
+ # Returns the object in the form of hash
333
+ # @return [Hash] Returns the object in the form of hash
334
+ def to_hash
335
+ hash = {}
336
+ self.class.attribute_map.each_pair do |attr, param|
337
+ value = self.send(attr)
338
+ if value.nil?
339
+ is_nullable = self.class.openapi_nullable.include?(attr)
340
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
341
+ end
342
+
343
+ hash[param] = _to_hash(value)
344
+ end
345
+ hash
346
+ end
347
+
348
+ # Outputs non-array value in the form of hash
349
+ # For object, use to_hash. Otherwise, just return the value
350
+ # @param [Object] value Any valid value
351
+ # @return [Hash] Returns the value in the form of hash
352
+ def _to_hash(value)
353
+ if value.is_a?(Array)
354
+ value.compact.map { |v| _to_hash(v) }
355
+ elsif value.is_a?(Hash)
356
+ {}.tap do |hash|
357
+ value.each { |k, v| hash[k] = _to_hash(v) }
358
+ end
359
+ elsif value.respond_to? :to_hash
360
+ value.to_hash
361
+ else
362
+ value
363
+ end
364
+ end
365
+
366
+ end
367
+
368
+ end
@@ -42,6 +42,7 @@ module Carbon
42
42
  GURU = "GURU".freeze
43
43
  SERVICENOW = "SERVICENOW".freeze
44
44
  GONG = "GONG".freeze
45
+ DOCUMENT360 = "DOCUMENT360".freeze
45
46
  JPG = "JPG".freeze
46
47
  PNG = "PNG".freeze
47
48
  MP3 = "MP3".freeze
@@ -66,7 +67,7 @@ module Carbon
66
67
  MSG = "MSG".freeze
67
68
 
68
69
  def self.all_vars
69
- @all_vars ||= [TXT, CSV, TSV, PDF, DOCX, PPTX, XLSX, XLSM, MD, RTF, JSON, HTML, NOTION, GOOGLE_DOCS, GOOGLE_SHEETS, GOOGLE_SLIDES, INTERCOM, CONFLUENCE, RSS_FEED, GMAIL, OUTLOOK, ZENDESK, FRESHDESK, WEB_SCRAPE, GITBOOK, SALESFORCE, GITHUB, SLACK, GURU, SERVICENOW, GONG, JPG, PNG, MP3, MP2, AAC, WAV, FLAC, PCM, M4_A, OGG, OPUS, MPEG, MPG, MP4, WMV, AVI, MOV, MKV, FLV, WEBM, EML, MSG].freeze
70
+ @all_vars ||= [TXT, CSV, TSV, PDF, DOCX, PPTX, XLSX, XLSM, MD, RTF, JSON, HTML, NOTION, GOOGLE_DOCS, GOOGLE_SHEETS, GOOGLE_SLIDES, INTERCOM, CONFLUENCE, RSS_FEED, GMAIL, OUTLOOK, ZENDESK, FRESHDESK, WEB_SCRAPE, GITBOOK, SALESFORCE, GITHUB, SLACK, GURU, SERVICENOW, GONG, DOCUMENT360, JPG, PNG, MP3, MP2, AAC, WAV, FLAC, PCM, M4_A, OGG, OPUS, MPEG, MPG, MP4, WMV, AVI, MOV, MKV, FLV, WEBM, EML, MSG].freeze
70
71
  end
71
72
 
72
73
  # Builds the enum from string
@@ -42,6 +42,7 @@ module Carbon
42
42
  GURU = "GURU".freeze
43
43
  SERVICENOW = "SERVICENOW".freeze
44
44
  GONG = "GONG".freeze
45
+ DOCUMENT360 = "DOCUMENT360".freeze
45
46
  JPG = "JPG".freeze
46
47
  PNG = "PNG".freeze
47
48
  MP3 = "MP3".freeze
@@ -66,7 +67,7 @@ module Carbon
66
67
  MSG = "MSG".freeze
67
68
 
68
69
  def self.all_vars
69
- @all_vars ||= [TXT, CSV, TSV, PDF, DOCX, PPTX, XLSX, XLSM, MD, RTF, JSON, HTML, NOTION, GOOGLE_DOCS, GOOGLE_SHEETS, GOOGLE_SLIDES, INTERCOM, CONFLUENCE, RSS_FEED, GMAIL, OUTLOOK, ZENDESK, FRESHDESK, WEB_SCRAPE, GITBOOK, SALESFORCE, GITHUB, SLACK, GURU, SERVICENOW, GONG, JPG, PNG, MP3, MP2, AAC, WAV, FLAC, PCM, M4_A, OGG, OPUS, MPEG, MPG, MP4, WMV, AVI, MOV, MKV, FLV, WEBM, EML, MSG].freeze
70
+ @all_vars ||= [TXT, CSV, TSV, PDF, DOCX, PPTX, XLSX, XLSM, MD, RTF, JSON, HTML, NOTION, GOOGLE_DOCS, GOOGLE_SHEETS, GOOGLE_SLIDES, INTERCOM, CONFLUENCE, RSS_FEED, GMAIL, OUTLOOK, ZENDESK, FRESHDESK, WEB_SCRAPE, GITBOOK, SALESFORCE, GITHUB, SLACK, GURU, SERVICENOW, GONG, DOCUMENT360, JPG, PNG, MP3, MP2, AAC, WAV, FLAC, PCM, M4_A, OGG, OPUS, MPEG, MPG, MP4, WMV, AVI, MOV, MKV, FLV, WEBM, EML, MSG].freeze
70
71
  end
71
72
 
72
73
  # Builds the enum from string
@@ -37,6 +37,9 @@ module Carbon
37
37
  # Setting this flag will create a new file record with Carbon but skip any and all processing. This means that we do not download the remote file content or generate any chunks or embeddings. We will store some metadata like name, external id, and external URL depending on the source you are syncing from. Note that this flag overrides both skip_embedding_generation and generate_chunks_only flags. The file will be moved to READY_TO_SYNC status.
38
38
  attr_accessor :skip_file_processing
39
39
 
40
+ # The format in which the text content of the file should be parsed. Notion files are the only files that support this feature. The default parsed text format is plain text.
41
+ attr_accessor :parsed_text_format
42
+
40
43
  # Attribute mapping from ruby-style variable name to JSON key.
41
44
  def self.attribute_map
42
45
  {
@@ -48,7 +51,8 @@ module Carbon
48
51
  :'split_rows' => :'split_rows',
49
52
  :'generate_chunks_only' => :'generate_chunks_only',
50
53
  :'store_file_only' => :'store_file_only',
51
- :'skip_file_processing' => :'skip_file_processing'
54
+ :'skip_file_processing' => :'skip_file_processing',
55
+ :'parsed_text_format' => :'parsed_text_format'
52
56
  }
53
57
  end
54
58
 
@@ -68,7 +72,8 @@ module Carbon
68
72
  :'split_rows' => :'Boolean',
69
73
  :'generate_chunks_only' => :'Boolean',
70
74
  :'store_file_only' => :'Boolean',
71
- :'skip_file_processing' => :'Boolean'
75
+ :'skip_file_processing' => :'Boolean',
76
+ :'parsed_text_format' => :'ParsedTextFormatsNullable'
72
77
  }
73
78
  end
74
79
 
@@ -76,6 +81,7 @@ module Carbon
76
81
  def self.openapi_nullable
77
82
  Set.new([
78
83
  :'transcription_service',
84
+ :'parsed_text_format'
79
85
  ])
80
86
  end
81
87
 
@@ -145,6 +151,10 @@ module Carbon
145
151
  else
146
152
  self.skip_file_processing = false
147
153
  end
154
+
155
+ if attributes.key?(:'parsed_text_format')
156
+ self.parsed_text_format = attributes[:'parsed_text_format']
157
+ end
148
158
  end
149
159
 
150
160
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -173,7 +183,8 @@ module Carbon
173
183
  split_rows == o.split_rows &&
174
184
  generate_chunks_only == o.generate_chunks_only &&
175
185
  store_file_only == o.store_file_only &&
176
- skip_file_processing == o.skip_file_processing
186
+ skip_file_processing == o.skip_file_processing &&
187
+ parsed_text_format == o.parsed_text_format
177
188
  end
178
189
 
179
190
  # @see the `==` method
@@ -185,7 +196,7 @@ module Carbon
185
196
  # Calculates hash code according to all attributes.
186
197
  # @return [Integer] Hash code
187
198
  def hash
188
- [auto_synced_source_types, sync_attachments, detect_audio_language, transcription_service, include_speaker_labels, split_rows, generate_chunks_only, store_file_only, skip_file_processing].hash
199
+ [auto_synced_source_types, sync_attachments, detect_audio_language, transcription_service, include_speaker_labels, split_rows, generate_chunks_only, store_file_only, skip_file_processing, parsed_text_format].hash
189
200
  end
190
201
 
191
202
  # Builds the object from hash
@@ -38,6 +38,9 @@ module Carbon
38
38
  # Setting this flag will create a new file record with Carbon but skip any and all processing. This means that we do not download the remote file content or generate any chunks or embeddings. We will store some metadata like name, external id, and external URL depending on the source you are syncing from. Note that this flag overrides both skip_embedding_generation and generate_chunks_only flags. The file will be moved to READY_TO_SYNC status.
39
39
  attr_accessor :skip_file_processing
40
40
 
41
+ # The format in which the text content of the file should be parsed. Notion files are the only files that support this feature. The default parsed text format is plain text.
42
+ attr_accessor :parsed_text_format
43
+
41
44
  # Attribute mapping from ruby-style variable name to JSON key.
42
45
  def self.attribute_map
43
46
  {
@@ -49,7 +52,8 @@ module Carbon
49
52
  :'split_rows' => :'split_rows',
50
53
  :'generate_chunks_only' => :'generate_chunks_only',
51
54
  :'store_file_only' => :'store_file_only',
52
- :'skip_file_processing' => :'skip_file_processing'
55
+ :'skip_file_processing' => :'skip_file_processing',
56
+ :'parsed_text_format' => :'parsed_text_format'
53
57
  }
54
58
  end
55
59
 
@@ -69,7 +73,8 @@ module Carbon
69
73
  :'split_rows' => :'Boolean',
70
74
  :'generate_chunks_only' => :'Boolean',
71
75
  :'store_file_only' => :'Boolean',
72
- :'skip_file_processing' => :'Boolean'
76
+ :'skip_file_processing' => :'Boolean',
77
+ :'parsed_text_format' => :'ParsedTextFormatsNullable'
73
78
  }
74
79
  end
75
80
 
@@ -77,6 +82,7 @@ module Carbon
77
82
  def self.openapi_nullable
78
83
  Set.new([
79
84
  :'transcription_service',
85
+ :'parsed_text_format'
80
86
  ])
81
87
  end
82
88
 
@@ -146,6 +152,10 @@ module Carbon
146
152
  else
147
153
  self.skip_file_processing = false
148
154
  end
155
+
156
+ if attributes.key?(:'parsed_text_format')
157
+ self.parsed_text_format = attributes[:'parsed_text_format']
158
+ end
149
159
  end
150
160
 
151
161
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -174,7 +184,8 @@ module Carbon
174
184
  split_rows == o.split_rows &&
175
185
  generate_chunks_only == o.generate_chunks_only &&
176
186
  store_file_only == o.store_file_only &&
177
- skip_file_processing == o.skip_file_processing
187
+ skip_file_processing == o.skip_file_processing &&
188
+ parsed_text_format == o.parsed_text_format
178
189
  end
179
190
 
180
191
  # @see the `==` method
@@ -186,7 +197,7 @@ module Carbon
186
197
  # Calculates hash code according to all attributes.
187
198
  # @return [Integer] Hash code
188
199
  def hash
189
- [auto_synced_source_types, sync_attachments, detect_audio_language, transcription_service, include_speaker_labels, split_rows, generate_chunks_only, store_file_only, skip_file_processing].hash
200
+ [auto_synced_source_types, sync_attachments, detect_audio_language, transcription_service, include_speaker_labels, split_rows, generate_chunks_only, store_file_only, skip_file_processing, parsed_text_format].hash
190
201
  end
191
202
 
192
203
  # Builds the object from hash
@@ -0,0 +1,36 @@
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 ParsedTextFormats
14
+ PLAIN_TEXT = "PLAIN_TEXT".freeze
15
+ MARKDOWN = "MARKDOWN".freeze
16
+
17
+ def self.all_vars
18
+ @all_vars ||= [PLAIN_TEXT, MARKDOWN].freeze
19
+ end
20
+
21
+ # Builds the enum from string
22
+ # @param [String] The enum value in the form of the string
23
+ # @return [String] The enum value
24
+ def self.build_from_hash(value)
25
+ new.build_from_hash(value)
26
+ end
27
+
28
+ # Builds the enum from string
29
+ # @param [String] The enum value in the form of the string
30
+ # @return [String] The enum value
31
+ def build_from_hash(value)
32
+ return value if ParsedTextFormats.all_vars.include?(value)
33
+ raise "Invalid ENUM value #{value} for class #ParsedTextFormats"
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
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 ParsedTextFormatsNullable
14
+ PLAIN_TEXT = "PLAIN_TEXT".freeze
15
+ MARKDOWN = "MARKDOWN".freeze
16
+
17
+ def self.all_vars
18
+ @all_vars ||= [PLAIN_TEXT, MARKDOWN].freeze
19
+ end
20
+
21
+ # Builds the enum from string
22
+ # @param [String] The enum value in the form of the string
23
+ # @return [String] The enum value
24
+ def self.build_from_hash(value)
25
+ new.build_from_hash(value)
26
+ end
27
+
28
+ # Builds the enum from string
29
+ # @param [String] The enum value in the form of the string
30
+ # @return [String] The enum value
31
+ def build_from_hash(value)
32
+ return value if ParsedTextFormatsNullable.all_vars.include?(value)
33
+ raise "Invalid ENUM value #{value} for class #ParsedTextFormatsNullable"
34
+ end
35
+ end
36
+ end
@@ -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.50'
10
+ VERSION = '0.2.52'
11
11
  end
@@ -72,6 +72,7 @@ require 'carbon_ruby_sdk/models/delete_files_v2_query_input'
72
72
  require 'carbon_ruby_sdk/models/delete_users_input'
73
73
  require 'carbon_ruby_sdk/models/delete_white_label_request'
74
74
  require 'carbon_ruby_sdk/models/directory_item'
75
+ require 'carbon_ruby_sdk/models/document360_connect_request'
75
76
  require 'carbon_ruby_sdk/models/document_response'
76
77
  require 'carbon_ruby_sdk/models/document_response_list'
77
78
  require 'carbon_ruby_sdk/models/email'
@@ -209,6 +210,8 @@ require 'carbon_ruby_sdk/models/pr_order_by'
209
210
  require 'carbon_ruby_sdk/models/pr_state'
210
211
  require 'carbon_ruby_sdk/models/pr_state_input'
211
212
  require 'carbon_ruby_sdk/models/pagination'
213
+ require 'carbon_ruby_sdk/models/parsed_text_formats'
214
+ require 'carbon_ruby_sdk/models/parsed_text_formats_nullable'
212
215
  require 'carbon_ruby_sdk/models/partial_account'
213
216
  require 'carbon_ruby_sdk/models/partial_account_nullable'
214
217
  require 'carbon_ruby_sdk/models/partial_contact'
@@ -48,6 +48,18 @@ describe 'IntegrationsApi' do
48
48
  end
49
49
  end
50
50
 
51
+ # unit tests for connect_document360
52
+ # Document360 Connect
53
+ # You will need an access token to connect your Document360 account. To obtain an access token, follow the steps highlighted here https://apidocs.document360.com/apidocs/api-token.
54
+ # @param document360_connect_request
55
+ # @param [Hash] opts the optional parameters
56
+ # @return [GenericSuccessResponse]
57
+ describe 'connect_document360 test' do
58
+ it 'should work' do
59
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
60
+ end
61
+ end
62
+
51
63
  # unit tests for connect_freshdesk
52
64
  # Freshdesk Connect
53
65
  # Refer this article to obtain an API key https://support.freshdesk.com/en/support/solutions/articles/215517. Make sure that your API key has the permission to read solutions from your account and you are on a &lt;b&gt;paid&lt;/b&gt; plan. Once you have an API key, you can make a request to this endpoint along with your freshdesk domain. This will trigger an automatic sync of the articles in your \&quot;solutions\&quot; tab. Additional parameters below can be used to associate data with the synced articles or modify the sync behavior.