algoliasearch 5.0.0-beta.1 → 5.0.0-beta.10

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 (517) hide show
  1. package/LICENSE +21 -0
  2. package/builds/browser.ts +13 -2
  3. package/builds/models.ts +140 -6
  4. package/builds/node.ts +37 -4
  5. package/dist/algoliasearch/builds/browser.d.ts +77 -70
  6. package/dist/algoliasearch/builds/browser.d.ts.map +1 -1
  7. package/dist/algoliasearch/builds/models.d.ts +4 -2
  8. package/dist/algoliasearch/builds/models.d.ts.map +1 -1
  9. package/dist/algoliasearch/builds/node.d.ts +77 -70
  10. package/dist/algoliasearch/builds/node.d.ts.map +1 -1
  11. package/dist/algoliasearch.cjs +524 -29
  12. package/dist/algoliasearch.esm.browser.js +517 -45
  13. package/dist/algoliasearch.esm.node.js +524 -29
  14. package/dist/algoliasearch.umd.js +2 -2
  15. package/dist/client-abtesting/src/abtestingClient.d.ts +1 -1
  16. package/dist/client-abtesting/src/abtestingClient.d.ts.map +1 -1
  17. package/dist/client-analytics/src/analyticsClient.d.ts +1 -1
  18. package/dist/client-analytics/src/analyticsClient.d.ts.map +1 -1
  19. package/dist/client-personalization/src/personalizationClient.d.ts +1 -1
  20. package/dist/client-personalization/src/personalizationClient.d.ts.map +1 -1
  21. package/dist/client-search/model/baseIndexSettings.d.ts +2 -2
  22. package/dist/client-search/model/baseIndexSettings.d.ts.map +1 -1
  23. package/dist/client-search/model/baseSearchResponse.d.ts +2 -18
  24. package/dist/client-search/model/baseSearchResponse.d.ts.map +1 -1
  25. package/dist/client-search/model/browsePagination.d.ts +19 -0
  26. package/dist/client-search/model/browsePagination.d.ts.map +1 -0
  27. package/dist/client-search/model/browseResponse.d.ts +2 -1
  28. package/dist/client-search/model/browseResponse.d.ts.map +1 -1
  29. package/dist/client-search/model/clientMethodProps.d.ts +31 -23
  30. package/dist/client-search/model/clientMethodProps.d.ts.map +1 -1
  31. package/dist/client-search/model/facetFilters.d.ts +1 -2
  32. package/dist/client-search/model/facetFilters.d.ts.map +1 -1
  33. package/dist/client-search/model/fetchedIndex.d.ts +4 -0
  34. package/dist/client-search/model/fetchedIndex.d.ts.map +1 -1
  35. package/dist/client-search/model/index.d.ts +5 -2
  36. package/dist/client-search/model/index.d.ts.map +1 -1
  37. package/dist/client-search/model/numericFilters.d.ts +1 -2
  38. package/dist/client-search/model/numericFilters.d.ts.map +1 -1
  39. package/dist/client-search/model/optionalFilters.d.ts +1 -2
  40. package/dist/client-search/model/optionalFilters.d.ts.map +1 -1
  41. package/dist/client-search/model/rankingInfo.d.ts +3 -3
  42. package/dist/client-search/model/rankingInfo.d.ts.map +1 -1
  43. package/dist/client-search/model/reRankingApplyFilter.d.ts +1 -2
  44. package/dist/client-search/model/reRankingApplyFilter.d.ts.map +1 -1
  45. package/dist/client-search/model/redirect.d.ts +1 -1
  46. package/dist/client-search/model/redirectURL.d.ts +7 -0
  47. package/dist/client-search/model/redirectURL.d.ts.map +1 -0
  48. package/dist/client-search/model/renderingContent.d.ts +2 -0
  49. package/dist/client-search/model/renderingContent.d.ts.map +1 -1
  50. package/dist/client-search/model/replaceAllObjectsResponse.d.ts +11 -0
  51. package/dist/client-search/model/replaceAllObjectsResponse.d.ts.map +1 -0
  52. package/dist/client-search/model/searchForFacetValuesResponse.d.ts +1 -1
  53. package/dist/client-search/model/searchPagination.d.ts +19 -0
  54. package/dist/client-search/model/searchPagination.d.ts.map +1 -0
  55. package/dist/client-search/model/searchResponse.d.ts +2 -1
  56. package/dist/client-search/model/searchResponse.d.ts.map +1 -1
  57. package/dist/{lite/model/securedAPIKeyRestrictions.d.ts → client-search/model/securedApiKeyRestrictions.d.ts} +2 -2
  58. package/dist/client-search/model/{securedAPIKeyRestrictions.d.ts.map → securedApiKeyRestrictions.d.ts.map} +1 -1
  59. package/dist/client-search/model/tagFilters.d.ts +1 -2
  60. package/dist/client-search/model/tagFilters.d.ts.map +1 -1
  61. package/dist/client-search/model/value.d.ts +4 -0
  62. package/dist/client-search/model/value.d.ts.map +1 -1
  63. package/dist/client-search/src/searchClient.d.ts +67 -12
  64. package/dist/client-search/src/searchClient.d.ts.map +1 -1
  65. package/dist/lite/builds/browser.d.ts +4 -3
  66. package/dist/lite/builds/browser.d.ts.map +1 -1
  67. package/dist/lite/builds/node.d.ts +4 -3
  68. package/dist/lite/builds/node.d.ts.map +1 -1
  69. package/dist/lite/lite.cjs +38 -1
  70. package/dist/lite/lite.esm.browser.js +48 -18
  71. package/dist/lite/lite.esm.node.js +38 -1
  72. package/dist/lite/lite.umd.js +2 -2
  73. package/dist/lite/model/baseIndexSettings.d.ts +2 -2
  74. package/dist/lite/model/baseIndexSettings.d.ts.map +1 -1
  75. package/dist/lite/model/baseRecommendRequest.d.ts +17 -0
  76. package/dist/lite/model/baseRecommendRequest.d.ts.map +1 -0
  77. package/dist/lite/model/baseSearchResponse.d.ts +2 -18
  78. package/dist/lite/model/baseSearchResponse.d.ts.map +1 -1
  79. package/dist/lite/model/boughtTogetherQuery.d.ts +4 -0
  80. package/dist/lite/model/boughtTogetherQuery.d.ts.map +1 -0
  81. package/dist/lite/model/browsePagination.d.ts +19 -0
  82. package/dist/lite/model/browsePagination.d.ts.map +1 -0
  83. package/dist/lite/model/browseResponse.d.ts +2 -1
  84. package/dist/lite/model/browseResponse.d.ts.map +1 -1
  85. package/dist/lite/model/clientMethodProps.d.ts +7 -0
  86. package/dist/lite/model/clientMethodProps.d.ts.map +1 -1
  87. package/dist/lite/model/facetFilters.d.ts +1 -2
  88. package/dist/lite/model/facetFilters.d.ts.map +1 -1
  89. package/dist/lite/model/fallbackParams.d.ts +3 -0
  90. package/dist/lite/model/fallbackParams.d.ts.map +1 -0
  91. package/dist/lite/model/fbtModel.d.ts +5 -0
  92. package/dist/lite/model/fbtModel.d.ts.map +1 -0
  93. package/dist/lite/model/frequentlyBoughtTogether.d.ts +9 -0
  94. package/dist/lite/model/frequentlyBoughtTogether.d.ts.map +1 -0
  95. package/dist/lite/model/getRecommendationsParams.d.ts +11 -0
  96. package/dist/lite/model/getRecommendationsParams.d.ts.map +1 -0
  97. package/dist/lite/model/getRecommendationsResponse.d.ts +5 -0
  98. package/dist/lite/model/getRecommendationsResponse.d.ts.map +1 -0
  99. package/dist/lite/model/index.d.ts +31 -40
  100. package/dist/lite/model/index.d.ts.map +1 -1
  101. package/dist/lite/model/lookingSimilar.d.ts +11 -0
  102. package/dist/lite/model/lookingSimilar.d.ts.map +1 -0
  103. package/dist/lite/model/lookingSimilarModel.d.ts +5 -0
  104. package/dist/lite/model/lookingSimilarModel.d.ts.map +1 -0
  105. package/dist/lite/model/lookingSimilarQuery.d.ts +4 -0
  106. package/dist/lite/model/lookingSimilarQuery.d.ts.map +1 -0
  107. package/dist/lite/model/numericFilters.d.ts +1 -2
  108. package/dist/lite/model/numericFilters.d.ts.map +1 -1
  109. package/dist/lite/model/optionalFilters.d.ts +1 -2
  110. package/dist/lite/model/optionalFilters.d.ts.map +1 -1
  111. package/dist/lite/model/rankingInfo.d.ts +3 -3
  112. package/dist/lite/model/rankingInfo.d.ts.map +1 -1
  113. package/dist/lite/model/reRankingApplyFilter.d.ts +1 -2
  114. package/dist/lite/model/reRankingApplyFilter.d.ts.map +1 -1
  115. package/dist/lite/model/recommendHit.d.ts +27 -0
  116. package/dist/lite/model/recommendHit.d.ts.map +1 -0
  117. package/dist/lite/model/recommendationsHit.d.ts +4 -0
  118. package/dist/lite/model/recommendationsHit.d.ts.map +1 -0
  119. package/dist/lite/model/recommendationsHits.d.ts +5 -0
  120. package/dist/lite/model/recommendationsHits.d.ts.map +1 -0
  121. package/dist/lite/model/recommendationsRequest.d.ts +8 -0
  122. package/dist/lite/model/recommendationsRequest.d.ts.map +1 -0
  123. package/dist/lite/model/recommendationsResults.d.ts +5 -0
  124. package/dist/lite/model/recommendationsResults.d.ts.map +1 -0
  125. package/dist/lite/model/recommendedForYou.d.ts +7 -0
  126. package/dist/lite/model/recommendedForYou.d.ts.map +1 -0
  127. package/dist/lite/model/recommendedForYouModel.d.ts +5 -0
  128. package/dist/lite/model/recommendedForYouModel.d.ts.map +1 -0
  129. package/dist/lite/model/recommendedForYouQuery.d.ts +4 -0
  130. package/dist/lite/model/recommendedForYouQuery.d.ts.map +1 -0
  131. package/dist/lite/model/redirect.d.ts +1 -1
  132. package/dist/lite/model/redirectURL.d.ts +7 -0
  133. package/dist/lite/model/redirectURL.d.ts.map +1 -0
  134. package/dist/lite/model/relatedModel.d.ts +5 -0
  135. package/dist/lite/model/relatedModel.d.ts.map +1 -0
  136. package/dist/lite/model/relatedProducts.d.ts +11 -0
  137. package/dist/lite/model/relatedProducts.d.ts.map +1 -0
  138. package/dist/lite/model/relatedQuery.d.ts +4 -0
  139. package/dist/lite/model/relatedQuery.d.ts.map +1 -0
  140. package/dist/lite/model/renderingContent.d.ts +2 -0
  141. package/dist/lite/model/renderingContent.d.ts.map +1 -1
  142. package/dist/lite/model/searchForFacetValuesResponse.d.ts +1 -1
  143. package/dist/lite/model/searchPagination.d.ts +19 -0
  144. package/dist/lite/model/searchPagination.d.ts.map +1 -0
  145. package/dist/lite/model/searchParams.d.ts +1 -2
  146. package/dist/lite/model/searchParams.d.ts.map +1 -1
  147. package/dist/lite/model/searchResponse.d.ts +2 -1
  148. package/dist/lite/model/searchResponse.d.ts.map +1 -1
  149. package/dist/lite/model/tagFilters.d.ts +1 -2
  150. package/dist/lite/model/tagFilters.d.ts.map +1 -1
  151. package/dist/lite/model/trendingFacetHit.d.ts +18 -0
  152. package/dist/lite/model/trendingFacetHit.d.ts.map +1 -0
  153. package/dist/lite/model/trendingFacets.d.ts +11 -0
  154. package/dist/lite/model/trendingFacets.d.ts.map +1 -0
  155. package/dist/lite/model/trendingFacetsModel.d.ts +5 -0
  156. package/dist/lite/model/trendingFacetsModel.d.ts.map +1 -0
  157. package/dist/lite/model/trendingFacetsQuery.d.ts +4 -0
  158. package/dist/lite/model/trendingFacetsQuery.d.ts.map +1 -0
  159. package/dist/lite/model/trendingItems.d.ts +15 -0
  160. package/dist/lite/model/trendingItems.d.ts.map +1 -0
  161. package/dist/lite/model/trendingItemsModel.d.ts +5 -0
  162. package/dist/lite/model/trendingItemsModel.d.ts.map +1 -0
  163. package/dist/lite/model/trendingItemsQuery.d.ts +4 -0
  164. package/dist/lite/model/trendingItemsQuery.d.ts.map +1 -0
  165. package/dist/lite/model/value.d.ts +4 -0
  166. package/dist/lite/model/value.d.ts.map +1 -1
  167. package/dist/lite/src/liteClient.d.ts +14 -2
  168. package/dist/lite/src/liteClient.d.ts.map +1 -1
  169. package/dist/recommend/model/advancedSyntaxFeatures.d.ts +2 -0
  170. package/dist/recommend/model/advancedSyntaxFeatures.d.ts.map +1 -0
  171. package/dist/recommend/model/alternativesAsExact.d.ts +2 -0
  172. package/dist/recommend/model/alternativesAsExact.d.ts.map +1 -0
  173. package/dist/recommend/model/aroundPrecision.d.ts +6 -0
  174. package/dist/recommend/model/aroundPrecision.d.ts.map +1 -0
  175. package/dist/recommend/model/aroundPrecisionFromValueInner.d.ts +14 -0
  176. package/dist/recommend/model/aroundPrecisionFromValueInner.d.ts.map +1 -0
  177. package/dist/recommend/model/aroundRadius.d.ts +6 -0
  178. package/dist/recommend/model/aroundRadius.d.ts.map +1 -0
  179. package/dist/recommend/model/aroundRadiusAll.d.ts +5 -0
  180. package/dist/recommend/model/aroundRadiusAll.d.ts.map +1 -0
  181. package/dist/recommend/model/autoFacetFilter.d.ts +14 -0
  182. package/dist/recommend/model/autoFacetFilter.d.ts.map +1 -0
  183. package/dist/recommend/model/baseRecommendRequest.d.ts +17 -0
  184. package/dist/recommend/model/baseRecommendRequest.d.ts.map +1 -0
  185. package/dist/recommend/model/baseSearchParams.d.ts +4 -0
  186. package/dist/recommend/model/baseSearchParams.d.ts.map +1 -0
  187. package/dist/recommend/model/baseSearchParamsWithoutQuery.d.ts +116 -0
  188. package/dist/recommend/model/baseSearchParamsWithoutQuery.d.ts.map +1 -0
  189. package/dist/recommend/model/baseSearchResponse.d.ts +94 -0
  190. package/dist/recommend/model/baseSearchResponse.d.ts.map +1 -0
  191. package/dist/recommend/model/boughtTogetherQuery.d.ts +4 -0
  192. package/dist/recommend/model/boughtTogetherQuery.d.ts.map +1 -0
  193. package/dist/recommend/model/clientMethodProps.d.ts +135 -0
  194. package/dist/recommend/model/clientMethodProps.d.ts.map +1 -0
  195. package/dist/recommend/model/condition.d.ts +14 -0
  196. package/dist/recommend/model/condition.d.ts.map +1 -0
  197. package/dist/recommend/model/consequence.d.ts +18 -0
  198. package/dist/recommend/model/consequence.d.ts.map +1 -0
  199. package/dist/{lite/model/updatedRuleResponse.d.ts → recommend/model/deletedAtResponse.d.ts} +9 -10
  200. package/dist/recommend/model/deletedAtResponse.d.ts.map +1 -0
  201. package/dist/recommend/model/distinct.d.ts +5 -0
  202. package/dist/recommend/model/distinct.d.ts.map +1 -0
  203. package/dist/recommend/model/errorBase.d.ts +7 -0
  204. package/dist/recommend/model/errorBase.d.ts.map +1 -0
  205. package/dist/recommend/model/exactOnSingleWordQuery.d.ts +5 -0
  206. package/dist/recommend/model/exactOnSingleWordQuery.d.ts.map +1 -0
  207. package/dist/recommend/model/exhaustive.d.ts +26 -0
  208. package/dist/recommend/model/exhaustive.d.ts.map +1 -0
  209. package/dist/recommend/model/facetFilters.d.ts +5 -0
  210. package/dist/recommend/model/facetFilters.d.ts.map +1 -0
  211. package/dist/recommend/model/facetOrdering.d.ts +13 -0
  212. package/dist/recommend/model/facetOrdering.d.ts.map +1 -0
  213. package/dist/recommend/model/facets.d.ts +10 -0
  214. package/dist/recommend/model/facets.d.ts.map +1 -0
  215. package/dist/recommend/model/facetsStats.d.ts +19 -0
  216. package/dist/recommend/model/facetsStats.d.ts.map +1 -0
  217. package/dist/recommend/model/fallbackParams.d.ts +3 -0
  218. package/dist/recommend/model/fallbackParams.d.ts.map +1 -0
  219. package/dist/recommend/model/fbtModel.d.ts +5 -0
  220. package/dist/recommend/model/fbtModel.d.ts.map +1 -0
  221. package/dist/recommend/model/frequentlyBoughtTogether.d.ts +9 -0
  222. package/dist/recommend/model/frequentlyBoughtTogether.d.ts.map +1 -0
  223. package/dist/recommend/model/getRecommendTaskResponse.d.ts +5 -0
  224. package/dist/recommend/model/getRecommendTaskResponse.d.ts.map +1 -0
  225. package/dist/recommend/model/getRecommendationsParams.d.ts +11 -0
  226. package/dist/recommend/model/getRecommendationsParams.d.ts.map +1 -0
  227. package/dist/recommend/model/getRecommendationsResponse.d.ts +5 -0
  228. package/dist/recommend/model/getRecommendationsResponse.d.ts.map +1 -0
  229. package/dist/recommend/model/hideConsequenceObject.d.ts +10 -0
  230. package/dist/recommend/model/hideConsequenceObject.d.ts.map +1 -0
  231. package/dist/recommend/model/highlightResult.d.ts +3 -0
  232. package/dist/recommend/model/highlightResult.d.ts.map +1 -0
  233. package/dist/recommend/model/highlightResultOption.d.ts +20 -0
  234. package/dist/recommend/model/highlightResultOption.d.ts.map +1 -0
  235. package/dist/recommend/model/ignorePlurals.d.ts +6 -0
  236. package/dist/recommend/model/ignorePlurals.d.ts.map +1 -0
  237. package/dist/recommend/model/index.d.ts +94 -0
  238. package/dist/recommend/model/index.d.ts.map +1 -0
  239. package/dist/recommend/model/indexSettingsAsSearchParams.d.ts +160 -0
  240. package/dist/recommend/model/indexSettingsAsSearchParams.d.ts.map +1 -0
  241. package/dist/recommend/model/lookingSimilar.d.ts +11 -0
  242. package/dist/recommend/model/lookingSimilar.d.ts.map +1 -0
  243. package/dist/recommend/model/lookingSimilarModel.d.ts +5 -0
  244. package/dist/recommend/model/lookingSimilarModel.d.ts.map +1 -0
  245. package/dist/recommend/model/lookingSimilarQuery.d.ts +4 -0
  246. package/dist/recommend/model/lookingSimilarQuery.d.ts.map +1 -0
  247. package/dist/recommend/model/matchLevel.d.ts +5 -0
  248. package/dist/recommend/model/matchLevel.d.ts.map +1 -0
  249. package/dist/recommend/model/matchedGeoLocation.d.ts +15 -0
  250. package/dist/recommend/model/matchedGeoLocation.d.ts.map +1 -0
  251. package/dist/recommend/model/mode.d.ts +5 -0
  252. package/dist/recommend/model/mode.d.ts.map +1 -0
  253. package/dist/recommend/model/numericFilters.d.ts +5 -0
  254. package/dist/recommend/model/numericFilters.d.ts.map +1 -0
  255. package/dist/recommend/model/optionalFilters.d.ts +5 -0
  256. package/dist/recommend/model/optionalFilters.d.ts.map +1 -0
  257. package/dist/recommend/model/paramsConsequence.d.ts +19 -0
  258. package/dist/recommend/model/paramsConsequence.d.ts.map +1 -0
  259. package/dist/recommend/model/personalization.d.ts +15 -0
  260. package/dist/recommend/model/personalization.d.ts.map +1 -0
  261. package/dist/recommend/model/promoteConsequenceObject.d.ts +14 -0
  262. package/dist/recommend/model/promoteConsequenceObject.d.ts.map +1 -0
  263. package/dist/recommend/model/queryType.d.ts +5 -0
  264. package/dist/recommend/model/queryType.d.ts.map +1 -0
  265. package/dist/recommend/model/rankingInfo.d.ts +54 -0
  266. package/dist/recommend/model/rankingInfo.d.ts.map +1 -0
  267. package/dist/recommend/model/reRankingApplyFilter.d.ts +5 -0
  268. package/dist/recommend/model/reRankingApplyFilter.d.ts.map +1 -0
  269. package/dist/recommend/model/recommendHit.d.ts +27 -0
  270. package/dist/recommend/model/recommendHit.d.ts.map +1 -0
  271. package/dist/recommend/model/recommendModels.d.ts +2 -0
  272. package/dist/recommend/model/recommendModels.d.ts.map +1 -0
  273. package/dist/recommend/model/recommendRule.d.ts +24 -0
  274. package/dist/recommend/model/recommendRule.d.ts.map +1 -0
  275. package/dist/recommend/model/recommendRuleMetadata.d.ts +10 -0
  276. package/dist/recommend/model/recommendRuleMetadata.d.ts.map +1 -0
  277. package/dist/recommend/model/recommendationsHit.d.ts +4 -0
  278. package/dist/recommend/model/recommendationsHit.d.ts.map +1 -0
  279. package/dist/recommend/model/recommendationsHits.d.ts +5 -0
  280. package/dist/recommend/model/recommendationsHits.d.ts.map +1 -0
  281. package/dist/recommend/model/recommendationsRequest.d.ts +8 -0
  282. package/dist/recommend/model/recommendationsRequest.d.ts.map +1 -0
  283. package/dist/recommend/model/recommendationsResults.d.ts +5 -0
  284. package/dist/recommend/model/recommendationsResults.d.ts.map +1 -0
  285. package/dist/recommend/model/recommendedForYou.d.ts +7 -0
  286. package/dist/recommend/model/recommendedForYou.d.ts.map +1 -0
  287. package/dist/recommend/model/recommendedForYouModel.d.ts +5 -0
  288. package/dist/recommend/model/recommendedForYouModel.d.ts.map +1 -0
  289. package/dist/recommend/model/recommendedForYouQuery.d.ts +4 -0
  290. package/dist/recommend/model/recommendedForYouQuery.d.ts.map +1 -0
  291. package/dist/recommend/model/redirect.d.ts +8 -0
  292. package/dist/recommend/model/redirect.d.ts.map +1 -0
  293. package/dist/recommend/model/redirectRuleIndexMetadata.d.ts +21 -0
  294. package/dist/recommend/model/redirectRuleIndexMetadata.d.ts.map +1 -0
  295. package/dist/recommend/model/redirectRuleIndexMetadataData.d.ts +7 -0
  296. package/dist/recommend/model/redirectRuleIndexMetadataData.d.ts.map +1 -0
  297. package/dist/recommend/model/redirectURL.d.ts +7 -0
  298. package/dist/recommend/model/redirectURL.d.ts.map +1 -0
  299. package/dist/recommend/model/relatedModel.d.ts +5 -0
  300. package/dist/recommend/model/relatedModel.d.ts.map +1 -0
  301. package/dist/recommend/model/relatedProducts.d.ts +11 -0
  302. package/dist/recommend/model/relatedProducts.d.ts.map +1 -0
  303. package/dist/recommend/model/relatedQuery.d.ts +4 -0
  304. package/dist/recommend/model/relatedQuery.d.ts.map +1 -0
  305. package/dist/recommend/model/removeStopWords.d.ts +6 -0
  306. package/dist/recommend/model/removeStopWords.d.ts.map +1 -0
  307. package/dist/recommend/model/removeWordsIfNoResults.d.ts +5 -0
  308. package/dist/recommend/model/removeWordsIfNoResults.d.ts.map +1 -0
  309. package/dist/recommend/model/renderingContent.d.ts +10 -0
  310. package/dist/recommend/model/renderingContent.d.ts.map +1 -0
  311. package/dist/recommend/model/searchPagination.d.ts +19 -0
  312. package/dist/recommend/model/searchPagination.d.ts.map +1 -0
  313. package/dist/recommend/model/searchParams.d.ts +3 -0
  314. package/dist/recommend/model/searchParams.d.ts.map +1 -0
  315. package/dist/recommend/model/searchParamsObject.d.ts +7 -0
  316. package/dist/recommend/model/searchParamsObject.d.ts.map +1 -0
  317. package/dist/recommend/model/searchParamsQuery.d.ts +7 -0
  318. package/dist/recommend/model/searchParamsQuery.d.ts.map +1 -0
  319. package/dist/recommend/model/searchRecommendRulesParams.d.ts +38 -0
  320. package/dist/recommend/model/searchRecommendRulesParams.d.ts.map +1 -0
  321. package/dist/recommend/model/searchRecommendRulesResponse.d.ts +20 -0
  322. package/dist/recommend/model/searchRecommendRulesResponse.d.ts.map +1 -0
  323. package/dist/recommend/model/semanticSearch.d.ts +10 -0
  324. package/dist/recommend/model/semanticSearch.d.ts.map +1 -0
  325. package/dist/recommend/model/snippetResult.d.ts +3 -0
  326. package/dist/recommend/model/snippetResult.d.ts.map +1 -0
  327. package/dist/recommend/model/snippetResultOption.d.ts +12 -0
  328. package/dist/recommend/model/snippetResultOption.d.ts.map +1 -0
  329. package/dist/recommend/model/sortRemainingBy.d.ts +5 -0
  330. package/dist/recommend/model/sortRemainingBy.d.ts.map +1 -0
  331. package/dist/recommend/model/supportedLanguage.d.ts +5 -0
  332. package/dist/recommend/model/supportedLanguage.d.ts.map +1 -0
  333. package/dist/recommend/model/tagFilters.d.ts +5 -0
  334. package/dist/recommend/model/tagFilters.d.ts.map +1 -0
  335. package/dist/recommend/model/taskStatus.d.ts.map +1 -0
  336. package/dist/recommend/model/trendingFacetHit.d.ts +18 -0
  337. package/dist/recommend/model/trendingFacetHit.d.ts.map +1 -0
  338. package/dist/recommend/model/trendingFacets.d.ts +11 -0
  339. package/dist/recommend/model/trendingFacets.d.ts.map +1 -0
  340. package/dist/recommend/model/trendingFacetsModel.d.ts +5 -0
  341. package/dist/recommend/model/trendingFacetsModel.d.ts.map +1 -0
  342. package/dist/recommend/model/trendingFacetsQuery.d.ts +4 -0
  343. package/dist/recommend/model/trendingFacetsQuery.d.ts.map +1 -0
  344. package/dist/recommend/model/trendingItems.d.ts +15 -0
  345. package/dist/recommend/model/trendingItems.d.ts.map +1 -0
  346. package/dist/recommend/model/trendingItemsModel.d.ts +5 -0
  347. package/dist/recommend/model/trendingItemsModel.d.ts.map +1 -0
  348. package/dist/recommend/model/trendingItemsQuery.d.ts +4 -0
  349. package/dist/recommend/model/trendingItemsQuery.d.ts.map +1 -0
  350. package/dist/recommend/model/typoTolerance.d.ts +6 -0
  351. package/dist/recommend/model/typoTolerance.d.ts.map +1 -0
  352. package/dist/recommend/model/typoToleranceEnum.d.ts +5 -0
  353. package/dist/recommend/model/typoToleranceEnum.d.ts.map +1 -0
  354. package/dist/recommend/model/value.d.ts +13 -0
  355. package/dist/recommend/model/value.d.ts.map +1 -0
  356. package/dist/recommend/src/recommendClient.d.ts +132 -0
  357. package/dist/recommend/src/recommendClient.d.ts.map +1 -0
  358. package/lite/model/baseIndexSettings.ts +2 -2
  359. package/lite/model/baseRecommendRequest.ts +22 -0
  360. package/lite/model/baseSearchResponse.ts +2 -22
  361. package/lite/model/boughtTogetherQuery.ts +7 -0
  362. package/lite/model/browsePagination.ts +23 -0
  363. package/lite/model/browseResponse.ts +2 -0
  364. package/lite/model/clientMethodProps.ts +8 -0
  365. package/lite/model/facetFilters.ts +1 -3
  366. package/lite/model/{attributeToUpdate.ts → fallbackParams.ts} +2 -2
  367. package/lite/model/{builtInOperationType.ts → fbtModel.ts} +2 -9
  368. package/lite/model/{consequenceHide.ts → frequentlyBoughtTogether.ts} +5 -4
  369. package/lite/model/getRecommendationsParams.ts +13 -0
  370. package/lite/model/{apiKeyOperation.ts → getRecommendationsResponse.ts} +5 -1
  371. package/lite/model/index.ts +31 -40
  372. package/lite/model/lookingSimilar.ts +15 -0
  373. package/lite/model/lookingSimilarModel.ts +6 -0
  374. package/lite/model/lookingSimilarQuery.ts +6 -0
  375. package/lite/model/numericFilters.ts +1 -3
  376. package/lite/model/optionalFilters.ts +1 -3
  377. package/lite/model/rankingInfo.ts +3 -3
  378. package/lite/model/reRankingApplyFilter.ts +1 -3
  379. package/lite/model/recommendHit.ts +34 -0
  380. package/lite/model/{promote.ts → recommendationsHit.ts} +3 -3
  381. package/lite/model/{searchParamsString.ts → recommendationsHits.ts} +4 -5
  382. package/lite/model/recommendationsRequest.ts +16 -0
  383. package/lite/model/recommendationsResults.ts +9 -0
  384. package/lite/model/recommendedForYou.ts +10 -0
  385. package/lite/model/{operationType.ts → recommendedForYouModel.ts} +2 -2
  386. package/lite/model/recommendedForYouQuery.ts +6 -0
  387. package/lite/model/redirect.ts +1 -1
  388. package/lite/model/{dictionaryAction.ts → redirectURL.ts} +4 -2
  389. package/lite/model/relatedModel.ts +6 -0
  390. package/lite/model/{promoteObjectID.ts → relatedProducts.ts} +7 -8
  391. package/lite/model/relatedQuery.ts +6 -0
  392. package/lite/model/renderingContent.ts +3 -0
  393. package/lite/model/searchForFacetValuesResponse.ts +1 -1
  394. package/lite/model/{searchDictionaryEntriesResponse.ts → searchPagination.ts} +7 -9
  395. package/lite/model/searchParams.ts +1 -2
  396. package/lite/model/searchResponse.ts +3 -1
  397. package/lite/model/tagFilters.ts +1 -3
  398. package/lite/model/trendingFacetHit.ts +21 -0
  399. package/lite/model/trendingFacets.ts +15 -0
  400. package/lite/model/trendingFacetsModel.ts +6 -0
  401. package/lite/model/trendingFacetsQuery.ts +6 -0
  402. package/lite/model/trendingItems.ts +20 -0
  403. package/lite/model/{dictionaryEntryState.ts → trendingItemsModel.ts} +2 -2
  404. package/lite/model/trendingItemsQuery.ts +6 -0
  405. package/lite/model/value.ts +5 -0
  406. package/lite/src/liteClient.ts +57 -1
  407. package/package.json +18 -14
  408. package/dist/client-search/model/mixedSearchFilters.d.ts +0 -2
  409. package/dist/client-search/model/mixedSearchFilters.d.ts.map +0 -1
  410. package/dist/client-search/model/securedAPIKeyRestrictions.d.ts +0 -25
  411. package/dist/lite/model/action.d.ts +0 -5
  412. package/dist/lite/model/action.d.ts.map +0 -1
  413. package/dist/lite/model/addApiKeyResponse.d.ts +0 -11
  414. package/dist/lite/model/addApiKeyResponse.d.ts.map +0 -1
  415. package/dist/lite/model/anchoring.d.ts +0 -5
  416. package/dist/lite/model/anchoring.d.ts.map +0 -1
  417. package/dist/lite/model/apiKeyOperation.d.ts +0 -2
  418. package/dist/lite/model/apiKeyOperation.d.ts.map +0 -1
  419. package/dist/lite/model/attributeToUpdate.d.ts +0 -3
  420. package/dist/lite/model/attributeToUpdate.d.ts.map +0 -1
  421. package/dist/lite/model/browseParams.d.ts +0 -4
  422. package/dist/lite/model/browseParams.d.ts.map +0 -1
  423. package/dist/lite/model/builtInOperation.d.ts +0 -12
  424. package/dist/lite/model/builtInOperation.d.ts.map +0 -1
  425. package/dist/lite/model/builtInOperationType.d.ts +0 -5
  426. package/dist/lite/model/builtInOperationType.d.ts.map +0 -1
  427. package/dist/lite/model/condition.d.ts +0 -21
  428. package/dist/lite/model/condition.d.ts.map +0 -1
  429. package/dist/lite/model/consequence.d.ts +0 -26
  430. package/dist/lite/model/consequence.d.ts.map +0 -1
  431. package/dist/lite/model/consequenceHide.d.ts +0 -10
  432. package/dist/lite/model/consequenceHide.d.ts.map +0 -1
  433. package/dist/lite/model/deleteByParams.d.ts +0 -27
  434. package/dist/lite/model/deleteByParams.d.ts.map +0 -1
  435. package/dist/lite/model/dictionaryAction.d.ts +0 -5
  436. package/dist/lite/model/dictionaryAction.d.ts.map +0 -1
  437. package/dist/lite/model/dictionaryEntry.d.ts +0 -26
  438. package/dist/lite/model/dictionaryEntry.d.ts.map +0 -1
  439. package/dist/lite/model/dictionaryEntryState.d.ts +0 -5
  440. package/dist/lite/model/dictionaryEntryState.d.ts.map +0 -1
  441. package/dist/lite/model/dictionaryLanguage.d.ts +0 -10
  442. package/dist/lite/model/dictionaryLanguage.d.ts.map +0 -1
  443. package/dist/lite/model/dictionaryType.d.ts +0 -2
  444. package/dist/lite/model/dictionaryType.d.ts.map +0 -1
  445. package/dist/lite/model/fetchedIndex.d.ts +0 -47
  446. package/dist/lite/model/fetchedIndex.d.ts.map +0 -1
  447. package/dist/lite/model/languages.d.ts +0 -10
  448. package/dist/lite/model/languages.d.ts.map +0 -1
  449. package/dist/lite/model/listIndicesResponse.d.ts +0 -12
  450. package/dist/lite/model/listIndicesResponse.d.ts.map +0 -1
  451. package/dist/lite/model/logType.d.ts +0 -2
  452. package/dist/lite/model/logType.d.ts.map +0 -1
  453. package/dist/lite/model/mixedSearchFilters.d.ts +0 -2
  454. package/dist/lite/model/mixedSearchFilters.d.ts.map +0 -1
  455. package/dist/lite/model/operationType.d.ts +0 -5
  456. package/dist/lite/model/operationType.d.ts.map +0 -1
  457. package/dist/lite/model/promote.d.ts +0 -4
  458. package/dist/lite/model/promote.d.ts.map +0 -1
  459. package/dist/lite/model/promoteObjectID.d.ts +0 -14
  460. package/dist/lite/model/promoteObjectID.d.ts.map +0 -1
  461. package/dist/lite/model/promoteObjectIDs.d.ts +0 -14
  462. package/dist/lite/model/promoteObjectIDs.d.ts.map +0 -1
  463. package/dist/lite/model/rule.d.ts +0 -30
  464. package/dist/lite/model/rule.d.ts.map +0 -1
  465. package/dist/lite/model/scopeType.d.ts +0 -2
  466. package/dist/lite/model/scopeType.d.ts.map +0 -1
  467. package/dist/lite/model/searchDictionaryEntriesResponse.d.ts +0 -20
  468. package/dist/lite/model/searchDictionaryEntriesResponse.d.ts.map +0 -1
  469. package/dist/lite/model/searchParamsString.d.ts +0 -7
  470. package/dist/lite/model/searchParamsString.d.ts.map +0 -1
  471. package/dist/lite/model/searchSynonymsResponse.d.ts +0 -12
  472. package/dist/lite/model/searchSynonymsResponse.d.ts.map +0 -1
  473. package/dist/lite/model/securedAPIKeyRestrictions.d.ts.map +0 -1
  474. package/dist/lite/model/source.d.ts +0 -14
  475. package/dist/lite/model/source.d.ts.map +0 -1
  476. package/dist/lite/model/standardEntries.d.ts +0 -18
  477. package/dist/lite/model/standardEntries.d.ts.map +0 -1
  478. package/dist/lite/model/synonymHit.d.ts +0 -36
  479. package/dist/lite/model/synonymHit.d.ts.map +0 -1
  480. package/dist/lite/model/synonymType.d.ts +0 -5
  481. package/dist/lite/model/synonymType.d.ts.map +0 -1
  482. package/dist/lite/model/taskStatus.d.ts.map +0 -1
  483. package/dist/lite/model/timeRange.d.ts +0 -11
  484. package/dist/lite/model/timeRange.d.ts.map +0 -1
  485. package/dist/lite/model/updatedRuleResponse.d.ts.map +0 -1
  486. package/dist/lite/model/userId.d.ts +0 -22
  487. package/dist/lite/model/userId.d.ts.map +0 -1
  488. package/lite/model/action.ts +0 -13
  489. package/lite/model/addApiKeyResponse.ts +0 -13
  490. package/lite/model/anchoring.ts +0 -6
  491. package/lite/model/browseParams.ts +0 -6
  492. package/lite/model/builtInOperation.ts +0 -15
  493. package/lite/model/condition.ts +0 -27
  494. package/lite/model/consequence.ts +0 -32
  495. package/lite/model/deleteByParams.ts +0 -36
  496. package/lite/model/dictionaryEntry.ts +0 -33
  497. package/lite/model/dictionaryLanguage.ts +0 -11
  498. package/lite/model/dictionaryType.ts +0 -3
  499. package/lite/model/fetchedIndex.ts +0 -58
  500. package/lite/model/languages.ts +0 -14
  501. package/lite/model/listIndicesResponse.ts +0 -15
  502. package/lite/model/logType.ts +0 -3
  503. package/lite/model/mixedSearchFilters.ts +0 -3
  504. package/lite/model/promoteObjectIDs.ts +0 -16
  505. package/lite/model/rule.ts +0 -37
  506. package/lite/model/scopeType.ts +0 -3
  507. package/lite/model/searchSynonymsResponse.ts +0 -15
  508. package/lite/model/securedAPIKeyRestrictions.ts +0 -32
  509. package/lite/model/source.ts +0 -16
  510. package/lite/model/standardEntries.ts +0 -21
  511. package/lite/model/synonymHit.ts +0 -45
  512. package/lite/model/synonymType.ts +0 -11
  513. package/lite/model/taskStatus.ts +0 -6
  514. package/lite/model/timeRange.ts +0 -13
  515. package/lite/model/updatedRuleResponse.ts +0 -18
  516. package/lite/model/userId.ts +0 -26
  517. /package/dist/{lite → recommend}/model/taskStatus.d.ts +0 -0
@@ -3,9 +3,9 @@ import { createAuth, createTransporter, getAlgoliaAgent, createIterablePromise,
3
3
  import { createHttpRequester } from '@algolia/requester-node-http';
4
4
 
5
5
  // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
6
- const apiClientVersion$4 = '5.0.0-beta.1';
6
+ const apiClientVersion$5 = '5.0.0-beta.10';
7
7
  const REGIONS$2 = ['de', 'us'];
8
- function getDefaultHosts$3(region) {
8
+ function getDefaultHosts$4(region) {
9
9
  const url = !region
10
10
  ? 'analytics.algolia.com'
11
11
  : 'analytics.{region}.algolia.com'.replace('{region}', region);
@@ -15,12 +15,12 @@ function getDefaultHosts$3(region) {
15
15
  function createAbtestingClient({ appId: appIdOption, apiKey: apiKeyOption, authMode, algoliaAgents, region: regionOption, ...options }) {
16
16
  const auth = createAuth(appIdOption, apiKeyOption, authMode);
17
17
  const transporter = createTransporter({
18
- hosts: getDefaultHosts$3(regionOption),
18
+ hosts: getDefaultHosts$4(regionOption),
19
19
  ...options,
20
20
  algoliaAgent: getAlgoliaAgent({
21
21
  algoliaAgents,
22
22
  client: 'Abtesting',
23
- version: apiClientVersion$4,
23
+ version: apiClientVersion$5,
24
24
  }),
25
25
  baseHeaders: {
26
26
  'content-type': 'text/plain',
@@ -308,9 +308,9 @@ function createAbtestingClient({ appId: appIdOption, apiKey: apiKeyOption, authM
308
308
  }
309
309
 
310
310
  // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
311
- const apiClientVersion$3 = '5.0.0-beta.1';
311
+ const apiClientVersion$4 = '5.0.0-beta.10';
312
312
  const REGIONS$1 = ['de', 'us'];
313
- function getDefaultHosts$2(region) {
313
+ function getDefaultHosts$3(region) {
314
314
  const url = !region
315
315
  ? 'analytics.algolia.com'
316
316
  : 'analytics.{region}.algolia.com'.replace('{region}', region);
@@ -320,12 +320,12 @@ function getDefaultHosts$2(region) {
320
320
  function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authMode, algoliaAgents, region: regionOption, ...options }) {
321
321
  const auth = createAuth(appIdOption, apiKeyOption, authMode);
322
322
  const transporter = createTransporter({
323
- hosts: getDefaultHosts$2(regionOption),
323
+ hosts: getDefaultHosts$3(regionOption),
324
324
  ...options,
325
325
  algoliaAgent: getAlgoliaAgent({
326
326
  algoliaAgents,
327
327
  client: 'Analytics',
328
- version: apiClientVersion$3,
328
+ version: apiClientVersion$4,
329
329
  }),
330
330
  baseHeaders: {
331
331
  'content-type': 'text/plain',
@@ -1363,9 +1363,9 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
1363
1363
  }
1364
1364
 
1365
1365
  // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
1366
- const apiClientVersion$2 = '5.0.0-beta.1';
1366
+ const apiClientVersion$3 = '5.0.0-beta.10';
1367
1367
  const REGIONS = ['eu', 'us'];
1368
- function getDefaultHosts$1(region) {
1368
+ function getDefaultHosts$2(region) {
1369
1369
  const url = 'personalization.{region}.algolia.com'.replace('{region}', region);
1370
1370
  return [{ url, accept: 'readWrite', protocol: 'https' }];
1371
1371
  }
@@ -1373,12 +1373,12 @@ function getDefaultHosts$1(region) {
1373
1373
  function createPersonalizationClient({ appId: appIdOption, apiKey: apiKeyOption, authMode, algoliaAgents, region: regionOption, ...options }) {
1374
1374
  const auth = createAuth(appIdOption, apiKeyOption, authMode);
1375
1375
  const transporter = createTransporter({
1376
- hosts: getDefaultHosts$1(regionOption),
1376
+ hosts: getDefaultHosts$2(regionOption),
1377
1377
  ...options,
1378
1378
  algoliaAgent: getAlgoliaAgent({
1379
1379
  algoliaAgents,
1380
1380
  client: 'Personalization',
1381
- version: apiClientVersion$2,
1381
+ version: apiClientVersion$3,
1382
1382
  }),
1383
1383
  baseHeaders: {
1384
1384
  'content-type': 'text/plain',
@@ -1624,8 +1624,8 @@ function createPersonalizationClient({ appId: appIdOption, apiKey: apiKeyOption,
1624
1624
  }
1625
1625
 
1626
1626
  // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
1627
- const apiClientVersion$1 = '5.0.0-beta.1';
1628
- function getDefaultHosts(appId) {
1627
+ const apiClientVersion$2 = '5.0.0-beta.10';
1628
+ function getDefaultHosts$1(appId) {
1629
1629
  return [
1630
1630
  {
1631
1631
  url: `${appId}-dsn.algolia.net`,
@@ -1659,12 +1659,12 @@ function getDefaultHosts(appId) {
1659
1659
  function createSearchClient({ appId: appIdOption, apiKey: apiKeyOption, authMode, algoliaAgents, ...options }) {
1660
1660
  const auth = createAuth(appIdOption, apiKeyOption, authMode);
1661
1661
  const transporter = createTransporter({
1662
- hosts: getDefaultHosts(appIdOption),
1662
+ hosts: getDefaultHosts$1(appIdOption),
1663
1663
  ...options,
1664
1664
  algoliaAgent: getAlgoliaAgent({
1665
1665
  algoliaAgents,
1666
1666
  client: 'Search',
1667
- version: apiClientVersion$1,
1667
+ version: apiClientVersion$2,
1668
1668
  }),
1669
1669
  baseHeaders: {
1670
1670
  'content-type': 'text/plain',
@@ -1730,6 +1730,29 @@ function createSearchClient({ appId: appIdOption, apiKey: apiKeyOption, authMode
1730
1730
  timeout: () => timeout(retryCount),
1731
1731
  });
1732
1732
  },
1733
+ /**
1734
+ * Helper: Wait for an application-level task to complete for a given `taskID`.
1735
+ *
1736
+ * @summary Helper method that waits for a task to be published (completed).
1737
+ * @param waitForAppTaskOptions - The `waitForTaskOptions` object.
1738
+ * @param waitForAppTaskOptions.taskID - The `taskID` returned in the method response.
1739
+ * @param waitForAppTaskOptions.maxRetries - The maximum number of retries. 50 by default.
1740
+ * @param waitForAppTaskOptions.timeout - The function to decide how long to wait between retries.
1741
+ * @param requestOptions - The requestOptions to send along with the query, they will be forwarded to the `getTask` method and merged with the transporter requestOptions.
1742
+ */
1743
+ waitForAppTask({ taskID, maxRetries = 50, timeout = (retryCount) => Math.min(retryCount * 200, 5000), }, requestOptions) {
1744
+ let retryCount = 0;
1745
+ return createIterablePromise({
1746
+ func: () => this.getAppTask({ taskID }, requestOptions),
1747
+ validate: (response) => response.status === 'published',
1748
+ aggregator: () => (retryCount += 1),
1749
+ error: {
1750
+ validate: () => retryCount >= maxRetries,
1751
+ message: () => `The maximum number of retries exceeded. (${retryCount}/${maxRetries})`,
1752
+ },
1753
+ timeout: () => timeout(retryCount),
1754
+ });
1755
+ },
1733
1756
  /**
1734
1757
  * Helper: Wait for an API key to be added, updated or deleted based on a given `operation`.
1735
1758
  *
@@ -1911,9 +1934,10 @@ function createSearchClient({ appId: appIdOption, apiKey: apiKeyOption, authMode
1911
1934
  async chunkedBatch({ indexName, objects, action = 'addObject', waitForTasks, batchSize = 1000, }, requestOptions) {
1912
1935
  let requests = [];
1913
1936
  const responses = [];
1914
- for (const [i, obj] of objects.entries()) {
1937
+ const objectEntries = objects.entries();
1938
+ for (const [i, obj] of objectEntries) {
1915
1939
  requests.push({ action, body: obj });
1916
- if (i % batchSize === 0) {
1940
+ if (requests.length === batchSize || i === objects.length - 1) {
1917
1941
  responses.push(await this.batch({ indexName, batchWriteParams: { requests } }, requestOptions));
1918
1942
  requests = [];
1919
1943
  }
@@ -1925,20 +1949,68 @@ function createSearchClient({ appId: appIdOption, apiKey: apiKeyOption, authMode
1925
1949
  }
1926
1950
  return responses;
1927
1951
  },
1952
+ /**
1953
+ * Helper: Saves the given array of objects in the given index. The `chunkedBatch` helper is used under the hood, which creates a `batch` requests with at most 1000 objects in it.
1954
+ *
1955
+ * @summary Helper: Saves the given array of objects in the given index. The `chunkedBatch` helper is used under the hood, which creates a `batch` requests with at most 1000 objects in it.
1956
+ * @param saveObjects - The `saveObjects` object.
1957
+ * @param saveObjects.indexName - The `indexName` to save `objects` in.
1958
+ * @param saveObjects.objects - The array of `objects` to store in the given Algolia `indexName`.
1959
+ * @param requestOptions - The requestOptions to send along with the query, they will be forwarded to the `batch` method and merged with the transporter requestOptions.
1960
+ */
1961
+ async saveObjects({ indexName, objects }, requestOptions) {
1962
+ return await this.chunkedBatch({ indexName, objects, action: 'addObject' }, requestOptions);
1963
+ },
1964
+ /**
1965
+ * Helper: Deletes every records for the given objectIDs. The `chunkedBatch` helper is used under the hood, which creates a `batch` requests with at most 1000 objectIDs in it.
1966
+ *
1967
+ * @summary Helper: Deletes every records for the given objectIDs. The `chunkedBatch` helper is used under the hood, which creates a `batch` requests with at most 1000 objectIDs in it.
1968
+ * @param deleteObjects - The `deleteObjects` object.
1969
+ * @param deleteObjects.indexName - The `indexName` to delete `objectIDs` from.
1970
+ * @param deleteObjects.objectIDs - The objectIDs to delete.
1971
+ * @param requestOptions - The requestOptions to send along with the query, they will be forwarded to the `batch` method and merged with the transporter requestOptions.
1972
+ */
1973
+ async deleteObjects({ indexName, objectIDs }, requestOptions) {
1974
+ return await this.chunkedBatch({
1975
+ indexName,
1976
+ objects: objectIDs.map((objectID) => ({ objectID })),
1977
+ action: 'deleteObject',
1978
+ }, requestOptions);
1979
+ },
1980
+ /**
1981
+ * Helper: Replaces object content of all the given objects according to their respective `objectID` field. The `chunkedBatch` helper is used under the hood, which creates a `batch` requests with at most 1000 objects in it.
1982
+ *
1983
+ * @summary Helper: Replaces object content of all the given objects according to their respective `objectID` field. The `chunkedBatch` helper is used under the hood, which creates a `batch` requests with at most 1000 objects in it.
1984
+ * @param partialUpdateObjects - The `partialUpdateObjects` object.
1985
+ * @param partialUpdateObjects.indexName - The `indexName` to update `objects` in.
1986
+ * @param partialUpdateObjects.objects - The array of `objects` to update in the given Algolia `indexName`.
1987
+ * @param partialUpdateObjects.createIfNotExists - To be provided if non-existing objects are passed, otherwise, the call will fail..
1988
+ * @param requestOptions - The requestOptions to send along with the query, they will be forwarded to the `getTask` method and merged with the transporter requestOptions.
1989
+ */
1990
+ async partialUpdateObjects({ indexName, objects, createIfNotExists }, requestOptions) {
1991
+ return await this.chunkedBatch({
1992
+ indexName,
1993
+ objects,
1994
+ action: createIfNotExists
1995
+ ? 'partialUpdateObject'
1996
+ : 'partialUpdateObjectNoCreate',
1997
+ }, requestOptions);
1998
+ },
1928
1999
  /**
1929
2000
  * Helper: Replaces all objects (records) in the given `index_name` with the given `objects`. A temporary index is created during this process in order to backup your data.
2001
+ * See https://api-clients-automation.netlify.app/docs/contributing/add-new-api-client#5-helpers for implementation details.
1930
2002
  *
1931
2003
  * @summary Helper: Replaces all objects (records) in the given `index_name` with the given `objects`. A temporary index is created during this process in order to backup your data.
1932
2004
  * @param replaceAllObjects - The `replaceAllObjects` object.
1933
2005
  * @param replaceAllObjects.indexName - The `indexName` to replace `objects` in.
1934
2006
  * @param replaceAllObjects.objects - The array of `objects` to store in the given Algolia `indexName`.
1935
- * @param replaceAllObjects.batchSize - The size of the chunk of `objects`. The number of `batch` calls will be equal to `length(objects) / batchSize`. Defaults to 1000.
1936
- * @param requestOptions - The requestOptions to send along with the query, they will be forwarded to the `getTask` method and merged with the transporter requestOptions.
2007
+ * @param replaceAllObjects.batchSize - The size of the chunk of `objects`. The number of `batch` calls will be equal to `objects.length / batchSize`. Defaults to 1000.
2008
+ * @param requestOptions - The requestOptions to send along with the query, they will be forwarded to the `batch`, `operationIndex` and `getTask` method and merged with the transporter requestOptions.
1937
2009
  */
1938
2010
  async replaceAllObjects({ indexName, objects, batchSize }, requestOptions) {
1939
- const randomSuffix = Math.random().toString(36).substring(7);
2011
+ const randomSuffix = Math.floor(Math.random() * 1000000) + 100000;
1940
2012
  const tmpIndexName = `${indexName}_tmp_${randomSuffix}`;
1941
- const copyOperationResponse = await this.operationIndex({
2013
+ let copyOperationResponse = await this.operationIndex({
1942
2014
  indexName,
1943
2015
  operationIndexParams: {
1944
2016
  operation: 'copy',
@@ -1946,17 +2018,29 @@ function createSearchClient({ appId: appIdOption, apiKey: apiKeyOption, authMode
1946
2018
  scope: ['settings', 'rules', 'synonyms'],
1947
2019
  },
1948
2020
  }, requestOptions);
2021
+ const batchResponses = await this.chunkedBatch({ indexName: tmpIndexName, objects, waitForTasks: true, batchSize }, requestOptions);
1949
2022
  await this.waitForTask({
2023
+ indexName: tmpIndexName,
2024
+ taskID: copyOperationResponse.taskID,
2025
+ });
2026
+ copyOperationResponse = await this.operationIndex({
1950
2027
  indexName,
2028
+ operationIndexParams: {
2029
+ operation: 'copy',
2030
+ destination: tmpIndexName,
2031
+ scope: ['settings', 'rules', 'synonyms'],
2032
+ },
2033
+ }, requestOptions);
2034
+ await this.waitForTask({
2035
+ indexName: tmpIndexName,
1951
2036
  taskID: copyOperationResponse.taskID,
1952
2037
  });
1953
- const batchResponses = await this.chunkedBatch({ indexName: tmpIndexName, objects, waitForTasks: true, batchSize }, requestOptions);
1954
2038
  const moveOperationResponse = await this.operationIndex({
1955
2039
  indexName: tmpIndexName,
1956
2040
  operationIndexParams: { operation: 'move', destination: indexName },
1957
2041
  }, requestOptions);
1958
2042
  await this.waitForTask({
1959
- indexName,
2043
+ indexName: tmpIndexName,
1960
2044
  taskID: moveOperationResponse.taskID,
1961
2045
  });
1962
2046
  return { copyOperationResponse, batchResponses, moveOperationResponse };
@@ -2192,7 +2276,7 @@ function createSearchClient({ appId: appIdOption, apiKey: apiKeyOption, authMode
2192
2276
  return transporter.request(request, requestOptions);
2193
2277
  },
2194
2278
  /**
2195
- * Retrieves records from an index, up to 1,000 per request. While searching retrieves _hits_ (records augmented with attributes for highlighting and ranking details), browsing _just_ returns matching records. This can be useful if you want to export your indices. - The Analytics API doesn\'t collect data when using `browse`. - Records are ranked by attributes and custom ranking. - Deduplication (`distinct`) is turned off. - There\'s no ranking for: typo-tolerance, number of matched words, proximity, geo distance.
2279
+ * Retrieves records from an index, up to 1,000 per request. While searching retrieves _hits_ (records augmented with attributes for highlighting and ranking details), browsing _just_ returns matching records. This can be useful if you want to export your indices. - The Analytics API doesn\'t collect data when using `browse`. - Records are ranked by attributes and custom ranking. - There\'s no ranking for: typo-tolerance, number of matched words, proximity, geo distance. Browse requests automatically apply these settings: - `advancedSyntax`: `false` - `attributesToHighlight`: `[]` - `attributesToSnippet`: `[]` - `distinct`: `false` - `enablePersonalization`: `false` - `enableRules`: `false` - `facets`: `[]` - `getRankingInfo`: `false` - `ignorePlurals`: `false` - `optionalFilters`: `[]` - `typoTolerance`: `true` or `false` (`min` and `strict` is evaluated to `true`) If you send these parameters with your browse requests, they\'ll be ignored.
2196
2280
  *
2197
2281
  * Required API Key ACLs:
2198
2282
  * - browse.
@@ -2625,6 +2709,31 @@ function createSearchClient({ appId: appIdOption, apiKey: apiKeyOption, authMode
2625
2709
  };
2626
2710
  return transporter.request(request, requestOptions);
2627
2711
  },
2712
+ /**
2713
+ * Checks the status of a given application task.
2714
+ *
2715
+ * Required API Key ACLs:
2716
+ * - editSettings.
2717
+ *
2718
+ * @param getAppTask - The getAppTask object.
2719
+ * @param getAppTask.taskID - Unique task identifier.
2720
+ * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
2721
+ */
2722
+ getAppTask({ taskID }, requestOptions) {
2723
+ if (!taskID) {
2724
+ throw new Error('Parameter `taskID` is required when calling `getAppTask`.');
2725
+ }
2726
+ const requestPath = '/1/task/{taskID}'.replace('{taskID}', encodeURIComponent(taskID));
2727
+ const headers = {};
2728
+ const queryParameters = {};
2729
+ const request = {
2730
+ method: 'GET',
2731
+ path: requestPath,
2732
+ queryParameters,
2733
+ headers,
2734
+ };
2735
+ return transporter.request(request, requestOptions);
2736
+ },
2628
2737
  /**
2629
2738
  * Lists supported languages with their supported dictionary types and number of custom entries.
2630
2739
  *
@@ -3099,7 +3208,7 @@ function createSearchClient({ appId: appIdOption, apiKey: apiKeyOption, authMode
3099
3208
  return transporter.request(request, requestOptions);
3100
3209
  },
3101
3210
  /**
3102
- * Copies or moves (renames) an index within the same Algolia application. - Existing destination indices are overwritten, except for index-specific API keys and analytics data. - If the destination index doesn\'t exist yet, it\'ll be created. **Copy** - Copying a source index that doesn\'t exist creates a new index with 0 records and default settings. - The API keys of the source index are merged with the existing keys in the destination index. - You can\'t copy the `enableReRanking`, `mode`, and `replicas` settings. - You can\'t copy to a destination index that already has replicas. - Be aware of the [size limits](https://www.algolia.com/doc/guides/scaling/algolia-service-limits/#application-record-and-index-limits). - Related guide: [Copy indices](https://www.algolia.com/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/how-to/copy-indices/) **Move** - Moving a source index that doesn\'t exist is ignored without returning an error. - When moving an index, the analytics data keep their original name and a new set of analytics data is started for the new name. To access the original analytics in the dashboard, create an index with the original name. - If the destination index has replicas, moving will overwrite the existing index and copy the data to the replica indices. - Related guide: [Move indices](https://www.algolia.com/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/how-to/move-indices/).
3211
+ * Copies or moves (renames) an index within the same Algolia application. - Existing destination indices are overwritten, except for their analytics data. - If the destination index doesn\'t exist yet, it\'ll be created. **Copy** - Copying a source index that doesn\'t exist creates a new index with 0 records and default settings. - The API keys of the source index are merged with the existing keys in the destination index. - You can\'t copy the `enableReRanking`, `mode`, and `replicas` settings. - You can\'t copy to a destination index that already has replicas. - Be aware of the [size limits](https://www.algolia.com/doc/guides/scaling/algolia-service-limits/#application-record-and-index-limits). - Related guide: [Copy indices](https://www.algolia.com/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/how-to/copy-indices/) **Move** - Moving a source index that doesn\'t exist is ignored without returning an error. - When moving an index, the analytics data keep their original name and a new set of analytics data is started for the new name. To access the original analytics in the dashboard, create an index with the original name. - If the destination index has replicas, moving will overwrite the existing index and copy the data to the replica indices. - Related guide: [Move indices](https://www.algolia.com/doc/guides/sending-and-managing-data/manage-indices-and-apps/manage-indices/how-to/move-indices/).
3103
3212
  *
3104
3213
  * Required API Key ACLs:
3105
3214
  * - addObject.
@@ -3784,7 +3893,369 @@ function createSearchClient({ appId: appIdOption, apiKey: apiKeyOption, authMode
3784
3893
  }
3785
3894
 
3786
3895
  // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
3787
- const apiClientVersion = apiClientVersion$1;
3896
+ const apiClientVersion$1 = '5.0.0-beta.10';
3897
+ function getDefaultHosts(appId) {
3898
+ return [
3899
+ {
3900
+ url: `${appId}-dsn.algolia.net`,
3901
+ accept: 'read',
3902
+ protocol: 'https',
3903
+ },
3904
+ {
3905
+ url: `${appId}.algolia.net`,
3906
+ accept: 'write',
3907
+ protocol: 'https',
3908
+ },
3909
+ ].concat(shuffle([
3910
+ {
3911
+ url: `${appId}-1.algolianet.com`,
3912
+ accept: 'readWrite',
3913
+ protocol: 'https',
3914
+ },
3915
+ {
3916
+ url: `${appId}-2.algolianet.com`,
3917
+ accept: 'readWrite',
3918
+ protocol: 'https',
3919
+ },
3920
+ {
3921
+ url: `${appId}-3.algolianet.com`,
3922
+ accept: 'readWrite',
3923
+ protocol: 'https',
3924
+ },
3925
+ ]));
3926
+ }
3927
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
3928
+ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authMode, algoliaAgents, ...options }) {
3929
+ const auth = createAuth(appIdOption, apiKeyOption, authMode);
3930
+ const transporter = createTransporter({
3931
+ hosts: getDefaultHosts(appIdOption),
3932
+ ...options,
3933
+ algoliaAgent: getAlgoliaAgent({
3934
+ algoliaAgents,
3935
+ client: 'Recommend',
3936
+ version: apiClientVersion$1,
3937
+ }),
3938
+ baseHeaders: {
3939
+ 'content-type': 'text/plain',
3940
+ ...auth.headers(),
3941
+ ...options.baseHeaders,
3942
+ },
3943
+ baseQueryParameters: {
3944
+ ...auth.queryParameters(),
3945
+ ...options.baseQueryParameters,
3946
+ },
3947
+ });
3948
+ return {
3949
+ transporter,
3950
+ /**
3951
+ * The `appId` currently in use.
3952
+ */
3953
+ appId: appIdOption,
3954
+ /**
3955
+ * Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
3956
+ */
3957
+ clearCache() {
3958
+ return Promise.all([
3959
+ transporter.requestsCache.clear(),
3960
+ transporter.responsesCache.clear(),
3961
+ ]).then(() => undefined);
3962
+ },
3963
+ /**
3964
+ * Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
3965
+ */
3966
+ get _ua() {
3967
+ return transporter.algoliaAgent.value;
3968
+ },
3969
+ /**
3970
+ * Adds a `segment` to the `x-algolia-agent` sent with every requests.
3971
+ *
3972
+ * @param segment - The algolia agent (user-agent) segment to add.
3973
+ * @param version - The version of the agent.
3974
+ */
3975
+ addAlgoliaAgent(segment, version) {
3976
+ transporter.algoliaAgent.add({ segment, version });
3977
+ },
3978
+ /**
3979
+ * This method allow you to send requests to the Algolia REST API.
3980
+ *
3981
+ * @param customDelete - The customDelete object.
3982
+ * @param customDelete.path - Path of the endpoint, anything after \"/1\" must be specified.
3983
+ * @param customDelete.parameters - Query parameters to apply to the current query.
3984
+ * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
3985
+ */
3986
+ customDelete({ path, parameters }, requestOptions) {
3987
+ if (!path) {
3988
+ throw new Error('Parameter `path` is required when calling `customDelete`.');
3989
+ }
3990
+ const requestPath = '/{path}'.replace('{path}', path);
3991
+ const headers = {};
3992
+ const queryParameters = parameters ? parameters : {};
3993
+ const request = {
3994
+ method: 'DELETE',
3995
+ path: requestPath,
3996
+ queryParameters,
3997
+ headers,
3998
+ };
3999
+ return transporter.request(request, requestOptions);
4000
+ },
4001
+ /**
4002
+ * This method allow you to send requests to the Algolia REST API.
4003
+ *
4004
+ * @param customGet - The customGet object.
4005
+ * @param customGet.path - Path of the endpoint, anything after \"/1\" must be specified.
4006
+ * @param customGet.parameters - Query parameters to apply to the current query.
4007
+ * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
4008
+ */
4009
+ customGet({ path, parameters }, requestOptions) {
4010
+ if (!path) {
4011
+ throw new Error('Parameter `path` is required when calling `customGet`.');
4012
+ }
4013
+ const requestPath = '/{path}'.replace('{path}', path);
4014
+ const headers = {};
4015
+ const queryParameters = parameters ? parameters : {};
4016
+ const request = {
4017
+ method: 'GET',
4018
+ path: requestPath,
4019
+ queryParameters,
4020
+ headers,
4021
+ };
4022
+ return transporter.request(request, requestOptions);
4023
+ },
4024
+ /**
4025
+ * This method allow you to send requests to the Algolia REST API.
4026
+ *
4027
+ * @param customPost - The customPost object.
4028
+ * @param customPost.path - Path of the endpoint, anything after \"/1\" must be specified.
4029
+ * @param customPost.parameters - Query parameters to apply to the current query.
4030
+ * @param customPost.body - Parameters to send with the custom request.
4031
+ * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
4032
+ */
4033
+ customPost({ path, parameters, body }, requestOptions) {
4034
+ if (!path) {
4035
+ throw new Error('Parameter `path` is required when calling `customPost`.');
4036
+ }
4037
+ const requestPath = '/{path}'.replace('{path}', path);
4038
+ const headers = {};
4039
+ const queryParameters = parameters ? parameters : {};
4040
+ const request = {
4041
+ method: 'POST',
4042
+ path: requestPath,
4043
+ queryParameters,
4044
+ headers,
4045
+ data: body ? body : {},
4046
+ };
4047
+ return transporter.request(request, requestOptions);
4048
+ },
4049
+ /**
4050
+ * This method allow you to send requests to the Algolia REST API.
4051
+ *
4052
+ * @param customPut - The customPut object.
4053
+ * @param customPut.path - Path of the endpoint, anything after \"/1\" must be specified.
4054
+ * @param customPut.parameters - Query parameters to apply to the current query.
4055
+ * @param customPut.body - Parameters to send with the custom request.
4056
+ * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
4057
+ */
4058
+ customPut({ path, parameters, body }, requestOptions) {
4059
+ if (!path) {
4060
+ throw new Error('Parameter `path` is required when calling `customPut`.');
4061
+ }
4062
+ const requestPath = '/{path}'.replace('{path}', path);
4063
+ const headers = {};
4064
+ const queryParameters = parameters ? parameters : {};
4065
+ const request = {
4066
+ method: 'PUT',
4067
+ path: requestPath,
4068
+ queryParameters,
4069
+ headers,
4070
+ data: body ? body : {},
4071
+ };
4072
+ return transporter.request(request, requestOptions);
4073
+ },
4074
+ /**
4075
+ * Deletes a Recommend rule from a recommendation scenario.
4076
+ *
4077
+ * Required API Key ACLs:
4078
+ * - editSettings.
4079
+ *
4080
+ * @param deleteRecommendRule - The deleteRecommendRule object.
4081
+ * @param deleteRecommendRule.indexName - Name of the index on which to perform the operation.
4082
+ * @param deleteRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
4083
+ * @param deleteRecommendRule.objectID - Unique record identifier.
4084
+ * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
4085
+ */
4086
+ deleteRecommendRule({ indexName, model, objectID }, requestOptions) {
4087
+ if (!indexName) {
4088
+ throw new Error('Parameter `indexName` is required when calling `deleteRecommendRule`.');
4089
+ }
4090
+ if (!model) {
4091
+ throw new Error('Parameter `model` is required when calling `deleteRecommendRule`.');
4092
+ }
4093
+ if (!objectID) {
4094
+ throw new Error('Parameter `objectID` is required when calling `deleteRecommendRule`.');
4095
+ }
4096
+ const requestPath = '/1/indexes/{indexName}/{model}/recommend/rules/{objectID}'
4097
+ .replace('{indexName}', encodeURIComponent(indexName))
4098
+ .replace('{model}', encodeURIComponent(model))
4099
+ .replace('{objectID}', encodeURIComponent(objectID));
4100
+ const headers = {};
4101
+ const queryParameters = {};
4102
+ const request = {
4103
+ method: 'DELETE',
4104
+ path: requestPath,
4105
+ queryParameters,
4106
+ headers,
4107
+ };
4108
+ return transporter.request(request, requestOptions);
4109
+ },
4110
+ /**
4111
+ * Retrieves a Recommend rule that you previously created in the Algolia dashboard.
4112
+ *
4113
+ * Required API Key ACLs:
4114
+ * - settings.
4115
+ *
4116
+ * @param getRecommendRule - The getRecommendRule object.
4117
+ * @param getRecommendRule.indexName - Name of the index on which to perform the operation.
4118
+ * @param getRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
4119
+ * @param getRecommendRule.objectID - Unique record identifier.
4120
+ * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
4121
+ */
4122
+ getRecommendRule({ indexName, model, objectID }, requestOptions) {
4123
+ if (!indexName) {
4124
+ throw new Error('Parameter `indexName` is required when calling `getRecommendRule`.');
4125
+ }
4126
+ if (!model) {
4127
+ throw new Error('Parameter `model` is required when calling `getRecommendRule`.');
4128
+ }
4129
+ if (!objectID) {
4130
+ throw new Error('Parameter `objectID` is required when calling `getRecommendRule`.');
4131
+ }
4132
+ const requestPath = '/1/indexes/{indexName}/{model}/recommend/rules/{objectID}'
4133
+ .replace('{indexName}', encodeURIComponent(indexName))
4134
+ .replace('{model}', encodeURIComponent(model))
4135
+ .replace('{objectID}', encodeURIComponent(objectID));
4136
+ const headers = {};
4137
+ const queryParameters = {};
4138
+ const request = {
4139
+ method: 'GET',
4140
+ path: requestPath,
4141
+ queryParameters,
4142
+ headers,
4143
+ };
4144
+ return transporter.request(request, requestOptions);
4145
+ },
4146
+ /**
4147
+ * Checks the status of a given task. Deleting a Recommend rule is asynchronous. When you delete a rule, a task is created on a queue and completed depending on the load on the server. The API response includes a task ID that you can use to check the status.
4148
+ *
4149
+ * Required API Key ACLs:
4150
+ * - editSettings.
4151
+ *
4152
+ * @param getRecommendStatus - The getRecommendStatus object.
4153
+ * @param getRecommendStatus.indexName - Name of the index on which to perform the operation.
4154
+ * @param getRecommendStatus.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
4155
+ * @param getRecommendStatus.taskID - Unique task identifier.
4156
+ * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
4157
+ */
4158
+ getRecommendStatus({ indexName, model, taskID }, requestOptions) {
4159
+ if (!indexName) {
4160
+ throw new Error('Parameter `indexName` is required when calling `getRecommendStatus`.');
4161
+ }
4162
+ if (!model) {
4163
+ throw new Error('Parameter `model` is required when calling `getRecommendStatus`.');
4164
+ }
4165
+ if (!taskID) {
4166
+ throw new Error('Parameter `taskID` is required when calling `getRecommendStatus`.');
4167
+ }
4168
+ const requestPath = '/1/indexes/{indexName}/{model}/task/{taskID}'
4169
+ .replace('{indexName}', encodeURIComponent(indexName))
4170
+ .replace('{model}', encodeURIComponent(model))
4171
+ .replace('{taskID}', encodeURIComponent(taskID));
4172
+ const headers = {};
4173
+ const queryParameters = {};
4174
+ const request = {
4175
+ method: 'GET',
4176
+ path: requestPath,
4177
+ queryParameters,
4178
+ headers,
4179
+ };
4180
+ return transporter.request(request, requestOptions);
4181
+ },
4182
+ /**
4183
+ * Retrieves recommendations from selected AI models.
4184
+ *
4185
+ * Required API Key ACLs:
4186
+ * - search.
4187
+ *
4188
+ * @param getRecommendationsParams - The getRecommendationsParams object.
4189
+ * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
4190
+ */
4191
+ getRecommendations(getRecommendationsParams, requestOptions) {
4192
+ if (getRecommendationsParams && Array.isArray(getRecommendationsParams)) {
4193
+ const newSignatureRequest = {
4194
+ requests: getRecommendationsParams,
4195
+ };
4196
+ // eslint-disable-next-line no-param-reassign
4197
+ getRecommendationsParams = newSignatureRequest;
4198
+ }
4199
+ if (!getRecommendationsParams) {
4200
+ throw new Error('Parameter `getRecommendationsParams` is required when calling `getRecommendations`.');
4201
+ }
4202
+ if (!getRecommendationsParams.requests) {
4203
+ throw new Error('Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.');
4204
+ }
4205
+ const requestPath = '/1/indexes/*/recommendations';
4206
+ const headers = {};
4207
+ const queryParameters = {};
4208
+ const request = {
4209
+ method: 'POST',
4210
+ path: requestPath,
4211
+ queryParameters,
4212
+ headers,
4213
+ data: getRecommendationsParams,
4214
+ useReadTransporter: true,
4215
+ cacheable: true,
4216
+ };
4217
+ return transporter.request(request, requestOptions);
4218
+ },
4219
+ /**
4220
+ * Searches for Recommend rules. Use an empty query to list all rules for this recommendation scenario.
4221
+ *
4222
+ * Required API Key ACLs:
4223
+ * - settings.
4224
+ *
4225
+ * @param searchRecommendRules - The searchRecommendRules object.
4226
+ * @param searchRecommendRules.indexName - Name of the index on which to perform the operation.
4227
+ * @param searchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
4228
+ * @param searchRecommendRules.searchRecommendRulesParams - The searchRecommendRulesParams object.
4229
+ * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
4230
+ */
4231
+ searchRecommendRules({ indexName, model, searchRecommendRulesParams, }, requestOptions) {
4232
+ if (!indexName) {
4233
+ throw new Error('Parameter `indexName` is required when calling `searchRecommendRules`.');
4234
+ }
4235
+ if (!model) {
4236
+ throw new Error('Parameter `model` is required when calling `searchRecommendRules`.');
4237
+ }
4238
+ const requestPath = '/1/indexes/{indexName}/{model}/recommend/rules/search'
4239
+ .replace('{indexName}', encodeURIComponent(indexName))
4240
+ .replace('{model}', encodeURIComponent(model));
4241
+ const headers = {};
4242
+ const queryParameters = {};
4243
+ const request = {
4244
+ method: 'POST',
4245
+ path: requestPath,
4246
+ queryParameters,
4247
+ headers,
4248
+ data: searchRecommendRulesParams ? searchRecommendRulesParams : {},
4249
+ useReadTransporter: true,
4250
+ cacheable: true,
4251
+ };
4252
+ return transporter.request(request, requestOptions);
4253
+ },
4254
+ };
4255
+ }
4256
+
4257
+ // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
4258
+ const apiClientVersion = apiClientVersion$2;
3788
4259
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
3789
4260
  function algoliasearch(appId, apiKey, options) {
3790
4261
  if (!appId || typeof appId !== 'string') {
@@ -3808,6 +4279,13 @@ function algoliasearch(appId, apiKey, options) {
3808
4279
  hostsCache: createMemoryCache(),
3809
4280
  ...options,
3810
4281
  };
4282
+ function initRecommend(initOptions = {}) {
4283
+ return createRecommendClient({
4284
+ ...commonOptions,
4285
+ ...initOptions.options,
4286
+ ...initOptions,
4287
+ });
4288
+ }
3811
4289
  function initAnalytics(initOptions = {}) {
3812
4290
  if (initOptions.region &&
3813
4291
  (typeof initOptions.region !== 'string' ||
@@ -3853,9 +4331,10 @@ function algoliasearch(appId, apiKey, options) {
3853
4331
  get _ua() {
3854
4332
  return this.transporter.algoliaAgent.value;
3855
4333
  },
4334
+ initAbtesting,
3856
4335
  initAnalytics,
3857
4336
  initPersonalization,
3858
- initAbtesting,
4337
+ initRecommend,
3859
4338
  /**
3860
4339
  * Helper: Generates a secured API key based on the given `parentApiKey` and given `restrictions`.
3861
4340
  *
@@ -3865,7 +4344,23 @@ function algoliasearch(appId, apiKey, options) {
3865
4344
  * @param generateSecuredApiKey.restrictions - A set of properties defining the restrictions of the secured API key.
3866
4345
  */
3867
4346
  generateSecuredApiKey({ parentApiKey, restrictions = {}, }) {
3868
- const queryParameters = serializeQueryParameters(restrictions);
4347
+ let mergedRestrictions = restrictions;
4348
+ if (restrictions.searchParams) {
4349
+ // merge searchParams with the root restrictions
4350
+ mergedRestrictions = {
4351
+ ...restrictions,
4352
+ ...restrictions.searchParams,
4353
+ };
4354
+ delete mergedRestrictions.searchParams;
4355
+ }
4356
+ mergedRestrictions = Object.keys(mergedRestrictions)
4357
+ .sort()
4358
+ .reduce((acc, key) => {
4359
+ // eslint-disable-next-line no-param-reassign
4360
+ acc[key] = mergedRestrictions[key];
4361
+ return acc;
4362
+ }, {});
4363
+ const queryParameters = serializeQueryParameters(mergedRestrictions);
3869
4364
  return Buffer.from(createHmac('sha256', parentApiKey)
3870
4365
  .update(queryParameters)
3871
4366
  .digest('hex') + queryParameters).toString('base64');