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,391 @@
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 RecommendationEvent
18
+ attr_accessor :created_at
19
+
20
+ attr_accessor :dataset_id
21
+
22
+ attr_accessor :id
23
+
24
+ attr_accessor :negative_ids
25
+
26
+ attr_accessor :negative_tracking_ids
27
+
28
+ attr_accessor :positive_ids
29
+
30
+ attr_accessor :positive_tracking_ids
31
+
32
+ attr_accessor :recommendation_type
33
+
34
+ attr_accessor :request_params
35
+
36
+ attr_accessor :results
37
+
38
+ attr_accessor :top_score
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ :'created_at' => :'created_at',
44
+ :'dataset_id' => :'dataset_id',
45
+ :'id' => :'id',
46
+ :'negative_ids' => :'negative_ids',
47
+ :'negative_tracking_ids' => :'negative_tracking_ids',
48
+ :'positive_ids' => :'positive_ids',
49
+ :'positive_tracking_ids' => :'positive_tracking_ids',
50
+ :'recommendation_type' => :'recommendation_type',
51
+ :'request_params' => :'request_params',
52
+ :'results' => :'results',
53
+ :'top_score' => :'top_score'
54
+ }
55
+ end
56
+
57
+ # Returns all the JSON keys this model knows about
58
+ def self.acceptable_attributes
59
+ attribute_map.values
60
+ end
61
+
62
+ # Attribute type mapping.
63
+ def self.openapi_types
64
+ {
65
+ :'created_at' => :'String',
66
+ :'dataset_id' => :'String',
67
+ :'id' => :'String',
68
+ :'negative_ids' => :'Array<String>',
69
+ :'negative_tracking_ids' => :'Array<String>',
70
+ :'positive_ids' => :'Array<String>',
71
+ :'positive_tracking_ids' => :'Array<String>',
72
+ :'recommendation_type' => :'String',
73
+ :'request_params' => :'String',
74
+ :'results' => :'Array<SearchResultType>',
75
+ :'top_score' => :'Float'
76
+ }
77
+ end
78
+
79
+ # List of attributes with nullable: true
80
+ def self.openapi_nullable
81
+ Set.new([
82
+ ])
83
+ end
84
+
85
+ # Initializes the object
86
+ # @param [Hash] attributes Model attributes in the form of hash
87
+ def initialize(attributes = {})
88
+ if (!attributes.is_a?(Hash))
89
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrieveRubyClient::RecommendationEvent` initialize method"
90
+ end
91
+
92
+ # check to see if the attribute exists and convert string to symbol for hash key
93
+ attributes = attributes.each_with_object({}) { |(k, v), h|
94
+ if (!self.class.attribute_map.key?(k.to_sym))
95
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrieveRubyClient::RecommendationEvent`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
96
+ end
97
+ h[k.to_sym] = v
98
+ }
99
+
100
+ if attributes.key?(:'created_at')
101
+ self.created_at = attributes[:'created_at']
102
+ else
103
+ self.created_at = nil
104
+ end
105
+
106
+ if attributes.key?(:'dataset_id')
107
+ self.dataset_id = attributes[:'dataset_id']
108
+ else
109
+ self.dataset_id = nil
110
+ end
111
+
112
+ if attributes.key?(:'id')
113
+ self.id = attributes[:'id']
114
+ else
115
+ self.id = nil
116
+ end
117
+
118
+ if attributes.key?(:'negative_ids')
119
+ if (value = attributes[:'negative_ids']).is_a?(Array)
120
+ self.negative_ids = value
121
+ end
122
+ else
123
+ self.negative_ids = nil
124
+ end
125
+
126
+ if attributes.key?(:'negative_tracking_ids')
127
+ if (value = attributes[:'negative_tracking_ids']).is_a?(Array)
128
+ self.negative_tracking_ids = value
129
+ end
130
+ else
131
+ self.negative_tracking_ids = nil
132
+ end
133
+
134
+ if attributes.key?(:'positive_ids')
135
+ if (value = attributes[:'positive_ids']).is_a?(Array)
136
+ self.positive_ids = value
137
+ end
138
+ else
139
+ self.positive_ids = nil
140
+ end
141
+
142
+ if attributes.key?(:'positive_tracking_ids')
143
+ if (value = attributes[:'positive_tracking_ids']).is_a?(Array)
144
+ self.positive_tracking_ids = value
145
+ end
146
+ else
147
+ self.positive_tracking_ids = nil
148
+ end
149
+
150
+ if attributes.key?(:'recommendation_type')
151
+ self.recommendation_type = attributes[:'recommendation_type']
152
+ else
153
+ self.recommendation_type = nil
154
+ end
155
+
156
+ if attributes.key?(:'request_params')
157
+ self.request_params = attributes[:'request_params']
158
+ else
159
+ self.request_params = nil
160
+ end
161
+
162
+ if attributes.key?(:'results')
163
+ if (value = attributes[:'results']).is_a?(Array)
164
+ self.results = value
165
+ end
166
+ else
167
+ self.results = nil
168
+ end
169
+
170
+ if attributes.key?(:'top_score')
171
+ self.top_score = attributes[:'top_score']
172
+ else
173
+ self.top_score = nil
174
+ end
175
+ end
176
+
177
+ # Show invalid properties with the reasons. Usually used together with valid?
178
+ # @return Array for valid properties with the reasons
179
+ def list_invalid_properties
180
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
181
+ invalid_properties = Array.new
182
+ if @created_at.nil?
183
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
184
+ end
185
+
186
+ if @dataset_id.nil?
187
+ invalid_properties.push('invalid value for "dataset_id", dataset_id cannot be nil.')
188
+ end
189
+
190
+ if @id.nil?
191
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
192
+ end
193
+
194
+ if @negative_ids.nil?
195
+ invalid_properties.push('invalid value for "negative_ids", negative_ids cannot be nil.')
196
+ end
197
+
198
+ if @negative_tracking_ids.nil?
199
+ invalid_properties.push('invalid value for "negative_tracking_ids", negative_tracking_ids cannot be nil.')
200
+ end
201
+
202
+ if @positive_ids.nil?
203
+ invalid_properties.push('invalid value for "positive_ids", positive_ids cannot be nil.')
204
+ end
205
+
206
+ if @positive_tracking_ids.nil?
207
+ invalid_properties.push('invalid value for "positive_tracking_ids", positive_tracking_ids cannot be nil.')
208
+ end
209
+
210
+ if @recommendation_type.nil?
211
+ invalid_properties.push('invalid value for "recommendation_type", recommendation_type cannot be nil.')
212
+ end
213
+
214
+ if @request_params.nil?
215
+ invalid_properties.push('invalid value for "request_params", request_params cannot be nil.')
216
+ end
217
+
218
+ if @results.nil?
219
+ invalid_properties.push('invalid value for "results", results cannot be nil.')
220
+ end
221
+
222
+ if @top_score.nil?
223
+ invalid_properties.push('invalid value for "top_score", top_score cannot be nil.')
224
+ end
225
+
226
+ invalid_properties
227
+ end
228
+
229
+ # Check to see if the all the properties in the model are valid
230
+ # @return true if the model is valid
231
+ def valid?
232
+ warn '[DEPRECATED] the `valid?` method is obsolete'
233
+ return false if @created_at.nil?
234
+ return false if @dataset_id.nil?
235
+ return false if @id.nil?
236
+ return false if @negative_ids.nil?
237
+ return false if @negative_tracking_ids.nil?
238
+ return false if @positive_ids.nil?
239
+ return false if @positive_tracking_ids.nil?
240
+ return false if @recommendation_type.nil?
241
+ return false if @request_params.nil?
242
+ return false if @results.nil?
243
+ return false if @top_score.nil?
244
+ true
245
+ end
246
+
247
+ # Checks equality by comparing each attribute.
248
+ # @param [Object] Object to be compared
249
+ def ==(o)
250
+ return true if self.equal?(o)
251
+ self.class == o.class &&
252
+ created_at == o.created_at &&
253
+ dataset_id == o.dataset_id &&
254
+ id == o.id &&
255
+ negative_ids == o.negative_ids &&
256
+ negative_tracking_ids == o.negative_tracking_ids &&
257
+ positive_ids == o.positive_ids &&
258
+ positive_tracking_ids == o.positive_tracking_ids &&
259
+ recommendation_type == o.recommendation_type &&
260
+ request_params == o.request_params &&
261
+ results == o.results &&
262
+ top_score == o.top_score
263
+ end
264
+
265
+ # @see the `==` method
266
+ # @param [Object] Object to be compared
267
+ def eql?(o)
268
+ self == o
269
+ end
270
+
271
+ # Calculates hash code according to all attributes.
272
+ # @return [Integer] Hash code
273
+ def hash
274
+ [created_at, dataset_id, id, negative_ids, negative_tracking_ids, positive_ids, positive_tracking_ids, recommendation_type, request_params, results, top_score].hash
275
+ end
276
+
277
+ # Builds the object from hash
278
+ # @param [Hash] attributes Model attributes in the form of hash
279
+ # @return [Object] Returns the model itself
280
+ def self.build_from_hash(attributes)
281
+ return nil unless attributes.is_a?(Hash)
282
+ attributes = attributes.transform_keys(&:to_sym)
283
+ transformed_hash = {}
284
+ openapi_types.each_pair do |key, type|
285
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
286
+ transformed_hash["#{key}"] = nil
287
+ elsif type =~ /\AArray<(.*)>/i
288
+ # check to ensure the input is an array given that the attribute
289
+ # is documented as an array but the input is not
290
+ if attributes[attribute_map[key]].is_a?(Array)
291
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
292
+ end
293
+ elsif !attributes[attribute_map[key]].nil?
294
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
295
+ end
296
+ end
297
+ new(transformed_hash)
298
+ end
299
+
300
+ # Deserializes the data based on type
301
+ # @param string type Data type
302
+ # @param string value Value to be deserialized
303
+ # @return [Object] Deserialized data
304
+ def self._deserialize(type, value)
305
+ case type.to_sym
306
+ when :Time
307
+ Time.parse(value)
308
+ when :Date
309
+ Date.parse(value)
310
+ when :String
311
+ value.to_s
312
+ when :Integer
313
+ value.to_i
314
+ when :Float
315
+ value.to_f
316
+ when :Boolean
317
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
318
+ true
319
+ else
320
+ false
321
+ end
322
+ when :Object
323
+ # generic object (usually a Hash), return directly
324
+ value
325
+ when /\AArray<(?<inner_type>.+)>\z/
326
+ inner_type = Regexp.last_match[:inner_type]
327
+ value.map { |v| _deserialize(inner_type, v) }
328
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
329
+ k_type = Regexp.last_match[:k_type]
330
+ v_type = Regexp.last_match[:v_type]
331
+ {}.tap do |hash|
332
+ value.each do |k, v|
333
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
334
+ end
335
+ end
336
+ else # model
337
+ # models (e.g. Pet) or oneOf
338
+ klass = TrieveRubyClient.const_get(type)
339
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
340
+ end
341
+ end
342
+
343
+ # Returns the string representation of the object
344
+ # @return [String] String presentation of the object
345
+ def to_s
346
+ to_hash.to_s
347
+ end
348
+
349
+ # to_body is an alias to to_hash (backward compatibility)
350
+ # @return [Hash] Returns the object in the form of hash
351
+ def to_body
352
+ to_hash
353
+ end
354
+
355
+ # Returns the object in the form of hash
356
+ # @return [Hash] Returns the object in the form of hash
357
+ def to_hash
358
+ hash = {}
359
+ self.class.attribute_map.each_pair do |attr, param|
360
+ value = self.send(attr)
361
+ if value.nil?
362
+ is_nullable = self.class.openapi_nullable.include?(attr)
363
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
364
+ end
365
+
366
+ hash[param] = _to_hash(value)
367
+ end
368
+ hash
369
+ end
370
+
371
+ # Outputs non-array value in the form of hash
372
+ # For object, use to_hash. Otherwise, just return the value
373
+ # @param [Object] value Any valid value
374
+ # @return [Hash] Returns the value in the form of hash
375
+ def _to_hash(value)
376
+ if value.is_a?(Array)
377
+ value.compact.map { |v| _to_hash(v) }
378
+ elsif value.is_a?(Hash)
379
+ {}.tap do |hash|
380
+ value.each { |k, v| hash[k] = _to_hash(v) }
381
+ end
382
+ elsif value.respond_to? :to_hash
383
+ value.to_hash
384
+ else
385
+ value
386
+ end
387
+ end
388
+
389
+ end
390
+
391
+ end
@@ -0,0 +1,310 @@
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 RecommendationQueries
18
+ attr_accessor :filter
19
+
20
+ attr_accessor :page
21
+
22
+ attr_accessor :sort_by
23
+
24
+ attr_accessor :sort_order
25
+
26
+ attr_accessor :type
27
+
28
+ class EnumAttributeValidator
29
+ attr_reader :datatype
30
+ attr_reader :allowable_values
31
+
32
+ def initialize(datatype, allowable_values)
33
+ @allowable_values = allowable_values.map do |value|
34
+ case datatype.to_s
35
+ when /Integer/i
36
+ value.to_i
37
+ when /Float/i
38
+ value.to_f
39
+ else
40
+ value
41
+ end
42
+ end
43
+ end
44
+
45
+ def valid?(value)
46
+ !value || allowable_values.include?(value)
47
+ end
48
+ end
49
+
50
+ # Attribute mapping from ruby-style variable name to JSON key.
51
+ def self.attribute_map
52
+ {
53
+ :'filter' => :'filter',
54
+ :'page' => :'page',
55
+ :'sort_by' => :'sort_by',
56
+ :'sort_order' => :'sort_order',
57
+ :'type' => :'type'
58
+ }
59
+ end
60
+
61
+ # Returns all the JSON keys this model knows about
62
+ def self.acceptable_attributes
63
+ attribute_map.values
64
+ end
65
+
66
+ # Attribute type mapping.
67
+ def self.openapi_types
68
+ {
69
+ :'filter' => :'RecommendationAnalyticsFilter',
70
+ :'page' => :'Integer',
71
+ :'sort_by' => :'SortBy',
72
+ :'sort_order' => :'SortOrder',
73
+ :'type' => :'String'
74
+ }
75
+ end
76
+
77
+ # List of attributes with nullable: true
78
+ def self.openapi_nullable
79
+ Set.new([
80
+ :'filter',
81
+ :'page',
82
+ :'sort_by',
83
+ :'sort_order',
84
+ ])
85
+ end
86
+
87
+ # Initializes the object
88
+ # @param [Hash] attributes Model attributes in the form of hash
89
+ def initialize(attributes = {})
90
+ if (!attributes.is_a?(Hash))
91
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrieveRubyClient::RecommendationQueries` initialize method"
92
+ end
93
+
94
+ # check to see if the attribute exists and convert string to symbol for hash key
95
+ attributes = attributes.each_with_object({}) { |(k, v), h|
96
+ if (!self.class.attribute_map.key?(k.to_sym))
97
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrieveRubyClient::RecommendationQueries`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
98
+ end
99
+ h[k.to_sym] = v
100
+ }
101
+
102
+ if attributes.key?(:'filter')
103
+ self.filter = attributes[:'filter']
104
+ end
105
+
106
+ if attributes.key?(:'page')
107
+ self.page = attributes[:'page']
108
+ end
109
+
110
+ if attributes.key?(:'sort_by')
111
+ self.sort_by = attributes[:'sort_by']
112
+ end
113
+
114
+ if attributes.key?(:'sort_order')
115
+ self.sort_order = attributes[:'sort_order']
116
+ end
117
+
118
+ if attributes.key?(:'type')
119
+ self.type = attributes[:'type']
120
+ else
121
+ self.type = nil
122
+ end
123
+ end
124
+
125
+ # Show invalid properties with the reasons. Usually used together with valid?
126
+ # @return Array for valid properties with the reasons
127
+ def list_invalid_properties
128
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
129
+ invalid_properties = Array.new
130
+ if !@page.nil? && @page < 0
131
+ invalid_properties.push('invalid value for "page", must be greater than or equal to 0.')
132
+ end
133
+
134
+ if @type.nil?
135
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
136
+ end
137
+
138
+ invalid_properties
139
+ end
140
+
141
+ # Check to see if the all the properties in the model are valid
142
+ # @return true if the model is valid
143
+ def valid?
144
+ warn '[DEPRECATED] the `valid?` method is obsolete'
145
+ return false if !@page.nil? && @page < 0
146
+ return false if @type.nil?
147
+ type_validator = EnumAttributeValidator.new('String', ["recommendation_queries"])
148
+ return false unless type_validator.valid?(@type)
149
+ true
150
+ end
151
+
152
+ # Custom attribute writer method with validation
153
+ # @param [Object] page Value to be assigned
154
+ def page=(page)
155
+ if !page.nil? && page < 0
156
+ fail ArgumentError, 'invalid value for "page", must be greater than or equal to 0.'
157
+ end
158
+
159
+ @page = page
160
+ end
161
+
162
+ # Custom attribute writer method checking allowed values (enum).
163
+ # @param [Object] type Object to be assigned
164
+ def type=(type)
165
+ validator = EnumAttributeValidator.new('String', ["recommendation_queries"])
166
+ unless validator.valid?(type)
167
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
168
+ end
169
+ @type = type
170
+ end
171
+
172
+ # Checks equality by comparing each attribute.
173
+ # @param [Object] Object to be compared
174
+ def ==(o)
175
+ return true if self.equal?(o)
176
+ self.class == o.class &&
177
+ filter == o.filter &&
178
+ page == o.page &&
179
+ sort_by == o.sort_by &&
180
+ sort_order == o.sort_order &&
181
+ type == o.type
182
+ end
183
+
184
+ # @see the `==` method
185
+ # @param [Object] Object to be compared
186
+ def eql?(o)
187
+ self == o
188
+ end
189
+
190
+ # Calculates hash code according to all attributes.
191
+ # @return [Integer] Hash code
192
+ def hash
193
+ [filter, page, sort_by, sort_order, type].hash
194
+ end
195
+
196
+ # Builds the object from hash
197
+ # @param [Hash] attributes Model attributes in the form of hash
198
+ # @return [Object] Returns the model itself
199
+ def self.build_from_hash(attributes)
200
+ return nil unless attributes.is_a?(Hash)
201
+ attributes = attributes.transform_keys(&:to_sym)
202
+ transformed_hash = {}
203
+ openapi_types.each_pair do |key, type|
204
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
205
+ transformed_hash["#{key}"] = nil
206
+ elsif type =~ /\AArray<(.*)>/i
207
+ # check to ensure the input is an array given that the attribute
208
+ # is documented as an array but the input is not
209
+ if attributes[attribute_map[key]].is_a?(Array)
210
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
211
+ end
212
+ elsif !attributes[attribute_map[key]].nil?
213
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
214
+ end
215
+ end
216
+ new(transformed_hash)
217
+ end
218
+
219
+ # Deserializes the data based on type
220
+ # @param string type Data type
221
+ # @param string value Value to be deserialized
222
+ # @return [Object] Deserialized data
223
+ def self._deserialize(type, value)
224
+ case type.to_sym
225
+ when :Time
226
+ Time.parse(value)
227
+ when :Date
228
+ Date.parse(value)
229
+ when :String
230
+ value.to_s
231
+ when :Integer
232
+ value.to_i
233
+ when :Float
234
+ value.to_f
235
+ when :Boolean
236
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
237
+ true
238
+ else
239
+ false
240
+ end
241
+ when :Object
242
+ # generic object (usually a Hash), return directly
243
+ value
244
+ when /\AArray<(?<inner_type>.+)>\z/
245
+ inner_type = Regexp.last_match[:inner_type]
246
+ value.map { |v| _deserialize(inner_type, v) }
247
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
248
+ k_type = Regexp.last_match[:k_type]
249
+ v_type = Regexp.last_match[:v_type]
250
+ {}.tap do |hash|
251
+ value.each do |k, v|
252
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
253
+ end
254
+ end
255
+ else # model
256
+ # models (e.g. Pet) or oneOf
257
+ klass = TrieveRubyClient.const_get(type)
258
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
259
+ end
260
+ end
261
+
262
+ # Returns the string representation of the object
263
+ # @return [String] String presentation of the object
264
+ def to_s
265
+ to_hash.to_s
266
+ end
267
+
268
+ # to_body is an alias to to_hash (backward compatibility)
269
+ # @return [Hash] Returns the object in the form of hash
270
+ def to_body
271
+ to_hash
272
+ end
273
+
274
+ # Returns the object in the form of hash
275
+ # @return [Hash] Returns the object in the form of hash
276
+ def to_hash
277
+ hash = {}
278
+ self.class.attribute_map.each_pair do |attr, param|
279
+ value = self.send(attr)
280
+ if value.nil?
281
+ is_nullable = self.class.openapi_nullable.include?(attr)
282
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
283
+ end
284
+
285
+ hash[param] = _to_hash(value)
286
+ end
287
+ hash
288
+ end
289
+
290
+ # Outputs non-array value in the form of hash
291
+ # For object, use to_hash. Otherwise, just return the value
292
+ # @param [Object] value Any valid value
293
+ # @return [Hash] Returns the value in the form of hash
294
+ def _to_hash(value)
295
+ if value.is_a?(Array)
296
+ value.compact.map { |v| _to_hash(v) }
297
+ elsif value.is_a?(Hash)
298
+ {}.tap do |hash|
299
+ value.each { |k, v| hash[k] = _to_hash(v) }
300
+ end
301
+ elsif value.respond_to? :to_hash
302
+ value.to_hash
303
+ else
304
+ value
305
+ end
306
+ end
307
+
308
+ end
309
+
310
+ end