trieve_ruby_client 0.10.7 → 0.11.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 (424) hide show
  1. checksums.yaml +4 -4
  2. data/GENERATE_COMMAND.txt +2 -0
  3. data/README.md +119 -16
  4. data/docs/APIVersion.md +15 -0
  5. data/docs/AnalyticsApi.md +303 -0
  6. data/docs/AuthApi.md +4 -4
  7. data/docs/AutocompleteReqPayload.md +6 -2
  8. data/docs/BookmarkGroupResponse.md +49 -0
  9. data/docs/BookmarkGroupResult.md +1 -1
  10. data/docs/ChatMessageProxy.md +1 -1
  11. data/docs/ChunkApi.md +165 -63
  12. data/docs/ChunkFilter.md +2 -0
  13. data/docs/ChunkGroupAndFileId.md +36 -0
  14. data/docs/ChunkGroupApi.md +110 -90
  15. data/docs/ChunkMetadata.md +1 -1
  16. data/docs/ChunkMetadataStringTagSet.md +1 -1
  17. data/docs/ChunkMetadataWithScore.md +1 -1
  18. data/docs/ChunkReqPayload.md +2 -2
  19. data/docs/ChunkReturnTypes.md +49 -0
  20. data/docs/ClusterAnalytics.md +63 -0
  21. data/docs/ClusterAnalyticsFilter.md +18 -0
  22. data/docs/ClusterAnalyticsResponse.md +49 -0
  23. data/docs/ClusterQueries.md +22 -0
  24. data/docs/ClusterTopics.md +20 -0
  25. data/docs/ContentChunkMetadata.md +1 -1
  26. data/docs/CountChunkQueryResponseBody.md +18 -0
  27. data/docs/CountChunksReqPayload.md +26 -0
  28. data/docs/CountQueries.md +20 -0
  29. data/docs/CreateMessageReqPayload.md +11 -1
  30. data/docs/CreateSetupCheckoutSessionResPayload.md +18 -0
  31. data/docs/Dataset.md +0 -2
  32. data/docs/DatasetAnalytics.md +28 -0
  33. data/docs/DatasetApi.md +8 -80
  34. data/docs/DatasetDTO.md +0 -2
  35. data/docs/DeprecatedSearchOverGroupsResponseBody.md +20 -0
  36. data/docs/DistancePhrase.md +20 -0
  37. data/docs/EditMessageReqPayload.md +11 -1
  38. data/docs/Event.md +3 -5
  39. data/docs/EventTypeRequest.md +15 -0
  40. data/docs/EventsApi.md +1 -1
  41. data/docs/FileApi.md +4 -4
  42. data/docs/GenerateChunksRequest.md +11 -1
  43. data/docs/GeoInfoWithBias.md +20 -0
  44. data/docs/GetChunksForGroupsResponse.md +22 -0
  45. data/docs/GetEventsData.md +1 -1
  46. data/docs/Granularity.md +15 -0
  47. data/docs/GroupData.md +1 -1
  48. data/docs/GroupScoreChunk.md +14 -0
  49. data/docs/GroupsBookmarkQueryResult.md +22 -0
  50. data/docs/HeadQueries.md +20 -0
  51. data/docs/HeadQueries1.md +22 -0
  52. data/docs/HeadQueryResponse.md +18 -0
  53. data/docs/HealthApi.md +1 -1
  54. data/docs/InvitationApi.md +1 -1
  55. data/docs/LatencyGraph.md +22 -0
  56. data/docs/LatencyGraphResponse.md +18 -0
  57. data/docs/LowConfidenceQueries.md +24 -0
  58. data/docs/LowConfidenceRecommendations.md +24 -0
  59. data/docs/MessageApi.md +4 -4
  60. data/docs/MetricsApi.md +76 -0
  61. data/docs/NewChunkMetadataTypes.md +51 -0
  62. data/docs/NoResultQueries.md +22 -0
  63. data/docs/OrganizationApi.md +6 -6
  64. data/docs/QueryCountResponse.md +18 -0
  65. data/docs/QueryDetails.md +20 -0
  66. data/docs/RAGAnalytics.md +63 -0
  67. data/docs/RAGAnalyticsFilter.md +20 -0
  68. data/docs/RAGAnalyticsResponse.md +49 -0
  69. data/docs/RAGQueries.md +26 -0
  70. data/docs/RAGUsage.md +20 -0
  71. data/docs/RAGUsageResponse.md +18 -0
  72. data/docs/RPSGraph.md +22 -0
  73. data/docs/RPSGraphResponse.md +18 -0
  74. data/docs/RagQueryEvent.md +30 -0
  75. data/docs/RagQueryResponse.md +18 -0
  76. data/docs/RagTypes.md +15 -0
  77. data/docs/RecommendChunksRequest.md +2 -2
  78. data/docs/RecommendChunksResponseBody.md +18 -0
  79. data/docs/RecommendGroupChunksRequest.md +2 -2
  80. data/docs/RecommendGroupsResponse.md +49 -0
  81. data/docs/RecommendGroupsResponseBody.md +18 -0
  82. data/docs/RecommendResponseTypes.md +49 -0
  83. data/docs/RecommendType.md +15 -0
  84. data/docs/RecommendationAnalytics.md +63 -0
  85. data/docs/RecommendationAnalyticsFilter.md +20 -0
  86. data/docs/RecommendationAnalyticsResponse.md +47 -0
  87. data/docs/RecommendationEvent.md +38 -0
  88. data/docs/RecommendationQueries.md +26 -0
  89. data/docs/RecommendationStrategy.md +15 -0
  90. data/docs/RecommendationType.md +15 -0
  91. data/docs/RecommendationsEventResponse.md +18 -0
  92. data/docs/RegenerateMessageReqPayload.md +9 -1
  93. data/docs/RoleProxy.md +15 -0
  94. data/docs/ScoreChunk.md +22 -0
  95. data/docs/SearchAnalytics.md +77 -0
  96. data/docs/SearchAnalyticsFilter.md +22 -0
  97. data/docs/SearchAnalyticsResponse.md +59 -0
  98. data/docs/SearchChunksReqPayload.md +6 -4
  99. data/docs/SearchClusterResponse.md +18 -0
  100. data/docs/SearchClusterTopics.md +28 -0
  101. data/docs/SearchGroupResponseTypes.md +49 -0
  102. data/docs/SearchLatencyGraph.md +20 -0
  103. data/docs/SearchMethod.md +15 -0
  104. data/docs/SearchMetrics.md +20 -0
  105. data/docs/SearchOverGroupsData.md +2 -4
  106. data/docs/SearchOverGroupsResponseBody.md +4 -4
  107. data/docs/SearchOverGroupsResponseTypes.md +4 -4
  108. data/docs/SearchOverGroupsResults.md +6 -4
  109. data/docs/SearchQueries.md +26 -0
  110. data/docs/SearchQueryEvent.md +34 -0
  111. data/docs/SearchQueryResponse.md +18 -0
  112. data/docs/SearchRPSGraph.md +20 -0
  113. data/docs/SearchResponseBody.md +20 -0
  114. data/docs/SearchResponseTypes.md +49 -0
  115. data/docs/SearchResultType.md +49 -0
  116. data/docs/SearchType.md +15 -0
  117. data/docs/SearchTypeCount.md +22 -0
  118. data/docs/SearchWithinGroupData.md +6 -2
  119. data/docs/SearchWithinGroupResponseBody.md +20 -0
  120. data/docs/SearchWithinGroupResults.md +1 -1
  121. data/docs/SlimChunkMetadata.md +1 -1
  122. data/docs/SlimChunkMetadataWithArrayTagSet.md +44 -0
  123. data/docs/SlimChunkMetadataWithScore.md +1 -1
  124. data/docs/SortBy.md +15 -0
  125. data/docs/SortOrder.md +15 -0
  126. data/docs/StripeApi.md +134 -4
  127. data/docs/StripeInvoice.md +28 -0
  128. data/docs/TopicApi.md +4 -4
  129. data/docs/UpdateChunkGroupData.md +3 -1
  130. data/docs/UpdateChunkReqPayload.md +2 -0
  131. data/docs/UserApi.md +3 -3
  132. data/lib/trieve_ruby_client/api/analytics_api.rb +322 -0
  133. data/lib/trieve_ruby_client/api/auth_api.rb +9 -9
  134. data/lib/trieve_ruby_client/api/chunk_api.rb +148 -52
  135. data/lib/trieve_ruby_client/api/chunk_group_api.rb +122 -107
  136. data/lib/trieve_ruby_client/api/dataset_api.rb +17 -81
  137. data/lib/trieve_ruby_client/api/events_api.rb +3 -3
  138. data/lib/trieve_ruby_client/api/file_api.rb +9 -9
  139. data/lib/trieve_ruby_client/api/health_api.rb +3 -3
  140. data/lib/trieve_ruby_client/api/invitation_api.rb +3 -3
  141. data/lib/trieve_ruby_client/api/message_api.rb +9 -9
  142. data/lib/trieve_ruby_client/api/metrics_api.rb +79 -0
  143. data/lib/trieve_ruby_client/api/organization_api.rb +13 -13
  144. data/lib/trieve_ruby_client/api/stripe_api.rb +135 -9
  145. data/lib/trieve_ruby_client/api/topic_api.rb +9 -9
  146. data/lib/trieve_ruby_client/api/user_api.rb +7 -7
  147. data/lib/trieve_ruby_client/api_client.rb +1 -1
  148. data/lib/trieve_ruby_client/api_error.rb +1 -1
  149. data/lib/trieve_ruby_client/configuration.rb +8 -1
  150. data/lib/trieve_ruby_client/models/add_chunk_to_group_data.rb +1 -1
  151. data/lib/trieve_ruby_client/models/api_key_resp_body.rb +1 -1
  152. data/lib/trieve_ruby_client/models/api_version.rb +40 -0
  153. data/lib/trieve_ruby_client/models/auth_query.rb +1 -1
  154. data/lib/trieve_ruby_client/models/autocomplete_req_payload.rb +47 -5
  155. data/lib/trieve_ruby_client/models/batch_queued_chunk_response.rb +1 -1
  156. data/lib/trieve_ruby_client/models/bookmark_group_response.rb +105 -0
  157. data/lib/trieve_ruby_client/models/bookmark_group_result.rb +2 -2
  158. data/lib/trieve_ruby_client/models/boost_phrase.rb +1 -1
  159. data/lib/trieve_ruby_client/models/chat_message_proxy.rb +24 -2
  160. data/lib/trieve_ruby_client/models/chunk_filter.rb +13 -2
  161. data/lib/trieve_ruby_client/models/chunk_group.rb +1 -1
  162. data/lib/trieve_ruby_client/models/chunk_group_and_file_id.rb +343 -0
  163. data/lib/trieve_ruby_client/models/chunk_metadata.rb +8 -2
  164. data/lib/trieve_ruby_client/models/chunk_metadata_string_tag_set.rb +8 -2
  165. data/lib/trieve_ruby_client/models/chunk_metadata_types.rb +1 -1
  166. data/lib/trieve_ruby_client/models/chunk_metadata_with_score.rb +8 -2
  167. data/lib/trieve_ruby_client/models/chunk_req_payload.rb +12 -15
  168. data/lib/trieve_ruby_client/models/chunk_return_types.rb +105 -0
  169. data/lib/trieve_ruby_client/models/cluster_analytics.rb +43 -0
  170. data/lib/trieve_ruby_client/models/cluster_analytics_filter.rb +215 -0
  171. data/lib/trieve_ruby_client/models/cluster_analytics_response.rb +105 -0
  172. data/lib/trieve_ruby_client/models/cluster_queries.rb +296 -0
  173. data/lib/trieve_ruby_client/models/cluster_topics.rb +265 -0
  174. data/lib/trieve_ruby_client/models/condition_type.rb +1 -1
  175. data/lib/trieve_ruby_client/models/content_chunk_metadata.rb +8 -2
  176. data/lib/trieve_ruby_client/models/count_chunk_query_response_body.rb +240 -0
  177. data/lib/trieve_ruby_client/models/count_chunks_req_payload.rb +307 -0
  178. data/lib/trieve_ruby_client/models/count_queries.rb +265 -0
  179. data/lib/trieve_ruby_client/models/create_chunk_group_req_payload.rb +1 -1
  180. data/lib/trieve_ruby_client/models/create_chunk_req_payload_enum.rb +1 -1
  181. data/lib/trieve_ruby_client/models/create_dataset_request.rb +1 -1
  182. data/lib/trieve_ruby_client/models/create_message_req_payload.rb +95 -4
  183. data/lib/trieve_ruby_client/models/create_organization_data.rb +1 -1
  184. data/lib/trieve_ruby_client/models/create_setup_checkout_session_res_payload.rb +221 -0
  185. data/lib/trieve_ruby_client/models/create_topic_req_payload.rb +1 -1
  186. data/lib/trieve_ruby_client/models/dataset.rb +2 -14
  187. data/lib/trieve_ruby_client/models/dataset_analytics.rb +301 -0
  188. data/lib/trieve_ruby_client/models/dataset_and_usage.rb +1 -1
  189. data/lib/trieve_ruby_client/models/dataset_dto.rb +2 -14
  190. data/lib/trieve_ruby_client/models/dataset_usage_count.rb +1 -1
  191. data/lib/trieve_ruby_client/models/date_range.rb +1 -1
  192. data/lib/trieve_ruby_client/models/delete_topic_data.rb +1 -1
  193. data/lib/trieve_ruby_client/models/delete_user_api_key_request.rb +1 -1
  194. data/lib/trieve_ruby_client/models/deprecated_search_over_groups_response_body.rb +239 -0
  195. data/lib/trieve_ruby_client/models/distance_phrase.rb +240 -0
  196. data/lib/trieve_ruby_client/models/edit_message_req_payload.rb +95 -4
  197. data/lib/trieve_ruby_client/models/error_response_body.rb +1 -1
  198. data/lib/trieve_ruby_client/models/event.rb +12 -24
  199. data/lib/trieve_ruby_client/models/event_return.rb +1 -1
  200. data/lib/trieve_ruby_client/models/event_type_request.rb +49 -0
  201. data/lib/trieve_ruby_client/models/field_condition.rb +1 -1
  202. data/lib/trieve_ruby_client/models/file.rb +1 -1
  203. data/lib/trieve_ruby_client/models/file_dto.rb +1 -1
  204. data/lib/trieve_ruby_client/models/generate_chunks_request.rb +78 -6
  205. data/lib/trieve_ruby_client/models/geo_info.rb +1 -1
  206. data/lib/trieve_ruby_client/models/geo_info_with_bias.rb +237 -0
  207. data/lib/trieve_ruby_client/models/geo_types.rb +1 -1
  208. data/lib/trieve_ruby_client/models/get_chunks_data.rb +1 -1
  209. data/lib/trieve_ruby_client/models/get_chunks_for_groups_response.rb +274 -0
  210. data/lib/trieve_ruby_client/models/get_datasets_pagination.rb +1 -1
  211. data/lib/trieve_ruby_client/models/get_events_data.rb +2 -2
  212. data/lib/trieve_ruby_client/models/get_groups_for_chunks_data.rb +1 -1
  213. data/lib/trieve_ruby_client/models/get_tracking_chunks_data.rb +1 -1
  214. data/lib/trieve_ruby_client/models/granularity.rb +42 -0
  215. data/lib/trieve_ruby_client/models/group_data.rb +2 -2
  216. data/lib/trieve_ruby_client/models/group_score_chunk.rb +92 -2
  217. data/lib/trieve_ruby_client/models/groups_bookmark_query_result.rb +274 -0
  218. data/lib/trieve_ruby_client/models/has_id_condition.rb +1 -1
  219. data/lib/trieve_ruby_client/models/head_queries.rb +237 -0
  220. data/lib/trieve_ruby_client/models/head_queries1.rb +290 -0
  221. data/lib/trieve_ruby_client/models/head_query_response.rb +223 -0
  222. data/lib/trieve_ruby_client/models/invitation_data.rb +1 -1
  223. data/lib/trieve_ruby_client/models/latency_graph.rb +275 -0
  224. data/lib/trieve_ruby_client/models/latency_graph_response.rb +223 -0
  225. data/lib/trieve_ruby_client/models/location_bounding_box.rb +1 -1
  226. data/lib/trieve_ruby_client/models/location_polygon.rb +1 -1
  227. data/lib/trieve_ruby_client/models/location_radius.rb +1 -1
  228. data/lib/trieve_ruby_client/models/low_confidence_queries.rb +300 -0
  229. data/lib/trieve_ruby_client/models/low_confidence_recommendations.rb +300 -0
  230. data/lib/trieve_ruby_client/models/match_condition.rb +1 -1
  231. data/lib/trieve_ruby_client/models/message.rb +1 -1
  232. data/lib/trieve_ruby_client/models/new_chunk_metadata_types.rb +106 -0
  233. data/lib/trieve_ruby_client/models/no_result_queries.rb +290 -0
  234. data/lib/trieve_ruby_client/models/organization.rb +1 -1
  235. data/lib/trieve_ruby_client/models/organization_usage_count.rb +1 -1
  236. data/lib/trieve_ruby_client/models/query_count_response.rb +223 -0
  237. data/lib/trieve_ruby_client/models/query_details.rb +271 -0
  238. data/lib/trieve_ruby_client/models/rag_analytics.rb +43 -0
  239. data/lib/trieve_ruby_client/models/rag_analytics_filter.rb +247 -0
  240. data/lib/trieve_ruby_client/models/rag_analytics_response.rb +105 -0
  241. data/lib/trieve_ruby_client/models/rag_queries.rb +310 -0
  242. data/lib/trieve_ruby_client/models/rag_query_event.rb +319 -0
  243. data/lib/trieve_ruby_client/models/rag_query_response.rb +223 -0
  244. data/lib/trieve_ruby_client/models/rag_types.rb +40 -0
  245. data/lib/trieve_ruby_client/models/rag_usage.rb +265 -0
  246. data/lib/trieve_ruby_client/models/rag_usage_response.rb +240 -0
  247. data/lib/trieve_ruby_client/models/range.rb +1 -1
  248. data/lib/trieve_ruby_client/models/range_condition.rb +1 -1
  249. data/lib/trieve_ruby_client/models/recommend_chunks_request.rb +25 -5
  250. data/lib/trieve_ruby_client/models/recommend_chunks_response_body.rb +223 -0
  251. data/lib/trieve_ruby_client/models/recommend_group_chunks_request.rb +25 -5
  252. data/lib/trieve_ruby_client/models/recommend_groups_response.rb +105 -0
  253. data/lib/trieve_ruby_client/models/recommend_groups_response_body.rb +223 -0
  254. data/lib/trieve_ruby_client/models/recommend_response_types.rb +105 -0
  255. data/lib/trieve_ruby_client/models/recommend_type.rb +40 -0
  256. data/lib/trieve_ruby_client/models/recommendation_analytics.rb +43 -0
  257. data/lib/trieve_ruby_client/models/recommendation_analytics_filter.rb +247 -0
  258. data/lib/trieve_ruby_client/models/recommendation_analytics_response.rb +104 -0
  259. data/lib/trieve_ruby_client/models/recommendation_event.rb +391 -0
  260. data/lib/trieve_ruby_client/models/recommendation_queries.rb +310 -0
  261. data/lib/trieve_ruby_client/models/recommendation_strategy.rb +40 -0
  262. data/lib/trieve_ruby_client/models/recommendation_type.rb +40 -0
  263. data/lib/trieve_ruby_client/models/recommendations_event_response.rb +223 -0
  264. data/lib/trieve_ruby_client/models/regenerate_message_req_payload.rb +84 -4
  265. data/lib/trieve_ruby_client/models/remove_chunk_from_group_req_payload.rb +1 -1
  266. data/lib/trieve_ruby_client/models/return_queued_chunk.rb +1 -1
  267. data/lib/trieve_ruby_client/models/role_proxy.rb +41 -0
  268. data/lib/trieve_ruby_client/models/rps_graph.rb +275 -0
  269. data/lib/trieve_ruby_client/models/rps_graph_response.rb +223 -0
  270. data/lib/trieve_ruby_client/models/score_chunk.rb +249 -0
  271. data/lib/trieve_ruby_client/models/score_chunk_dto.rb +1 -1
  272. data/lib/trieve_ruby_client/models/search_analytics.rb +50 -0
  273. data/lib/trieve_ruby_client/models/search_analytics_filter.rb +257 -0
  274. data/lib/trieve_ruby_client/models/search_analytics_response.rb +110 -0
  275. data/lib/trieve_ruby_client/models/search_chunk_query_response_body.rb +1 -1
  276. data/lib/trieve_ruby_client/models/search_chunks_req_payload.rb +47 -16
  277. data/lib/trieve_ruby_client/models/search_cluster_response.rb +223 -0
  278. data/lib/trieve_ruby_client/models/search_cluster_topics.rb +301 -0
  279. data/lib/trieve_ruby_client/models/search_group_response_types.rb +105 -0
  280. data/lib/trieve_ruby_client/models/search_latency_graph.rb +237 -0
  281. data/lib/trieve_ruby_client/models/search_method.rb +42 -0
  282. data/lib/trieve_ruby_client/models/search_metrics.rb +265 -0
  283. data/lib/trieve_ruby_client/models/search_over_groups_data.rb +26 -16
  284. data/lib/trieve_ruby_client/models/search_over_groups_response_body.rb +23 -23
  285. data/lib/trieve_ruby_client/models/search_over_groups_response_types.rb +3 -3
  286. data/lib/trieve_ruby_client/models/search_over_groups_results.rb +33 -23
  287. data/lib/trieve_ruby_client/models/search_queries.rb +310 -0
  288. data/lib/trieve_ruby_client/models/search_query_event.rb +351 -0
  289. data/lib/trieve_ruby_client/models/search_query_response.rb +223 -0
  290. data/lib/trieve_ruby_client/models/search_response_body.rb +239 -0
  291. data/lib/trieve_ruby_client/models/search_response_types.rb +105 -0
  292. data/lib/trieve_ruby_client/models/search_result_type.rb +105 -0
  293. data/lib/trieve_ruby_client/models/search_rps_graph.rb +237 -0
  294. data/lib/trieve_ruby_client/models/search_type.rb +42 -0
  295. data/lib/trieve_ruby_client/models/search_type_count.rb +253 -0
  296. data/lib/trieve_ruby_client/models/search_within_group_data.rb +47 -5
  297. data/lib/trieve_ruby_client/models/search_within_group_response_body.rb +239 -0
  298. data/lib/trieve_ruby_client/models/search_within_group_results.rb +2 -2
  299. data/lib/trieve_ruby_client/models/set_user_api_key_request.rb +1 -1
  300. data/lib/trieve_ruby_client/models/set_user_api_key_response.rb +1 -1
  301. data/lib/trieve_ruby_client/models/single_queued_chunk_response.rb +1 -1
  302. data/lib/trieve_ruby_client/models/slim_chunk_metadata.rb +8 -2
  303. data/lib/trieve_ruby_client/models/slim_chunk_metadata_with_array_tag_set.rb +385 -0
  304. data/lib/trieve_ruby_client/models/slim_chunk_metadata_with_score.rb +8 -2
  305. data/lib/trieve_ruby_client/models/slim_user.rb +1 -1
  306. data/lib/trieve_ruby_client/models/sort_by.rb +41 -0
  307. data/lib/trieve_ruby_client/models/sort_order.rb +40 -0
  308. data/lib/trieve_ruby_client/models/stripe_invoice.rb +301 -0
  309. data/lib/trieve_ruby_client/models/stripe_plan.rb +1 -1
  310. data/lib/trieve_ruby_client/models/suggested_queries_req_payload.rb +1 -1
  311. data/lib/trieve_ruby_client/models/suggested_queries_response.rb +1 -1
  312. data/lib/trieve_ruby_client/models/topic.rb +1 -1
  313. data/lib/trieve_ruby_client/models/update_chunk_by_tracking_id_data.rb +1 -1
  314. data/lib/trieve_ruby_client/models/update_chunk_group_data.rb +17 -6
  315. data/lib/trieve_ruby_client/models/update_chunk_req_payload.rb +12 -2
  316. data/lib/trieve_ruby_client/models/update_dataset_request.rb +1 -1
  317. data/lib/trieve_ruby_client/models/update_group_by_tracking_id_req_payload.rb +1 -1
  318. data/lib/trieve_ruby_client/models/update_organization_data.rb +1 -1
  319. data/lib/trieve_ruby_client/models/update_topic_req_payload.rb +1 -1
  320. data/lib/trieve_ruby_client/models/update_user_org_role_data.rb +1 -1
  321. data/lib/trieve_ruby_client/models/upload_file_req_payload.rb +1 -1
  322. data/lib/trieve_ruby_client/models/upload_file_result.rb +1 -1
  323. data/lib/trieve_ruby_client/models/user_organization.rb +1 -1
  324. data/lib/trieve_ruby_client/version.rb +2 -2
  325. data/lib/trieve_ruby_client.rb +86 -5
  326. data/openapi-generator.yaml +2 -2
  327. data/openapi.json +11050 -1
  328. data/spec/api/analytics_api_spec.rb +87 -0
  329. data/spec/api/metrics_api_spec.rb +46 -0
  330. data/spec/models/api_version_spec.rb +30 -0
  331. data/spec/models/bookmark_group_response_spec.rb +32 -0
  332. data/spec/models/chunk_group_and_file_id_spec.rb +90 -0
  333. data/spec/models/chunk_return_types_spec.rb +32 -0
  334. data/spec/models/cluster_analytics_filter_spec.rb +36 -0
  335. data/spec/models/cluster_analytics_response_spec.rb +32 -0
  336. data/spec/models/cluster_analytics_spec.rb +38 -0
  337. data/spec/models/cluster_queries_spec.rb +52 -0
  338. data/spec/models/cluster_topics_spec.rb +46 -0
  339. data/spec/models/count_chunk_query_response_body_spec.rb +36 -0
  340. data/spec/models/count_chunks_req_payload_spec.rb +60 -0
  341. data/spec/models/count_queries_spec.rb +46 -0
  342. data/spec/models/create_setup_checkout_session_res_payload_spec.rb +36 -0
  343. data/spec/models/dataset_analytics_spec.rb +66 -0
  344. data/spec/models/deprecated_search_over_groups_response_body_spec.rb +42 -0
  345. data/spec/models/distance_phrase_spec.rb +42 -0
  346. data/spec/models/event_type_request_spec.rb +30 -0
  347. data/spec/models/geo_info_with_bias_spec.rb +42 -0
  348. data/spec/models/get_chunks_for_groups_response_spec.rb +48 -0
  349. data/spec/models/granularity_spec.rb +30 -0
  350. data/spec/models/groups_bookmark_query_result_spec.rb +48 -0
  351. data/spec/models/head_queries1_spec.rb +52 -0
  352. data/spec/models/head_queries_spec.rb +42 -0
  353. data/spec/models/head_query_response_spec.rb +36 -0
  354. data/spec/models/latency_graph_response_spec.rb +36 -0
  355. data/spec/models/latency_graph_spec.rb +52 -0
  356. data/spec/models/low_confidence_queries_spec.rb +58 -0
  357. data/spec/models/low_confidence_recommendations_spec.rb +58 -0
  358. data/spec/models/new_chunk_metadata_types_spec.rb +32 -0
  359. data/spec/models/no_result_queries_spec.rb +52 -0
  360. data/spec/models/query_count_response_spec.rb +36 -0
  361. data/spec/models/query_details_spec.rb +46 -0
  362. data/spec/models/rag_analytics_filter_spec.rb +42 -0
  363. data/spec/models/rag_analytics_response_spec.rb +32 -0
  364. data/spec/models/rag_analytics_spec.rb +38 -0
  365. data/spec/models/rag_queries_spec.rb +64 -0
  366. data/spec/models/rag_query_event_spec.rb +72 -0
  367. data/spec/models/rag_query_response_spec.rb +36 -0
  368. data/spec/models/rag_types_spec.rb +30 -0
  369. data/spec/models/rag_usage_response_spec.rb +36 -0
  370. data/spec/models/rag_usage_spec.rb +46 -0
  371. data/spec/models/recommend_chunks_response_body_spec.rb +36 -0
  372. data/spec/models/recommend_groups_response_body_spec.rb +36 -0
  373. data/spec/models/recommend_groups_response_spec.rb +32 -0
  374. data/spec/models/recommend_response_types_spec.rb +32 -0
  375. data/spec/models/recommend_type_spec.rb +30 -0
  376. data/spec/models/recommendation_analytics_filter_spec.rb +42 -0
  377. data/spec/models/recommendation_analytics_response_spec.rb +32 -0
  378. data/spec/models/recommendation_analytics_spec.rb +38 -0
  379. data/spec/models/recommendation_event_spec.rb +96 -0
  380. data/spec/models/recommendation_queries_spec.rb +64 -0
  381. data/spec/models/recommendation_strategy_spec.rb +30 -0
  382. data/spec/models/recommendation_type_spec.rb +30 -0
  383. data/spec/models/recommendations_event_response_spec.rb +36 -0
  384. data/spec/models/role_proxy_spec.rb +30 -0
  385. data/spec/models/rps_graph_response_spec.rb +36 -0
  386. data/spec/models/rps_graph_spec.rb +52 -0
  387. data/spec/models/score_chunk_spec.rb +48 -0
  388. data/spec/models/search_analytics_filter_spec.rb +48 -0
  389. data/spec/models/search_analytics_response_spec.rb +32 -0
  390. data/spec/models/search_analytics_spec.rb +38 -0
  391. data/spec/models/search_cluster_response_spec.rb +36 -0
  392. data/spec/models/search_cluster_topics_spec.rb +66 -0
  393. data/spec/models/search_group_response_types_spec.rb +32 -0
  394. data/spec/models/search_latency_graph_spec.rb +42 -0
  395. data/spec/models/search_method_spec.rb +30 -0
  396. data/spec/models/search_metrics_spec.rb +46 -0
  397. data/spec/models/search_queries_spec.rb +64 -0
  398. data/spec/models/search_query_event_spec.rb +84 -0
  399. data/spec/models/search_query_response_spec.rb +36 -0
  400. data/spec/models/search_response_body_spec.rb +42 -0
  401. data/spec/models/search_response_types_spec.rb +32 -0
  402. data/spec/models/search_result_type_spec.rb +32 -0
  403. data/spec/models/search_rps_graph_spec.rb +42 -0
  404. data/spec/models/search_type_count_spec.rb +48 -0
  405. data/spec/models/search_type_spec.rb +30 -0
  406. data/spec/models/search_within_group_response_body_spec.rb +42 -0
  407. data/spec/models/slim_chunk_metadata_with_array_tag_set_spec.rb +114 -0
  408. data/spec/models/sort_by_spec.rb +30 -0
  409. data/spec/models/sort_order_spec.rb +30 -0
  410. data/spec/models/stripe_invoice_spec.rb +66 -0
  411. data/spec/spec_helper.rb +1 -1
  412. data/trieve_ruby_client.gemspec +1 -1
  413. metadata +456 -135
  414. data/trieve_ruby_client-0.5.0.gem +0 -0
  415. data/trieve_ruby_client-0.5.7.gem +0 -0
  416. data/trieve_ruby_client-0.6.0.gem +0 -0
  417. data/trieve_ruby_client-0.6.2.gem +0 -0
  418. data/trieve_ruby_client-0.6.7.gem +0 -0
  419. data/trieve_ruby_client-0.6.9.gem +0 -0
  420. data/trieve_ruby_client-0.7.2.gem +0 -0
  421. data/trieve_ruby_client-0.7.6.gem +0 -0
  422. data/trieve_ruby_client-0.8.0.gem +0 -0
  423. data/trieve_ruby_client-0.8.2.gem +0 -0
  424. data/trieve_ruby_client-0.8.5.gem +0 -0
@@ -0,0 +1,240 @@
1
+ =begin
2
+ #Trieve API
3
+
4
+ #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
+
6
+ The version of the OpenAPI document: 0.11.0
7
+ Contact: developers@trieve.ai
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.4.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrieveRubyClient
17
+ class RAGUsageResponse
18
+ attr_accessor :total_queries
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'total_queries' => :'total_queries'
24
+ }
25
+ end
26
+
27
+ # Returns all the JSON keys this model knows about
28
+ def self.acceptable_attributes
29
+ attribute_map.values
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.openapi_types
34
+ {
35
+ :'total_queries' => :'Integer'
36
+ }
37
+ end
38
+
39
+ # List of attributes with nullable: true
40
+ def self.openapi_nullable
41
+ Set.new([
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 `TrieveRubyClient::RAGUsageResponse` 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 `TrieveRubyClient::RAGUsageResponse`. 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
+
60
+ if attributes.key?(:'total_queries')
61
+ self.total_queries = attributes[:'total_queries']
62
+ else
63
+ self.total_queries = nil
64
+ end
65
+ end
66
+
67
+ # Show invalid properties with the reasons. Usually used together with valid?
68
+ # @return Array for valid properties with the reasons
69
+ def list_invalid_properties
70
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
71
+ invalid_properties = Array.new
72
+ if @total_queries.nil?
73
+ invalid_properties.push('invalid value for "total_queries", total_queries cannot be nil.')
74
+ end
75
+
76
+ if @total_queries < 0
77
+ invalid_properties.push('invalid value for "total_queries", must be greater than or equal to 0.')
78
+ end
79
+
80
+ invalid_properties
81
+ end
82
+
83
+ # Check to see if the all the properties in the model are valid
84
+ # @return true if the model is valid
85
+ def valid?
86
+ warn '[DEPRECATED] the `valid?` method is obsolete'
87
+ return false if @total_queries.nil?
88
+ return false if @total_queries < 0
89
+ true
90
+ end
91
+
92
+ # Custom attribute writer method with validation
93
+ # @param [Object] total_queries Value to be assigned
94
+ def total_queries=(total_queries)
95
+ if total_queries.nil?
96
+ fail ArgumentError, 'total_queries cannot be nil'
97
+ end
98
+
99
+ if total_queries < 0
100
+ fail ArgumentError, 'invalid value for "total_queries", must be greater than or equal to 0.'
101
+ end
102
+
103
+ @total_queries = total_queries
104
+ end
105
+
106
+ # Checks equality by comparing each attribute.
107
+ # @param [Object] Object to be compared
108
+ def ==(o)
109
+ return true if self.equal?(o)
110
+ self.class == o.class &&
111
+ total_queries == o.total_queries
112
+ end
113
+
114
+ # @see the `==` method
115
+ # @param [Object] Object to be compared
116
+ def eql?(o)
117
+ self == o
118
+ end
119
+
120
+ # Calculates hash code according to all attributes.
121
+ # @return [Integer] Hash code
122
+ def hash
123
+ [total_queries].hash
124
+ end
125
+
126
+ # Builds the object from hash
127
+ # @param [Hash] attributes Model attributes in the form of hash
128
+ # @return [Object] Returns the model itself
129
+ def self.build_from_hash(attributes)
130
+ return nil unless attributes.is_a?(Hash)
131
+ attributes = attributes.transform_keys(&:to_sym)
132
+ transformed_hash = {}
133
+ openapi_types.each_pair do |key, type|
134
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
135
+ transformed_hash["#{key}"] = nil
136
+ elsif type =~ /\AArray<(.*)>/i
137
+ # check to ensure the input is an array given that the attribute
138
+ # is documented as an array but the input is not
139
+ if attributes[attribute_map[key]].is_a?(Array)
140
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
141
+ end
142
+ elsif !attributes[attribute_map[key]].nil?
143
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
144
+ end
145
+ end
146
+ new(transformed_hash)
147
+ end
148
+
149
+ # Deserializes the data based on type
150
+ # @param string type Data type
151
+ # @param string value Value to be deserialized
152
+ # @return [Object] Deserialized data
153
+ def self._deserialize(type, value)
154
+ case type.to_sym
155
+ when :Time
156
+ Time.parse(value)
157
+ when :Date
158
+ Date.parse(value)
159
+ when :String
160
+ value.to_s
161
+ when :Integer
162
+ value.to_i
163
+ when :Float
164
+ value.to_f
165
+ when :Boolean
166
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
167
+ true
168
+ else
169
+ false
170
+ end
171
+ when :Object
172
+ # generic object (usually a Hash), return directly
173
+ value
174
+ when /\AArray<(?<inner_type>.+)>\z/
175
+ inner_type = Regexp.last_match[:inner_type]
176
+ value.map { |v| _deserialize(inner_type, v) }
177
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
178
+ k_type = Regexp.last_match[:k_type]
179
+ v_type = Regexp.last_match[:v_type]
180
+ {}.tap do |hash|
181
+ value.each do |k, v|
182
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
183
+ end
184
+ end
185
+ else # model
186
+ # models (e.g. Pet) or oneOf
187
+ klass = TrieveRubyClient.const_get(type)
188
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
189
+ end
190
+ end
191
+
192
+ # Returns the string representation of the object
193
+ # @return [String] String presentation of the object
194
+ def to_s
195
+ to_hash.to_s
196
+ end
197
+
198
+ # to_body is an alias to to_hash (backward compatibility)
199
+ # @return [Hash] Returns the object in the form of hash
200
+ def to_body
201
+ to_hash
202
+ end
203
+
204
+ # Returns the object in the form of hash
205
+ # @return [Hash] Returns the object in the form of hash
206
+ def to_hash
207
+ hash = {}
208
+ self.class.attribute_map.each_pair do |attr, param|
209
+ value = self.send(attr)
210
+ if value.nil?
211
+ is_nullable = self.class.openapi_nullable.include?(attr)
212
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
213
+ end
214
+
215
+ hash[param] = _to_hash(value)
216
+ end
217
+ hash
218
+ end
219
+
220
+ # Outputs non-array value in the form of hash
221
+ # For object, use to_hash. Otherwise, just return the value
222
+ # @param [Object] value Any valid value
223
+ # @return [Hash] Returns the value in the form of hash
224
+ def _to_hash(value)
225
+ if value.is_a?(Array)
226
+ value.compact.map { |v| _to_hash(v) }
227
+ elsif value.is_a?(Hash)
228
+ {}.tap do |hash|
229
+ value.each { |k, v| hash[k] = _to_hash(v) }
230
+ end
231
+ elsif value.respond_to? :to_hash
232
+ value.to_hash
233
+ else
234
+ value
235
+ end
236
+ end
237
+
238
+ end
239
+
240
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
5
 
6
- The version of the OpenAPI document: 0.10.7
6
+ The version of the OpenAPI document: 0.11.0
7
7
  Contact: developers@trieve.ai
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.4.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
5
 
6
- The version of the OpenAPI document: 0.10.7
6
+ The version of the OpenAPI document: 0.11.0
7
7
  Contact: developers@trieve.ai
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.4.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
5
 
6
- The version of the OpenAPI document: 0.10.7
6
+ The version of the OpenAPI document: 0.11.0
7
7
  Contact: developers@trieve.ai
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.4.0
@@ -32,15 +32,35 @@ module TrieveRubyClient
32
32
  # The tracking_ids of the chunks to be used as positive examples for the recommendation. The chunks in this array will be used to find similar chunks.
33
33
  attr_accessor :positive_tracking_ids
34
34
 
35
- # The type of recommendation to make. This lets you choose whether to recommend based off of `semantic` or `fulltext` similarity. The default is `semantic`.
36
35
  attr_accessor :recommend_type
37
36
 
38
37
  # Set slim_chunks to true to avoid returning the content and chunk_html of the chunks. This is useful for when you want to reduce amount of data over the wire for latency improvement (typicall 10-50ms). Default is false.
39
38
  attr_accessor :slim_chunks
40
39
 
41
- # Strategy to use for recommendations, either \"average_vector\" or \"best_score\". The default is \"average_vector\". The \"average_vector\" strategy will construct a single average vector from the positive and negative samples then use it to perform a pseudo-search. The \"best_score\" strategy is more advanced and navigates the HNSW with a heuristic of picking edges where the point is closer to the positive samples than it is the negatives.
42
40
  attr_accessor :strategy
43
41
 
42
+ class EnumAttributeValidator
43
+ attr_reader :datatype
44
+ attr_reader :allowable_values
45
+
46
+ def initialize(datatype, allowable_values)
47
+ @allowable_values = allowable_values.map do |value|
48
+ case datatype.to_s
49
+ when /Integer/i
50
+ value.to_i
51
+ when /Float/i
52
+ value.to_f
53
+ else
54
+ value
55
+ end
56
+ end
57
+ end
58
+
59
+ def valid?(value)
60
+ !value || allowable_values.include?(value)
61
+ end
62
+ end
63
+
44
64
  # Attribute mapping from ruby-style variable name to JSON key.
45
65
  def self.attribute_map
46
66
  {
@@ -70,9 +90,9 @@ module TrieveRubyClient
70
90
  :'negative_tracking_ids' => :'Array<String>',
71
91
  :'positive_chunk_ids' => :'Array<String>',
72
92
  :'positive_tracking_ids' => :'Array<String>',
73
- :'recommend_type' => :'String',
93
+ :'recommend_type' => :'RecommendType',
74
94
  :'slim_chunks' => :'Boolean',
75
- :'strategy' => :'String'
95
+ :'strategy' => :'RecommendationStrategy'
76
96
  }
77
97
  end
78
98
 
@@ -0,0 +1,223 @@
1
+ =begin
2
+ #Trieve API
3
+
4
+ #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
+
6
+ The version of the OpenAPI document: 0.11.0
7
+ Contact: developers@trieve.ai
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.4.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrieveRubyClient
17
+ class RecommendChunksResponseBody
18
+ attr_accessor :chunks
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'chunks' => :'chunks'
24
+ }
25
+ end
26
+
27
+ # Returns all the JSON keys this model knows about
28
+ def self.acceptable_attributes
29
+ attribute_map.values
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.openapi_types
34
+ {
35
+ :'chunks' => :'Array<ScoreChunk>'
36
+ }
37
+ end
38
+
39
+ # List of attributes with nullable: true
40
+ def self.openapi_nullable
41
+ Set.new([
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 `TrieveRubyClient::RecommendChunksResponseBody` 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 `TrieveRubyClient::RecommendChunksResponseBody`. 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
+
60
+ if attributes.key?(:'chunks')
61
+ if (value = attributes[:'chunks']).is_a?(Array)
62
+ self.chunks = value
63
+ end
64
+ else
65
+ self.chunks = nil
66
+ end
67
+ end
68
+
69
+ # Show invalid properties with the reasons. Usually used together with valid?
70
+ # @return Array for valid properties with the reasons
71
+ def list_invalid_properties
72
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
73
+ invalid_properties = Array.new
74
+ if @chunks.nil?
75
+ invalid_properties.push('invalid value for "chunks", chunks cannot be nil.')
76
+ end
77
+
78
+ invalid_properties
79
+ end
80
+
81
+ # Check to see if the all the properties in the model are valid
82
+ # @return true if the model is valid
83
+ def valid?
84
+ warn '[DEPRECATED] the `valid?` method is obsolete'
85
+ return false if @chunks.nil?
86
+ true
87
+ end
88
+
89
+ # Checks equality by comparing each attribute.
90
+ # @param [Object] Object to be compared
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ chunks == o.chunks
95
+ end
96
+
97
+ # @see the `==` method
98
+ # @param [Object] Object to be compared
99
+ def eql?(o)
100
+ self == o
101
+ end
102
+
103
+ # Calculates hash code according to all attributes.
104
+ # @return [Integer] Hash code
105
+ def hash
106
+ [chunks].hash
107
+ end
108
+
109
+ # Builds the object from hash
110
+ # @param [Hash] attributes Model attributes in the form of hash
111
+ # @return [Object] Returns the model itself
112
+ def self.build_from_hash(attributes)
113
+ return nil unless attributes.is_a?(Hash)
114
+ attributes = attributes.transform_keys(&:to_sym)
115
+ transformed_hash = {}
116
+ openapi_types.each_pair do |key, type|
117
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
118
+ transformed_hash["#{key}"] = nil
119
+ elsif type =~ /\AArray<(.*)>/i
120
+ # check to ensure the input is an array given that the attribute
121
+ # is documented as an array but the input is not
122
+ if attributes[attribute_map[key]].is_a?(Array)
123
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
124
+ end
125
+ elsif !attributes[attribute_map[key]].nil?
126
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
127
+ end
128
+ end
129
+ new(transformed_hash)
130
+ end
131
+
132
+ # Deserializes the data based on type
133
+ # @param string type Data type
134
+ # @param string value Value to be deserialized
135
+ # @return [Object] Deserialized data
136
+ def self._deserialize(type, value)
137
+ case type.to_sym
138
+ when :Time
139
+ Time.parse(value)
140
+ when :Date
141
+ Date.parse(value)
142
+ when :String
143
+ value.to_s
144
+ when :Integer
145
+ value.to_i
146
+ when :Float
147
+ value.to_f
148
+ when :Boolean
149
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
150
+ true
151
+ else
152
+ false
153
+ end
154
+ when :Object
155
+ # generic object (usually a Hash), return directly
156
+ value
157
+ when /\AArray<(?<inner_type>.+)>\z/
158
+ inner_type = Regexp.last_match[:inner_type]
159
+ value.map { |v| _deserialize(inner_type, v) }
160
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
161
+ k_type = Regexp.last_match[:k_type]
162
+ v_type = Regexp.last_match[:v_type]
163
+ {}.tap do |hash|
164
+ value.each do |k, v|
165
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
166
+ end
167
+ end
168
+ else # model
169
+ # models (e.g. Pet) or oneOf
170
+ klass = TrieveRubyClient.const_get(type)
171
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
172
+ end
173
+ end
174
+
175
+ # Returns the string representation of the object
176
+ # @return [String] String presentation of the object
177
+ def to_s
178
+ to_hash.to_s
179
+ end
180
+
181
+ # to_body is an alias to to_hash (backward compatibility)
182
+ # @return [Hash] Returns the object in the form of hash
183
+ def to_body
184
+ to_hash
185
+ end
186
+
187
+ # Returns the object in the form of hash
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_hash
190
+ hash = {}
191
+ self.class.attribute_map.each_pair do |attr, param|
192
+ value = self.send(attr)
193
+ if value.nil?
194
+ is_nullable = self.class.openapi_nullable.include?(attr)
195
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
196
+ end
197
+
198
+ hash[param] = _to_hash(value)
199
+ end
200
+ hash
201
+ end
202
+
203
+ # Outputs non-array value in the form of hash
204
+ # For object, use to_hash. Otherwise, just return the value
205
+ # @param [Object] value Any valid value
206
+ # @return [Hash] Returns the value in the form of hash
207
+ def _to_hash(value)
208
+ if value.is_a?(Array)
209
+ value.compact.map { |v| _to_hash(v) }
210
+ elsif value.is_a?(Hash)
211
+ {}.tap do |hash|
212
+ value.each { |k, v| hash[k] = _to_hash(v) }
213
+ end
214
+ elsif value.respond_to? :to_hash
215
+ value.to_hash
216
+ else
217
+ value
218
+ end
219
+ end
220
+
221
+ end
222
+
223
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
5
 
6
- The version of the OpenAPI document: 0.10.7
6
+ The version of the OpenAPI document: 0.11.0
7
7
  Contact: developers@trieve.ai
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.4.0
@@ -35,15 +35,35 @@ module TrieveRubyClient
35
35
  # The ids of the groups to be used as positive examples for the recommendation. The groups in this array will be used to find similar groups.
36
36
  attr_accessor :positive_group_tracking_ids
37
37
 
38
- # The type of recommendation to make. This lets you choose whether to recommend based off of `semantic` or `fulltext` similarity. The default is `semantic`.
39
38
  attr_accessor :recommend_type
40
39
 
41
40
  # Set slim_chunks to true to avoid returning the content and chunk_html of the chunks. This is useful for when you want to reduce amount of data over the wire for latency improvement (typicall 10-50ms). Default is false.
42
41
  attr_accessor :slim_chunks
43
42
 
44
- # Strategy to use for recommendations, either \"average_vector\" or \"best_score\". The default is \"average_vector\". The \"average_vector\" strategy will construct a single average vector from the positive and negative samples then use it to perform a pseudo-search. The \"best_score\" strategy is more advanced and navigates the HNSW with a heuristic of picking edges where the point is closer to the positive samples than it is the negatives.
45
43
  attr_accessor :strategy
46
44
 
45
+ class EnumAttributeValidator
46
+ attr_reader :datatype
47
+ attr_reader :allowable_values
48
+
49
+ def initialize(datatype, allowable_values)
50
+ @allowable_values = allowable_values.map do |value|
51
+ case datatype.to_s
52
+ when /Integer/i
53
+ value.to_i
54
+ when /Float/i
55
+ value.to_f
56
+ else
57
+ value
58
+ end
59
+ end
60
+ end
61
+
62
+ def valid?(value)
63
+ !value || allowable_values.include?(value)
64
+ end
65
+ end
66
+
47
67
  # Attribute mapping from ruby-style variable name to JSON key.
48
68
  def self.attribute_map
49
69
  {
@@ -75,9 +95,9 @@ module TrieveRubyClient
75
95
  :'negative_group_tracking_ids' => :'Array<String>',
76
96
  :'positive_group_ids' => :'Array<String>',
77
97
  :'positive_group_tracking_ids' => :'Array<String>',
78
- :'recommend_type' => :'String',
98
+ :'recommend_type' => :'RecommendType',
79
99
  :'slim_chunks' => :'Boolean',
80
- :'strategy' => :'String'
100
+ :'strategy' => :'RecommendationStrategy'
81
101
  }
82
102
  end
83
103