carbon_ruby_sdk 0.1.34 → 0.2.1

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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +42 -9
  4. data/lib/carbon_ruby_sdk/api/files_api.rb +13 -6
  5. data/lib/carbon_ruby_sdk/api/integrations_api.rb +8 -8
  6. data/lib/carbon_ruby_sdk/api/organizations_api.rb +83 -0
  7. data/lib/carbon_ruby_sdk/models/data_source_type.rb +9 -3
  8. data/lib/carbon_ruby_sdk/models/data_source_type_nullable.rb +9 -3
  9. data/lib/carbon_ruby_sdk/models/embedding_model.rb +227 -0
  10. data/lib/carbon_ruby_sdk/models/file_content_types.rb +3 -1
  11. data/lib/carbon_ruby_sdk/models/file_content_types_nullable.rb +3 -1
  12. data/lib/carbon_ruby_sdk/models/file_formats.rb +9 -3
  13. data/lib/carbon_ruby_sdk/models/file_formats_nullable.rb +9 -3
  14. data/lib/carbon_ruby_sdk/models/o_auth_url_request.rb +2 -2
  15. data/lib/carbon_ruby_sdk/models/organization_response.rb +39 -1
  16. data/lib/carbon_ruby_sdk/models/sync_files_request.rb +1 -1
  17. data/lib/carbon_ruby_sdk/models/sync_options.rb +1 -1
  18. data/lib/carbon_ruby_sdk/models/user_response.rb +85 -1
  19. data/lib/carbon_ruby_sdk/models/webhook.rb +25 -1
  20. data/lib/carbon_ruby_sdk/models/webhook_no_key.rb +25 -1
  21. data/lib/carbon_ruby_sdk/models/webhook_status.rb +36 -0
  22. data/lib/carbon_ruby_sdk/version.rb +1 -1
  23. data/lib/carbon_ruby_sdk.rb +2 -0
  24. data/spec/api/files_api_spec.rb +2 -1
  25. data/spec/api/organizations_api_spec.rb +11 -0
  26. data/spec/models/embedding_model_spec.rb +22 -0
  27. data/spec/models/organization_response_spec.rb +18 -0
  28. data/spec/models/user_response_spec.rb +36 -0
  29. data/spec/models/webhook_no_key_spec.rb +12 -0
  30. data/spec/models/webhook_spec.rb +12 -0
  31. data/spec/models/webhook_status_spec.rb +22 -0
  32. metadata +8 -2
@@ -17,6 +17,10 @@ module Carbon
17
17
 
18
18
  attr_accessor :url
19
19
 
20
+ attr_accessor :status
21
+
22
+ attr_accessor :status_reason
23
+
20
24
  attr_accessor :created_at
21
25
 
22
26
  attr_accessor :updated_at
@@ -27,6 +31,8 @@ module Carbon
27
31
  :'id' => :'id',
28
32
  :'organization_id' => :'organization_id',
29
33
  :'url' => :'url',
34
+ :'status' => :'status',
35
+ :'status_reason' => :'status_reason',
30
36
  :'created_at' => :'created_at',
31
37
  :'updated_at' => :'updated_at'
32
38
  }
@@ -43,6 +49,8 @@ module Carbon
43
49
  :'id' => :'Integer',
44
50
  :'organization_id' => :'Integer',
45
51
  :'url' => :'String',
52
+ :'status' => :'WebhookStatus',
53
+ :'status_reason' => :'String',
46
54
  :'created_at' => :'Time',
47
55
  :'updated_at' => :'Time'
48
56
  }
@@ -51,6 +59,7 @@ module Carbon
51
59
  # List of attributes with nullable: true
52
60
  def self.openapi_nullable
53
61
  Set.new([
62
+ :'status_reason',
54
63
  ])
55
64
  end
56
65
 
@@ -81,6 +90,14 @@ module Carbon
81
90
  self.url = attributes[:'url']
82
91
  end
83
92
 
93
+ if attributes.key?(:'status')
94
+ self.status = attributes[:'status']
95
+ end
96
+
97
+ if attributes.key?(:'status_reason')
98
+ self.status_reason = attributes[:'status_reason']
99
+ end
100
+
84
101
  if attributes.key?(:'created_at')
85
102
  self.created_at = attributes[:'created_at']
86
103
  end
@@ -106,6 +123,10 @@ module Carbon
106
123
  invalid_properties.push('invalid value for "url", url cannot be nil.')
107
124
  end
108
125
 
126
+ if @status.nil?
127
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
128
+ end
129
+
109
130
  if @created_at.nil?
110
131
  invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
111
132
  end
@@ -123,6 +144,7 @@ module Carbon
123
144
  return false if @id.nil?
124
145
  return false if @organization_id.nil?
125
146
  return false if @url.nil?
147
+ return false if @status.nil?
126
148
  return false if @created_at.nil?
127
149
  return false if @updated_at.nil?
128
150
  true
@@ -136,6 +158,8 @@ module Carbon
136
158
  id == o.id &&
137
159
  organization_id == o.organization_id &&
138
160
  url == o.url &&
161
+ status == o.status &&
162
+ status_reason == o.status_reason &&
139
163
  created_at == o.created_at &&
140
164
  updated_at == o.updated_at
141
165
  end
@@ -149,7 +173,7 @@ module Carbon
149
173
  # Calculates hash code according to all attributes.
150
174
  # @return [Integer] Hash code
151
175
  def hash
152
- [id, organization_id, url, created_at, updated_at].hash
176
+ [id, organization_id, url, status, status_reason, created_at, updated_at].hash
153
177
  end
154
178
 
155
179
  # 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 WebhookStatus
14
+ ACTIVE = "ACTIVE".freeze
15
+ FLAGGED = "FLAGGED".freeze
16
+
17
+ def self.all_vars
18
+ @all_vars ||= [ACTIVE, FLAGGED].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 WebhookStatus.all_vars.include?(value)
33
+ raise "Invalid ENUM value #{value} for class #WebhookStatus"
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.1.34'
10
+ VERSION = '0.2.1'
11
11
  end
@@ -40,6 +40,7 @@ require 'carbon_ruby_sdk/models/document_response_list'
40
40
  require 'carbon_ruby_sdk/models/embedding_and_chunk'
41
41
  require 'carbon_ruby_sdk/models/embedding_generators'
42
42
  require 'carbon_ruby_sdk/models/embedding_generators_nullable'
43
+ require 'carbon_ruby_sdk/models/embedding_model'
43
44
  require 'carbon_ruby_sdk/models/embedding_properties'
44
45
  require 'carbon_ruby_sdk/models/embeddings_and_chunks_filters'
45
46
  require 'carbon_ruby_sdk/models/embeddings_and_chunks_order_by_columns'
@@ -141,6 +142,7 @@ require 'carbon_ruby_sdk/models/webhook_no_key'
141
142
  require 'carbon_ruby_sdk/models/webhook_order_by_columns'
142
143
  require 'carbon_ruby_sdk/models/webhook_query_input'
143
144
  require 'carbon_ruby_sdk/models/webhook_query_response'
145
+ require 'carbon_ruby_sdk/models/webhook_status'
144
146
  require 'carbon_ruby_sdk/models/webscrape_request'
145
147
  require 'carbon_ruby_sdk/models/white_labeling_response'
146
148
  require 'carbon_ruby_sdk/models/youtube_transcript_response'
@@ -151,13 +151,14 @@ describe 'FilesApi' do
151
151
  # @option opts [Integer] :chunk_overlap Chunk overlap in tiktoken tokens to be used when processing file.
152
152
  # @option opts [Boolean] :skip_embedding_generation Flag to control whether or not embeddings should be generated and stored when processing file.
153
153
  # @option opts [Boolean] :set_page_as_boundary Flag to control whether or not to set the a page's worth of content as the maximum amount of content that can appear in a chunk. Only valid for PDFs. See description route description for more information.
154
- # @option opts [TextEmbeddingGenerators] :embedding_model Embedding model that will be used to embed file chunks.
154
+ # @option opts [EmbeddingModel] :embedding_model Embedding model that will be used to embed file chunks.
155
155
  # @option opts [Boolean] :use_ocr Whether or not to use OCR when processing files. Only valid for PDFs. Useful for documents with tables, images, and/or scanned text.
156
156
  # @option opts [Boolean] :generate_sparse_vectors Whether or not to generate sparse vectors for the file. This is *required* for the file to be a candidate for hybrid search.
157
157
  # @option opts [Boolean] :prepend_filename_to_chunks Whether or not to prepend the file's name to chunks.
158
158
  # @option opts [Integer] :max_items_per_chunk Number of objects per chunk. For csv, tsv, xlsx, and json files only.
159
159
  # @option opts [Boolean] :parse_pdf_tables_with_ocr Whether to use rich table parsing when `use_ocr` is enabled.
160
160
  # @option opts [Boolean] :detect_audio_language Whether to automatically detect the language of the uploaded audio file.
161
+ # @option opts [FileContentTypesNullable] :media_type The media type of the file. If not provided, it will be inferred from the file extension.
161
162
  # @return [UserFile]
162
163
  describe 'upload test' do
163
164
  it 'should work' do
@@ -47,4 +47,15 @@ describe 'OrganizationsApi' do
47
47
  end
48
48
  end
49
49
 
50
+ # unit tests for update_stats
51
+ # Update Organization Statistics
52
+ # Use this endpoint to reaggregate the statistics for an organization, for example aggregate_file_size. The reaggregation process is asyncronous so a webhook will be sent with the event type being FILE_STATISTICS_AGGREGATED to notify when the process is complee. After this aggregation is complete, the updated statistics can be retrieved using the /organization endpoint. The response of /organization willalso contain a timestamp of the last time the statistics were reaggregated.
53
+ # @param [Hash] opts the optional parameters
54
+ # @return [GenericSuccessResponse]
55
+ describe 'update_stats test' do
56
+ it 'should work' do
57
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
58
+ end
59
+ end
60
+
50
61
  end
@@ -0,0 +1,22 @@
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 'spec_helper'
10
+ require 'json'
11
+ require 'date'
12
+
13
+ # Unit tests for Carbon::EmbeddingModel
14
+ describe Carbon::EmbeddingModel do
15
+ let(:instance) { Carbon::EmbeddingModel.new }
16
+
17
+ describe 'test an instance of EmbeddingModel' do
18
+ it 'should create an instance of EmbeddingModel' do
19
+ expect(instance).to be_instance_of(Carbon::EmbeddingModel)
20
+ end
21
+ end
22
+ end
@@ -79,6 +79,24 @@ describe Carbon::OrganizationResponse do
79
79
  end
80
80
  end
81
81
 
82
+ describe 'test attribute "aggregate_num_files_by_source"' do
83
+ it 'should work' do
84
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
85
+ end
86
+ end
87
+
88
+ describe 'test attribute "aggregate_num_files_by_file_format"' do
89
+ it 'should work' do
90
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
91
+ end
92
+ end
93
+
94
+ describe 'test attribute "file_statistics_aggregated_at"' do
95
+ it 'should work' do
96
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
97
+ end
98
+ end
99
+
82
100
  describe 'test attribute "period_ends_at"' do
83
101
  it 'should work' do
84
102
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -73,6 +73,42 @@ describe Carbon::UserResponse do
73
73
  end
74
74
  end
75
75
 
76
+ describe 'test attribute "aggregate_file_size"' do
77
+ it 'should work' do
78
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
79
+ end
80
+ end
81
+
82
+ describe 'test attribute "aggregate_num_characters"' do
83
+ it 'should work' do
84
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
85
+ end
86
+ end
87
+
88
+ describe 'test attribute "aggregate_num_tokens"' do
89
+ it 'should work' do
90
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
91
+ end
92
+ end
93
+
94
+ describe 'test attribute "aggregate_num_embeddings"' do
95
+ it 'should work' do
96
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
97
+ end
98
+ end
99
+
100
+ describe 'test attribute "aggregate_num_files_by_source"' do
101
+ it 'should work' do
102
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
103
+ end
104
+ end
105
+
106
+ describe 'test attribute "aggregate_num_files_by_file_format"' do
107
+ it 'should work' do
108
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
109
+ end
110
+ end
111
+
76
112
  describe 'test attribute "unique_file_tags"' do
77
113
  it 'should work' do
78
114
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -37,6 +37,18 @@ describe Carbon::WebhookNoKey do
37
37
  end
38
38
  end
39
39
 
40
+ describe 'test attribute "status"' do
41
+ it 'should work' do
42
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
43
+ end
44
+ end
45
+
46
+ describe 'test attribute "status_reason"' do
47
+ it 'should work' do
48
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
49
+ end
50
+ end
51
+
40
52
  describe 'test attribute "created_at"' do
41
53
  it 'should work' do
42
54
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -43,6 +43,18 @@ describe Carbon::Webhook do
43
43
  end
44
44
  end
45
45
 
46
+ describe 'test attribute "status"' do
47
+ it 'should work' do
48
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
49
+ end
50
+ end
51
+
52
+ describe 'test attribute "status_reason"' do
53
+ it 'should work' do
54
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
55
+ end
56
+ end
57
+
46
58
  describe 'test attribute "created_at"' do
47
59
  it 'should work' do
48
60
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -0,0 +1,22 @@
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 'spec_helper'
10
+ require 'json'
11
+ require 'date'
12
+
13
+ # Unit tests for Carbon::WebhookStatus
14
+ describe Carbon::WebhookStatus do
15
+ let(:instance) { Carbon::WebhookStatus.new }
16
+
17
+ describe 'test an instance of WebhookStatus' do
18
+ it 'should create an instance of WebhookStatus' do
19
+ expect(instance).to be_instance_of(Carbon::WebhookStatus)
20
+ end
21
+ end
22
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carbon_ruby_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.34
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konfig
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-24 00:00:00.000000000 Z
11
+ date: 2024-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -123,6 +123,7 @@ files:
123
123
  - lib/carbon_ruby_sdk/models/embedding_and_chunk.rb
124
124
  - lib/carbon_ruby_sdk/models/embedding_generators.rb
125
125
  - lib/carbon_ruby_sdk/models/embedding_generators_nullable.rb
126
+ - lib/carbon_ruby_sdk/models/embedding_model.rb
126
127
  - lib/carbon_ruby_sdk/models/embedding_properties.rb
127
128
  - lib/carbon_ruby_sdk/models/embeddings_and_chunks_filters.rb
128
129
  - lib/carbon_ruby_sdk/models/embeddings_and_chunks_order_by_columns.rb
@@ -224,6 +225,7 @@ files:
224
225
  - lib/carbon_ruby_sdk/models/webhook_order_by_columns.rb
225
226
  - lib/carbon_ruby_sdk/models/webhook_query_input.rb
226
227
  - lib/carbon_ruby_sdk/models/webhook_query_response.rb
228
+ - lib/carbon_ruby_sdk/models/webhook_status.rb
227
229
  - lib/carbon_ruby_sdk/models/webscrape_request.rb
228
230
  - lib/carbon_ruby_sdk/models/white_labeling_response.rb
229
231
  - lib/carbon_ruby_sdk/models/youtube_transcript_response.rb
@@ -268,6 +270,7 @@ files:
268
270
  - spec/models/embedding_and_chunk_spec.rb
269
271
  - spec/models/embedding_generators_nullable_spec.rb
270
272
  - spec/models/embedding_generators_spec.rb
273
+ - spec/models/embedding_model_spec.rb
271
274
  - spec/models/embedding_properties_spec.rb
272
275
  - spec/models/embeddings_and_chunks_filters_spec.rb
273
276
  - spec/models/embeddings_and_chunks_order_by_columns_spec.rb
@@ -369,6 +372,7 @@ files:
369
372
  - spec/models/webhook_query_input_spec.rb
370
373
  - spec/models/webhook_query_response_spec.rb
371
374
  - spec/models/webhook_spec.rb
375
+ - spec/models/webhook_status_spec.rb
372
376
  - spec/models/webscrape_request_spec.rb
373
377
  - spec/models/white_labeling_response_spec.rb
374
378
  - spec/models/youtube_transcript_response_spec.rb
@@ -419,6 +423,7 @@ test_files:
419
423
  - spec/models/sitemap_scrape_request_spec.rb
420
424
  - spec/models/organization_user_files_to_sync_order_by_types_spec.rb
421
425
  - spec/models/order_dir_spec.rb
426
+ - spec/models/webhook_status_spec.rb
422
427
  - spec/models/external_source_item_spec.rb
423
428
  - spec/models/organization_user_data_source_query_input_spec.rb
424
429
  - spec/models/organization_user_data_source_filters_spec.rb
@@ -437,6 +442,7 @@ test_files:
437
442
  - spec/models/update_organization_input_spec.rb
438
443
  - spec/models/user_request_content_spec.rb
439
444
  - spec/models/gmail_sync_input_spec.rb
445
+ - spec/models/embedding_model_spec.rb
440
446
  - spec/models/delete_files_query_input_spec.rb
441
447
  - spec/models/webhook_query_input_spec.rb
442
448
  - spec/models/text_embedding_generators_spec.rb