carbon_ruby_sdk 0.2.28 → 0.2.30

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -7
  3. data/README.md +109 -6
  4. data/lib/carbon_ruby_sdk/api/embeddings_api.rb +2 -2
  5. data/lib/carbon_ruby_sdk/api/files_api.rb +21 -6
  6. data/lib/carbon_ruby_sdk/api/integrations_api.rb +166 -10
  7. data/lib/carbon_ruby_sdk/api/utilities_api.rb +6 -2
  8. data/lib/carbon_ruby_sdk/models/authentication_property.rb +63 -5
  9. data/lib/carbon_ruby_sdk/models/auto_synced_source_types_property_inner.rb +226 -0
  10. data/lib/carbon_ruby_sdk/models/data_source_type.rb +4 -1
  11. data/lib/carbon_ruby_sdk/models/data_source_type_nullable.rb +4 -1
  12. data/lib/carbon_ruby_sdk/models/external_data_source_type.rb +2 -1
  13. data/lib/carbon_ruby_sdk/models/file_formats.rb +4 -1
  14. data/lib/carbon_ruby_sdk/models/file_formats_nullable.rb +4 -1
  15. data/lib/carbon_ruby_sdk/models/file_sync_config.rb +17 -5
  16. data/lib/carbon_ruby_sdk/models/file_sync_config_nullable.rb +17 -5
  17. data/lib/carbon_ruby_sdk/models/get_embedding_documents_body.rb +1 -1
  18. data/lib/carbon_ruby_sdk/models/guru_authentication.rb +244 -0
  19. data/lib/carbon_ruby_sdk/models/guru_connect_request.rb +359 -0
  20. data/lib/carbon_ruby_sdk/models/o_auth_url_request.rb +16 -6
  21. data/lib/carbon_ruby_sdk/models/organization_user_files_to_sync_filters.rb +1 -1
  22. data/lib/carbon_ruby_sdk/models/raw_text_input.rb +16 -4
  23. data/lib/carbon_ruby_sdk/models/service_now_authentication.rb +296 -0
  24. data/lib/carbon_ruby_sdk/models/service_now_credentials.rb +262 -0
  25. data/lib/carbon_ruby_sdk/models/service_now_credentials_nullable.rb +263 -0
  26. data/lib/carbon_ruby_sdk/models/service_now_file_types.rb +37 -0
  27. data/lib/carbon_ruby_sdk/models/sitemap_scrape_request.rb +17 -5
  28. data/lib/carbon_ruby_sdk/models/sync_files_request.rb +1 -1
  29. data/lib/carbon_ruby_sdk/models/sync_options.rb +1 -1
  30. data/lib/carbon_ruby_sdk/models/upload_file_from_url_input.rb +16 -4
  31. data/lib/carbon_ruby_sdk/models/webscrape_request.rb +17 -5
  32. data/lib/carbon_ruby_sdk/version.rb +1 -1
  33. data/lib/carbon_ruby_sdk.rb +7 -0
  34. data/spec/api/files_api_spec.rb +1 -0
  35. data/spec/api/integrations_api_spec.rb +13 -1
  36. data/spec/models/authentication_property_spec.rb +24 -0
  37. data/spec/models/auto_synced_source_types_property_inner_spec.rb +22 -0
  38. data/spec/models/file_sync_config_nullable_spec.rb +6 -0
  39. data/spec/models/file_sync_config_spec.rb +6 -0
  40. data/spec/models/guru_authentication_spec.rb +40 -0
  41. data/spec/models/guru_connect_request_spec.rb +100 -0
  42. data/spec/models/o_auth_url_request_spec.rb +6 -0
  43. data/spec/models/raw_text_input_spec.rb +6 -0
  44. data/spec/models/service_now_authentication_spec.rb +64 -0
  45. data/spec/models/service_now_credentials_nullable_spec.rb +46 -0
  46. data/spec/models/service_now_credentials_spec.rb +46 -0
  47. data/spec/models/service_now_file_types_spec.rb +22 -0
  48. data/spec/models/sitemap_scrape_request_spec.rb +6 -0
  49. data/spec/models/upload_file_from_url_input_spec.rb +6 -0
  50. data/spec/models/webscrape_request_spec.rb +6 -0
  51. metadata +169 -148
@@ -0,0 +1,226 @@
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 AutoSyncedSourceTypesPropertyInner
14
+ # Attribute mapping from ruby-style variable name to JSON key.
15
+ def self.attribute_map
16
+ {
17
+ }
18
+ end
19
+
20
+ # Returns all the JSON keys this model knows about
21
+ def self.acceptable_attributes
22
+ attribute_map.values
23
+ end
24
+
25
+ # Attribute type mapping.
26
+ def self.openapi_types
27
+ {
28
+ }
29
+ end
30
+
31
+ # List of attributes with nullable: true
32
+ def self.openapi_nullable
33
+ Set.new([
34
+ ])
35
+ end
36
+
37
+ # List of class defined in anyOf (OpenAPI v3)
38
+ def self.openapi_any_of
39
+ [
40
+ :'HelpdeskFileTypes',
41
+ :'ServiceNowFileTypes'
42
+ ]
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param [Hash] attributes Model attributes in the form of hash
47
+ def initialize(attributes = {})
48
+ if (!attributes.is_a?(Hash))
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Carbon::AutoSyncedSourceTypesPropertyInner` initialize method"
50
+ end
51
+
52
+ # check to see if the attribute exists and convert string to symbol for hash key
53
+ attributes = attributes.each_with_object({}) { |(k, v), h|
54
+ if (!self.class.attribute_map.key?(k.to_sym))
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Carbon::AutoSyncedSourceTypesPropertyInner`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ end
57
+ h[k.to_sym] = v
58
+ }
59
+ end
60
+
61
+ # Show invalid properties with the reasons. Usually used together with valid?
62
+ # @return Array for valid properties with the reasons
63
+ def list_invalid_properties
64
+ invalid_properties = Array.new
65
+ invalid_properties
66
+ end
67
+
68
+ # Check to see if the all the properties in the model are valid
69
+ # @return true if the model is valid
70
+ def valid?
71
+ _any_of_found = false
72
+ self.class.openapi_any_of.each do |_class|
73
+ _any_of = Carbon.const_get(_class).build_from_hash(self.to_hash)
74
+ if _any_of.valid?
75
+ _any_of_found = true
76
+ end
77
+ end
78
+
79
+ if !_any_of_found
80
+ return false
81
+ end
82
+
83
+ true
84
+ end
85
+
86
+ # Checks equality by comparing each attribute.
87
+ # @param [Object] Object to be compared
88
+ def ==(o)
89
+ return true if self.equal?(o)
90
+ self.class == o.class
91
+ end
92
+
93
+ # @see the `==` method
94
+ # @param [Object] Object to be compared
95
+ def eql?(o)
96
+ self == o
97
+ end
98
+
99
+ # Calculates hash code according to all attributes.
100
+ # @return [Integer] Hash code
101
+ def hash
102
+ [].hash
103
+ end
104
+
105
+ # Builds the object from hash
106
+ # @param [Hash] attributes Model attributes in the form of hash
107
+ # @return [Object] Returns the model itself
108
+ def self.build_from_hash(attributes)
109
+ new.build_from_hash(attributes)
110
+ end
111
+
112
+ # Builds the object from hash
113
+ # @param [Hash] attributes Model attributes in the form of hash
114
+ # @return [Object] Returns the model itself
115
+ def build_from_hash(attributes)
116
+ return nil unless attributes.is_a?(Hash)
117
+ attributes = attributes.transform_keys(&:to_sym)
118
+ self.class.openapi_types.each_pair do |key, type|
119
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
120
+ self.send("#{key}=", nil)
121
+ elsif type =~ /\AArray<(.*)>/i
122
+ # check to ensure the input is an array given that the attribute
123
+ # is documented as an array but the input is not
124
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
125
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
126
+ end
127
+ elsif !attributes[self.class.attribute_map[key]].nil?
128
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
129
+ end
130
+ end
131
+
132
+ self
133
+ end
134
+
135
+ # Deserializes the data based on type
136
+ # @param string type Data type
137
+ # @param string value Value to be deserialized
138
+ # @return [Object] Deserialized data
139
+ def _deserialize(type, value)
140
+ case type.to_sym
141
+ when :Time
142
+ Time.parse(value)
143
+ when :Date
144
+ Date.parse(value)
145
+ when :String
146
+ value.to_s
147
+ when :Integer
148
+ value.to_i
149
+ when :Float
150
+ value.to_f
151
+ when :Boolean
152
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
153
+ true
154
+ else
155
+ false
156
+ end
157
+ when :Object
158
+ # generic object (usually a Hash), return directly
159
+ value
160
+ when /\AArray<(?<inner_type>.+)>\z/
161
+ inner_type = Regexp.last_match[:inner_type]
162
+ value.map { |v| _deserialize(inner_type, v) }
163
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
164
+ k_type = Regexp.last_match[:k_type]
165
+ v_type = Regexp.last_match[:v_type]
166
+ {}.tap do |hash|
167
+ value.each do |k, v|
168
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
169
+ end
170
+ end
171
+ else # model
172
+ # models (e.g. Pet) or oneOf
173
+ klass = Carbon.const_get(type)
174
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
175
+ end
176
+ end
177
+
178
+ # Returns the string representation of the object
179
+ # @return [String] String presentation of the object
180
+ def to_s
181
+ to_hash.to_s
182
+ end
183
+
184
+ # to_body is an alias to to_hash (backward compatibility)
185
+ # @return [Hash] Returns the object in the form of hash
186
+ def to_body
187
+ to_hash
188
+ end
189
+
190
+ # Returns the object in the form of hash
191
+ # @return [Hash] Returns the object in the form of hash
192
+ def to_hash
193
+ hash = {}
194
+ self.class.attribute_map.each_pair do |attr, param|
195
+ value = self.send(attr)
196
+ if value.nil?
197
+ is_nullable = self.class.openapi_nullable.include?(attr)
198
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
199
+ end
200
+
201
+ hash[param] = _to_hash(value)
202
+ end
203
+ hash
204
+ end
205
+
206
+ # Outputs non-array value in the form of hash
207
+ # For object, use to_hash. Otherwise, just return the value
208
+ # @param [Object] value Any valid value
209
+ # @return [Hash] Returns the value in the form of hash
210
+ def _to_hash(value)
211
+ if value.is_a?(Array)
212
+ value.compact.map { |v| _to_hash(v) }
213
+ elsif value.is_a?(Hash)
214
+ {}.tap do |hash|
215
+ value.each { |k, v| hash[k] = _to_hash(v) }
216
+ end
217
+ elsif value.respond_to? :to_hash
218
+ value.to_hash
219
+ else
220
+ value
221
+ end
222
+ end
223
+
224
+ end
225
+
226
+ end
@@ -26,6 +26,7 @@ module Carbon
26
26
  S3 = "S3".freeze
27
27
  GMAIL = "GMAIL".freeze
28
28
  OUTLOOK = "OUTLOOK".freeze
29
+ SERVICENOW = "SERVICENOW".freeze
29
30
  TEXT = "TEXT".freeze
30
31
  CSV = "CSV".freeze
31
32
  TSV = "TSV".freeze
@@ -45,6 +46,7 @@ module Carbon
45
46
  SALESFORCE = "SALESFORCE".freeze
46
47
  GITHUB = "GITHUB".freeze
47
48
  SLACK = "SLACK".freeze
49
+ GURU = "GURU".freeze
48
50
  JPG = "JPG".freeze
49
51
  PNG = "PNG".freeze
50
52
  JPEG = "JPEG".freeze
@@ -67,9 +69,10 @@ module Carbon
67
69
  FLV = "FLV".freeze
68
70
  WEBM = "WEBM".freeze
69
71
  EML = "EML".freeze
72
+ MSG = "MSG".freeze
70
73
 
71
74
  def self.all_vars
72
- @all_vars ||= [GOOGLE_CLOUD_STORAGE, GOOGLE_DRIVE, NOTION, NOTION_DATABASE, INTERCOM, DROPBOX, ONEDRIVE, SHAREPOINT, CONFLUENCE, BOX, ZENDESK, ZOTERO, S3, GMAIL, OUTLOOK, TEXT, CSV, TSV, PDF, DOCX, PPTX, XLSX, MD, RTF, JSON, HTML, RAW_TEXT, WEB_SCRAPE, RSS_FEED, FRESHDESK, GITBOOK, SALESFORCE, GITHUB, SLACK, JPG, PNG, JPEG, MP3, MP2, AAC, WAV, FLAC, PCM, M4_A, OGG, OPUS, MPEG, MPG, MP4, WMV, AVI, MOV, MKV, FLV, WEBM, EML].freeze
75
+ @all_vars ||= [GOOGLE_CLOUD_STORAGE, GOOGLE_DRIVE, NOTION, NOTION_DATABASE, INTERCOM, DROPBOX, ONEDRIVE, SHAREPOINT, CONFLUENCE, BOX, ZENDESK, ZOTERO, S3, GMAIL, OUTLOOK, SERVICENOW, TEXT, CSV, TSV, PDF, DOCX, PPTX, XLSX, MD, RTF, JSON, HTML, RAW_TEXT, WEB_SCRAPE, RSS_FEED, FRESHDESK, GITBOOK, SALESFORCE, GITHUB, SLACK, GURU, JPG, PNG, JPEG, MP3, MP2, AAC, WAV, FLAC, PCM, M4_A, OGG, OPUS, MPEG, MPG, MP4, WMV, AVI, MOV, MKV, FLV, WEBM, EML, MSG].freeze
73
76
  end
74
77
 
75
78
  # Builds the enum from string
@@ -26,6 +26,7 @@ module Carbon
26
26
  S3 = "S3".freeze
27
27
  GMAIL = "GMAIL".freeze
28
28
  OUTLOOK = "OUTLOOK".freeze
29
+ SERVICENOW = "SERVICENOW".freeze
29
30
  TEXT = "TEXT".freeze
30
31
  CSV = "CSV".freeze
31
32
  TSV = "TSV".freeze
@@ -45,6 +46,7 @@ module Carbon
45
46
  SALESFORCE = "SALESFORCE".freeze
46
47
  GITHUB = "GITHUB".freeze
47
48
  SLACK = "SLACK".freeze
49
+ GURU = "GURU".freeze
48
50
  JPG = "JPG".freeze
49
51
  PNG = "PNG".freeze
50
52
  JPEG = "JPEG".freeze
@@ -67,9 +69,10 @@ module Carbon
67
69
  FLV = "FLV".freeze
68
70
  WEBM = "WEBM".freeze
69
71
  EML = "EML".freeze
72
+ MSG = "MSG".freeze
70
73
 
71
74
  def self.all_vars
72
- @all_vars ||= [GOOGLE_CLOUD_STORAGE, GOOGLE_DRIVE, NOTION, NOTION_DATABASE, INTERCOM, DROPBOX, ONEDRIVE, SHAREPOINT, CONFLUENCE, BOX, ZENDESK, ZOTERO, S3, GMAIL, OUTLOOK, TEXT, CSV, TSV, PDF, DOCX, PPTX, XLSX, MD, RTF, JSON, HTML, RAW_TEXT, WEB_SCRAPE, RSS_FEED, FRESHDESK, GITBOOK, SALESFORCE, GITHUB, SLACK, JPG, PNG, JPEG, MP3, MP2, AAC, WAV, FLAC, PCM, M4_A, OGG, OPUS, MPEG, MPG, MP4, WMV, AVI, MOV, MKV, FLV, WEBM, EML].freeze
75
+ @all_vars ||= [GOOGLE_CLOUD_STORAGE, GOOGLE_DRIVE, NOTION, NOTION_DATABASE, INTERCOM, DROPBOX, ONEDRIVE, SHAREPOINT, CONFLUENCE, BOX, ZENDESK, ZOTERO, S3, GMAIL, OUTLOOK, SERVICENOW, TEXT, CSV, TSV, PDF, DOCX, PPTX, XLSX, MD, RTF, JSON, HTML, RAW_TEXT, WEB_SCRAPE, RSS_FEED, FRESHDESK, GITBOOK, SALESFORCE, GITHUB, SLACK, GURU, JPG, PNG, JPEG, MP3, MP2, AAC, WAV, FLAC, PCM, M4_A, OGG, OPUS, MPEG, MPG, MP4, WMV, AVI, MOV, MKV, FLV, WEBM, EML, MSG].freeze
73
76
  end
74
77
 
75
78
  # Builds the enum from string
@@ -26,9 +26,10 @@ module Carbon
26
26
  SLACK = "SLACK".freeze
27
27
  ZENDESK = "ZENDESK".freeze
28
28
  ZOTERO = "ZOTERO".freeze
29
+ SERVICENOW = "SERVICENOW".freeze
29
30
 
30
31
  def self.all_vars
31
- @all_vars ||= [BOX, CONFLUENCE, DROPBOX, GMAIL, GOOGLE_DRIVE, GOOGLE_CLOUD_STORAGE, INTERCOM, NOTION, ONEDRIVE, OUTLOOK, SALESFORCE, SHAREPOINT, SLACK, ZENDESK, ZOTERO].freeze
32
+ @all_vars ||= [BOX, CONFLUENCE, DROPBOX, GMAIL, GOOGLE_DRIVE, GOOGLE_CLOUD_STORAGE, INTERCOM, NOTION, ONEDRIVE, OUTLOOK, SALESFORCE, SHAREPOINT, SLACK, ZENDESK, ZOTERO, SERVICENOW].freeze
32
33
  end
33
34
 
34
35
  # Builds the enum from string
@@ -38,6 +38,8 @@ module Carbon
38
38
  SALESFORCE = "SALESFORCE".freeze
39
39
  GITHUB = "GITHUB".freeze
40
40
  SLACK = "SLACK".freeze
41
+ GURU = "GURU".freeze
42
+ SERVICENOW = "SERVICENOW".freeze
41
43
  JPG = "JPG".freeze
42
44
  PNG = "PNG".freeze
43
45
  MP3 = "MP3".freeze
@@ -59,9 +61,10 @@ module Carbon
59
61
  FLV = "FLV".freeze
60
62
  WEBM = "WEBM".freeze
61
63
  EML = "EML".freeze
64
+ MSG = "MSG".freeze
62
65
 
63
66
  def self.all_vars
64
- @all_vars ||= [TXT, CSV, TSV, PDF, DOCX, PPTX, XLSX, 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, JPG, PNG, MP3, MP2, AAC, WAV, FLAC, PCM, M4_A, OGG, OPUS, MPEG, MPG, MP4, WMV, AVI, MOV, MKV, FLV, WEBM, EML].freeze
67
+ @all_vars ||= [TXT, CSV, TSV, PDF, DOCX, PPTX, XLSX, 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, JPG, PNG, MP3, MP2, AAC, WAV, FLAC, PCM, M4_A, OGG, OPUS, MPEG, MPG, MP4, WMV, AVI, MOV, MKV, FLV, WEBM, EML, MSG].freeze
65
68
  end
66
69
 
67
70
  # Builds the enum from string
@@ -38,6 +38,8 @@ module Carbon
38
38
  SALESFORCE = "SALESFORCE".freeze
39
39
  GITHUB = "GITHUB".freeze
40
40
  SLACK = "SLACK".freeze
41
+ GURU = "GURU".freeze
42
+ SERVICENOW = "SERVICENOW".freeze
41
43
  JPG = "JPG".freeze
42
44
  PNG = "PNG".freeze
43
45
  MP3 = "MP3".freeze
@@ -59,9 +61,10 @@ module Carbon
59
61
  FLV = "FLV".freeze
60
62
  WEBM = "WEBM".freeze
61
63
  EML = "EML".freeze
64
+ MSG = "MSG".freeze
62
65
 
63
66
  def self.all_vars
64
- @all_vars ||= [TXT, CSV, TSV, PDF, DOCX, PPTX, XLSX, 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, JPG, PNG, MP3, MP2, AAC, WAV, FLAC, PCM, M4_A, OGG, OPUS, MPEG, MPG, MP4, WMV, AVI, MOV, MKV, FLV, WEBM, EML].freeze
67
+ @all_vars ||= [TXT, CSV, TSV, PDF, DOCX, PPTX, XLSX, 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, JPG, PNG, MP3, MP2, AAC, WAV, FLAC, PCM, M4_A, OGG, OPUS, MPEG, MPG, MP4, WMV, AVI, MOV, MKV, FLV, WEBM, EML, MSG].freeze
65
68
  end
66
69
 
67
70
  # Builds the enum from string
@@ -28,6 +28,9 @@ module Carbon
28
28
  # Whether to split tabular rows into chunks. Currently only valid for CSV, TSV, and XLSX files.
29
29
  attr_accessor :split_rows
30
30
 
31
+ # 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.
32
+ attr_accessor :generate_chunks_only
33
+
31
34
  # Attribute mapping from ruby-style variable name to JSON key.
32
35
  def self.attribute_map
33
36
  {
@@ -36,7 +39,8 @@ module Carbon
36
39
  :'detect_audio_language' => :'detect_audio_language',
37
40
  :'transcription_service' => :'transcription_service',
38
41
  :'include_speaker_labels' => :'include_speaker_labels',
39
- :'split_rows' => :'split_rows'
42
+ :'split_rows' => :'split_rows',
43
+ :'generate_chunks_only' => :'generate_chunks_only'
40
44
  }
41
45
  end
42
46
 
@@ -48,12 +52,13 @@ module Carbon
48
52
  # Attribute type mapping.
49
53
  def self.openapi_types
50
54
  {
51
- :'auto_synced_source_types' => :'Array<HelpdeskFileTypes>',
55
+ :'auto_synced_source_types' => :'Array<AutoSyncedSourceTypesPropertyInner>',
52
56
  :'sync_attachments' => :'Boolean',
53
57
  :'detect_audio_language' => :'Boolean',
54
58
  :'transcription_service' => :'TranscriptionServiceNullable',
55
59
  :'include_speaker_labels' => :'Boolean',
56
- :'split_rows' => :'Boolean'
60
+ :'split_rows' => :'Boolean',
61
+ :'generate_chunks_only' => :'Boolean'
57
62
  }
58
63
  end
59
64
 
@@ -112,6 +117,12 @@ module Carbon
112
117
  else
113
118
  self.split_rows = false
114
119
  end
120
+
121
+ if attributes.key?(:'generate_chunks_only')
122
+ self.generate_chunks_only = attributes[:'generate_chunks_only']
123
+ else
124
+ self.generate_chunks_only = false
125
+ end
115
126
  end
116
127
 
117
128
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -137,7 +148,8 @@ module Carbon
137
148
  detect_audio_language == o.detect_audio_language &&
138
149
  transcription_service == o.transcription_service &&
139
150
  include_speaker_labels == o.include_speaker_labels &&
140
- split_rows == o.split_rows
151
+ split_rows == o.split_rows &&
152
+ generate_chunks_only == o.generate_chunks_only
141
153
  end
142
154
 
143
155
  # @see the `==` method
@@ -149,7 +161,7 @@ module Carbon
149
161
  # Calculates hash code according to all attributes.
150
162
  # @return [Integer] Hash code
151
163
  def hash
152
- [auto_synced_source_types, sync_attachments, detect_audio_language, transcription_service, include_speaker_labels, split_rows].hash
164
+ [auto_synced_source_types, sync_attachments, detect_audio_language, transcription_service, include_speaker_labels, split_rows, generate_chunks_only].hash
153
165
  end
154
166
 
155
167
  # Builds the object from hash
@@ -29,6 +29,9 @@ module Carbon
29
29
  # Whether to split tabular rows into chunks. Currently only valid for CSV, TSV, and XLSX files.
30
30
  attr_accessor :split_rows
31
31
 
32
+ # 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.
33
+ attr_accessor :generate_chunks_only
34
+
32
35
  # Attribute mapping from ruby-style variable name to JSON key.
33
36
  def self.attribute_map
34
37
  {
@@ -37,7 +40,8 @@ module Carbon
37
40
  :'detect_audio_language' => :'detect_audio_language',
38
41
  :'transcription_service' => :'transcription_service',
39
42
  :'include_speaker_labels' => :'include_speaker_labels',
40
- :'split_rows' => :'split_rows'
43
+ :'split_rows' => :'split_rows',
44
+ :'generate_chunks_only' => :'generate_chunks_only'
41
45
  }
42
46
  end
43
47
 
@@ -49,12 +53,13 @@ module Carbon
49
53
  # Attribute type mapping.
50
54
  def self.openapi_types
51
55
  {
52
- :'auto_synced_source_types' => :'Array<HelpdeskFileTypes>',
56
+ :'auto_synced_source_types' => :'Array<AutoSyncedSourceTypesPropertyInner>',
53
57
  :'sync_attachments' => :'Boolean',
54
58
  :'detect_audio_language' => :'Boolean',
55
59
  :'transcription_service' => :'TranscriptionServiceNullable',
56
60
  :'include_speaker_labels' => :'Boolean',
57
- :'split_rows' => :'Boolean'
61
+ :'split_rows' => :'Boolean',
62
+ :'generate_chunks_only' => :'Boolean'
58
63
  }
59
64
  end
60
65
 
@@ -113,6 +118,12 @@ module Carbon
113
118
  else
114
119
  self.split_rows = false
115
120
  end
121
+
122
+ if attributes.key?(:'generate_chunks_only')
123
+ self.generate_chunks_only = attributes[:'generate_chunks_only']
124
+ else
125
+ self.generate_chunks_only = false
126
+ end
116
127
  end
117
128
 
118
129
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -138,7 +149,8 @@ module Carbon
138
149
  detect_audio_language == o.detect_audio_language &&
139
150
  transcription_service == o.transcription_service &&
140
151
  include_speaker_labels == o.include_speaker_labels &&
141
- split_rows == o.split_rows
152
+ split_rows == o.split_rows &&
153
+ generate_chunks_only == o.generate_chunks_only
142
154
  end
143
155
 
144
156
  # @see the `==` method
@@ -150,7 +162,7 @@ module Carbon
150
162
  # Calculates hash code according to all attributes.
151
163
  # @return [Integer] Hash code
152
164
  def hash
153
- [auto_synced_source_types, sync_attachments, detect_audio_language, transcription_service, include_speaker_labels, split_rows].hash
165
+ [auto_synced_source_types, sync_attachments, detect_audio_language, transcription_service, include_speaker_labels, split_rows, generate_chunks_only].hash
154
166
  end
155
167
 
156
168
  # Builds the object from hash
@@ -119,7 +119,7 @@ module Carbon
119
119
  :'include_file_level_metadata' => :'Boolean',
120
120
  :'high_accuracy' => :'Boolean',
121
121
  :'rerank' => :'RerankParamsNullable',
122
- :'file_types_at_source' => :'Array<HelpdeskFileTypes>',
122
+ :'file_types_at_source' => :'Array<AutoSyncedSourceTypesPropertyInner>',
123
123
  :'exclude_cold_storage_files' => :'Boolean'
124
124
  }
125
125
  end