carbon_ruby_sdk 0.1.0

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 (228) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +11 -0
  3. data/Gemfile.lock +89 -0
  4. data/README.md +2325 -0
  5. data/Rakefile +10 -0
  6. data/carbon_ruby_sdk.gemspec +39 -0
  7. data/header.png +0 -0
  8. data/lib/carbon_ruby_sdk/api/auth_api.rb +177 -0
  9. data/lib/carbon_ruby_sdk/api/data_sources_api.rb +217 -0
  10. data/lib/carbon_ruby_sdk/api/embeddings_api.rb +565 -0
  11. data/lib/carbon_ruby_sdk/api/files_api.rb +1526 -0
  12. data/lib/carbon_ruby_sdk/api/health_api.rb +92 -0
  13. data/lib/carbon_ruby_sdk/api/integrations_api.rb +2201 -0
  14. data/lib/carbon_ruby_sdk/api/organizations_api.rb +92 -0
  15. data/lib/carbon_ruby_sdk/api/users_api.rb +209 -0
  16. data/lib/carbon_ruby_sdk/api/utilities_api.rb +710 -0
  17. data/lib/carbon_ruby_sdk/api/webhooks_api.rb +296 -0
  18. data/lib/carbon_ruby_sdk/api_client.rb +436 -0
  19. data/lib/carbon_ruby_sdk/api_client_custom.rb +14 -0
  20. data/lib/carbon_ruby_sdk/api_error.rb +53 -0
  21. data/lib/carbon_ruby_sdk/configuration.rb +354 -0
  22. data/lib/carbon_ruby_sdk/models/add_webhook_props.rb +220 -0
  23. data/lib/carbon_ruby_sdk/models/body_create_upload_file_uploadfile_post.rb +220 -0
  24. data/lib/carbon_ruby_sdk/models/chunk_properties.rb +248 -0
  25. data/lib/carbon_ruby_sdk/models/chunk_properties_nullable.rb +248 -0
  26. data/lib/carbon_ruby_sdk/models/chunks_and_embeddings.rb +246 -0
  27. data/lib/carbon_ruby_sdk/models/chunks_and_embeddings_upload_input.rb +247 -0
  28. data/lib/carbon_ruby_sdk/models/data_source_last_sync_actions.rb +38 -0
  29. data/lib/carbon_ruby_sdk/models/data_source_sync_statuses.rb +38 -0
  30. data/lib/carbon_ruby_sdk/models/data_source_type.rb +76 -0
  31. data/lib/carbon_ruby_sdk/models/data_source_type_nullable.rb +76 -0
  32. data/lib/carbon_ruby_sdk/models/delete_files_query_input.rb +252 -0
  33. data/lib/carbon_ruby_sdk/models/directory_item.rb +266 -0
  34. data/lib/carbon_ruby_sdk/models/document_response.rb +328 -0
  35. data/lib/carbon_ruby_sdk/models/document_response_list.rb +222 -0
  36. data/lib/carbon_ruby_sdk/models/embedding_and_chunk.rb +256 -0
  37. data/lib/carbon_ruby_sdk/models/embedding_generators.rb +43 -0
  38. data/lib/carbon_ruby_sdk/models/embedding_generators_nullable.rb +43 -0
  39. data/lib/carbon_ruby_sdk/models/embedding_properties.rb +226 -0
  40. data/lib/carbon_ruby_sdk/models/embeddings_and_chunks_filters.rb +232 -0
  41. data/lib/carbon_ruby_sdk/models/embeddings_and_chunks_order_by_columns.rb +37 -0
  42. data/lib/carbon_ruby_sdk/models/embeddings_and_chunks_query_input.rb +262 -0
  43. data/lib/carbon_ruby_sdk/models/embeddings_and_chunks_response.rb +236 -0
  44. data/lib/carbon_ruby_sdk/models/external_file_sync_statuses.rb +43 -0
  45. data/lib/carbon_ruby_sdk/models/external_source_item.rb +420 -0
  46. data/lib/carbon_ruby_sdk/models/fetch_urls_response.rb +236 -0
  47. data/lib/carbon_ruby_sdk/models/file_content_types.rb +36 -0
  48. data/lib/carbon_ruby_sdk/models/file_content_types_nullable.rb +36 -0
  49. data/lib/carbon_ruby_sdk/models/file_formats.rb +76 -0
  50. data/lib/carbon_ruby_sdk/models/file_formats_nullable.rb +76 -0
  51. data/lib/carbon_ruby_sdk/models/file_statistics.rb +256 -0
  52. data/lib/carbon_ruby_sdk/models/file_statistics_nullable.rb +256 -0
  53. data/lib/carbon_ruby_sdk/models/fresh_desk_connect_request.rb +316 -0
  54. data/lib/carbon_ruby_sdk/models/generic_success_response.rb +220 -0
  55. data/lib/carbon_ruby_sdk/models/get_embedding_documents_body.rb +416 -0
  56. data/lib/carbon_ruby_sdk/models/gitbook_connect_request.rb +234 -0
  57. data/lib/carbon_ruby_sdk/models/gitbook_sync_request.rb +336 -0
  58. data/lib/carbon_ruby_sdk/models/gmail_sync_input.rb +301 -0
  59. data/lib/carbon_ruby_sdk/models/http_validation_error.rb +217 -0
  60. data/lib/carbon_ruby_sdk/models/hybrid_search_tuning_params.rb +234 -0
  61. data/lib/carbon_ruby_sdk/models/hybrid_search_tuning_params_nullable.rb +235 -0
  62. data/lib/carbon_ruby_sdk/models/list_data_source_items_request.rb +239 -0
  63. data/lib/carbon_ruby_sdk/models/list_data_source_items_response.rb +236 -0
  64. data/lib/carbon_ruby_sdk/models/list_request.rb +230 -0
  65. data/lib/carbon_ruby_sdk/models/list_response.rb +222 -0
  66. data/lib/carbon_ruby_sdk/models/location_property_inner.rb +226 -0
  67. data/lib/carbon_ruby_sdk/models/modify_user_configuration_input.rb +234 -0
  68. data/lib/carbon_ruby_sdk/models/o_auth_url_request.rb +362 -0
  69. data/lib/carbon_ruby_sdk/models/order_dir.rb +36 -0
  70. data/lib/carbon_ruby_sdk/models/organization_response.rb +362 -0
  71. data/lib/carbon_ruby_sdk/models/organization_user_data_source_api.rb +380 -0
  72. data/lib/carbon_ruby_sdk/models/organization_user_data_source_filters.rb +238 -0
  73. data/lib/carbon_ruby_sdk/models/organization_user_data_source_order_by_columns.rb +36 -0
  74. data/lib/carbon_ruby_sdk/models/organization_user_data_source_query_input.rb +246 -0
  75. data/lib/carbon_ruby_sdk/models/organization_user_data_source_response.rb +236 -0
  76. data/lib/carbon_ruby_sdk/models/organization_user_file_tag_create.rb +236 -0
  77. data/lib/carbon_ruby_sdk/models/organization_user_file_tags_remove.rb +236 -0
  78. data/lib/carbon_ruby_sdk/models/organization_user_files_to_sync_filters.rb +330 -0
  79. data/lib/carbon_ruby_sdk/models/organization_user_files_to_sync_order_by_types.rb +39 -0
  80. data/lib/carbon_ruby_sdk/models/organization_user_files_to_sync_query_input.rb +276 -0
  81. data/lib/carbon_ruby_sdk/models/outlook_sync_input.rb +313 -0
  82. data/lib/carbon_ruby_sdk/models/pagination.rb +228 -0
  83. data/lib/carbon_ruby_sdk/models/presigned_url_response.rb +220 -0
  84. data/lib/carbon_ruby_sdk/models/rank_property.rb +226 -0
  85. data/lib/carbon_ruby_sdk/models/raw_text_input.rb +295 -0
  86. data/lib/carbon_ruby_sdk/models/raw_transcript_property_inner_value.rb +226 -0
  87. data/lib/carbon_ruby_sdk/models/resync_file_query_input.rb +240 -0
  88. data/lib/carbon_ruby_sdk/models/revoke_access_token_input.rb +220 -0
  89. data/lib/carbon_ruby_sdk/models/rss_feed_input.rb +301 -0
  90. data/lib/carbon_ruby_sdk/models/s3_auth_request.rb +234 -0
  91. data/lib/carbon_ruby_sdk/models/s3_file_sync_input.rb +313 -0
  92. data/lib/carbon_ruby_sdk/models/s3_get_file_input.rb +226 -0
  93. data/lib/carbon_ruby_sdk/models/single_chunks_and_embeddings_upload_input.rb +256 -0
  94. data/lib/carbon_ruby_sdk/models/sitemap_scrape_request.rb +361 -0
  95. data/lib/carbon_ruby_sdk/models/source_property.rb +226 -0
  96. data/lib/carbon_ruby_sdk/models/sync_directory_request.rb +220 -0
  97. data/lib/carbon_ruby_sdk/models/sync_files_request.rb +328 -0
  98. data/lib/carbon_ruby_sdk/models/tags.rb +232 -0
  99. data/lib/carbon_ruby_sdk/models/tags1.rb +230 -0
  100. data/lib/carbon_ruby_sdk/models/text_embedding_generators.rb +42 -0
  101. data/lib/carbon_ruby_sdk/models/token_response.rb +234 -0
  102. data/lib/carbon_ruby_sdk/models/upload_file_from_url_input.rb +326 -0
  103. data/lib/carbon_ruby_sdk/models/user_file.rb +524 -0
  104. data/lib/carbon_ruby_sdk/models/user_files_v2.rb +236 -0
  105. data/lib/carbon_ruby_sdk/models/user_request_content.rb +220 -0
  106. data/lib/carbon_ruby_sdk/models/user_response.rb +354 -0
  107. data/lib/carbon_ruby_sdk/models/validation_error.rb +250 -0
  108. data/lib/carbon_ruby_sdk/models/webhook.rb +290 -0
  109. data/lib/carbon_ruby_sdk/models/webhook_filters.rb +218 -0
  110. data/lib/carbon_ruby_sdk/models/webhook_no_key.rb +276 -0
  111. data/lib/carbon_ruby_sdk/models/webhook_order_by_columns.rb +36 -0
  112. data/lib/carbon_ruby_sdk/models/webhook_query_input.rb +246 -0
  113. data/lib/carbon_ruby_sdk/models/webhook_query_response.rb +236 -0
  114. data/lib/carbon_ruby_sdk/models/webscrape_request.rb +375 -0
  115. data/lib/carbon_ruby_sdk/models/white_labeling_response.rb +234 -0
  116. data/lib/carbon_ruby_sdk/models/youtube_transcript_response.rb +252 -0
  117. data/lib/carbon_ruby_sdk/version.rb +11 -0
  118. data/lib/carbon_ruby_sdk.rb +207 -0
  119. data/spec/api/auth_api_spec.rb +50 -0
  120. data/spec/api/data_sources_api_spec.rb +51 -0
  121. data/spec/api/embeddings_api_spec.rb +63 -0
  122. data/spec/api/files_api_spec.rb +178 -0
  123. data/spec/api/health_api_spec.rb +39 -0
  124. data/spec/api/integrations_api_spec.rb +226 -0
  125. data/spec/api/organizations_api_spec.rb +39 -0
  126. data/spec/api/users_api_spec.rb +51 -0
  127. data/spec/api/utilities_api_spec.rb +102 -0
  128. data/spec/api/webhooks_api_spec.rb +62 -0
  129. data/spec/api_client_spec.rb +191 -0
  130. data/spec/configuration_spec.rb +38 -0
  131. data/spec/getting_started_spec.rb +196 -0
  132. data/spec/models/add_webhook_props_spec.rb +28 -0
  133. data/spec/models/body_create_upload_file_uploadfile_post_spec.rb +28 -0
  134. data/spec/models/chunk_properties_nullable_spec.rb +40 -0
  135. data/spec/models/chunk_properties_spec.rb +40 -0
  136. data/spec/models/chunks_and_embeddings_spec.rb +40 -0
  137. data/spec/models/chunks_and_embeddings_upload_input_spec.rb +40 -0
  138. data/spec/models/data_source_last_sync_actions_spec.rb +22 -0
  139. data/spec/models/data_source_sync_statuses_spec.rb +22 -0
  140. data/spec/models/data_source_type_nullable_spec.rb +22 -0
  141. data/spec/models/data_source_type_spec.rb +22 -0
  142. data/spec/models/delete_files_query_input_spec.rb +46 -0
  143. data/spec/models/directory_item_spec.rb +46 -0
  144. data/spec/models/document_response_list_spec.rb +28 -0
  145. data/spec/models/document_response_spec.rb +88 -0
  146. data/spec/models/embedding_and_chunk_spec.rb +46 -0
  147. data/spec/models/embedding_generators_nullable_spec.rb +22 -0
  148. data/spec/models/embedding_generators_spec.rb +22 -0
  149. data/spec/models/embedding_properties_spec.rb +34 -0
  150. data/spec/models/embeddings_and_chunks_filters_spec.rb +34 -0
  151. data/spec/models/embeddings_and_chunks_order_by_columns_spec.rb +22 -0
  152. data/spec/models/embeddings_and_chunks_query_input_spec.rb +52 -0
  153. data/spec/models/embeddings_and_chunks_response_spec.rb +34 -0
  154. data/spec/models/external_file_sync_statuses_spec.rb +22 -0
  155. data/spec/models/external_source_item_spec.rb +124 -0
  156. data/spec/models/fetch_urls_response_spec.rb +34 -0
  157. data/spec/models/file_content_types_nullable_spec.rb +22 -0
  158. data/spec/models/file_content_types_spec.rb +22 -0
  159. data/spec/models/file_formats_nullable_spec.rb +22 -0
  160. data/spec/models/file_formats_spec.rb +22 -0
  161. data/spec/models/file_statistics_nullable_spec.rb +52 -0
  162. data/spec/models/file_statistics_spec.rb +52 -0
  163. data/spec/models/fresh_desk_connect_request_spec.rb +76 -0
  164. data/spec/models/generic_success_response_spec.rb +28 -0
  165. data/spec/models/get_embedding_documents_body_spec.rb +106 -0
  166. data/spec/models/gitbook_connect_request_spec.rb +34 -0
  167. data/spec/models/gitbook_sync_request_spec.rb +76 -0
  168. data/spec/models/gmail_sync_input_spec.rb +70 -0
  169. data/spec/models/http_validation_error_spec.rb +28 -0
  170. data/spec/models/hybrid_search_tuning_params_nullable_spec.rb +34 -0
  171. data/spec/models/hybrid_search_tuning_params_spec.rb +34 -0
  172. data/spec/models/list_data_source_items_request_spec.rb +40 -0
  173. data/spec/models/list_data_source_items_response_spec.rb +34 -0
  174. data/spec/models/list_request_spec.rb +34 -0
  175. data/spec/models/list_response_spec.rb +28 -0
  176. data/spec/models/location_property_inner_spec.rb +22 -0
  177. data/spec/models/modify_user_configuration_input_spec.rb +34 -0
  178. data/spec/models/o_auth_url_request_spec.rb +106 -0
  179. data/spec/models/order_dir_spec.rb +22 -0
  180. data/spec/models/organization_response_spec.rb +94 -0
  181. data/spec/models/organization_user_data_source_api_spec.rb +100 -0
  182. data/spec/models/organization_user_data_source_filters_spec.rb +40 -0
  183. data/spec/models/organization_user_data_source_order_by_columns_spec.rb +22 -0
  184. data/spec/models/organization_user_data_source_query_input_spec.rb +46 -0
  185. data/spec/models/organization_user_data_source_response_spec.rb +34 -0
  186. data/spec/models/organization_user_file_tag_create_spec.rb +34 -0
  187. data/spec/models/organization_user_file_tags_remove_spec.rb +34 -0
  188. data/spec/models/organization_user_files_to_sync_filters_spec.rb +88 -0
  189. data/spec/models/organization_user_files_to_sync_order_by_types_spec.rb +22 -0
  190. data/spec/models/organization_user_files_to_sync_query_input_spec.rb +64 -0
  191. data/spec/models/outlook_sync_input_spec.rb +76 -0
  192. data/spec/models/pagination_spec.rb +34 -0
  193. data/spec/models/presigned_url_response_spec.rb +28 -0
  194. data/spec/models/rank_property_spec.rb +22 -0
  195. data/spec/models/raw_text_input_spec.rb +70 -0
  196. data/spec/models/raw_transcript_property_inner_value_spec.rb +22 -0
  197. data/spec/models/resync_file_query_input_spec.rb +40 -0
  198. data/spec/models/revoke_access_token_input_spec.rb +28 -0
  199. data/spec/models/rss_feed_input_spec.rb +70 -0
  200. data/spec/models/s3_auth_request_spec.rb +34 -0
  201. data/spec/models/s3_file_sync_input_spec.rb +76 -0
  202. data/spec/models/s3_get_file_input_spec.rb +34 -0
  203. data/spec/models/single_chunks_and_embeddings_upload_input_spec.rb +46 -0
  204. data/spec/models/sitemap_scrape_request_spec.rb +100 -0
  205. data/spec/models/source_property_spec.rb +22 -0
  206. data/spec/models/sync_directory_request_spec.rb +28 -0
  207. data/spec/models/sync_files_request_spec.rb +82 -0
  208. data/spec/models/tags1_spec.rb +22 -0
  209. data/spec/models/tags_spec.rb +22 -0
  210. data/spec/models/text_embedding_generators_spec.rb +22 -0
  211. data/spec/models/token_response_spec.rb +34 -0
  212. data/spec/models/upload_file_from_url_input_spec.rb +88 -0
  213. data/spec/models/user_file_spec.rb +190 -0
  214. data/spec/models/user_files_v2_spec.rb +34 -0
  215. data/spec/models/user_request_content_spec.rb +28 -0
  216. data/spec/models/user_response_spec.rb +88 -0
  217. data/spec/models/validation_error_spec.rb +40 -0
  218. data/spec/models/webhook_filters_spec.rb +28 -0
  219. data/spec/models/webhook_no_key_spec.rb +52 -0
  220. data/spec/models/webhook_order_by_columns_spec.rb +22 -0
  221. data/spec/models/webhook_query_input_spec.rb +46 -0
  222. data/spec/models/webhook_query_response_spec.rb +34 -0
  223. data/spec/models/webhook_spec.rb +58 -0
  224. data/spec/models/webscrape_request_spec.rb +106 -0
  225. data/spec/models/white_labeling_response_spec.rb +34 -0
  226. data/spec/models/youtube_transcript_response_spec.rb +46 -0
  227. data/spec/spec_helper.rb +107 -0
  228. metadata +440 -0
@@ -0,0 +1,39 @@
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
+
12
+ # Unit tests for Carbon::OrganizationsApi
13
+ describe 'OrganizationsApi' do
14
+ before do
15
+ # run before each test
16
+ @api_instance = Carbon::OrganizationsApi.new
17
+ end
18
+
19
+ after do
20
+ # run after each test
21
+ end
22
+
23
+ describe 'test an instance of OrganizationsApi' do
24
+ it 'should create an instance of OrganizationsApi' do
25
+ expect(@api_instance).to be_instance_of(Carbon::OrganizationsApi)
26
+ end
27
+ end
28
+
29
+ # unit tests for get
30
+ # Get Organization
31
+ # @param [Hash] opts the optional parameters
32
+ # @return [OrganizationResponse]
33
+ describe 'get test' do
34
+ it 'should work' do
35
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
36
+ end
37
+ end
38
+
39
+ end
@@ -0,0 +1,51 @@
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
+
12
+ # Unit tests for Carbon::UsersApi
13
+ describe 'UsersApi' do
14
+ before do
15
+ # run before each test
16
+ @api_instance = Carbon::UsersApi.new
17
+ end
18
+
19
+ after do
20
+ # run after each test
21
+ end
22
+
23
+ describe 'test an instance of UsersApi' do
24
+ it 'should create an instance of UsersApi' do
25
+ expect(@api_instance).to be_instance_of(Carbon::UsersApi)
26
+ end
27
+ end
28
+
29
+ # unit tests for get
30
+ # User Endpoint
31
+ # @param user_request_content
32
+ # @param [Hash] opts the optional parameters
33
+ # @return [UserResponse]
34
+ describe 'get 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
+
40
+ # unit tests for toggle_user_features
41
+ # Toggle User Features
42
+ # @param modify_user_configuration_input
43
+ # @param [Hash] opts the optional parameters
44
+ # @return [GenericSuccessResponse]
45
+ describe 'toggle_user_features test' do
46
+ it 'should work' do
47
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
48
+ end
49
+ end
50
+
51
+ end
@@ -0,0 +1,102 @@
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
+
12
+ # Unit tests for Carbon::UtilitiesApi
13
+ describe 'UtilitiesApi' do
14
+ before do
15
+ # run before each test
16
+ @api_instance = Carbon::UtilitiesApi.new
17
+ end
18
+
19
+ after do
20
+ # run after each test
21
+ end
22
+
23
+ describe 'test an instance of UtilitiesApi' do
24
+ it 'should create an instance of UtilitiesApi' do
25
+ expect(@api_instance).to be_instance_of(Carbon::UtilitiesApi)
26
+ end
27
+ end
28
+
29
+ # unit tests for fetch_urls
30
+ # Fetch Urls
31
+ # Extracts all URLs from a webpage. Args: url (str): URL of the webpage Returns: FetchURLsResponse: A response object with a list of URLs extracted from the webpage and the webpage content.
32
+ # @param url
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [FetchURLsResponse]
35
+ describe 'fetch_urls test' do
36
+ it 'should work' do
37
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
+ end
39
+ end
40
+
41
+ # unit tests for fetch_youtube_transcripts
42
+ # Fetch Youtube Transcripts
43
+ # Fetches english transcripts from YouTube videos. Args: id (str): The ID of the YouTube video. raw (bool): Whether to return the raw transcript or not. Defaults to False. Returns: dict: A dictionary with the transcript of the YouTube video.
44
+ # @param id
45
+ # @param [Hash] opts the optional parameters
46
+ # @option opts [Boolean] :raw
47
+ # @return [YoutubeTranscriptResponse]
48
+ describe 'fetch_youtube_transcripts test' do
49
+ it 'should work' do
50
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
51
+ end
52
+ end
53
+
54
+ # unit tests for process_sitemap
55
+ # Sitemap
56
+ # Retrieves all URLs from a sitemap, which can subsequently be utilized with our `web_scrape` endpoint. <!--Args: url (str): URL of the sitemap Returns: dict: A dictionary with a list of URLs extracted from the sitemap.-->
57
+ # @param url
58
+ # @param [Hash] opts the optional parameters
59
+ # @return [Object]
60
+ describe 'process_sitemap test' do
61
+ it 'should work' do
62
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
63
+ end
64
+ end
65
+
66
+ # unit tests for scrape_sitemap
67
+ # Scrape Sitemap
68
+ # Extracts all URLs from a sitemap and performs a web scrape on each of them. Args: sitemap_url (str): URL of the sitemap Returns: dict: A response object with the status of the scraping job message.-->
69
+ # @param sitemap_scrape_request
70
+ # @param [Hash] opts the optional parameters
71
+ # @return [Object]
72
+ describe 'scrape_sitemap test' do
73
+ it 'should work' do
74
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
75
+ end
76
+ end
77
+
78
+ # unit tests for scrape_web
79
+ # Web Scrape
80
+ # Conduct a web scrape on a given webpage URL. Our web scraper is fully compatible with JavaScript and supports recursion depth, enabling you to efficiently extract all content from the target website. <!--Args: scraping_requests (List[WebscrapeRequest]): A list of WebscrapeRequest objects. Returns: dict: A response object with the status of the scraping job message.-->
81
+ # @param webscrape_request
82
+ # @param [Hash] opts the optional parameters
83
+ # @return [Object]
84
+ describe 'scrape_web test' do
85
+ it 'should work' do
86
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
87
+ end
88
+ end
89
+
90
+ # unit tests for search_urls
91
+ # Search Urls
92
+ # Perform a web search and obtain a list of relevant URLs. As an illustration, when you perform a search for “content related to MRNA,” you will receive a list of links such as the following: - https://tomrenz.substack.com/p/mrna-and-why-it-matters - https://www.statnews.com/2020/11/10/the-story-of-mrna-how-a-once-dismissed-idea-became-a-leading-technology-in-the-covid-vaccine-race/ - https://www.statnews.com/2022/11/16/covid-19-vaccines-were-a-success-but-mrna-still-has-a-delivery-problem/ - https://joomi.substack.com/p/were-still-being-misled-about-how Subsequently, you can submit these links to the web_scrape endpoint in order to retrieve the content of the respective web pages. Args: query (str): Query to search for Returns: FetchURLsResponse: A response object with a list of URLs for a given search query.
93
+ # @param query
94
+ # @param [Hash] opts the optional parameters
95
+ # @return [FetchURLsResponse]
96
+ describe 'search_urls test' do
97
+ it 'should work' do
98
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
99
+ end
100
+ end
101
+
102
+ end
@@ -0,0 +1,62 @@
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
+
12
+ # Unit tests for Carbon::WebhooksApi
13
+ describe 'WebhooksApi' do
14
+ before do
15
+ # run before each test
16
+ @api_instance = Carbon::WebhooksApi.new
17
+ end
18
+
19
+ after do
20
+ # run after each test
21
+ end
22
+
23
+ describe 'test an instance of WebhooksApi' do
24
+ it 'should create an instance of WebhooksApi' do
25
+ expect(@api_instance).to be_instance_of(Carbon::WebhooksApi)
26
+ end
27
+ end
28
+
29
+ # unit tests for add_url
30
+ # Add Webhook Url
31
+ # @param add_webhook_props
32
+ # @param [Hash] opts the optional parameters
33
+ # @return [Webhook]
34
+ describe 'add_url 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
+
40
+ # unit tests for delete_url
41
+ # Delete Webhook Url
42
+ # @param webhook_id
43
+ # @param [Hash] opts the optional parameters
44
+ # @return [GenericSuccessResponse]
45
+ describe 'delete_url test' do
46
+ it 'should work' do
47
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
48
+ end
49
+ end
50
+
51
+ # unit tests for urls
52
+ # Webhook Urls
53
+ # @param webhook_query_input
54
+ # @param [Hash] opts the optional parameters
55
+ # @return [WebhookQueryResponse]
56
+ describe 'urls 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
+
62
+ end
@@ -0,0 +1,191 @@
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
+
11
+ describe Carbon::ApiClient do
12
+ context 'initialization' do
13
+ context 'URL stuff' do
14
+ context 'host' do
15
+ it 'removes http from host' do
16
+
17
+ configuration = Carbon::Configuration.new
18
+ configuration.host = 'http://example.com'
19
+ expect(configuration.host).to eq('example.com')
20
+ end
21
+
22
+ it 'removes https from host' do
23
+ configuration = Carbon::Configuration.new
24
+ configuration.host = 'https://wookiee.com'
25
+ expect(configuration.host).to eq('wookiee.com')
26
+ end
27
+
28
+ it 'removes trailing path from host' do
29
+ configuration = Carbon::Configuration.new
30
+ configuration.host = 'hello.com/v4'
31
+ expect(configuration.host).to eq('hello.com')
32
+ end
33
+ end
34
+
35
+ context 'base_path' do
36
+ it "prepends a slash to base_path" do
37
+ configuration = Carbon::Configuration.new
38
+ configuration.base_path = 'v4/dog'
39
+ expect(configuration.base_path).to eq('/v4/dog')
40
+ end
41
+
42
+ it "doesn't prepend a slash if one is already there" do
43
+ configuration = Carbon::Configuration.new
44
+ configuration.base_path = '/v4/dog'
45
+ expect(configuration.base_path).to eq('/v4/dog')
46
+ end
47
+
48
+ it "ends up as a blank string if nil" do
49
+ configuration = Carbon::Configuration.new
50
+ configuration.base_path = nil
51
+ expect(configuration.base_path).to eq('')
52
+ end
53
+ end
54
+ end
55
+ end
56
+
57
+ describe '#deserialize' do
58
+ it "handles Array<Integer>" do
59
+ api_client = Carbon::ApiClient.new
60
+ headers = { 'Content-Type' => 'application/json' }
61
+ response = double('response', headers: headers, body: '[12, 34]')
62
+ data = api_client.deserialize(response, 'Array<Integer>')
63
+ expect(data).to be_instance_of(Array)
64
+ expect(data).to eq([12, 34])
65
+ end
66
+
67
+ it 'handles Array<Array<Integer>>' do
68
+ api_client = Carbon::ApiClient.new
69
+ headers = { 'Content-Type' => 'application/json' }
70
+ response = double('response', headers: headers, body: '[[12, 34], [56]]')
71
+ data = api_client.deserialize(response, 'Array<Array<Integer>>')
72
+ expect(data).to be_instance_of(Array)
73
+ expect(data).to eq([[12, 34], [56]])
74
+ end
75
+
76
+ it 'handles Hash<String, String>' do
77
+ api_client = Carbon::ApiClient.new
78
+ headers = { 'Content-Type' => 'application/json' }
79
+ response = double('response', headers: headers, body: '{"message": "Hello"}')
80
+ data = api_client.deserialize(response, 'Hash<String, String>')
81
+ expect(data).to be_instance_of(Hash)
82
+ expect(data).to eq(:message => 'Hello')
83
+ end
84
+ end
85
+
86
+ describe "#object_to_hash" do
87
+ it 'ignores nils and includes empty arrays' do
88
+ # uncomment below to test object_to_hash for model
89
+ # api_client = Carbon::ApiClient.new
90
+ # _model = Carbon::ModelName.new
91
+ # update the model attribute below
92
+ # _model.id = 1
93
+ # update the expected value (hash) below
94
+ # expected = {id: 1, name: '', tags: []}
95
+ # expect(api_client.object_to_hash(_model)).to eq(expected)
96
+ end
97
+ end
98
+
99
+ describe '#build_collection_param' do
100
+ let(:param) { ['aa', 'bb', 'cc'] }
101
+ let(:api_client) { Carbon::ApiClient.new }
102
+
103
+ it 'works for csv' do
104
+ expect(api_client.build_collection_param(param, :csv)).to eq('aa,bb,cc')
105
+ end
106
+
107
+ it 'works for ssv' do
108
+ expect(api_client.build_collection_param(param, :ssv)).to eq('aa bb cc')
109
+ end
110
+
111
+ it 'works for tsv' do
112
+ expect(api_client.build_collection_param(param, :tsv)).to eq("aa\tbb\tcc")
113
+ end
114
+
115
+ it 'works for pipes' do
116
+ expect(api_client.build_collection_param(param, :pipes)).to eq('aa|bb|cc')
117
+ end
118
+
119
+ it 'works for multi' do
120
+ expect(api_client.build_collection_param(param, :multi)).to eq(['aa', 'bb', 'cc'])
121
+ end
122
+
123
+ it 'fails for invalid collection format' do
124
+ expect { api_client.build_collection_param(param, :INVALID) }.to raise_error(RuntimeError, 'unknown collection format: :INVALID')
125
+ end
126
+ end
127
+
128
+ describe '#json_mime?' do
129
+ let(:api_client) { Carbon::ApiClient.new }
130
+
131
+ it 'works' do
132
+ expect(api_client.json_mime?(nil)).to eq false
133
+ expect(api_client.json_mime?('')).to eq false
134
+
135
+ expect(api_client.json_mime?('application/json')).to eq true
136
+ expect(api_client.json_mime?('application/json; charset=UTF8')).to eq true
137
+ expect(api_client.json_mime?('APPLICATION/JSON')).to eq true
138
+
139
+ expect(api_client.json_mime?('application/xml')).to eq false
140
+ expect(api_client.json_mime?('text/plain')).to eq false
141
+ expect(api_client.json_mime?('application/jsonp')).to eq false
142
+ end
143
+ end
144
+
145
+ describe '#select_header_accept' do
146
+ let(:api_client) { Carbon::ApiClient.new }
147
+
148
+ it 'works' do
149
+ expect(api_client.select_header_accept(nil)).to be_nil
150
+ expect(api_client.select_header_accept([])).to be_nil
151
+
152
+ expect(api_client.select_header_accept(['application/json'])).to eq('application/json')
153
+ expect(api_client.select_header_accept(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
154
+ expect(api_client.select_header_accept(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
155
+
156
+ expect(api_client.select_header_accept(['application/xml'])).to eq('application/xml')
157
+ expect(api_client.select_header_accept(['text/html', 'application/xml'])).to eq('text/html,application/xml')
158
+ end
159
+ end
160
+
161
+ describe '#select_header_content_type' do
162
+ let(:api_client) { Carbon::ApiClient.new }
163
+
164
+ it 'works' do
165
+ expect(api_client.select_header_content_type(nil)).to be_nil
166
+ expect(api_client.select_header_content_type([])).to be_nil
167
+
168
+ expect(api_client.select_header_content_type(['application/json'])).to eq('application/json')
169
+ expect(api_client.select_header_content_type(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
170
+ expect(api_client.select_header_content_type(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
171
+ expect(api_client.select_header_content_type(['application/xml'])).to eq('application/xml')
172
+ expect(api_client.select_header_content_type(['text/plain', 'application/xml'])).to eq('text/plain')
173
+ end
174
+ end
175
+
176
+ describe '#sanitize_filename' do
177
+ let(:api_client) { Carbon::ApiClient.new }
178
+
179
+ it 'works' do
180
+ expect(api_client.sanitize_filename('sun')).to eq('sun')
181
+ expect(api_client.sanitize_filename('sun.gif')).to eq('sun.gif')
182
+ expect(api_client.sanitize_filename('../sun.gif')).to eq('sun.gif')
183
+ expect(api_client.sanitize_filename('/var/tmp/sun.gif')).to eq('sun.gif')
184
+ expect(api_client.sanitize_filename('./sun.gif')).to eq('sun.gif')
185
+ expect(api_client.sanitize_filename('..\sun.gif')).to eq('sun.gif')
186
+ expect(api_client.sanitize_filename('\var\tmp\sun.gif')).to eq('sun.gif')
187
+ expect(api_client.sanitize_filename('c:\var\tmp\sun.gif')).to eq('sun.gif')
188
+ expect(api_client.sanitize_filename('.\sun.gif')).to eq('sun.gif')
189
+ end
190
+ end
191
+ end
@@ -0,0 +1,38 @@
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
+
11
+ describe Carbon::Configuration do
12
+ let(:config) { Carbon::Configuration.default }
13
+
14
+ before(:each) do
15
+ # uncomment below to setup host and base_path
16
+ # require 'URI'
17
+ # uri = URI.parse("https://api.carbon.ai")
18
+ # Carbon.configure do |c|
19
+ # c.host = uri.host
20
+ # c.base_path = uri.path
21
+ # end
22
+ end
23
+
24
+ describe '#base_url' do
25
+ it 'should have the default value' do
26
+ # uncomment below to test default value of the base path
27
+ # expect(config.base_url).to eq("https://api.carbon.ai")
28
+ end
29
+
30
+ it 'should remove trailing slashes' do
31
+ [nil, '', '/', '//'].each do |base_path|
32
+ config.base_path = base_path
33
+ # uncomment below to test trailing slashes
34
+ # expect(config.base_url).to eq("https://api.carbon.ai")
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,196 @@
1
+ require 'spec_helper'
2
+ require 'json'
3
+ require 'securerandom'
4
+ require 'debug'
5
+
6
+ describe 'GettingStarted' do
7
+ before do
8
+ Carbon.access_token = "YOUR API KEY"
9
+ Carbon.api_key = "YOUR API KEY"
10
+ Carbon.customer_id = "YOUR API KEY"
11
+ Carbon.host = "http://127.0.0.1:4010"
12
+ end
13
+
14
+ after do
15
+ end
16
+
17
+ it 'Utilities.scrape_web' do
18
+ result = Carbon::Utilities.scrape_web(
19
+ body: [
20
+ {
21
+ "url" => "url_example",
22
+ "recursion_depth" => 3,
23
+ "max_pages_to_scrape" => 100,
24
+ "chunk_size" => 1500,
25
+ "chunk_overlap" => 20,
26
+ "skip_embedding_generation" => false,
27
+ "enable_auto_sync" => false,
28
+ "generate_sparse_vectors" => false,
29
+ "prepend_filename_to_chunks" => false,
30
+ "html_tags_to_skip" => [],
31
+ "css_classes_to_skip" => [],
32
+ "css_selectors_to_skip" => [],
33
+ "embedding_model" => "OPENAI",
34
+ }
35
+ ],
36
+ )
37
+ expect(result).to_not be_nil
38
+ end
39
+
40
+ it 'data_sources.query_user_data_sources' do
41
+ configuration = Carbon::Configuration.new
42
+ configuration.access_token = 'YOUR API KEY'
43
+ configuration.api_key = 'YOUR API KEY'
44
+ configuration.customer_id = 'YOUR API KEY'
45
+ configuration.host = 'http://127.0.0.1:4010'
46
+ carbon = Carbon::Client.new(configuration)
47
+ pagination = {
48
+ "limit" => 10,
49
+ "offset" => 0,
50
+ }
51
+ order_by = "created_at"
52
+ order_dir = "desc"
53
+ filters = {
54
+ "source" => "GOOGLE_DRIVE",
55
+ }
56
+ result = carbon.data_sources.query_user_data_sources(
57
+ pagination: pagination,
58
+ order_by: order_by,
59
+ order_dir: order_dir,
60
+ filters: filters,
61
+ )
62
+ p result
63
+ end
64
+
65
+ it 'data_sources.query_user_data_sources static pattern' do
66
+ result = Carbon::DataSources.query_user_data_sources(
67
+ pagination: {
68
+ "limit" => 10,
69
+ "offset" => 0,
70
+ },
71
+ order_by: "created_at",
72
+ order_dir: "desc",
73
+ filters: {
74
+ "source" => "GOOGLE_DRIVE",
75
+ },
76
+ )
77
+
78
+ # assert result is not nil
79
+ expect(result).to_not be_nil
80
+ end
81
+
82
+ it 'integrations.sync_gitbook' do
83
+ result = Carbon::Integrations.sync_gitbook_with_http_info(
84
+ space_ids: [
85
+ "string_example"
86
+ ],
87
+ data_source_id: 1,
88
+ tags: {},
89
+ chunk_size: 1500,
90
+ chunk_overlap: 20,
91
+ skip_embedding_generation: false,
92
+ embedding_model: "OPENAI",
93
+ generate_sparse_vectors: false,
94
+ prepend_filename_to_chunks: false,
95
+ )
96
+ expect(result).to_not be_nil
97
+ expect(result.data).to_not be_nil
98
+ expect(result.status_code).to eq(200)
99
+ expect(result.headers).to_not be_nil
100
+ expect(result.response).to_not be_nil
101
+ end
102
+
103
+ it 'embedding.get_documents' do
104
+ configuration = Carbon::Configuration.new
105
+ configuration.access_token = 'YOUR API KEY'
106
+ configuration.api_key = 'YOUR API KEY'
107
+ configuration.customer_id = 'YOUR API KEY'
108
+ configuration.host = 'http://127.0.0.1:4010'
109
+ carbon = Carbon::Client.new(configuration)
110
+ result = carbon.embeddings.get_documents(
111
+ query: "a",
112
+ k: 1,
113
+ tags: {
114
+ "key": "string_example",
115
+ },
116
+ query_vector: [
117
+ 3.14
118
+ ],
119
+ file_ids: [
120
+ 1
121
+ ],
122
+ parent_file_ids: [
123
+ 1
124
+ ],
125
+ tags_v2: {
126
+ },
127
+ include_tags: true,
128
+ include_vectors: true,
129
+ include_raw_file: true,
130
+ hybrid_search: true,
131
+ hybrid_search_tuning_parameters: {
132
+ "weight_a" => 0.5,
133
+ "weight_b" => 0.5,
134
+ },
135
+ media_type: "TEXT",
136
+ embedding_model: "OPENAI",
137
+ )
138
+ expect(result).to_not be_nil
139
+ end
140
+
141
+ it 'Webhooks.urls' do
142
+ result = Carbon::Webhooks.urls(
143
+ pagination: {
144
+ "limit" => 10,
145
+ "offset" => 0,
146
+ },
147
+ order_by: "created_at",
148
+ order_dir: "desc",
149
+ filters: {
150
+ "ids" => [],
151
+ },
152
+ )
153
+ expect(result).to_not be_nil
154
+ end
155
+
156
+ it 'Embeddings.upload_chunks_and_embeddings' do
157
+ result = Carbon::Embeddings.upload_chunks_and_embeddings(
158
+ embedding_model: "OPENAI",
159
+ chunks_and_embeddings: [
160
+ {
161
+ "file_id" => 1,
162
+ "chunks_and_embeddings" => [
163
+ {
164
+ "chunk_number" => 1,
165
+ "chunk" => "chunk_example",
166
+ "embedding" => [
167
+ 3.14
168
+ ],
169
+ }
170
+ ],
171
+ }
172
+ ],
173
+ overwrite_existing: false,
174
+ )
175
+ expect(result).to_not be_nil
176
+ end
177
+
178
+ it 'files.upload' do
179
+ # read from directory of this file ../README.md to file
180
+ file = File.open(File.join(File.dirname(__FILE__), "../README.md"), "rb")
181
+
182
+ result = Carbon::Files.upload(
183
+ file: file,
184
+ chunk_size: 1,
185
+ chunk_overlap: 1,
186
+ skip_embedding_generation: false,
187
+ set_page_as_boundary: false,
188
+ embedding_model: "OPENAI",
189
+ use_ocr: false,
190
+ generate_sparse_vectors: false,
191
+ prepend_filename_to_chunks: false,
192
+ max_items_per_chunk: 1,
193
+ )
194
+ expect(result).to_not be_nil
195
+ end
196
+ end