algoliasearch 5.0.0-alpha.99 → 5.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) hide show
  1. package/builds/browser.ts +10 -17
  2. package/builds/node.ts +58 -15
  3. package/dist/algoliasearch/builds/browser.d.ts +10 -5
  4. package/dist/algoliasearch/builds/browser.d.ts.map +1 -1
  5. package/dist/algoliasearch/builds/node.d.ts +28 -6
  6. package/dist/algoliasearch/builds/node.d.ts.map +1 -1
  7. package/dist/algoliasearch.cjs +752 -387
  8. package/dist/algoliasearch.esm.browser.js +724 -393
  9. package/dist/algoliasearch.esm.node.js +753 -388
  10. package/dist/algoliasearch.umd.js +2 -2
  11. package/dist/client-abtesting/model/aBTest.d.ts +14 -29
  12. package/dist/client-abtesting/model/aBTest.d.ts.map +1 -1
  13. package/dist/client-abtesting/model/aBTestConfiguration.d.ts +12 -0
  14. package/dist/client-abtesting/model/aBTestConfiguration.d.ts.map +1 -0
  15. package/dist/client-abtesting/model/aBTestResponse.d.ts +3 -3
  16. package/dist/client-abtesting/model/abTestsVariant.d.ts +3 -3
  17. package/dist/client-abtesting/model/addABTestsRequest.d.ts +1 -1
  18. package/dist/client-abtesting/model/clientMethodProps.d.ts +7 -7
  19. package/dist/client-abtesting/model/{currenciesValue.d.ts → currency.d.ts} +2 -2
  20. package/dist/client-abtesting/model/currency.d.ts.map +1 -0
  21. package/dist/client-abtesting/model/customSearchParams.d.ts +1 -1
  22. package/dist/client-abtesting/model/effect.d.ts +5 -0
  23. package/dist/client-abtesting/model/effect.d.ts.map +1 -0
  24. package/dist/client-abtesting/model/emptySearch.d.ts +10 -0
  25. package/dist/client-abtesting/model/emptySearch.d.ts.map +1 -0
  26. package/dist/client-abtesting/model/index.d.ts +7 -1
  27. package/dist/client-abtesting/model/index.d.ts.map +1 -1
  28. package/dist/client-abtesting/model/listABTestsResponse.d.ts +2 -2
  29. package/dist/client-abtesting/model/listABTestsResponse.d.ts.map +1 -1
  30. package/dist/client-abtesting/model/minimumDetectableEffect.d.ts +12 -0
  31. package/dist/client-abtesting/model/minimumDetectableEffect.d.ts.map +1 -0
  32. package/dist/client-abtesting/model/outliers.d.ts +10 -0
  33. package/dist/client-abtesting/model/outliers.d.ts.map +1 -0
  34. package/dist/client-abtesting/model/status.d.ts +5 -0
  35. package/dist/client-abtesting/model/status.d.ts.map +1 -0
  36. package/dist/client-abtesting/model/variant.d.ts +29 -25
  37. package/dist/client-abtesting/model/variant.d.ts.map +1 -1
  38. package/dist/client-abtesting/src/abtestingClient.d.ts +28 -26
  39. package/dist/client-abtesting/src/abtestingClient.d.ts.map +1 -1
  40. package/dist/client-analytics/model/clickPositionsInner.d.ts +14 -0
  41. package/dist/client-analytics/model/clickPositionsInner.d.ts.map +1 -0
  42. package/dist/client-analytics/model/clientMethodProps.d.ts +161 -90
  43. package/dist/client-analytics/model/clientMethodProps.d.ts.map +1 -1
  44. package/dist/client-analytics/model/currenciesValue.d.ts +14 -0
  45. package/dist/client-analytics/model/currenciesValue.d.ts.map +1 -0
  46. package/dist/client-analytics/model/dailyAddToCartRates.d.ts +19 -0
  47. package/dist/client-analytics/model/dailyAddToCartRates.d.ts.map +1 -0
  48. package/dist/client-analytics/model/dailyAverageClicks.d.ts +15 -0
  49. package/dist/client-analytics/model/dailyAverageClicks.d.ts.map +1 -0
  50. package/dist/client-analytics/model/dailyClickThroughRates.d.ts +19 -0
  51. package/dist/client-analytics/model/dailyClickThroughRates.d.ts.map +1 -0
  52. package/dist/client-analytics/model/dailyConversionRates.d.ts +19 -0
  53. package/dist/client-analytics/model/dailyConversionRates.d.ts.map +1 -0
  54. package/dist/client-analytics/model/dailyNoClickRates.d.ts +19 -0
  55. package/dist/client-analytics/model/dailyNoClickRates.d.ts.map +1 -0
  56. package/dist/client-analytics/model/dailyNoResultsRates.d.ts +19 -0
  57. package/dist/client-analytics/model/dailyNoResultsRates.d.ts.map +1 -0
  58. package/dist/client-analytics/model/dailyPurchaseRates.d.ts +19 -0
  59. package/dist/client-analytics/model/dailyPurchaseRates.d.ts.map +1 -0
  60. package/dist/client-analytics/model/dailyRevenue.d.ts +12 -0
  61. package/dist/client-analytics/model/dailyRevenue.d.ts.map +1 -0
  62. package/dist/client-analytics/model/dailySearches.d.ts +11 -0
  63. package/dist/client-analytics/model/dailySearches.d.ts.map +1 -0
  64. package/dist/client-analytics/model/dailySearchesNoClicks.d.ts +15 -0
  65. package/dist/client-analytics/model/dailySearchesNoClicks.d.ts.map +1 -0
  66. package/dist/client-analytics/model/dailySearchesNoResults.d.ts +15 -0
  67. package/dist/client-analytics/model/dailySearchesNoResults.d.ts.map +1 -0
  68. package/dist/client-analytics/model/dailyUsers.d.ts +11 -0
  69. package/dist/client-analytics/model/dailyUsers.d.ts.map +1 -0
  70. package/dist/client-analytics/model/getAddToCartRateResponse.d.ts +20 -0
  71. package/dist/client-analytics/model/getAddToCartRateResponse.d.ts.map +1 -0
  72. package/dist/client-analytics/model/getAverageClickPositionResponse.d.ts +6 -6
  73. package/dist/client-analytics/model/getAverageClickPositionResponse.d.ts.map +1 -1
  74. package/dist/client-analytics/model/getClickPositionsResponse.d.ts +3 -3
  75. package/dist/client-analytics/model/getClickPositionsResponse.d.ts.map +1 -1
  76. package/dist/client-analytics/model/getClickThroughRateResponse.d.ts +7 -7
  77. package/dist/client-analytics/model/getClickThroughRateResponse.d.ts.map +1 -1
  78. package/dist/client-analytics/model/getConversionRateResponse.d.ts +20 -0
  79. package/dist/client-analytics/model/getConversionRateResponse.d.ts.map +1 -0
  80. package/dist/client-analytics/model/getNoClickRateResponse.d.ts +6 -6
  81. package/dist/client-analytics/model/getNoClickRateResponse.d.ts.map +1 -1
  82. package/dist/client-analytics/model/getNoResultsRateResponse.d.ts +6 -6
  83. package/dist/client-analytics/model/getNoResultsRateResponse.d.ts.map +1 -1
  84. package/dist/client-analytics/model/getPurchaseRateResponse.d.ts +20 -0
  85. package/dist/client-analytics/model/getPurchaseRateResponse.d.ts.map +1 -0
  86. package/dist/client-analytics/model/getRevenue.d.ts +13 -0
  87. package/dist/client-analytics/model/getRevenue.d.ts.map +1 -0
  88. package/dist/client-analytics/model/getSearchesCountResponse.d.ts +3 -3
  89. package/dist/client-analytics/model/getSearchesCountResponse.d.ts.map +1 -1
  90. package/dist/client-analytics/model/getSearchesNoClicksResponse.d.ts +3 -3
  91. package/dist/client-analytics/model/getSearchesNoClicksResponse.d.ts.map +1 -1
  92. package/dist/client-analytics/model/getSearchesNoResultsResponse.d.ts +3 -3
  93. package/dist/client-analytics/model/getSearchesNoResultsResponse.d.ts.map +1 -1
  94. package/dist/client-analytics/model/getStatusResponse.d.ts +2 -2
  95. package/dist/client-analytics/model/getStatusResponse.d.ts.map +1 -1
  96. package/dist/client-analytics/model/getTopCountriesResponse.d.ts +1 -1
  97. package/dist/client-analytics/model/getTopFilterAttributesResponse.d.ts +1 -1
  98. package/dist/client-analytics/model/getTopFilterForAttribute.d.ts +2 -4
  99. package/dist/client-analytics/model/getTopFilterForAttribute.d.ts.map +1 -1
  100. package/dist/client-analytics/model/getTopFiltersNoResultsResponse.d.ts +2 -2
  101. package/dist/client-analytics/model/getTopFiltersNoResultsResponse.d.ts.map +1 -1
  102. package/dist/client-analytics/model/getTopFiltersNoResultsValue.d.ts +2 -4
  103. package/dist/client-analytics/model/getTopFiltersNoResultsValue.d.ts.map +1 -1
  104. package/dist/client-analytics/model/getTopHitsResponse.d.ts +2 -1
  105. package/dist/client-analytics/model/getTopHitsResponse.d.ts.map +1 -1
  106. package/dist/client-analytics/model/getTopSearchesResponse.d.ts +2 -1
  107. package/dist/client-analytics/model/getTopSearchesResponse.d.ts.map +1 -1
  108. package/dist/client-analytics/model/getUsersCountResponse.d.ts +4 -4
  109. package/dist/client-analytics/model/getUsersCountResponse.d.ts.map +1 -1
  110. package/dist/client-analytics/model/index.d.ts +23 -11
  111. package/dist/client-analytics/model/index.d.ts.map +1 -1
  112. package/dist/client-analytics/model/operator.d.ts +5 -0
  113. package/dist/client-analytics/model/operator.d.ts.map +1 -0
  114. package/dist/client-analytics/model/orderBy.d.ts +1 -1
  115. package/dist/client-analytics/model/topCountry.d.ts +1 -1
  116. package/dist/client-analytics/model/topHit.d.ts +1 -1
  117. package/dist/client-analytics/model/topHitWithAnalytics.d.ts +9 -9
  118. package/dist/client-analytics/model/topHitWithAnalytics.d.ts.map +1 -1
  119. package/dist/client-analytics/model/topHitWithRevenueAnalytics.d.ts +52 -0
  120. package/dist/client-analytics/model/topHitWithRevenueAnalytics.d.ts.map +1 -0
  121. package/dist/client-analytics/model/topHitsResponse.d.ts +1 -1
  122. package/dist/client-analytics/model/topHitsResponseWithAnalytics.d.ts +1 -1
  123. package/dist/client-analytics/model/topHitsResponseWithRevenueAnalytics.d.ts +8 -0
  124. package/dist/client-analytics/model/topHitsResponseWithRevenueAnalytics.d.ts.map +1 -0
  125. package/dist/client-analytics/model/topSearch.d.ts +3 -3
  126. package/dist/client-analytics/model/topSearchWithAnalytics.d.ts +17 -12
  127. package/dist/client-analytics/model/topSearchWithAnalytics.d.ts.map +1 -1
  128. package/dist/client-analytics/model/topSearchWithRevenueAnalytics.d.ts +65 -0
  129. package/dist/client-analytics/model/topSearchWithRevenueAnalytics.d.ts.map +1 -0
  130. package/dist/client-analytics/model/topSearchesResponse.d.ts +1 -1
  131. package/dist/client-analytics/model/topSearchesResponseWithAnalytics.d.ts +1 -1
  132. package/dist/client-analytics/model/topSearchesResponseWithRevenueAnalytics.d.ts +8 -0
  133. package/dist/client-analytics/model/topSearchesResponseWithRevenueAnalytics.d.ts.map +1 -0
  134. package/dist/client-analytics/src/analyticsClient.d.ts +211 -138
  135. package/dist/client-analytics/src/analyticsClient.d.ts.map +1 -1
  136. package/dist/client-personalization/model/clientMethodProps.d.ts +2 -2
  137. package/dist/client-personalization/model/deleteUserProfileResponse.d.ts +2 -2
  138. package/dist/client-personalization/model/eventScoring.d.ts +4 -6
  139. package/dist/client-personalization/model/eventScoring.d.ts.map +1 -1
  140. package/dist/client-personalization/model/eventType.d.ts +5 -0
  141. package/dist/client-personalization/model/eventType.d.ts.map +1 -0
  142. package/dist/client-personalization/model/facetScoring.d.ts +2 -2
  143. package/dist/client-personalization/model/getUserTokenResponse.d.ts +3 -3
  144. package/dist/client-personalization/model/index.d.ts +1 -0
  145. package/dist/client-personalization/model/index.d.ts.map +1 -1
  146. package/dist/client-personalization/model/personalizationStrategyParams.d.ts +3 -3
  147. package/dist/client-personalization/src/personalizationClient.d.ts +19 -19
  148. package/dist/client-personalization/src/personalizationClient.d.ts.map +1 -1
  149. package/dist/client-search/model/acl.d.ts +1 -1
  150. package/dist/client-search/model/action.d.ts +1 -1
  151. package/dist/client-search/model/addApiKeyResponse.d.ts +1 -1
  152. package/dist/client-search/model/anchoring.d.ts +1 -1
  153. package/dist/client-search/model/apiKey.d.ts +8 -8
  154. package/dist/client-search/model/apiKeyOperation.d.ts +2 -0
  155. package/dist/client-search/model/apiKeyOperation.d.ts.map +1 -0
  156. package/dist/client-search/model/aroundPrecision.d.ts +1 -1
  157. package/dist/client-search/model/aroundPrecisionFromValueInner.d.ts +9 -0
  158. package/dist/client-search/model/aroundPrecisionFromValueInner.d.ts.map +1 -1
  159. package/dist/client-search/model/aroundRadius.d.ts +1 -1
  160. package/dist/client-search/model/aroundRadiusAll.d.ts +3 -0
  161. package/dist/client-search/model/aroundRadiusAll.d.ts.map +1 -1
  162. package/dist/client-search/model/automaticFacetFilter.d.ts +4 -4
  163. package/dist/client-search/model/automaticFacetFilters.d.ts +1 -1
  164. package/dist/client-search/model/baseGetApiKeyResponse.d.ts +1 -1
  165. package/dist/client-search/model/baseIndexSettings.d.ts +22 -17
  166. package/dist/client-search/model/baseIndexSettings.d.ts.map +1 -1
  167. package/dist/client-search/model/baseSearchParamsWithoutQuery.d.ts +26 -29
  168. package/dist/client-search/model/baseSearchParamsWithoutQuery.d.ts.map +1 -1
  169. package/dist/client-search/model/baseSearchResponse.d.ts +10 -6
  170. package/dist/client-search/model/baseSearchResponse.d.ts.map +1 -1
  171. package/dist/client-search/model/batchDictionaryEntriesParams.d.ts +3 -3
  172. package/dist/client-search/model/batchResponse.d.ts +2 -2
  173. package/dist/client-search/model/builtInOperation.d.ts +2 -2
  174. package/dist/client-search/model/builtInOperationType.d.ts +1 -1
  175. package/dist/client-search/model/clientMethodProps.d.ts +124 -65
  176. package/dist/client-search/model/clientMethodProps.d.ts.map +1 -1
  177. package/dist/client-search/model/condition.d.ts +7 -3
  178. package/dist/client-search/model/condition.d.ts.map +1 -1
  179. package/dist/client-search/model/consequence.d.ts +5 -5
  180. package/dist/client-search/model/consequenceHide.d.ts +2 -2
  181. package/dist/client-search/model/consequenceQuery.d.ts +1 -1
  182. package/dist/client-search/model/consequenceQueryObject.d.ts +2 -2
  183. package/dist/client-search/model/createdAtResponse.d.ts +1 -1
  184. package/dist/client-search/model/cursor.d.ts +1 -1
  185. package/dist/client-search/model/deleteApiKeyResponse.d.ts +1 -1
  186. package/dist/client-search/model/deleteByParams.d.ts +4 -4
  187. package/dist/client-search/model/deleteSourceResponse.d.ts +1 -1
  188. package/dist/client-search/model/deletedAtResponse.d.ts +2 -2
  189. package/dist/client-search/model/dictionaryEntry.d.ts +6 -8
  190. package/dist/client-search/model/dictionaryEntry.d.ts.map +1 -1
  191. package/dist/client-search/model/dictionaryEntryState.d.ts +1 -1
  192. package/dist/client-search/model/dictionaryLanguage.d.ts +2 -2
  193. package/dist/client-search/model/dictionarySettingsParams.d.ts +1 -1
  194. package/dist/client-search/model/distinct.d.ts +1 -1
  195. package/dist/client-search/model/edit.d.ts +1 -1
  196. package/dist/client-search/model/exactOnSingleWordQuery.d.ts +1 -1
  197. package/dist/client-search/model/facetFilters.d.ts +1 -1
  198. package/dist/client-search/model/facetHits.d.ts +2 -2
  199. package/dist/client-search/model/facetOrdering.d.ts +2 -2
  200. package/dist/client-search/model/facets.d.ts +2 -2
  201. package/dist/client-search/model/fetchedIndex.d.ts +1 -1
  202. package/dist/client-search/model/getObjectsRequest.d.ts +3 -3
  203. package/dist/client-search/model/getObjectsResponse.d.ts +1 -1
  204. package/dist/client-search/model/hasPendingMappingsResponse.d.ts +1 -1
  205. package/dist/client-search/model/highlightResult.d.ts +1 -1
  206. package/dist/client-search/model/highlightResult.d.ts.map +1 -1
  207. package/dist/client-search/model/highlightResultOption.d.ts +3 -3
  208. package/dist/client-search/model/hit.d.ts +4 -4
  209. package/dist/client-search/model/ignorePlurals.d.ts +3 -2
  210. package/dist/client-search/model/ignorePlurals.d.ts.map +1 -1
  211. package/dist/client-search/model/index.d.ts +4 -0
  212. package/dist/client-search/model/index.d.ts.map +1 -1
  213. package/dist/client-search/model/indexSettings.d.ts +1 -1
  214. package/dist/client-search/model/indexSettingsAsSearchParams.d.ts +32 -35
  215. package/dist/client-search/model/indexSettingsAsSearchParams.d.ts.map +1 -1
  216. package/dist/client-search/model/log.d.ts +11 -11
  217. package/dist/client-search/model/logQuery.d.ts +1 -1
  218. package/dist/client-search/model/matchLevel.d.ts +1 -1
  219. package/dist/client-search/model/mode.d.ts +1 -1
  220. package/dist/client-search/model/multipleBatchRequest.d.ts +1 -1
  221. package/dist/client-search/model/multipleBatchResponse.d.ts +2 -2
  222. package/dist/client-search/model/numericFilters.d.ts +1 -1
  223. package/dist/client-search/model/operationIndexParams.d.ts +2 -2
  224. package/dist/client-search/model/operationType.d.ts +1 -1
  225. package/dist/client-search/model/optionalFilters.d.ts +1 -1
  226. package/dist/client-search/model/params.d.ts +1 -1
  227. package/dist/client-search/model/promoteObjectID.d.ts +2 -2
  228. package/dist/client-search/model/promoteObjectIDs.d.ts +2 -2
  229. package/dist/client-search/model/queryType.d.ts +1 -1
  230. package/dist/client-search/model/rankingInfo.d.ts +10 -7
  231. package/dist/client-search/model/rankingInfo.d.ts.map +1 -1
  232. package/dist/client-search/model/reRankingApplyFilter.d.ts +1 -1
  233. package/dist/client-search/model/removeStopWords.d.ts +3 -2
  234. package/dist/client-search/model/removeStopWords.d.ts.map +1 -1
  235. package/dist/client-search/model/removeUserIdResponse.d.ts +1 -1
  236. package/dist/client-search/model/removeWordsIfNoResults.d.ts +1 -1
  237. package/dist/client-search/model/renderingContent.d.ts +1 -1
  238. package/dist/client-search/model/replaceSourceResponse.d.ts +1 -1
  239. package/dist/client-search/model/rule.d.ts +5 -5
  240. package/dist/client-search/model/saveObjectResponse.d.ts +3 -3
  241. package/dist/client-search/model/saveSynonymResponse.d.ts +2 -2
  242. package/dist/client-search/model/searchDictionaryEntriesParams.d.ts +5 -7
  243. package/dist/client-search/model/searchDictionaryEntriesParams.d.ts.map +1 -1
  244. package/dist/client-search/model/searchDictionaryEntriesResponse.d.ts +20 -0
  245. package/dist/client-search/model/searchDictionaryEntriesResponse.d.ts.map +1 -0
  246. package/dist/client-search/model/searchForFacetValuesRequest.d.ts +1 -1
  247. package/dist/client-search/model/searchForFacetValuesResponse.d.ts +3 -0
  248. package/dist/client-search/model/searchForFacetValuesResponse.d.ts.map +1 -1
  249. package/dist/client-search/model/searchForFacetsOptions.d.ts +2 -2
  250. package/dist/client-search/model/searchForHitsOptions.d.ts +1 -1
  251. package/dist/client-search/model/searchHits.d.ts +6 -3
  252. package/dist/client-search/model/searchHits.d.ts.map +1 -1
  253. package/dist/client-search/model/searchParamsObject.d.ts +3 -0
  254. package/dist/client-search/model/searchParamsObject.d.ts.map +1 -1
  255. package/dist/client-search/model/searchParamsQuery.d.ts +1 -1
  256. package/dist/client-search/model/searchRulesParams.d.ts +4 -8
  257. package/dist/client-search/model/searchRulesParams.d.ts.map +1 -1
  258. package/dist/client-search/model/searchRulesResponse.d.ts +2 -2
  259. package/dist/client-search/model/searchStrategy.d.ts +1 -1
  260. package/dist/client-search/model/searchSynonymsParams.d.ts +2 -2
  261. package/dist/client-search/model/searchSynonymsResponse.d.ts +2 -2
  262. package/dist/client-search/model/searchUserIdsParams.d.ts +1 -1
  263. package/dist/client-search/model/searchUserIdsResponse.d.ts +3 -3
  264. package/dist/client-search/model/securedAPIKeyRestrictions.d.ts +25 -0
  265. package/dist/client-search/model/securedAPIKeyRestrictions.d.ts.map +1 -0
  266. package/dist/client-search/model/semanticSearch.d.ts +2 -2
  267. package/dist/client-search/model/snippetResult.d.ts +1 -1
  268. package/dist/client-search/model/snippetResult.d.ts.map +1 -1
  269. package/dist/client-search/model/snippetResultOption.d.ts +2 -2
  270. package/dist/client-search/model/sortRemainingBy.d.ts +1 -1
  271. package/dist/client-search/model/supportedLanguage.d.ts +5 -0
  272. package/dist/client-search/model/supportedLanguage.d.ts.map +1 -0
  273. package/dist/client-search/model/tagFilters.d.ts +1 -1
  274. package/dist/client-search/model/taskStatus.d.ts +1 -1
  275. package/dist/client-search/model/timeRange.d.ts +2 -2
  276. package/dist/client-search/model/typoTolerance.d.ts +1 -1
  277. package/dist/client-search/model/typoToleranceEnum.d.ts +3 -0
  278. package/dist/client-search/model/typoToleranceEnum.d.ts.map +1 -1
  279. package/dist/client-search/model/updateApiKeyResponse.d.ts +1 -1
  280. package/dist/client-search/model/updatedAtResponse.d.ts +2 -2
  281. package/dist/client-search/model/updatedAtWithObjectIdResponse.d.ts +3 -3
  282. package/dist/client-search/model/updatedRuleResponse.d.ts +3 -3
  283. package/dist/client-search/model/userHit.d.ts +1 -1
  284. package/dist/client-search/model/userId.d.ts +1 -1
  285. package/dist/client-search/model/value.d.ts +1 -1
  286. package/dist/client-search/src/searchClient.d.ts +324 -202
  287. package/dist/client-search/src/searchClient.d.ts.map +1 -1
  288. package/dist/lite/builds/browser.d.ts +14 -3
  289. package/dist/lite/builds/browser.d.ts.map +1 -1
  290. package/dist/lite/builds/node.d.ts +14 -3
  291. package/dist/lite/builds/node.d.ts.map +1 -1
  292. package/dist/lite/lite.cjs +8 -6
  293. package/dist/lite/lite.esm.browser.js +13 -14
  294. package/dist/lite/lite.esm.node.js +8 -6
  295. package/dist/lite/lite.umd.js +2 -2
  296. package/dist/lite/model/acl.d.ts +1 -1
  297. package/dist/lite/model/action.d.ts +1 -1
  298. package/dist/lite/model/addApiKeyResponse.d.ts +1 -1
  299. package/dist/lite/model/anchoring.d.ts +1 -1
  300. package/dist/lite/model/apiKey.d.ts +8 -8
  301. package/dist/lite/model/apiKeyOperation.d.ts +2 -0
  302. package/dist/lite/model/apiKeyOperation.d.ts.map +1 -0
  303. package/dist/lite/model/aroundPrecision.d.ts +1 -1
  304. package/dist/lite/model/aroundPrecisionFromValueInner.d.ts +9 -0
  305. package/dist/lite/model/aroundPrecisionFromValueInner.d.ts.map +1 -1
  306. package/dist/lite/model/aroundRadius.d.ts +1 -1
  307. package/dist/lite/model/aroundRadiusAll.d.ts +3 -0
  308. package/dist/lite/model/aroundRadiusAll.d.ts.map +1 -1
  309. package/dist/lite/model/automaticFacetFilter.d.ts +4 -4
  310. package/dist/lite/model/automaticFacetFilters.d.ts +1 -1
  311. package/dist/lite/model/baseGetApiKeyResponse.d.ts +1 -1
  312. package/dist/lite/model/baseIndexSettings.d.ts +22 -17
  313. package/dist/lite/model/baseIndexSettings.d.ts.map +1 -1
  314. package/dist/lite/model/baseSearchParamsWithoutQuery.d.ts +26 -29
  315. package/dist/lite/model/baseSearchParamsWithoutQuery.d.ts.map +1 -1
  316. package/dist/lite/model/baseSearchResponse.d.ts +10 -6
  317. package/dist/lite/model/baseSearchResponse.d.ts.map +1 -1
  318. package/dist/lite/model/builtInOperation.d.ts +2 -2
  319. package/dist/lite/model/builtInOperationType.d.ts +1 -1
  320. package/dist/lite/model/condition.d.ts +7 -3
  321. package/dist/lite/model/condition.d.ts.map +1 -1
  322. package/dist/lite/model/consequence.d.ts +5 -5
  323. package/dist/lite/model/consequenceHide.d.ts +2 -2
  324. package/dist/lite/model/consequenceQuery.d.ts +1 -1
  325. package/dist/lite/model/consequenceQueryObject.d.ts +2 -2
  326. package/dist/lite/model/cursor.d.ts +1 -1
  327. package/dist/lite/model/deleteByParams.d.ts +4 -4
  328. package/dist/lite/model/dictionaryEntry.d.ts +6 -8
  329. package/dist/lite/model/dictionaryEntry.d.ts.map +1 -1
  330. package/dist/lite/model/dictionaryEntryState.d.ts +1 -1
  331. package/dist/lite/model/dictionaryLanguage.d.ts +2 -2
  332. package/dist/lite/model/distinct.d.ts +1 -1
  333. package/dist/lite/model/edit.d.ts +1 -1
  334. package/dist/lite/model/exactOnSingleWordQuery.d.ts +1 -1
  335. package/dist/lite/model/facetFilters.d.ts +1 -1
  336. package/dist/lite/model/facetHits.d.ts +2 -2
  337. package/dist/lite/model/facetOrdering.d.ts +2 -2
  338. package/dist/lite/model/facets.d.ts +2 -2
  339. package/dist/lite/model/fetchedIndex.d.ts +1 -1
  340. package/dist/lite/model/highlightResult.d.ts +1 -1
  341. package/dist/lite/model/highlightResult.d.ts.map +1 -1
  342. package/dist/lite/model/highlightResultOption.d.ts +3 -3
  343. package/dist/lite/model/hit.d.ts +4 -4
  344. package/dist/lite/model/ignorePlurals.d.ts +3 -2
  345. package/dist/lite/model/ignorePlurals.d.ts.map +1 -1
  346. package/dist/lite/model/index.d.ts +4 -0
  347. package/dist/lite/model/index.d.ts.map +1 -1
  348. package/dist/lite/model/indexSettings.d.ts +1 -1
  349. package/dist/lite/model/indexSettingsAsSearchParams.d.ts +32 -35
  350. package/dist/lite/model/indexSettingsAsSearchParams.d.ts.map +1 -1
  351. package/dist/lite/model/matchLevel.d.ts +1 -1
  352. package/dist/lite/model/mode.d.ts +1 -1
  353. package/dist/lite/model/numericFilters.d.ts +1 -1
  354. package/dist/lite/model/operationType.d.ts +1 -1
  355. package/dist/lite/model/optionalFilters.d.ts +1 -1
  356. package/dist/lite/model/params.d.ts +1 -1
  357. package/dist/lite/model/promoteObjectID.d.ts +2 -2
  358. package/dist/lite/model/promoteObjectIDs.d.ts +2 -2
  359. package/dist/lite/model/queryType.d.ts +1 -1
  360. package/dist/lite/model/rankingInfo.d.ts +10 -7
  361. package/dist/lite/model/rankingInfo.d.ts.map +1 -1
  362. package/dist/lite/model/reRankingApplyFilter.d.ts +1 -1
  363. package/dist/lite/model/removeStopWords.d.ts +3 -2
  364. package/dist/lite/model/removeStopWords.d.ts.map +1 -1
  365. package/dist/lite/model/removeWordsIfNoResults.d.ts +1 -1
  366. package/dist/lite/model/renderingContent.d.ts +1 -1
  367. package/dist/lite/model/rule.d.ts +5 -5
  368. package/dist/lite/model/searchDictionaryEntriesResponse.d.ts +20 -0
  369. package/dist/lite/model/searchDictionaryEntriesResponse.d.ts.map +1 -0
  370. package/dist/lite/model/searchForFacetValuesResponse.d.ts +3 -0
  371. package/dist/lite/model/searchForFacetValuesResponse.d.ts.map +1 -1
  372. package/dist/lite/model/searchForFacetsOptions.d.ts +2 -2
  373. package/dist/lite/model/searchForHitsOptions.d.ts +1 -1
  374. package/dist/lite/model/searchHits.d.ts +6 -3
  375. package/dist/lite/model/searchHits.d.ts.map +1 -1
  376. package/dist/lite/model/searchParamsObject.d.ts +3 -0
  377. package/dist/lite/model/searchParamsObject.d.ts.map +1 -1
  378. package/dist/lite/model/searchParamsQuery.d.ts +1 -1
  379. package/dist/lite/model/searchStrategy.d.ts +1 -1
  380. package/dist/lite/model/searchSynonymsResponse.d.ts +2 -2
  381. package/dist/lite/model/securedAPIKeyRestrictions.d.ts +25 -0
  382. package/dist/lite/model/securedAPIKeyRestrictions.d.ts.map +1 -0
  383. package/dist/lite/model/semanticSearch.d.ts +2 -2
  384. package/dist/lite/model/snippetResult.d.ts +1 -1
  385. package/dist/lite/model/snippetResult.d.ts.map +1 -1
  386. package/dist/lite/model/snippetResultOption.d.ts +2 -2
  387. package/dist/lite/model/sortRemainingBy.d.ts +1 -1
  388. package/dist/lite/model/supportedLanguage.d.ts +5 -0
  389. package/dist/lite/model/supportedLanguage.d.ts.map +1 -0
  390. package/dist/lite/model/tagFilters.d.ts +1 -1
  391. package/dist/lite/model/taskStatus.d.ts +1 -1
  392. package/dist/lite/model/timeRange.d.ts +2 -2
  393. package/dist/lite/model/typoTolerance.d.ts +1 -1
  394. package/dist/lite/model/typoToleranceEnum.d.ts +3 -0
  395. package/dist/lite/model/typoToleranceEnum.d.ts.map +1 -1
  396. package/dist/lite/model/updatedRuleResponse.d.ts +3 -3
  397. package/dist/lite/model/userId.d.ts +1 -1
  398. package/dist/lite/model/value.d.ts +1 -1
  399. package/dist/lite/src/liteClient.d.ts +6 -9
  400. package/dist/lite/src/liteClient.d.ts.map +1 -1
  401. package/lite/builds/browser.ts +11 -6
  402. package/lite/builds/node.ts +10 -5
  403. package/lite/model/acl.ts +1 -1
  404. package/lite/model/action.ts +1 -1
  405. package/lite/model/addApiKeyResponse.ts +1 -1
  406. package/lite/model/anchoring.ts +1 -1
  407. package/lite/model/apiKey.ts +8 -8
  408. package/lite/model/apiKeyOperation.ts +3 -0
  409. package/lite/model/aroundPrecision.ts +1 -1
  410. package/lite/model/aroundPrecisionFromValueInner.ts +9 -0
  411. package/lite/model/aroundRadius.ts +1 -1
  412. package/lite/model/aroundRadiusAll.ts +3 -0
  413. package/lite/model/automaticFacetFilter.ts +4 -4
  414. package/lite/model/automaticFacetFilters.ts +1 -1
  415. package/lite/model/baseGetApiKeyResponse.ts +1 -1
  416. package/lite/model/baseIndexSettings.ts +24 -17
  417. package/lite/model/baseSearchParamsWithoutQuery.ts +26 -30
  418. package/lite/model/baseSearchResponse.ts +11 -6
  419. package/lite/model/builtInOperation.ts +2 -2
  420. package/lite/model/builtInOperationType.ts +1 -1
  421. package/lite/model/condition.ts +8 -3
  422. package/lite/model/consequence.ts +5 -5
  423. package/lite/model/consequenceHide.ts +2 -2
  424. package/lite/model/consequenceQuery.ts +1 -1
  425. package/lite/model/consequenceQueryObject.ts +2 -2
  426. package/lite/model/cursor.ts +1 -1
  427. package/lite/model/deleteByParams.ts +4 -4
  428. package/lite/model/dictionaryEntry.ts +6 -8
  429. package/lite/model/dictionaryEntryState.ts +1 -1
  430. package/lite/model/dictionaryLanguage.ts +2 -2
  431. package/lite/model/distinct.ts +1 -1
  432. package/lite/model/edit.ts +1 -1
  433. package/lite/model/exactOnSingleWordQuery.ts +1 -1
  434. package/lite/model/facetFilters.ts +1 -1
  435. package/lite/model/facetHits.ts +2 -2
  436. package/lite/model/facetOrdering.ts +2 -2
  437. package/lite/model/facets.ts +2 -2
  438. package/lite/model/fetchedIndex.ts +1 -1
  439. package/lite/model/highlightResult.ts +1 -0
  440. package/lite/model/highlightResultOption.ts +3 -3
  441. package/lite/model/hit.ts +4 -4
  442. package/lite/model/ignorePlurals.ts +4 -2
  443. package/lite/model/index.ts +4 -0
  444. package/lite/model/indexSettings.ts +1 -1
  445. package/lite/model/indexSettingsAsSearchParams.ts +32 -36
  446. package/lite/model/matchLevel.ts +1 -1
  447. package/lite/model/mode.ts +1 -1
  448. package/lite/model/numericFilters.ts +1 -1
  449. package/lite/model/operationType.ts +1 -1
  450. package/lite/model/optionalFilters.ts +1 -1
  451. package/lite/model/params.ts +1 -1
  452. package/lite/model/promoteObjectID.ts +2 -2
  453. package/lite/model/promoteObjectIDs.ts +2 -2
  454. package/lite/model/queryType.ts +1 -1
  455. package/lite/model/rankingInfo.ts +10 -7
  456. package/lite/model/reRankingApplyFilter.ts +1 -1
  457. package/lite/model/removeStopWords.ts +4 -2
  458. package/lite/model/removeWordsIfNoResults.ts +1 -1
  459. package/lite/model/renderingContent.ts +1 -1
  460. package/lite/model/rule.ts +5 -5
  461. package/lite/model/searchDictionaryEntriesResponse.ts +25 -0
  462. package/lite/model/searchForFacetValuesResponse.ts +3 -0
  463. package/lite/model/searchForFacetsOptions.ts +2 -2
  464. package/lite/model/searchForHitsOptions.ts +1 -1
  465. package/lite/model/searchHits.ts +6 -3
  466. package/lite/model/searchParamsObject.ts +3 -0
  467. package/lite/model/searchParamsQuery.ts +1 -1
  468. package/lite/model/searchStrategy.ts +1 -1
  469. package/lite/model/searchSynonymsResponse.ts +2 -2
  470. package/lite/model/securedAPIKeyRestrictions.ts +32 -0
  471. package/lite/model/semanticSearch.ts +2 -2
  472. package/lite/model/snippetResult.ts +2 -1
  473. package/lite/model/snippetResultOption.ts +2 -2
  474. package/lite/model/sortRemainingBy.ts +1 -1
  475. package/lite/model/supportedLanguage.ts +74 -0
  476. package/lite/model/tagFilters.ts +1 -1
  477. package/lite/model/taskStatus.ts +1 -1
  478. package/lite/model/timeRange.ts +2 -2
  479. package/lite/model/typoTolerance.ts +1 -1
  480. package/lite/model/typoToleranceEnum.ts +3 -0
  481. package/lite/model/updatedRuleResponse.ts +3 -3
  482. package/lite/model/userId.ts +1 -1
  483. package/lite/model/value.ts +1 -1
  484. package/lite/src/liteClient.ts +8 -12
  485. package/package.json +14 -14
  486. package/dist/client-abtesting/model/currenciesValue.d.ts.map +0 -1
  487. package/dist/client-analytics/model/averageClickEvent.d.ts +0 -15
  488. package/dist/client-analytics/model/averageClickEvent.d.ts.map +0 -1
  489. package/dist/client-analytics/model/clickPosition.d.ts +0 -11
  490. package/dist/client-analytics/model/clickPosition.d.ts.map +0 -1
  491. package/dist/client-analytics/model/clickThroughRateEvent.d.ts +0 -19
  492. package/dist/client-analytics/model/clickThroughRateEvent.d.ts.map +0 -1
  493. package/dist/client-analytics/model/conversionRateEvent.d.ts +0 -19
  494. package/dist/client-analytics/model/conversionRateEvent.d.ts.map +0 -1
  495. package/dist/client-analytics/model/getConversationRateResponse.d.ts +0 -20
  496. package/dist/client-analytics/model/getConversationRateResponse.d.ts.map +0 -1
  497. package/dist/client-analytics/model/noClickRateEvent.d.ts +0 -19
  498. package/dist/client-analytics/model/noClickRateEvent.d.ts.map +0 -1
  499. package/dist/client-analytics/model/noResultsRateEvent.d.ts +0 -19
  500. package/dist/client-analytics/model/noResultsRateEvent.d.ts.map +0 -1
  501. package/dist/client-analytics/model/searchEvent.d.ts +0 -11
  502. package/dist/client-analytics/model/searchEvent.d.ts.map +0 -1
  503. package/dist/client-analytics/model/searchNoClickEvent.d.ts +0 -15
  504. package/dist/client-analytics/model/searchNoClickEvent.d.ts.map +0 -1
  505. package/dist/client-analytics/model/searchNoResultEvent.d.ts +0 -15
  506. package/dist/client-analytics/model/searchNoResultEvent.d.ts.map +0 -1
  507. package/dist/client-analytics/model/userWithDate.d.ts +0 -11
  508. package/dist/client-analytics/model/userWithDate.d.ts.map +0 -1
@@ -1,2 +1,2 @@
1
- /*! algoliasearch.umd.js | 5.0.0-alpha.99 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
2
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).algoliasearch={})}(this,(function(e){"use strict";function r(e,r,t="WithinHeaders"){const a={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers:()=>"WithinHeaders"===t?a:{},queryParameters:()=>"WithinQueryParameters"===t?a:{}}}function t({func:e,validate:r,aggregator:t,error:a,timeout:n=(()=>0)}){const s=i=>new Promise(((o,d)=>{e(i).then((e=>(t&&t(e),r(e)?o(e):a&&a.validate(e)?d(new Error(a.message(e))):setTimeout((()=>{s(e).then(o).catch(d)}),n())))).catch((e=>{d(e)}))}));return s()}function a(e){let r;const t=`algolia-client-js-${e.key}`;function a(){return void 0===r&&(r=e.localStorage||window.localStorage),r}function n(){return JSON.parse(a().getItem(t)||"{}")}function s(e){a().setItem(t,JSON.stringify(e))}return{get:(r,t,a={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>(function(){const r=e.timeToLive?1e3*e.timeToLive:null,t=n(),a=Object.fromEntries(Object.entries(t).filter((([,e])=>void 0!==e.timestamp)));if(s(a),!r)return;s(Object.fromEntries(Object.entries(a).filter((([,e])=>{const t=(new Date).getTime();return!(e.timestamp+r<t)}))))}(),n()[JSON.stringify(r)]))).then((e=>Promise.all([e?e.value:t(),void 0!==e]))).then((([e,r])=>Promise.all([e,r||a.miss(e)]))).then((([e])=>e)),set:(e,r)=>Promise.resolve().then((()=>{const s=n();return s[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:r},a().setItem(t,JSON.stringify(s)),r})),delete:e=>Promise.resolve().then((()=>{const r=n();delete r[JSON.stringify(e)],a().setItem(t,JSON.stringify(r))})),clear:()=>Promise.resolve().then((()=>{a().removeItem(t)}))}}function n(e){const r=[...e.caches],t=r.shift();return void 0===t?{get:(e,r,t={miss:()=>Promise.resolve()})=>r().then((e=>Promise.all([e,t.miss(e)]))).then((([e])=>e)),set:(e,r)=>Promise.resolve(r),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,a,s={miss:()=>Promise.resolve()})=>t.get(e,a,s).catch((()=>n({caches:r}).get(e,a,s))),set:(e,a)=>t.set(e,a).catch((()=>n({caches:r}).set(e,a))),delete:e=>t.delete(e).catch((()=>n({caches:r}).delete(e))),clear:()=>t.clear().catch((()=>n({caches:r}).clear()))}}function s(e={serializable:!0}){let r={};return{get(t,a,n={miss:()=>Promise.resolve()}){const s=JSON.stringify(t);if(s in r)return Promise.resolve(e.serializable?JSON.parse(r[s]):r[s]);const i=a();return i.then((e=>n.miss(e))).then((()=>i))},set:(t,a)=>(r[JSON.stringify(t)]=e.serializable?JSON.stringify(a):a,Promise.resolve(a)),delete:e=>(delete r[JSON.stringify(e)],Promise.resolve()),clear:()=>(r={},Promise.resolve())}}const i=12e4;function o(e,r="up"){const t=Date.now();return{...e,status:r,lastUpdate:t,isUp:function(){return"up"===r||Date.now()-t>i},isTimedOut:function(){return"timed out"===r&&Date.now()-t<=i}}}function d(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,r||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==typeof r?r:String(r)}function c(e,r,t){return(r=d(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class u extends Error{constructor(e,r){super(e),c(this,"name","AlgoliaError"),r&&(this.name=r)}}class h extends u{constructor(e,r,t){super(e,t),c(this,"stackTrace",void 0),this.stackTrace=r}}class l extends h{constructor(e){super("Unreachable hosts - your application id may be incorrect. If the error persists, please create a ticket at https://support.algolia.com/ sharing steps we can use to reproduce the issue.",e,"RetryError")}}class m extends h{constructor(e,r,t,a="ApiError"){super(e,t,a),c(this,"status",void 0),this.status=r}}class g extends u{constructor(e,r){super(e,"DeserializationError"),c(this,"response",void 0),this.response=r}}class p extends m{constructor(e,r,t,a){super(e,r,a,"DetailedApiError"),c(this,"error",void 0),this.error=t}}function w(e,r,t){const a=function(e){const r=e=>"[object Object]"===Object.prototype.toString.call(e)||"[object Array]"===Object.prototype.toString.call(e);return Object.keys(e).map((t=>`${t}=${encodeURIComponent(r(e[t])?JSON.stringify(e[t]):e[t])}`)).join("&")}(t);let n=`${e.protocol}://${e.url}/${"/"===r.charAt(0)?r.substr(1):r}`;return a.length&&(n+=`?${a}`),n}function P(e){const r=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...r}}}}function y({hosts:e,hostsCache:r,baseHeaders:t,baseQueryParameters:a,algoliaAgent:n,timeouts:s,requester:i,requestsCache:d,responsesCache:c}){async function u(d,c,u=!0){const h=[],y=function(e,r){if("GET"===e.method||void 0===e.data&&void 0===r.data)return;const t=Array.isArray(e.data)?e.data:{...e.data,...r.data};return JSON.stringify(t)}(d,c),q=function(e,r,t){const a={Accept:"application/json",...e,...r,...t},n={};return Object.keys(a).forEach((e=>{const r=a[e];n[e.toLowerCase()]=r})),n}(t,d.headers,c.headers),f="GET"===d.method?{...d.data,...c.data}:{},E={...a,...d.queryParameters,...f};if(n.value&&(E["x-algolia-agent"]=n.value),c&&c.queryParameters)for(const e of Object.keys(c.queryParameters))c.queryParameters[e]&&"[object Object]"!==Object.prototype.toString.call(c.queryParameters[e])?E[e]=c.queryParameters[e].toString():E[e]=c.queryParameters[e];let x=0;const S=async(e,t)=>{const a=e.pop();if(void 0===a)throw new l(function(e){return e.map((e=>P(e)))}(h));let n=c.timeout;void 0===n&&(n=u?s.read:s.write);const f={data:y,headers:q,method:d.method,url:w(a,d.path,E),connectTimeout:t(x,s.connect),responseTimeout:t(x,n)},v=r=>{const t={request:f,response:r,host:a,triesLeft:e.length};return h.push(t),t},b=await i.send(f);if(function({isTimedOut:e,status:r}){return e||function({isTimedOut:e,status:r}){return!e&&0==~~r}({isTimedOut:e,status:r})||2!=~~(r/100)&&4!=~~(r/100)}(b)){const n=v(b);return b.isTimedOut&&x++,console.log("Retryable failure",P(n)),await r.set(a,o(a,b.isTimedOut?"timed out":"down")),S(e,t)}if(function({status:e}){return 2==~~(e/100)}(b))return function(e){try{return JSON.parse(e.content)}catch(r){throw new g(r.message,e)}}(b);throw v(b),function({content:e,status:r},t){try{const a=JSON.parse(e);return"error"in a?new p(a.message,r,a.error,t):new m(a.message,r,t)}catch(e){}return new m(e,r,t)}(b,h)},v=e.filter((e=>"readWrite"===e.accept||(u?"read"===e.accept:"write"===e.accept))),b=await async function(e){const t=await Promise.all(e.map((e=>r.get(e,(()=>Promise.resolve(o(e))))))),a=t.filter((e=>e.isUp())),n=t.filter((e=>e.isTimedOut())),s=[...a,...n];return{hosts:s.length>0?s:e,getTimeout:(e,r)=>(0===n.length&&0===e?1:n.length+3+e)*r}}(v);return S([...b.hosts].reverse(),b.getTimeout)}return{hostsCache:r,requester:i,timeouts:s,algoliaAgent:n,baseHeaders:t,baseQueryParameters:a,hosts:e,request:function(e,r={}){const n=e.useReadTransporter||"GET"===e.method;if(!n)return u(e,r,n);const s=()=>u(e,r);if(!0!==(r.cacheable||e.cacheable))return s();const i={request:e,requestOptions:r,transporter:{queryParameters:a,headers:t}};return c.get(i,(()=>d.get(i,(()=>d.set(i,s()).then((e=>Promise.all([d.delete(i),e])),(e=>Promise.all([d.delete(i),Promise.reject(e)]))).then((([e,r])=>r))))),{miss:e=>c.set(i,e)})},requestsCache:d,responsesCache:c}}function q({algoliaAgents:e,client:r,version:t}){const a=function(e){const r={value:`Algolia for JavaScript (${e})`,add(e){const t=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===r.value.indexOf(t)&&(r.value=`${r.value}${t}`),r}};return r}(t).add({segment:r,version:t});return e.forEach((e=>a.add(e))),a}const f="5.0.0-alpha.99",E=["de","us"];const x="5.0.0-alpha.99",S=["de","us"];const v="5.0.0-alpha.99",b=["eu","us"];const T="5.0.0-alpha.99";function I(e){return[{url:`${e}-dsn.algolia.net`,accept:"read",protocol:"https"},{url:`${e}.algolia.net`,accept:"write",protocol:"https"}].concat(function(e){const r=e;for(let t=e.length-1;t>0;t--){const a=Math.floor(Math.random()*(t+1)),n=e[t];r[t]=e[a],r[a]=n}return r}([{url:`${e}-1.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${e}-2.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${e}-3.algolianet.com`,accept:"readWrite",protocol:"https"}]))}function D({appId:e,apiKey:a,authMode:n,algoliaAgents:s,...i}){const o=r(e,a,n),d=y({hosts:I(e),...i,algoliaAgent:q({algoliaAgents:s,client:"Search",version:T}),baseHeaders:{"content-type":"text/plain",...o.headers(),...i.baseHeaders},baseQueryParameters:{...o.queryParameters(),...i.baseQueryParameters}});return{transporter:d,appId:e,clearCache:()=>Promise.all([d.requestsCache.clear(),d.responsesCache.clear()]).then((()=>{})),get _ua(){return d.algoliaAgent.value},addAlgoliaAgent(e,r){d.algoliaAgent.add({segment:e,version:r})},waitForTask({indexName:e,taskID:r,maxRetries:a=50,timeout:n=(e=>Math.min(200*e,5e3))},s){let i=0;return t({func:()=>this.getTask({indexName:e,taskID:r},s),validate:e=>"published"===e.status,aggregator:()=>i+=1,error:{validate:()=>i>=a,message:()=>`The maximum number of retries exceeded. (${i}/${a})`},timeout:()=>n(i)})},waitForApiKey({operation:e,key:r,apiKey:a,maxRetries:n=50,timeout:s=(e=>Math.min(200*e,5e3))},i){let o=0;const d={aggregator:()=>o+=1,error:{validate:()=>o>=n,message:()=>`The maximum number of retries exceeded. (${o}/${n})`},timeout:()=>s(o)};if("update"===e){if(!a)throw new Error("`apiKey` is required when waiting for an `update` operation.");return t({...d,func:()=>this.getApiKey({key:r},i),validate:e=>{for(const r of Object.keys(a)){const t=a[r],n=e[r];if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length||t.some(((e,r)=>e!==n[r])))return!1}else if(t!==n)return!1}return!0}})}return t({...d,func:()=>this.getApiKey({key:r},i).catch((e=>e)),validate:r=>"add"===e?404!==r.status:404===r.status})},browseObjects({indexName:e,browseParams:r,...a},n){return t({func:t=>this.browse({indexName:e,browseParams:{cursor:t?t.cursor:void 0,...r}},n),validate:e=>void 0===e.cursor,...a})},browseRules({indexName:e,searchRulesParams:r,...a},n){const s={hitsPerPage:1e3,...r};return t({func:r=>this.searchRules({indexName:e,searchRulesParams:{...s,page:r?r.page+1:s.page||0}},n),validate:e=>e.nbHits<s.hitsPerPage,...a})},browseSynonyms({indexName:e,searchSynonymsParams:r,...a},n){const s={page:0,...r,hitsPerPage:1e3};return t({func:r=>this.searchSynonyms({indexName:e,searchSynonymsParams:{...s,page:r?r.page+1:s.page}},n),validate:e=>e.nbHits<s.hitsPerPage,...a})},searchForHits(e,r){return this.search(e,r)},searchForFacets(e,r){return this.search(e,r)},addApiKey(e,r){if(!e)throw new Error("Parameter `apiKey` is required when calling `addApiKey`.");if(!e.acl)throw new Error("Parameter `apiKey.acl` is required when calling `addApiKey`.");const t={method:"POST",path:"/1/keys",queryParameters:{},headers:{},data:e};return d.request(t,r)},addOrUpdateObject({indexName:e,objectID:r,body:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `addOrUpdateObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `addOrUpdateObject`.");if(!t)throw new Error("Parameter `body` is required when calling `addOrUpdateObject`.");const n={method:"PUT",path:"/1/indexes/{indexName}/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{},data:t};return d.request(n,a)},appendSource(e,r){if(!e)throw new Error("Parameter `source` is required when calling `appendSource`.");if(!e.source)throw new Error("Parameter `source.source` is required when calling `appendSource`.");const t={method:"POST",path:"/1/security/sources/append",queryParameters:{},headers:{},data:e};return d.request(t,r)},assignUserId({xAlgoliaUserID:e,assignUserIdParams:r},t){if(!e)throw new Error("Parameter `xAlgoliaUserID` is required when calling `assignUserId`.");if(!r)throw new Error("Parameter `assignUserIdParams` is required when calling `assignUserId`.");if(!r.cluster)throw new Error("Parameter `assignUserIdParams.cluster` is required when calling `assignUserId`.");const a={};void 0!==e&&(a["X-Algolia-User-ID"]=e.toString());const n={method:"POST",path:"/1/clusters/mapping",queryParameters:{},headers:a,data:r};return d.request(n,t)},batch({indexName:e,batchWriteParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `batch`.");if(!r)throw new Error("Parameter `batchWriteParams` is required when calling `batch`.");if(!r.requests)throw new Error("Parameter `batchWriteParams.requests` is required when calling `batch`.");const a={method:"POST",path:"/1/indexes/{indexName}/batch".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return d.request(a,t)},batchAssignUserIds({xAlgoliaUserID:e,batchAssignUserIdsParams:r},t){if(!e)throw new Error("Parameter `xAlgoliaUserID` is required when calling `batchAssignUserIds`.");if(!r)throw new Error("Parameter `batchAssignUserIdsParams` is required when calling `batchAssignUserIds`.");if(!r.cluster)throw new Error("Parameter `batchAssignUserIdsParams.cluster` is required when calling `batchAssignUserIds`.");if(!r.users)throw new Error("Parameter `batchAssignUserIdsParams.users` is required when calling `batchAssignUserIds`.");const a={};void 0!==e&&(a["X-Algolia-User-ID"]=e.toString());const n={method:"POST",path:"/1/clusters/mapping/batch",queryParameters:{},headers:a,data:r};return d.request(n,t)},batchDictionaryEntries({dictionaryName:e,batchDictionaryEntriesParams:r},t){if(!e)throw new Error("Parameter `dictionaryName` is required when calling `batchDictionaryEntries`.");if(!r)throw new Error("Parameter `batchDictionaryEntriesParams` is required when calling `batchDictionaryEntries`.");if(!r.requests)throw new Error("Parameter `batchDictionaryEntriesParams.requests` is required when calling `batchDictionaryEntries`.");const a={method:"POST",path:"/1/dictionaries/{dictionaryName}/batch".replace("{dictionaryName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return d.request(a,t)},browse({indexName:e,browseParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `browse`.");const a={method:"POST",path:"/1/indexes/{indexName}/browse".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{}};return d.request(a,t)},clearObjects({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `clearObjects`.");const t={method:"POST",path:"/1/indexes/{indexName}/clear".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},clearRules({indexName:e,forwardToReplicas:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `clearRules`.");const a="/1/indexes/{indexName}/rules/clear".replace("{indexName}",encodeURIComponent(e)),n={};void 0!==r&&(n.forwardToReplicas=r.toString());const s={method:"POST",path:a,queryParameters:n,headers:{}};return d.request(s,t)},clearSynonyms({indexName:e,forwardToReplicas:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `clearSynonyms`.");const a="/1/indexes/{indexName}/synonyms/clear".replace("{indexName}",encodeURIComponent(e)),n={};void 0!==r&&(n.forwardToReplicas=r.toString());const s={method:"POST",path:a,queryParameters:n,headers:{}};return d.request(s,t)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");const a={method:"DELETE",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");const a={method:"GET",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const n={method:"POST",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");const n={method:"PUT",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},deleteApiKey({key:e},r){if(!e)throw new Error("Parameter `key` is required when calling `deleteApiKey`.");const t={method:"DELETE",path:"/1/keys/{key}".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},deleteBy({indexName:e,deleteByParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteBy`.");if(!r)throw new Error("Parameter `deleteByParams` is required when calling `deleteBy`.");const a={method:"POST",path:"/1/indexes/{indexName}/deleteByQuery".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return d.request(a,t)},deleteIndex({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteIndex`.");const t={method:"DELETE",path:"/1/indexes/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},deleteObject({indexName:e,objectID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteObject`.");const a={method:"DELETE",path:"/1/indexes/{indexName}/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return d.request(a,t)},deleteRule({indexName:e,objectID:r,forwardToReplicas:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteRule`.");const n="/1/indexes/{indexName}/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),s={};void 0!==t&&(s.forwardToReplicas=t.toString());const i={method:"DELETE",path:n,queryParameters:s,headers:{}};return d.request(i,a)},deleteSource({source:e},r){if(!e)throw new Error("Parameter `source` is required when calling `deleteSource`.");const t={method:"DELETE",path:"/1/security/sources/{source}".replace("{source}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},deleteSynonym({indexName:e,objectID:r,forwardToReplicas:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteSynonym`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteSynonym`.");const n="/1/indexes/{indexName}/synonyms/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),s={};void 0!==t&&(s.forwardToReplicas=t.toString());const i={method:"DELETE",path:n,queryParameters:s,headers:{}};return d.request(i,a)},getApiKey({key:e},r){if(!e)throw new Error("Parameter `key` is required when calling `getApiKey`.");const t={method:"GET",path:"/1/keys/{key}".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},getDictionaryLanguages(e){const r={method:"GET",path:"/1/dictionaries/*/languages",queryParameters:{},headers:{}};return d.request(r,e)},getDictionarySettings(e){const r={method:"GET",path:"/1/dictionaries/*/settings",queryParameters:{},headers:{}};return d.request(r,e)},getLogs({offset:e,length:r,indexName:t,type:a}={},n=void 0){const s={};void 0!==e&&(s.offset=e.toString()),void 0!==r&&(s.length=r.toString()),void 0!==t&&(s.indexName=t.toString()),void 0!==a&&(s.type=a.toString());const i={method:"GET",path:"/1/logs",queryParameters:s,headers:{}};return d.request(i,n)},getObject({indexName:e,objectID:r,attributesToRetrieve:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `getObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getObject`.");const n="/1/indexes/{indexName}/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),s={};void 0!==t&&(s.attributesToRetrieve=t.toString());const i={method:"GET",path:n,queryParameters:s,headers:{}};return d.request(i,a)},getObjects(e,r){if(!e)throw new Error("Parameter `getObjectsParams` is required when calling `getObjects`.");if(!e.requests)throw new Error("Parameter `getObjectsParams.requests` is required when calling `getObjects`.");const t={method:"POST",path:"/1/indexes/*/objects",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return d.request(t,r)},getRule({indexName:e,objectID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `getRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getRule`.");const a={method:"GET",path:"/1/indexes/{indexName}/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return d.request(a,t)},getSettings({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `getSettings`.");const t={method:"GET",path:"/1/indexes/{indexName}/settings".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},getSources(e){const r={method:"GET",path:"/1/security/sources",queryParameters:{},headers:{}};return d.request(r,e)},getSynonym({indexName:e,objectID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `getSynonym`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getSynonym`.");const a={method:"GET",path:"/1/indexes/{indexName}/synonyms/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return d.request(a,t)},getTask({indexName:e,taskID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `getTask`.");if(!r)throw new Error("Parameter `taskID` is required when calling `getTask`.");const a={method:"GET",path:"/1/indexes/{indexName}/task/{taskID}".replace("{indexName}",encodeURIComponent(e)).replace("{taskID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return d.request(a,t)},getTopUserIds(e){const r={method:"GET",path:"/1/clusters/mapping/top",queryParameters:{},headers:{}};return d.request(r,e)},getUserId({userID:e},r){if(!e)throw new Error("Parameter `userID` is required when calling `getUserId`.");const t={method:"GET",path:"/1/clusters/mapping/{userID}".replace("{userID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},hasPendingMappings({getClusters:e}={},r=void 0){const t={};void 0!==e&&(t.getClusters=e.toString());const a={method:"GET",path:"/1/clusters/mapping/pending",queryParameters:t,headers:{}};return d.request(a,r)},listApiKeys(e){const r={method:"GET",path:"/1/keys",queryParameters:{},headers:{}};return d.request(r,e)},listClusters(e){const r={method:"GET",path:"/1/clusters",queryParameters:{},headers:{}};return d.request(r,e)},listIndices({page:e,hitsPerPage:r}={},t=void 0){const a={};void 0!==e&&(a.page=e.toString()),void 0!==r&&(a.hitsPerPage=r.toString());const n={method:"GET",path:"/1/indexes",queryParameters:a,headers:{}};return d.request(n,t)},listUserIds({page:e,hitsPerPage:r}={},t=void 0){const a={};void 0!==e&&(a.page=e.toString()),void 0!==r&&(a.hitsPerPage=r.toString());const n={method:"GET",path:"/1/clusters/mapping",queryParameters:a,headers:{}};return d.request(n,t)},multipleBatch(e,r){if(!e)throw new Error("Parameter `batchParams` is required when calling `multipleBatch`.");if(!e.requests)throw new Error("Parameter `batchParams.requests` is required when calling `multipleBatch`.");const t={method:"POST",path:"/1/indexes/*/batch",queryParameters:{},headers:{},data:e};return d.request(t,r)},operationIndex({indexName:e,operationIndexParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `operationIndex`.");if(!r)throw new Error("Parameter `operationIndexParams` is required when calling `operationIndex`.");if(!r.operation)throw new Error("Parameter `operationIndexParams.operation` is required when calling `operationIndex`.");if(!r.destination)throw new Error("Parameter `operationIndexParams.destination` is required when calling `operationIndex`.");const a={method:"POST",path:"/1/indexes/{indexName}/operation".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return d.request(a,t)},partialUpdateObject({indexName:e,objectID:r,attributesToUpdate:t,createIfNotExists:a},n){if(!e)throw new Error("Parameter `indexName` is required when calling `partialUpdateObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `partialUpdateObject`.");if(!t)throw new Error("Parameter `attributesToUpdate` is required when calling `partialUpdateObject`.");const s="/1/indexes/{indexName}/{objectID}/partial".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),i={};void 0!==a&&(i.createIfNotExists=a.toString());const o={method:"POST",path:s,queryParameters:i,headers:{},data:t};return d.request(o,n)},removeUserId({userID:e},r){if(!e)throw new Error("Parameter `userID` is required when calling `removeUserId`.");const t={method:"DELETE",path:"/1/clusters/mapping/{userID}".replace("{userID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},replaceSources({source:e},r){if(!e)throw new Error("Parameter `source` is required when calling `replaceSources`.");const t={method:"PUT",path:"/1/security/sources",queryParameters:{},headers:{},data:e};return d.request(t,r)},restoreApiKey({key:e},r){if(!e)throw new Error("Parameter `key` is required when calling `restoreApiKey`.");const t={method:"POST",path:"/1/keys/{key}/restore".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},saveObject({indexName:e,body:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `saveObject`.");if(!r)throw new Error("Parameter `body` is required when calling `saveObject`.");const a={method:"POST",path:"/1/indexes/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return d.request(a,t)},saveRule({indexName:e,objectID:r,rule:t,forwardToReplicas:a},n){if(!e)throw new Error("Parameter `indexName` is required when calling `saveRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `saveRule`.");if(!t)throw new Error("Parameter `rule` is required when calling `saveRule`.");if(!t.objectID)throw new Error("Parameter `rule.objectID` is required when calling `saveRule`.");const s="/1/indexes/{indexName}/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),i={};void 0!==a&&(i.forwardToReplicas=a.toString());const o={method:"PUT",path:s,queryParameters:i,headers:{},data:t};return d.request(o,n)},saveRules({indexName:e,rules:r,forwardToReplicas:t,clearExistingRules:a},n){if(!e)throw new Error("Parameter `indexName` is required when calling `saveRules`.");if(!r)throw new Error("Parameter `rules` is required when calling `saveRules`.");const s="/1/indexes/{indexName}/rules/batch".replace("{indexName}",encodeURIComponent(e)),i={};void 0!==t&&(i.forwardToReplicas=t.toString()),void 0!==a&&(i.clearExistingRules=a.toString());const o={method:"POST",path:s,queryParameters:i,headers:{},data:r};return d.request(o,n)},saveSynonym({indexName:e,objectID:r,synonymHit:t,forwardToReplicas:a},n){if(!e)throw new Error("Parameter `indexName` is required when calling `saveSynonym`.");if(!r)throw new Error("Parameter `objectID` is required when calling `saveSynonym`.");if(!t)throw new Error("Parameter `synonymHit` is required when calling `saveSynonym`.");if(!t.objectID)throw new Error("Parameter `synonymHit.objectID` is required when calling `saveSynonym`.");if(!t.type)throw new Error("Parameter `synonymHit.type` is required when calling `saveSynonym`.");const s="/1/indexes/{indexName}/synonyms/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),i={};void 0!==a&&(i.forwardToReplicas=a.toString());const o={method:"PUT",path:s,queryParameters:i,headers:{},data:t};return d.request(o,n)},saveSynonyms({indexName:e,synonymHit:r,forwardToReplicas:t,replaceExistingSynonyms:a},n){if(!e)throw new Error("Parameter `indexName` is required when calling `saveSynonyms`.");if(!r)throw new Error("Parameter `synonymHit` is required when calling `saveSynonyms`.");const s="/1/indexes/{indexName}/synonyms/batch".replace("{indexName}",encodeURIComponent(e)),i={};void 0!==t&&(i.forwardToReplicas=t.toString()),void 0!==a&&(i.replaceExistingSynonyms=a.toString());const o={method:"POST",path:s,queryParameters:i,headers:{},data:r};return d.request(o,n)},search(e,r){if(e&&Array.isArray(e)){const r={requests:e.map((({params:e,...r})=>"facet"===r.type?{...r,...e,type:"facet"}:{...r,...e,facet:void 0,maxFacetHits:void 0,facetQuery:void 0}))};e=r}if(!e)throw new Error("Parameter `searchMethodParams` is required when calling `search`.");if(!e.requests)throw new Error("Parameter `searchMethodParams.requests` is required when calling `search`.");const t={method:"POST",path:"/1/indexes/*/queries",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return d.request(t,r)},searchDictionaryEntries({dictionaryName:e,searchDictionaryEntriesParams:r},t){if(!e)throw new Error("Parameter `dictionaryName` is required when calling `searchDictionaryEntries`.");if(!r)throw new Error("Parameter `searchDictionaryEntriesParams` is required when calling `searchDictionaryEntries`.");if(!r.query)throw new Error("Parameter `searchDictionaryEntriesParams.query` is required when calling `searchDictionaryEntries`.");const a={method:"POST",path:"/1/dictionaries/{dictionaryName}/search".replace("{dictionaryName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r,useReadTransporter:!0,cacheable:!0};return d.request(a,t)},searchForFacetValues({indexName:e,facetName:r,searchForFacetValuesRequest:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `searchForFacetValues`.");if(!r)throw new Error("Parameter `facetName` is required when calling `searchForFacetValues`.");const n={method:"POST",path:"/1/indexes/{indexName}/facets/{facetName}/query".replace("{indexName}",encodeURIComponent(e)).replace("{facetName}",encodeURIComponent(r)),queryParameters:{},headers:{},data:t||{},useReadTransporter:!0,cacheable:!0};return d.request(n,a)},searchRules({indexName:e,searchRulesParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `searchRules`.");const a={method:"POST",path:"/1/indexes/{indexName}/rules/search".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return d.request(a,t)},searchSingleIndex({indexName:e,searchParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `searchSingleIndex`.");const a={method:"POST",path:"/1/indexes/{indexName}/query".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return d.request(a,t)},searchSynonyms({indexName:e,searchSynonymsParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `searchSynonyms`.");const a={method:"POST",path:"/1/indexes/{indexName}/synonyms/search".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return d.request(a,t)},searchUserIds(e,r){if(!e)throw new Error("Parameter `searchUserIdsParams` is required when calling `searchUserIds`.");if(!e.query)throw new Error("Parameter `searchUserIdsParams.query` is required when calling `searchUserIds`.");const t={method:"POST",path:"/1/clusters/mapping/search",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return d.request(t,r)},setDictionarySettings(e,r){if(!e)throw new Error("Parameter `dictionarySettingsParams` is required when calling `setDictionarySettings`.");if(!e.disableStandardEntries)throw new Error("Parameter `dictionarySettingsParams.disableStandardEntries` is required when calling `setDictionarySettings`.");const t={method:"PUT",path:"/1/dictionaries/*/settings",queryParameters:{},headers:{},data:e};return d.request(t,r)},setSettings({indexName:e,indexSettings:r,forwardToReplicas:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `setSettings`.");if(!r)throw new Error("Parameter `indexSettings` is required when calling `setSettings`.");const n="/1/indexes/{indexName}/settings".replace("{indexName}",encodeURIComponent(e)),s={};void 0!==t&&(s.forwardToReplicas=t.toString());const i={method:"PUT",path:n,queryParameters:s,headers:{},data:r};return d.request(i,a)},updateApiKey({key:e,apiKey:r},t){if(!e)throw new Error("Parameter `key` is required when calling `updateApiKey`.");if(!r)throw new Error("Parameter `apiKey` is required when calling `updateApiKey`.");if(!r.acl)throw new Error("Parameter `apiKey.acl` is required when calling `updateApiKey`.");const a={method:"PUT",path:"/1/keys/{key}".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return d.request(a,t)}}}const N=T;e.algoliasearch=function(e,t,i){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");const o={apiKey:t,appId:e,timeouts:{connect:1e3,read:2e3,write:3e4},requester:{send:function(e){return new Promise((r=>{const t=new XMLHttpRequest;t.open(e.method,e.url,!0),Object.keys(e.headers).forEach((r=>t.setRequestHeader(r,e.headers[r])));const a=(e,a)=>setTimeout((()=>{t.abort(),r({status:0,content:a,isTimedOut:!0})}),e),n=a(e.connectTimeout,"Connection timeout");let s;t.onreadystatechange=()=>{t.readyState>t.OPENED&&void 0===s&&(clearTimeout(n),s=a(e.responseTimeout,"Socket timeout"))},t.onerror=()=>{0===t.status&&(clearTimeout(n),clearTimeout(s),r({content:t.responseText||"Network request failed",status:t.status,isTimedOut:!1}))},t.onload=()=>{clearTimeout(n),clearTimeout(s),r({content:t.responseText,status:t.status,isTimedOut:!1})},t.send(e.data)}))}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:s(),requestsCache:s({serializable:!1}),hostsCache:n({caches:[a({key:`${N}-${e}`}),s()]}),...i};return{...D(o),get _ua(){return this.transporter.algoliaAgent.value},initAnalytics:function(e={}){if(e.region&&("string"!=typeof e.region||!S.includes(e.region)))throw new Error(`\`region\` must be one of the following: ${S.join(", ")}`);return function({appId:e,apiKey:t,authMode:a,algoliaAgents:n,region:s,...i}){const o=r(e,t,a),d=y({hosts:(c=s,[{url:c?"analytics.{region}.algolia.com".replace("{region}",c):"analytics.algolia.com",accept:"readWrite",protocol:"https"}]),...i,algoliaAgent:q({algoliaAgents:n,client:"Analytics",version:x}),baseHeaders:{"content-type":"text/plain",...o.headers(),...i.baseHeaders},baseQueryParameters:{...o.queryParameters(),...i.baseQueryParameters}});var c;return{transporter:d,appId:e,clearCache:()=>Promise.all([d.requestsCache.clear(),d.responsesCache.clear()]).then((()=>{})),get _ua(){return d.algoliaAgent.value},addAlgoliaAgent(e,r){d.algoliaAgent.add({segment:e,version:r})},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");const a={method:"DELETE",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");const a={method:"GET",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const n={method:"POST",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");const n={method:"PUT",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},getAverageClickPosition({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getAverageClickPosition`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/clicks/averageClickPosition",queryParameters:s,headers:{}};return d.request(i,n)},getClickPositions({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getClickPositions`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/clicks/positions",queryParameters:s,headers:{}};return d.request(i,n)},getClickThroughRate({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getClickThroughRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/clicks/clickThroughRate",queryParameters:s,headers:{}};return d.request(i,n)},getConversationRate({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getConversationRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/conversions/conversionRate",queryParameters:s,headers:{}};return d.request(i,n)},getNoClickRate({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getNoClickRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/searches/noClickRate",queryParameters:s,headers:{}};return d.request(i,n)},getNoResultsRate({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getNoResultsRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/searches/noResultRate",queryParameters:s,headers:{}};return d.request(i,n)},getSearchesCount({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesCount`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/searches/count",queryParameters:s,headers:{}};return d.request(i,n)},getSearchesNoClicks({index:e,startDate:r,endDate:t,limit:a,offset:n,tags:s},i){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesNoClicks`.");const o={};void 0!==e&&(o.index=e.toString()),void 0!==r&&(o.startDate=r.toString()),void 0!==t&&(o.endDate=t.toString()),void 0!==a&&(o.limit=a.toString()),void 0!==n&&(o.offset=n.toString()),void 0!==s&&(o.tags=s.toString());const c={method:"GET",path:"/2/searches/noClicks",queryParameters:o,headers:{}};return d.request(c,i)},getSearchesNoResults({index:e,startDate:r,endDate:t,limit:a,offset:n,tags:s},i){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesNoResults`.");const o={};void 0!==e&&(o.index=e.toString()),void 0!==r&&(o.startDate=r.toString()),void 0!==t&&(o.endDate=t.toString()),void 0!==a&&(o.limit=a.toString()),void 0!==n&&(o.offset=n.toString()),void 0!==s&&(o.tags=s.toString());const c={method:"GET",path:"/2/searches/noResults",queryParameters:o,headers:{}};return d.request(c,i)},getStatus({index:e},r){if(!e)throw new Error("Parameter `index` is required when calling `getStatus`.");const t={};void 0!==e&&(t.index=e.toString());const a={method:"GET",path:"/2/status",queryParameters:t,headers:{}};return d.request(a,r)},getTopCountries({index:e,startDate:r,endDate:t,limit:a,offset:n,tags:s},i){if(!e)throw new Error("Parameter `index` is required when calling `getTopCountries`.");const o={};void 0!==e&&(o.index=e.toString()),void 0!==r&&(o.startDate=r.toString()),void 0!==t&&(o.endDate=t.toString()),void 0!==a&&(o.limit=a.toString()),void 0!==n&&(o.offset=n.toString()),void 0!==s&&(o.tags=s.toString());const c={method:"GET",path:"/2/countries",queryParameters:o,headers:{}};return d.request(c,i)},getTopFilterAttributes({index:e,search:r,startDate:t,endDate:a,limit:n,offset:s,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getTopFilterAttributes`.");const c={};void 0!==e&&(c.index=e.toString()),void 0!==r&&(c.search=r.toString()),void 0!==t&&(c.startDate=t.toString()),void 0!==a&&(c.endDate=a.toString()),void 0!==n&&(c.limit=n.toString()),void 0!==s&&(c.offset=s.toString()),void 0!==i&&(c.tags=i.toString());const u={method:"GET",path:"/2/filters",queryParameters:c,headers:{}};return d.request(u,o)},getTopFilterForAttribute({attribute:e,index:r,search:t,startDate:a,endDate:n,limit:s,offset:i,tags:o},c){if(!e)throw new Error("Parameter `attribute` is required when calling `getTopFilterForAttribute`.");if(!r)throw new Error("Parameter `index` is required when calling `getTopFilterForAttribute`.");const u="/2/filters/{attribute}".replace("{attribute}",encodeURIComponent(e)),h={};void 0!==r&&(h.index=r.toString()),void 0!==t&&(h.search=t.toString()),void 0!==a&&(h.startDate=a.toString()),void 0!==n&&(h.endDate=n.toString()),void 0!==s&&(h.limit=s.toString()),void 0!==i&&(h.offset=i.toString()),void 0!==o&&(h.tags=o.toString());const l={method:"GET",path:u,queryParameters:h,headers:{}};return d.request(l,c)},getTopFiltersNoResults({index:e,search:r,startDate:t,endDate:a,limit:n,offset:s,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getTopFiltersNoResults`.");const c={};void 0!==e&&(c.index=e.toString()),void 0!==r&&(c.search=r.toString()),void 0!==t&&(c.startDate=t.toString()),void 0!==a&&(c.endDate=a.toString()),void 0!==n&&(c.limit=n.toString()),void 0!==s&&(c.offset=s.toString()),void 0!==i&&(c.tags=i.toString());const u={method:"GET",path:"/2/filters/noResults",queryParameters:c,headers:{}};return d.request(u,o)},getTopHits({index:e,search:r,clickAnalytics:t,startDate:a,endDate:n,limit:s,offset:i,tags:o},c){if(!e)throw new Error("Parameter `index` is required when calling `getTopHits`.");const u={};void 0!==e&&(u.index=e.toString()),void 0!==r&&(u.search=r.toString()),void 0!==t&&(u.clickAnalytics=t.toString()),void 0!==a&&(u.startDate=a.toString()),void 0!==n&&(u.endDate=n.toString()),void 0!==s&&(u.limit=s.toString()),void 0!==i&&(u.offset=i.toString()),void 0!==o&&(u.tags=o.toString());const h={method:"GET",path:"/2/hits",queryParameters:u,headers:{}};return d.request(h,c)},getTopSearches({index:e,clickAnalytics:r,startDate:t,endDate:a,orderBy:n,direction:s,limit:i,offset:o,tags:c},u){if(!e)throw new Error("Parameter `index` is required when calling `getTopSearches`.");const h={};void 0!==e&&(h.index=e.toString()),void 0!==r&&(h.clickAnalytics=r.toString()),void 0!==t&&(h.startDate=t.toString()),void 0!==a&&(h.endDate=a.toString()),void 0!==n&&(h.orderBy=n.toString()),void 0!==s&&(h.direction=s.toString()),void 0!==i&&(h.limit=i.toString()),void 0!==o&&(h.offset=o.toString()),void 0!==c&&(h.tags=c.toString());const l={method:"GET",path:"/2/searches",queryParameters:h,headers:{}};return d.request(l,u)},getUsersCount({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getUsersCount`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/users/count",queryParameters:s,headers:{}};return d.request(i,n)}}}({...o,...e.options,...e})},initPersonalization:function(e){if(!e.region||e.region&&("string"!=typeof e.region||!b.includes(e.region)))throw new Error(`\`region\` is required and must be one of the following: ${b.join(", ")}`);return function({appId:e,apiKey:t,authMode:a,algoliaAgents:n,region:s,...i}){const o=r(e,t,a),d=y({hosts:(c=s,[{url:"personalization.{region}.algolia.com".replace("{region}",c),accept:"readWrite",protocol:"https"}]),...i,algoliaAgent:q({algoliaAgents:n,client:"Personalization",version:v}),baseHeaders:{"content-type":"text/plain",...o.headers(),...i.baseHeaders},baseQueryParameters:{...o.queryParameters(),...i.baseQueryParameters}});var c;return{transporter:d,appId:e,clearCache:()=>Promise.all([d.requestsCache.clear(),d.responsesCache.clear()]).then((()=>{})),get _ua(){return d.algoliaAgent.value},addAlgoliaAgent(e,r){d.algoliaAgent.add({segment:e,version:r})},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");const a={method:"DELETE",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");const a={method:"GET",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const n={method:"POST",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");const n={method:"PUT",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},deleteUserProfile({userToken:e},r){if(!e)throw new Error("Parameter `userToken` is required when calling `deleteUserProfile`.");const t={method:"DELETE",path:"/1/profiles/{userToken}".replace("{userToken}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},getPersonalizationStrategy(e){const r={method:"GET",path:"/1/strategies/personalization",queryParameters:{},headers:{}};return d.request(r,e)},getUserTokenProfile({userToken:e},r){if(!e)throw new Error("Parameter `userToken` is required when calling `getUserTokenProfile`.");const t={method:"GET",path:"/1/profiles/personalization/{userToken}".replace("{userToken}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},setPersonalizationStrategy(e,r){if(!e)throw new Error("Parameter `personalizationStrategyParams` is required when calling `setPersonalizationStrategy`.");if(!e.eventScoring)throw new Error("Parameter `personalizationStrategyParams.eventScoring` is required when calling `setPersonalizationStrategy`.");if(!e.facetScoring)throw new Error("Parameter `personalizationStrategyParams.facetScoring` is required when calling `setPersonalizationStrategy`.");if(!e.personalizationImpact)throw new Error("Parameter `personalizationStrategyParams.personalizationImpact` is required when calling `setPersonalizationStrategy`.");const t={method:"POST",path:"/1/strategies/personalization",queryParameters:{},headers:{},data:e};return d.request(t,r)}}}({...o,...e.options,...e})},initAbtesting:function(e={}){if(e.region&&("string"!=typeof e.region||!E.includes(e.region)))throw new Error(`\`region\` must be one of the following: ${E.join(", ")}`);return function({appId:e,apiKey:t,authMode:a,algoliaAgents:n,region:s,...i}){const o=r(e,t,a),d=y({hosts:(c=s,[{url:c?"analytics.{region}.algolia.com".replace("{region}",c):"analytics.algolia.com",accept:"readWrite",protocol:"https"}]),...i,algoliaAgent:q({algoliaAgents:n,client:"Abtesting",version:f}),baseHeaders:{"content-type":"text/plain",...o.headers(),...i.baseHeaders},baseQueryParameters:{...o.queryParameters(),...i.baseQueryParameters}});var c;return{transporter:d,appId:e,clearCache:()=>Promise.all([d.requestsCache.clear(),d.responsesCache.clear()]).then((()=>{})),get _ua(){return d.algoliaAgent.value},addAlgoliaAgent(e,r){d.algoliaAgent.add({segment:e,version:r})},addABTests(e,r){if(!e)throw new Error("Parameter `addABTestsRequest` is required when calling `addABTests`.");if(!e.name)throw new Error("Parameter `addABTestsRequest.name` is required when calling `addABTests`.");if(!e.variants)throw new Error("Parameter `addABTestsRequest.variants` is required when calling `addABTests`.");if(!e.endAt)throw new Error("Parameter `addABTestsRequest.endAt` is required when calling `addABTests`.");const t={method:"POST",path:"/2/abtests",queryParameters:{},headers:{},data:e};return d.request(t,r)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");const a={method:"DELETE",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");const a={method:"GET",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const n={method:"POST",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");const n={method:"PUT",path:"/1{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},deleteABTest({id:e},r){if(!e)throw new Error("Parameter `id` is required when calling `deleteABTest`.");const t={method:"DELETE",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},getABTest({id:e},r){if(!e)throw new Error("Parameter `id` is required when calling `getABTest`.");const t={method:"GET",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},listABTests({offset:e,limit:r,indexPrefix:t,indexSuffix:a}={},n=void 0){const s={};void 0!==e&&(s.offset=e.toString()),void 0!==r&&(s.limit=r.toString()),void 0!==t&&(s.indexPrefix=t.toString()),void 0!==a&&(s.indexSuffix=a.toString());const i={method:"GET",path:"/2/abtests",queryParameters:s,headers:{}};return d.request(i,n)},stopABTest({id:e},r){if(!e)throw new Error("Parameter `id` is required when calling `stopABTest`.");const t={method:"POST",path:"/2/abtests/{id}/stop".replace("{id}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)}}}({...o,...e.options,...e})}}},e.apiClientVersion=N}));
1
+ /*! algoliasearch.umd.js | 5.0.0-beta.1 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
2
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).algoliasearch={})}(this,(function(e){"use strict";function r(e,r,t="WithinHeaders"){const a={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers:()=>"WithinHeaders"===t?a:{},queryParameters:()=>"WithinQueryParameters"===t?a:{}}}function t({func:e,validate:r,aggregator:t,error:a,timeout:n=(()=>0)}){const s=i=>new Promise(((o,d)=>{e(i).then((e=>(t&&t(e),r(e)?o(e):a&&a.validate(e)?d(new Error(a.message(e))):setTimeout((()=>{s(e).then(o).catch(d)}),n())))).catch((e=>{d(e)}))}));return s()}function a(e){let r;const t=`algolia-client-js-${e.key}`;function a(){return void 0===r&&(r=e.localStorage||window.localStorage),r}function n(){return JSON.parse(a().getItem(t)||"{}")}function s(e){a().setItem(t,JSON.stringify(e))}return{get:(r,t,a={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>(function(){const r=e.timeToLive?1e3*e.timeToLive:null,t=n(),a=Object.fromEntries(Object.entries(t).filter((([,e])=>void 0!==e.timestamp)));if(s(a),!r)return;s(Object.fromEntries(Object.entries(a).filter((([,e])=>{const t=(new Date).getTime();return!(e.timestamp+r<t)}))))}(),n()[JSON.stringify(r)]))).then((e=>Promise.all([e?e.value:t(),void 0!==e]))).then((([e,r])=>Promise.all([e,r||a.miss(e)]))).then((([e])=>e)),set:(e,r)=>Promise.resolve().then((()=>{const s=n();return s[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:r},a().setItem(t,JSON.stringify(s)),r})),delete:e=>Promise.resolve().then((()=>{const r=n();delete r[JSON.stringify(e)],a().setItem(t,JSON.stringify(r))})),clear:()=>Promise.resolve().then((()=>{a().removeItem(t)}))}}function n(e){const r=[...e.caches],t=r.shift();return void 0===t?{get:(e,r,t={miss:()=>Promise.resolve()})=>r().then((e=>Promise.all([e,t.miss(e)]))).then((([e])=>e)),set:(e,r)=>Promise.resolve(r),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,a,s={miss:()=>Promise.resolve()})=>t.get(e,a,s).catch((()=>n({caches:r}).get(e,a,s))),set:(e,a)=>t.set(e,a).catch((()=>n({caches:r}).set(e,a))),delete:e=>t.delete(e).catch((()=>n({caches:r}).delete(e))),clear:()=>t.clear().catch((()=>n({caches:r}).clear()))}}function s(e={serializable:!0}){let r={};return{get(t,a,n={miss:()=>Promise.resolve()}){const s=JSON.stringify(t);if(s in r)return Promise.resolve(e.serializable?JSON.parse(r[s]):r[s]);const i=a();return i.then((e=>n.miss(e))).then((()=>i))},set:(t,a)=>(r[JSON.stringify(t)]=e.serializable?JSON.stringify(a):a,Promise.resolve(a)),delete:e=>(delete r[JSON.stringify(e)],Promise.resolve()),clear:()=>(r={},Promise.resolve())}}const i=12e4;function o(e,r="up"){const t=Date.now();return{...e,status:r,lastUpdate:t,isUp:function(){return"up"===r||Date.now()-t>i},isTimedOut:function(){return"timed out"===r&&Date.now()-t<=i}}}function d(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,r||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"==typeof r?r:r+""}function c(e,r,t){return(r=d(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class u extends Error{constructor(e,r){super(e),c(this,"name","AlgoliaError"),r&&(this.name=r)}}class h extends u{constructor(e,r,t){super(e,t),c(this,"stackTrace",void 0),this.stackTrace=r}}class l extends h{constructor(e){super("Unreachable hosts - your application id may be incorrect. If the error persists, please create a ticket at https://support.algolia.com/ sharing steps we can use to reproduce the issue.",e,"RetryError")}}class m extends h{constructor(e,r,t,a="ApiError"){super(e,t,a),c(this,"status",void 0),this.status=r}}class g extends u{constructor(e,r){super(e,"DeserializationError"),c(this,"response",void 0),this.response=r}}class p extends m{constructor(e,r,t,a){super(e,r,a,"DetailedApiError"),c(this,"error",void 0),this.error=t}}function w(e,r,t){const a=function(e){const r=e=>"[object Object]"===Object.prototype.toString.call(e)||"[object Array]"===Object.prototype.toString.call(e);return Object.keys(e).map((t=>`${t}=${encodeURIComponent(r(e[t])?JSON.stringify(e[t]):e[t]).replaceAll("+","%20")}`)).join("&")}(t);let n=`${e.protocol}://${e.url}${e.port?`:${e.port}`:""}/${"/"===r.charAt(0)?r.substring(1):r}`;return a.length&&(n+=`?${a}`),n}function P(e){const r=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...r}}}}function y({hosts:e,hostsCache:r,baseHeaders:t,baseQueryParameters:a,algoliaAgent:n,timeouts:s,requester:i,requestsCache:d,responsesCache:c}){async function u(d,c,u=!0){const h=[],y=function(e,r){if("GET"===e.method||void 0===e.data&&void 0===r.data)return;const t=Array.isArray(e.data)?e.data:{...e.data,...r.data};return JSON.stringify(t)}(d,c),q=function(e,r,t){const a={Accept:"application/json",...e,...r,...t},n={};return Object.keys(a).forEach((e=>{const r=a[e];n[e.toLowerCase()]=r})),n}(t,d.headers,c.headers),f="GET"===d.method?{...d.data,...c.data}:{},x={...a,...d.queryParameters,...f};if(n.value&&(x["x-algolia-agent"]=n.value),c&&c.queryParameters)for(const e of Object.keys(c.queryParameters))c.queryParameters[e]&&"[object Object]"!==Object.prototype.toString.call(c.queryParameters[e])?x[e]=c.queryParameters[e].toString():x[e]=c.queryParameters[e];let E=0;const S=async(e,t)=>{const a=e.pop();if(void 0===a)throw new l(function(e){return e.map((e=>P(e)))}(h));let n=u?c.timeouts?.read||s.read:c.timeouts?.write||s.write;const f={data:y,headers:q,method:d.method,url:w(a,d.path,x),connectTimeout:t(E,c.timeouts?.connect||s.connect),responseTimeout:t(E,n)},v=r=>{const t={request:f,response:r,host:a,triesLeft:e.length};return h.push(t),t},b=await i.send(f);if(function({isTimedOut:e,status:r}){return e||function({isTimedOut:e,status:r}){return!e&&!~~r}({isTimedOut:e,status:r})||2!=~~(r/100)&&4!=~~(r/100)}(b)){const n=v(b);return b.isTimedOut&&E++,console.log("Retryable failure",P(n)),await r.set(a,o(a,b.isTimedOut?"timed out":"down")),S(e,t)}if(function({status:e}){return 2==~~(e/100)}(b))return function(e){try{return JSON.parse(e.content)}catch(r){throw new g(r.message,e)}}(b);throw v(b),function({content:e,status:r},t){try{const a=JSON.parse(e);return"error"in a?new p(a.message,r,a.error,t):new m(a.message,r,t)}catch(e){}return new m(e,r,t)}(b,h)},v=e.filter((e=>"readWrite"===e.accept||(u?"read"===e.accept:"write"===e.accept))),b=await async function(e){const t=await Promise.all(e.map((e=>r.get(e,(()=>Promise.resolve(o(e))))))),a=t.filter((e=>e.isUp())),n=t.filter((e=>e.isTimedOut())),s=[...a,...n];return{hosts:s.length>0?s:e,getTimeout:(e,r)=>(0===n.length&&0===e?1:n.length+3+e)*r}}(v);return S([...b.hosts].reverse(),b.getTimeout)}return{hostsCache:r,requester:i,timeouts:s,algoliaAgent:n,baseHeaders:t,baseQueryParameters:a,hosts:e,request:function(e,r={}){const n=e.useReadTransporter||"GET"===e.method;if(!n)return u(e,r,n);const s=()=>u(e,r);if(!0!==(r.cacheable||e.cacheable))return s();const i={request:e,requestOptions:r,transporter:{queryParameters:a,headers:t}};return c.get(i,(()=>d.get(i,(()=>d.set(i,s()).then((e=>Promise.all([d.delete(i),e])),(e=>Promise.all([d.delete(i),Promise.reject(e)]))).then((([e,r])=>r))))),{miss:e=>c.set(i,e)})},requestsCache:d,responsesCache:c}}function q({algoliaAgents:e,client:r,version:t}){const a=function(e){const r={value:`Algolia for JavaScript (${e})`,add(e){const t=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===r.value.indexOf(t)&&(r.value=`${r.value}${t}`),r}};return r}(t).add({segment:r,version:t});return e.forEach((e=>a.add(e))),a}const f="5.0.0-beta.1",x=["de","us"];const E="5.0.0-beta.1",S=["de","us"];const v="5.0.0-beta.1",b=["eu","us"];const T="5.0.0-beta.1";function D(e){return[{url:`${e}-dsn.algolia.net`,accept:"read",protocol:"https"},{url:`${e}.algolia.net`,accept:"write",protocol:"https"}].concat(function(e){const r=e;for(let t=e.length-1;t>0;t--){const a=Math.floor(Math.random()*(t+1)),n=e[t];r[t]=e[a],r[a]=n}return r}([{url:`${e}-1.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${e}-2.algolianet.com`,accept:"readWrite",protocol:"https"},{url:`${e}-3.algolianet.com`,accept:"readWrite",protocol:"https"}]))}function I({appId:e,apiKey:a,authMode:n,algoliaAgents:s,...i}){const o=r(e,a,n),d=y({hosts:D(e),...i,algoliaAgent:q({algoliaAgents:s,client:"Search",version:T}),baseHeaders:{"content-type":"text/plain",...o.headers(),...i.baseHeaders},baseQueryParameters:{...o.queryParameters(),...i.baseQueryParameters}});return{transporter:d,appId:e,clearCache:()=>Promise.all([d.requestsCache.clear(),d.responsesCache.clear()]).then((()=>{})),get _ua(){return d.algoliaAgent.value},addAlgoliaAgent(e,r){d.algoliaAgent.add({segment:e,version:r})},waitForTask({indexName:e,taskID:r,maxRetries:a=50,timeout:n=(e=>Math.min(200*e,5e3))},s){let i=0;return t({func:()=>this.getTask({indexName:e,taskID:r},s),validate:e=>"published"===e.status,aggregator:()=>i+=1,error:{validate:()=>i>=a,message:()=>`The maximum number of retries exceeded. (${i}/${a})`},timeout:()=>n(i)})},waitForApiKey({operation:e,key:r,apiKey:a,maxRetries:n=50,timeout:s=(e=>Math.min(200*e,5e3))},i){let o=0;const d={aggregator:()=>o+=1,error:{validate:()=>o>=n,message:()=>`The maximum number of retries exceeded. (${o}/${n})`},timeout:()=>s(o)};if("update"===e){if(!a)throw new Error("`apiKey` is required when waiting for an `update` operation.");return t({...d,func:()=>this.getApiKey({key:r},i),validate:e=>{for(const r of Object.keys(a)){const t=a[r],n=e[r];if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length||t.some(((e,r)=>e!==n[r])))return!1}else if(t!==n)return!1}return!0}})}return t({...d,func:()=>this.getApiKey({key:r},i).catch((e=>e)),validate:r=>"add"===e?404!==r.status:404===r.status})},browseObjects({indexName:e,browseParams:r,...a},n){return t({func:t=>this.browse({indexName:e,browseParams:{cursor:t?t.cursor:void 0,...r}},n),validate:e=>void 0===e.cursor,...a})},browseRules({indexName:e,searchRulesParams:r,...a},n){const s={hitsPerPage:1e3,...r};return t({func:r=>this.searchRules({indexName:e,searchRulesParams:{...s,page:r?r.page+1:s.page||0}},n),validate:e=>e.nbHits<s.hitsPerPage,...a})},browseSynonyms({indexName:e,searchSynonymsParams:r,...a},n){const s={page:0,...r,hitsPerPage:1e3};return t({func:r=>{const t=this.searchSynonyms({indexName:e,searchSynonymsParams:{...s,page:s.page}},n);return s.page+=1,t},validate:e=>e.nbHits<s.hitsPerPage,...a})},searchForHits(e,r){return this.search(e,r)},searchForFacets(e,r){return this.search(e,r)},async chunkedBatch({indexName:e,objects:r,action:t="addObject",waitForTasks:a,batchSize:n=1e3},s){let i=[];const o=[];for(const[a,d]of r.entries())i.push({action:t,body:d}),a%n==0&&(o.push(await this.batch({indexName:e,batchWriteParams:{requests:i}},s)),i=[]);if(a)for(const r of o)await this.waitForTask({indexName:e,taskID:r.taskID});return o},async replaceAllObjects({indexName:e,objects:r,batchSize:t},a){const n=`${e}_tmp_${Math.random().toString(36).substring(7)}`,s=await this.operationIndex({indexName:e,operationIndexParams:{operation:"copy",destination:n,scope:["settings","rules","synonyms"]}},a);await this.waitForTask({indexName:e,taskID:s.taskID});const i=await this.chunkedBatch({indexName:n,objects:r,waitForTasks:!0,batchSize:t},a),o=await this.operationIndex({indexName:n,operationIndexParams:{operation:"move",destination:e}},a);return await this.waitForTask({indexName:e,taskID:o.taskID}),{copyOperationResponse:s,batchResponses:i,moveOperationResponse:o}},addApiKey(e,r){if(!e)throw new Error("Parameter `apiKey` is required when calling `addApiKey`.");if(!e.acl)throw new Error("Parameter `apiKey.acl` is required when calling `addApiKey`.");const t={method:"POST",path:"/1/keys",queryParameters:{},headers:{},data:e};return d.request(t,r)},addOrUpdateObject({indexName:e,objectID:r,body:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `addOrUpdateObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `addOrUpdateObject`.");if(!t)throw new Error("Parameter `body` is required when calling `addOrUpdateObject`.");const n={method:"PUT",path:"/1/indexes/{indexName}/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{},data:t};return d.request(n,a)},appendSource(e,r){if(!e)throw new Error("Parameter `source` is required when calling `appendSource`.");if(!e.source)throw new Error("Parameter `source.source` is required when calling `appendSource`.");const t={method:"POST",path:"/1/security/sources/append",queryParameters:{},headers:{},data:e};return d.request(t,r)},assignUserId({xAlgoliaUserID:e,assignUserIdParams:r},t){if(!e)throw new Error("Parameter `xAlgoliaUserID` is required when calling `assignUserId`.");if(!r)throw new Error("Parameter `assignUserIdParams` is required when calling `assignUserId`.");if(!r.cluster)throw new Error("Parameter `assignUserIdParams.cluster` is required when calling `assignUserId`.");const a={};void 0!==e&&(a["X-Algolia-User-ID"]=e.toString());const n={method:"POST",path:"/1/clusters/mapping",queryParameters:{},headers:a,data:r};return d.request(n,t)},batch({indexName:e,batchWriteParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `batch`.");if(!r)throw new Error("Parameter `batchWriteParams` is required when calling `batch`.");if(!r.requests)throw new Error("Parameter `batchWriteParams.requests` is required when calling `batch`.");const a={method:"POST",path:"/1/indexes/{indexName}/batch".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return d.request(a,t)},batchAssignUserIds({xAlgoliaUserID:e,batchAssignUserIdsParams:r},t){if(!e)throw new Error("Parameter `xAlgoliaUserID` is required when calling `batchAssignUserIds`.");if(!r)throw new Error("Parameter `batchAssignUserIdsParams` is required when calling `batchAssignUserIds`.");if(!r.cluster)throw new Error("Parameter `batchAssignUserIdsParams.cluster` is required when calling `batchAssignUserIds`.");if(!r.users)throw new Error("Parameter `batchAssignUserIdsParams.users` is required when calling `batchAssignUserIds`.");const a={};void 0!==e&&(a["X-Algolia-User-ID"]=e.toString());const n={method:"POST",path:"/1/clusters/mapping/batch",queryParameters:{},headers:a,data:r};return d.request(n,t)},batchDictionaryEntries({dictionaryName:e,batchDictionaryEntriesParams:r},t){if(!e)throw new Error("Parameter `dictionaryName` is required when calling `batchDictionaryEntries`.");if(!r)throw new Error("Parameter `batchDictionaryEntriesParams` is required when calling `batchDictionaryEntries`.");if(!r.requests)throw new Error("Parameter `batchDictionaryEntriesParams.requests` is required when calling `batchDictionaryEntries`.");const a={method:"POST",path:"/1/dictionaries/{dictionaryName}/batch".replace("{dictionaryName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return d.request(a,t)},browse({indexName:e,browseParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `browse`.");const a={method:"POST",path:"/1/indexes/{indexName}/browse".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{}};return d.request(a,t)},clearObjects({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `clearObjects`.");const t={method:"POST",path:"/1/indexes/{indexName}/clear".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},clearRules({indexName:e,forwardToReplicas:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `clearRules`.");const a="/1/indexes/{indexName}/rules/clear".replace("{indexName}",encodeURIComponent(e)),n={};void 0!==r&&(n.forwardToReplicas=r.toString());const s={method:"POST",path:a,queryParameters:n,headers:{}};return d.request(s,t)},clearSynonyms({indexName:e,forwardToReplicas:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `clearSynonyms`.");const a="/1/indexes/{indexName}/synonyms/clear".replace("{indexName}",encodeURIComponent(e)),n={};void 0!==r&&(n.forwardToReplicas=r.toString());const s={method:"POST",path:a,queryParameters:n,headers:{}};return d.request(s,t)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");const a={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");const a={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const n={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");const n={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},deleteApiKey({key:e},r){if(!e)throw new Error("Parameter `key` is required when calling `deleteApiKey`.");const t={method:"DELETE",path:"/1/keys/{key}".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},deleteBy({indexName:e,deleteByParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteBy`.");if(!r)throw new Error("Parameter `deleteByParams` is required when calling `deleteBy`.");const a={method:"POST",path:"/1/indexes/{indexName}/deleteByQuery".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return d.request(a,t)},deleteIndex({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteIndex`.");const t={method:"DELETE",path:"/1/indexes/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},deleteObject({indexName:e,objectID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteObject`.");const a={method:"DELETE",path:"/1/indexes/{indexName}/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return d.request(a,t)},deleteRule({indexName:e,objectID:r,forwardToReplicas:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteRule`.");const n="/1/indexes/{indexName}/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),s={};void 0!==t&&(s.forwardToReplicas=t.toString());const i={method:"DELETE",path:n,queryParameters:s,headers:{}};return d.request(i,a)},deleteSource({source:e},r){if(!e)throw new Error("Parameter `source` is required when calling `deleteSource`.");const t={method:"DELETE",path:"/1/security/sources/{source}".replace("{source}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},deleteSynonym({indexName:e,objectID:r,forwardToReplicas:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteSynonym`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteSynonym`.");const n="/1/indexes/{indexName}/synonyms/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),s={};void 0!==t&&(s.forwardToReplicas=t.toString());const i={method:"DELETE",path:n,queryParameters:s,headers:{}};return d.request(i,a)},getApiKey({key:e},r){if(!e)throw new Error("Parameter `key` is required when calling `getApiKey`.");const t={method:"GET",path:"/1/keys/{key}".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},getDictionaryLanguages(e){const r={method:"GET",path:"/1/dictionaries/*/languages",queryParameters:{},headers:{}};return d.request(r,e)},getDictionarySettings(e){const r={method:"GET",path:"/1/dictionaries/*/settings",queryParameters:{},headers:{}};return d.request(r,e)},getLogs({offset:e,length:r,indexName:t,type:a}={},n=void 0){const s={};void 0!==e&&(s.offset=e.toString()),void 0!==r&&(s.length=r.toString()),void 0!==t&&(s.indexName=t.toString()),void 0!==a&&(s.type=a.toString());const i={method:"GET",path:"/1/logs",queryParameters:s,headers:{}};return d.request(i,n)},getObject({indexName:e,objectID:r,attributesToRetrieve:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `getObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getObject`.");const n="/1/indexes/{indexName}/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),s={};void 0!==t&&(s.attributesToRetrieve=t.toString());const i={method:"GET",path:n,queryParameters:s,headers:{}};return d.request(i,a)},getObjects(e,r){if(!e)throw new Error("Parameter `getObjectsParams` is required when calling `getObjects`.");if(!e.requests)throw new Error("Parameter `getObjectsParams.requests` is required when calling `getObjects`.");const t={method:"POST",path:"/1/indexes/*/objects",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return d.request(t,r)},getRule({indexName:e,objectID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `getRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getRule`.");const a={method:"GET",path:"/1/indexes/{indexName}/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return d.request(a,t)},getSettings({indexName:e},r){if(!e)throw new Error("Parameter `indexName` is required when calling `getSettings`.");const t={method:"GET",path:"/1/indexes/{indexName}/settings".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},getSources(e){const r={method:"GET",path:"/1/security/sources",queryParameters:{},headers:{}};return d.request(r,e)},getSynonym({indexName:e,objectID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `getSynonym`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getSynonym`.");const a={method:"GET",path:"/1/indexes/{indexName}/synonyms/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return d.request(a,t)},getTask({indexName:e,taskID:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `getTask`.");if(!r)throw new Error("Parameter `taskID` is required when calling `getTask`.");const a={method:"GET",path:"/1/indexes/{indexName}/task/{taskID}".replace("{indexName}",encodeURIComponent(e)).replace("{taskID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return d.request(a,t)},getTopUserIds(e){const r={method:"GET",path:"/1/clusters/mapping/top",queryParameters:{},headers:{}};return d.request(r,e)},getUserId({userID:e},r){if(!e)throw new Error("Parameter `userID` is required when calling `getUserId`.");const t={method:"GET",path:"/1/clusters/mapping/{userID}".replace("{userID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},hasPendingMappings({getClusters:e}={},r=void 0){const t={};void 0!==e&&(t.getClusters=e.toString());const a={method:"GET",path:"/1/clusters/mapping/pending",queryParameters:t,headers:{}};return d.request(a,r)},listApiKeys(e){const r={method:"GET",path:"/1/keys",queryParameters:{},headers:{}};return d.request(r,e)},listClusters(e){const r={method:"GET",path:"/1/clusters",queryParameters:{},headers:{}};return d.request(r,e)},listIndices({page:e,hitsPerPage:r}={},t=void 0){const a={};void 0!==e&&(a.page=e.toString()),void 0!==r&&(a.hitsPerPage=r.toString());const n={method:"GET",path:"/1/indexes",queryParameters:a,headers:{}};return d.request(n,t)},listUserIds({page:e,hitsPerPage:r}={},t=void 0){const a={};void 0!==e&&(a.page=e.toString()),void 0!==r&&(a.hitsPerPage=r.toString());const n={method:"GET",path:"/1/clusters/mapping",queryParameters:a,headers:{}};return d.request(n,t)},multipleBatch(e,r){if(!e)throw new Error("Parameter `batchParams` is required when calling `multipleBatch`.");if(!e.requests)throw new Error("Parameter `batchParams.requests` is required when calling `multipleBatch`.");const t={method:"POST",path:"/1/indexes/*/batch",queryParameters:{},headers:{},data:e};return d.request(t,r)},operationIndex({indexName:e,operationIndexParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `operationIndex`.");if(!r)throw new Error("Parameter `operationIndexParams` is required when calling `operationIndex`.");if(!r.operation)throw new Error("Parameter `operationIndexParams.operation` is required when calling `operationIndex`.");if(!r.destination)throw new Error("Parameter `operationIndexParams.destination` is required when calling `operationIndex`.");const a={method:"POST",path:"/1/indexes/{indexName}/operation".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return d.request(a,t)},partialUpdateObject({indexName:e,objectID:r,attributesToUpdate:t,createIfNotExists:a},n){if(!e)throw new Error("Parameter `indexName` is required when calling `partialUpdateObject`.");if(!r)throw new Error("Parameter `objectID` is required when calling `partialUpdateObject`.");if(!t)throw new Error("Parameter `attributesToUpdate` is required when calling `partialUpdateObject`.");const s="/1/indexes/{indexName}/{objectID}/partial".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),i={};void 0!==a&&(i.createIfNotExists=a.toString());const o={method:"POST",path:s,queryParameters:i,headers:{},data:t};return d.request(o,n)},removeUserId({userID:e},r){if(!e)throw new Error("Parameter `userID` is required when calling `removeUserId`.");const t={method:"DELETE",path:"/1/clusters/mapping/{userID}".replace("{userID}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},replaceSources({source:e},r){if(!e)throw new Error("Parameter `source` is required when calling `replaceSources`.");const t={method:"PUT",path:"/1/security/sources",queryParameters:{},headers:{},data:e};return d.request(t,r)},restoreApiKey({key:e},r){if(!e)throw new Error("Parameter `key` is required when calling `restoreApiKey`.");const t={method:"POST",path:"/1/keys/{key}/restore".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},saveObject({indexName:e,body:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `saveObject`.");if(!r)throw new Error("Parameter `body` is required when calling `saveObject`.");const a={method:"POST",path:"/1/indexes/{indexName}".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return d.request(a,t)},saveRule({indexName:e,objectID:r,rule:t,forwardToReplicas:a},n){if(!e)throw new Error("Parameter `indexName` is required when calling `saveRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `saveRule`.");if(!t)throw new Error("Parameter `rule` is required when calling `saveRule`.");if(!t.objectID)throw new Error("Parameter `rule.objectID` is required when calling `saveRule`.");const s="/1/indexes/{indexName}/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),i={};void 0!==a&&(i.forwardToReplicas=a.toString());const o={method:"PUT",path:s,queryParameters:i,headers:{},data:t};return d.request(o,n)},saveRules({indexName:e,rules:r,forwardToReplicas:t,clearExistingRules:a},n){if(!e)throw new Error("Parameter `indexName` is required when calling `saveRules`.");if(!r)throw new Error("Parameter `rules` is required when calling `saveRules`.");const s="/1/indexes/{indexName}/rules/batch".replace("{indexName}",encodeURIComponent(e)),i={};void 0!==t&&(i.forwardToReplicas=t.toString()),void 0!==a&&(i.clearExistingRules=a.toString());const o={method:"POST",path:s,queryParameters:i,headers:{},data:r};return d.request(o,n)},saveSynonym({indexName:e,objectID:r,synonymHit:t,forwardToReplicas:a},n){if(!e)throw new Error("Parameter `indexName` is required when calling `saveSynonym`.");if(!r)throw new Error("Parameter `objectID` is required when calling `saveSynonym`.");if(!t)throw new Error("Parameter `synonymHit` is required when calling `saveSynonym`.");if(!t.objectID)throw new Error("Parameter `synonymHit.objectID` is required when calling `saveSynonym`.");if(!t.type)throw new Error("Parameter `synonymHit.type` is required when calling `saveSynonym`.");const s="/1/indexes/{indexName}/synonyms/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{objectID}",encodeURIComponent(r)),i={};void 0!==a&&(i.forwardToReplicas=a.toString());const o={method:"PUT",path:s,queryParameters:i,headers:{},data:t};return d.request(o,n)},saveSynonyms({indexName:e,synonymHit:r,forwardToReplicas:t,replaceExistingSynonyms:a},n){if(!e)throw new Error("Parameter `indexName` is required when calling `saveSynonyms`.");if(!r)throw new Error("Parameter `synonymHit` is required when calling `saveSynonyms`.");const s="/1/indexes/{indexName}/synonyms/batch".replace("{indexName}",encodeURIComponent(e)),i={};void 0!==t&&(i.forwardToReplicas=t.toString()),void 0!==a&&(i.replaceExistingSynonyms=a.toString());const o={method:"POST",path:s,queryParameters:i,headers:{},data:r};return d.request(o,n)},search(e,r){if(e&&Array.isArray(e)){const r={requests:e.map((({params:e,...r})=>"facet"===r.type?{...r,...e,type:"facet"}:{...r,...e,facet:void 0,maxFacetHits:void 0,facetQuery:void 0}))};e=r}if(!e)throw new Error("Parameter `searchMethodParams` is required when calling `search`.");if(!e.requests)throw new Error("Parameter `searchMethodParams.requests` is required when calling `search`.");const t={method:"POST",path:"/1/indexes/*/queries",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return d.request(t,r)},searchDictionaryEntries({dictionaryName:e,searchDictionaryEntriesParams:r},t){if(!e)throw new Error("Parameter `dictionaryName` is required when calling `searchDictionaryEntries`.");if(!r)throw new Error("Parameter `searchDictionaryEntriesParams` is required when calling `searchDictionaryEntries`.");if(!r.query)throw new Error("Parameter `searchDictionaryEntriesParams.query` is required when calling `searchDictionaryEntries`.");const a={method:"POST",path:"/1/dictionaries/{dictionaryName}/search".replace("{dictionaryName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r,useReadTransporter:!0,cacheable:!0};return d.request(a,t)},searchForFacetValues({indexName:e,facetName:r,searchForFacetValuesRequest:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `searchForFacetValues`.");if(!r)throw new Error("Parameter `facetName` is required when calling `searchForFacetValues`.");const n={method:"POST",path:"/1/indexes/{indexName}/facets/{facetName}/query".replace("{indexName}",encodeURIComponent(e)).replace("{facetName}",encodeURIComponent(r)),queryParameters:{},headers:{},data:t||{},useReadTransporter:!0,cacheable:!0};return d.request(n,a)},searchRules({indexName:e,searchRulesParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `searchRules`.");const a={method:"POST",path:"/1/indexes/{indexName}/rules/search".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return d.request(a,t)},searchSingleIndex({indexName:e,searchParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `searchSingleIndex`.");const a={method:"POST",path:"/1/indexes/{indexName}/query".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return d.request(a,t)},searchSynonyms({indexName:e,searchSynonymsParams:r},t){if(!e)throw new Error("Parameter `indexName` is required when calling `searchSynonyms`.");const a={method:"POST",path:"/1/indexes/{indexName}/synonyms/search".replace("{indexName}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return d.request(a,t)},searchUserIds(e,r){if(!e)throw new Error("Parameter `searchUserIdsParams` is required when calling `searchUserIds`.");if(!e.query)throw new Error("Parameter `searchUserIdsParams.query` is required when calling `searchUserIds`.");const t={method:"POST",path:"/1/clusters/mapping/search",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return d.request(t,r)},setDictionarySettings(e,r){if(!e)throw new Error("Parameter `dictionarySettingsParams` is required when calling `setDictionarySettings`.");if(!e.disableStandardEntries)throw new Error("Parameter `dictionarySettingsParams.disableStandardEntries` is required when calling `setDictionarySettings`.");const t={method:"PUT",path:"/1/dictionaries/*/settings",queryParameters:{},headers:{},data:e};return d.request(t,r)},setSettings({indexName:e,indexSettings:r,forwardToReplicas:t},a){if(!e)throw new Error("Parameter `indexName` is required when calling `setSettings`.");if(!r)throw new Error("Parameter `indexSettings` is required when calling `setSettings`.");const n="/1/indexes/{indexName}/settings".replace("{indexName}",encodeURIComponent(e)),s={};void 0!==t&&(s.forwardToReplicas=t.toString());const i={method:"PUT",path:n,queryParameters:s,headers:{},data:r};return d.request(i,a)},updateApiKey({key:e,apiKey:r},t){if(!e)throw new Error("Parameter `key` is required when calling `updateApiKey`.");if(!r)throw new Error("Parameter `apiKey` is required when calling `updateApiKey`.");if(!r.acl)throw new Error("Parameter `apiKey.acl` is required when calling `updateApiKey`.");const a={method:"PUT",path:"/1/keys/{key}".replace("{key}",encodeURIComponent(e)),queryParameters:{},headers:{},data:r};return d.request(a,t)}}}const N=T;e.algoliasearch=function(e,t,i){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(!t||"string"!=typeof t)throw new Error("`apiKey` is missing.");const o={apiKey:t,appId:e,timeouts:{connect:1e3,read:2e3,write:3e4},requester:{send:function(e){return new Promise((r=>{const t=new XMLHttpRequest;t.open(e.method,e.url,!0),Object.keys(e.headers).forEach((r=>t.setRequestHeader(r,e.headers[r])));const a=(e,a)=>setTimeout((()=>{t.abort(),r({status:0,content:a,isTimedOut:!0})}),e),n=a(e.connectTimeout,"Connection timeout");let s;t.onreadystatechange=()=>{t.readyState>t.OPENED&&void 0===s&&(clearTimeout(n),s=a(e.responseTimeout,"Socket timeout"))},t.onerror=()=>{0===t.status&&(clearTimeout(n),clearTimeout(s),r({content:t.responseText||"Network request failed",status:t.status,isTimedOut:!1}))},t.onload=()=>{clearTimeout(n),clearTimeout(s),r({content:t.responseText,status:t.status,isTimedOut:!1})},t.send(e.data)}))}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:s(),requestsCache:s({serializable:!1}),hostsCache:n({caches:[a({key:`${N}-${e}`}),s()]}),...i};return{...I(o),get _ua(){return this.transporter.algoliaAgent.value},initAnalytics:function(e={}){if(e.region&&("string"!=typeof e.region||!S.includes(e.region)))throw new Error(`\`region\` must be one of the following: ${S.join(", ")}`);return function({appId:e,apiKey:t,authMode:a,algoliaAgents:n,region:s,...i}){const o=r(e,t,a),d=y({hosts:(c=s,[{url:c?"analytics.{region}.algolia.com".replace("{region}",c):"analytics.algolia.com",accept:"readWrite",protocol:"https"}]),...i,algoliaAgent:q({algoliaAgents:n,client:"Analytics",version:E}),baseHeaders:{"content-type":"text/plain",...o.headers(),...i.baseHeaders},baseQueryParameters:{...o.queryParameters(),...i.baseQueryParameters}});var c;return{transporter:d,appId:e,clearCache:()=>Promise.all([d.requestsCache.clear(),d.responsesCache.clear()]).then((()=>{})),get _ua(){return d.algoliaAgent.value},addAlgoliaAgent(e,r){d.algoliaAgent.add({segment:e,version:r})},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");const a={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");const a={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const n={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");const n={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},getAddToCartRate({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getAddToCartRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/conversions/addToCartRate",queryParameters:s,headers:{}};return d.request(i,n)},getAverageClickPosition({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getAverageClickPosition`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/clicks/averageClickPosition",queryParameters:s,headers:{}};return d.request(i,n)},getClickPositions({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getClickPositions`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/clicks/positions",queryParameters:s,headers:{}};return d.request(i,n)},getClickThroughRate({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getClickThroughRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/clicks/clickThroughRate",queryParameters:s,headers:{}};return d.request(i,n)},getConversionRate({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getConversionRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/conversions/conversionRate",queryParameters:s,headers:{}};return d.request(i,n)},getNoClickRate({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getNoClickRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/searches/noClickRate",queryParameters:s,headers:{}};return d.request(i,n)},getNoResultsRate({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getNoResultsRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/searches/noResultRate",queryParameters:s,headers:{}};return d.request(i,n)},getPurchaseRate({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getPurchaseRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/conversions/purchaseRate",queryParameters:s,headers:{}};return d.request(i,n)},getRevenue({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getRevenue`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/conversions/revenue",queryParameters:s,headers:{}};return d.request(i,n)},getSearchesCount({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesCount`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/searches/count",queryParameters:s,headers:{}};return d.request(i,n)},getSearchesNoClicks({index:e,startDate:r,endDate:t,limit:a,offset:n,tags:s},i){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesNoClicks`.");const o={};void 0!==e&&(o.index=e.toString()),void 0!==r&&(o.startDate=r.toString()),void 0!==t&&(o.endDate=t.toString()),void 0!==a&&(o.limit=a.toString()),void 0!==n&&(o.offset=n.toString()),void 0!==s&&(o.tags=s.toString());const c={method:"GET",path:"/2/searches/noClicks",queryParameters:o,headers:{}};return d.request(c,i)},getSearchesNoResults({index:e,startDate:r,endDate:t,limit:a,offset:n,tags:s},i){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesNoResults`.");const o={};void 0!==e&&(o.index=e.toString()),void 0!==r&&(o.startDate=r.toString()),void 0!==t&&(o.endDate=t.toString()),void 0!==a&&(o.limit=a.toString()),void 0!==n&&(o.offset=n.toString()),void 0!==s&&(o.tags=s.toString());const c={method:"GET",path:"/2/searches/noResults",queryParameters:o,headers:{}};return d.request(c,i)},getStatus({index:e},r){if(!e)throw new Error("Parameter `index` is required when calling `getStatus`.");const t={};void 0!==e&&(t.index=e.toString());const a={method:"GET",path:"/2/status",queryParameters:t,headers:{}};return d.request(a,r)},getTopCountries({index:e,startDate:r,endDate:t,limit:a,offset:n,tags:s},i){if(!e)throw new Error("Parameter `index` is required when calling `getTopCountries`.");const o={};void 0!==e&&(o.index=e.toString()),void 0!==r&&(o.startDate=r.toString()),void 0!==t&&(o.endDate=t.toString()),void 0!==a&&(o.limit=a.toString()),void 0!==n&&(o.offset=n.toString()),void 0!==s&&(o.tags=s.toString());const c={method:"GET",path:"/2/countries",queryParameters:o,headers:{}};return d.request(c,i)},getTopFilterAttributes({index:e,search:r,startDate:t,endDate:a,limit:n,offset:s,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getTopFilterAttributes`.");const c={};void 0!==e&&(c.index=e.toString()),void 0!==r&&(c.search=r.toString()),void 0!==t&&(c.startDate=t.toString()),void 0!==a&&(c.endDate=a.toString()),void 0!==n&&(c.limit=n.toString()),void 0!==s&&(c.offset=s.toString()),void 0!==i&&(c.tags=i.toString());const u={method:"GET",path:"/2/filters",queryParameters:c,headers:{}};return d.request(u,o)},getTopFilterForAttribute({attribute:e,index:r,search:t,startDate:a,endDate:n,limit:s,offset:i,tags:o},c){if(!e)throw new Error("Parameter `attribute` is required when calling `getTopFilterForAttribute`.");if(!r)throw new Error("Parameter `index` is required when calling `getTopFilterForAttribute`.");const u="/2/filters/{attribute}".replace("{attribute}",encodeURIComponent(e)),h={};void 0!==r&&(h.index=r.toString()),void 0!==t&&(h.search=t.toString()),void 0!==a&&(h.startDate=a.toString()),void 0!==n&&(h.endDate=n.toString()),void 0!==s&&(h.limit=s.toString()),void 0!==i&&(h.offset=i.toString()),void 0!==o&&(h.tags=o.toString());const l={method:"GET",path:u,queryParameters:h,headers:{}};return d.request(l,c)},getTopFiltersNoResults({index:e,search:r,startDate:t,endDate:a,limit:n,offset:s,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getTopFiltersNoResults`.");const c={};void 0!==e&&(c.index=e.toString()),void 0!==r&&(c.search=r.toString()),void 0!==t&&(c.startDate=t.toString()),void 0!==a&&(c.endDate=a.toString()),void 0!==n&&(c.limit=n.toString()),void 0!==s&&(c.offset=s.toString()),void 0!==i&&(c.tags=i.toString());const u={method:"GET",path:"/2/filters/noResults",queryParameters:c,headers:{}};return d.request(u,o)},getTopHits({index:e,search:r,clickAnalytics:t,revenueAnalytics:a,startDate:n,endDate:s,limit:i,offset:o,tags:c},u){if(!e)throw new Error("Parameter `index` is required when calling `getTopHits`.");const h={};void 0!==e&&(h.index=e.toString()),void 0!==r&&(h.search=r.toString()),void 0!==t&&(h.clickAnalytics=t.toString()),void 0!==a&&(h.revenueAnalytics=a.toString()),void 0!==n&&(h.startDate=n.toString()),void 0!==s&&(h.endDate=s.toString()),void 0!==i&&(h.limit=i.toString()),void 0!==o&&(h.offset=o.toString()),void 0!==c&&(h.tags=c.toString());const l={method:"GET",path:"/2/hits",queryParameters:h,headers:{}};return d.request(l,u)},getTopSearches({index:e,clickAnalytics:r,revenueAnalytics:t,startDate:a,endDate:n,orderBy:s,direction:i,limit:o,offset:c,tags:u},h){if(!e)throw new Error("Parameter `index` is required when calling `getTopSearches`.");const l={};void 0!==e&&(l.index=e.toString()),void 0!==r&&(l.clickAnalytics=r.toString()),void 0!==t&&(l.revenueAnalytics=t.toString()),void 0!==a&&(l.startDate=a.toString()),void 0!==n&&(l.endDate=n.toString()),void 0!==s&&(l.orderBy=s.toString()),void 0!==i&&(l.direction=i.toString()),void 0!==o&&(l.limit=o.toString()),void 0!==c&&(l.offset=c.toString()),void 0!==u&&(l.tags=u.toString());const m={method:"GET",path:"/2/searches",queryParameters:l,headers:{}};return d.request(m,h)},getUsersCount({index:e,startDate:r,endDate:t,tags:a},n){if(!e)throw new Error("Parameter `index` is required when calling `getUsersCount`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==r&&(s.startDate=r.toString()),void 0!==t&&(s.endDate=t.toString()),void 0!==a&&(s.tags=a.toString());const i={method:"GET",path:"/2/users/count",queryParameters:s,headers:{}};return d.request(i,n)}}}({...o,...e.options,...e})},initPersonalization:function(e){if(!e.region||e.region&&("string"!=typeof e.region||!b.includes(e.region)))throw new Error(`\`region\` is required and must be one of the following: ${b.join(", ")}`);return function({appId:e,apiKey:t,authMode:a,algoliaAgents:n,region:s,...i}){const o=r(e,t,a),d=y({hosts:(c=s,[{url:"personalization.{region}.algolia.com".replace("{region}",c),accept:"readWrite",protocol:"https"}]),...i,algoliaAgent:q({algoliaAgents:n,client:"Personalization",version:v}),baseHeaders:{"content-type":"text/plain",...o.headers(),...i.baseHeaders},baseQueryParameters:{...o.queryParameters(),...i.baseQueryParameters}});var c;return{transporter:d,appId:e,clearCache:()=>Promise.all([d.requestsCache.clear(),d.responsesCache.clear()]).then((()=>{})),get _ua(){return d.algoliaAgent.value},addAlgoliaAgent(e,r){d.algoliaAgent.add({segment:e,version:r})},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");const a={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");const a={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const n={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");const n={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},deleteUserProfile({userToken:e},r){if(!e)throw new Error("Parameter `userToken` is required when calling `deleteUserProfile`.");const t={method:"DELETE",path:"/1/profiles/{userToken}".replace("{userToken}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},getPersonalizationStrategy(e){const r={method:"GET",path:"/1/strategies/personalization",queryParameters:{},headers:{}};return d.request(r,e)},getUserTokenProfile({userToken:e},r){if(!e)throw new Error("Parameter `userToken` is required when calling `getUserTokenProfile`.");const t={method:"GET",path:"/1/profiles/personalization/{userToken}".replace("{userToken}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},setPersonalizationStrategy(e,r){if(!e)throw new Error("Parameter `personalizationStrategyParams` is required when calling `setPersonalizationStrategy`.");if(!e.eventScoring)throw new Error("Parameter `personalizationStrategyParams.eventScoring` is required when calling `setPersonalizationStrategy`.");if(!e.facetScoring)throw new Error("Parameter `personalizationStrategyParams.facetScoring` is required when calling `setPersonalizationStrategy`.");if(!e.personalizationImpact)throw new Error("Parameter `personalizationStrategyParams.personalizationImpact` is required when calling `setPersonalizationStrategy`.");const t={method:"POST",path:"/1/strategies/personalization",queryParameters:{},headers:{},data:e};return d.request(t,r)}}}({...o,...e.options,...e})},initAbtesting:function(e={}){if(e.region&&("string"!=typeof e.region||!x.includes(e.region)))throw new Error(`\`region\` must be one of the following: ${x.join(", ")}`);return function({appId:e,apiKey:t,authMode:a,algoliaAgents:n,region:s,...i}){const o=r(e,t,a),d=y({hosts:(c=s,[{url:c?"analytics.{region}.algolia.com".replace("{region}",c):"analytics.algolia.com",accept:"readWrite",protocol:"https"}]),...i,algoliaAgent:q({algoliaAgents:n,client:"Abtesting",version:f}),baseHeaders:{"content-type":"text/plain",...o.headers(),...i.baseHeaders},baseQueryParameters:{...o.queryParameters(),...i.baseQueryParameters}});var c;return{transporter:d,appId:e,clearCache:()=>Promise.all([d.requestsCache.clear(),d.responsesCache.clear()]).then((()=>{})),get _ua(){return d.algoliaAgent.value},addAlgoliaAgent(e,r){d.algoliaAgent.add({segment:e,version:r})},addABTests(e,r){if(!e)throw new Error("Parameter `addABTestsRequest` is required when calling `addABTests`.");if(!e.name)throw new Error("Parameter `addABTestsRequest.name` is required when calling `addABTests`.");if(!e.variants)throw new Error("Parameter `addABTestsRequest.variants` is required when calling `addABTests`.");if(!e.endAt)throw new Error("Parameter `addABTestsRequest.endAt` is required when calling `addABTests`.");const t={method:"POST",path:"/2/abtests",queryParameters:{},headers:{},data:e};return d.request(t,r)},customDelete({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");const a={method:"DELETE",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customGet({path:e,parameters:r},t){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");const a={method:"GET",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{}};return d.request(a,t)},customPost({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const n={method:"POST",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},customPut({path:e,parameters:r,body:t},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");const n={method:"PUT",path:"/{path}".replace("{path}",e),queryParameters:r||{},headers:{},data:t||{}};return d.request(n,a)},deleteABTest({id:e},r){if(!e)throw new Error("Parameter `id` is required when calling `deleteABTest`.");const t={method:"DELETE",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},getABTest({id:e},r){if(!e)throw new Error("Parameter `id` is required when calling `getABTest`.");const t={method:"GET",path:"/2/abtests/{id}".replace("{id}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)},listABTests({offset:e,limit:r,indexPrefix:t,indexSuffix:a}={},n=void 0){const s={};void 0!==e&&(s.offset=e.toString()),void 0!==r&&(s.limit=r.toString()),void 0!==t&&(s.indexPrefix=t.toString()),void 0!==a&&(s.indexSuffix=a.toString());const i={method:"GET",path:"/2/abtests",queryParameters:s,headers:{}};return d.request(i,n)},stopABTest({id:e},r){if(!e)throw new Error("Parameter `id` is required when calling `stopABTest`.");const t={method:"POST",path:"/2/abtests/{id}/stop".replace("{id}",encodeURIComponent(e)),queryParameters:{},headers:{}};return d.request(t,r)}}}({...o,...e.options,...e})}}},e.apiClientVersion=N}));
@@ -1,52 +1,37 @@
1
+ import type { ABTestConfiguration } from './aBTestConfiguration';
2
+ import type { Status } from './status';
1
3
  import type { Variant } from './variant';
2
4
  export type ABTest = {
3
5
  /**
4
- * Unique A/B test ID.
6
+ * Unique A/B test identifier.
5
7
  */
6
8
  abTestID: number;
9
+ clickSignificance: number | null;
10
+ conversionSignificance: number | null;
11
+ addToCartSignificance: number | null;
12
+ purchaseSignificance: number | null;
13
+ revenueSignificance: Record<string, number> | null;
7
14
  /**
8
- * [A/B test significance](https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing/in-depth/how-ab-test-scores-are-calculated/#statistical-significance-or-chance) based on click data. A value of 0.95 or over is considered to be _significant_.
9
- */
10
- clickSignificance: number;
11
- /**
12
- * [A/B test significance](https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing/in-depth/how-ab-test-scores-are-calculated/#statistical-significance-or-chance) based on conversion. A value of 0.95 or over is considered to be _significant_.
13
- */
14
- conversionSignificance: number;
15
- /**
16
- * [A/B test significance](https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing/in-depth/how-ab-test-scores-are-calculated/#statistical-significance-or-chance) based on add-to-cart data. A value of 0.95 or over is considered to be _significant_.
17
- */
18
- addToCartSignificance: number;
19
- /**
20
- * [A/B test significance](https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing/in-depth/how-ab-test-scores-are-calculated/#statistical-significance-or-chance) based on purchase data. A value of 0.95 or over is considered to be _significant_.
21
- */
22
- purchaseSignificance: number;
23
- /**
24
- * [A/B test significance](https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing/in-depth/how-ab-test-scores-are-calculated/#statistical-significance-or-chance) based on revenue data. A value of 0.95 or over is considered to be _significant_.
25
- */
26
- revenueSignificance: Record<string, number>;
27
- /**
28
- * Update date timestamp in [ISO-8601](https://wikipedia.org/wiki/ISO_8601) format.
15
+ * Date and time when the A/B test was last updated, in RFC 3339 format.
29
16
  */
30
17
  updatedAt: string;
31
18
  /**
32
- * Creation date timestamp in [ISO-8601](https://wikipedia.org/wiki/ISO_8601) format.
19
+ * Date and time when the A/B test was created, in RFC 3339 format.
33
20
  */
34
21
  createdAt: string;
35
22
  /**
36
- * End date timestamp in [ISO-8601](https://wikipedia.org/wiki/ISO_8601) format.
23
+ * End date and time of the A/B test, in RFC 3339 format.
37
24
  */
38
25
  endAt: string;
39
26
  /**
40
27
  * A/B test name.
41
28
  */
42
29
  name: string;
30
+ status: Status;
43
31
  /**
44
- * A/B test status.
45
- */
46
- status: string;
47
- /**
48
- * A/B test variants.
32
+ * A/B test variants. The first variant is your _control_ index, typically your production index. The second variant is an index with changed settings that you want to test against the control.
49
33
  */
50
34
  variants: Variant[];
35
+ configuration?: ABTestConfiguration;
51
36
  };
52
37
  //# sourceMappingURL=aBTest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aBTest.d.ts","sourceRoot":"","sources":["../../../../client-abtesting/model/aBTest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,MAAM,GAAG;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"aBTest.d.ts","sourceRoot":"","sources":["../../../../client-abtesting/model/aBTest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,MAAM,GAAG;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAEnD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;IAEpB,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { EmptySearch } from './emptySearch';
2
+ import type { MinimumDetectableEffect } from './minimumDetectableEffect';
3
+ import type { Outliers } from './outliers';
4
+ /**
5
+ * A/B test configuration.
6
+ */
7
+ export type ABTestConfiguration = {
8
+ outliers: Outliers;
9
+ emptySearch?: EmptySearch;
10
+ minimumDetectableEffect?: MinimumDetectableEffect;
11
+ };
12
+ //# sourceMappingURL=aBTestConfiguration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aBTestConfiguration.d.ts","sourceRoot":"","sources":["../../../../client-abtesting/model/aBTestConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,QAAQ,CAAC;IAEnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;CACnD,CAAC"}
@@ -1,14 +1,14 @@
1
1
  export type ABTestResponse = {
2
2
  /**
3
- * A/B test index.
3
+ * Index name of the A/B test variant (case-sensitive).
4
4
  */
5
5
  index: string;
6
6
  /**
7
- * Unique A/B test ID.
7
+ * Unique A/B test identifier.
8
8
  */
9
9
  abTestID: number;
10
10
  /**
11
- * Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task\'s progress with the `task` operation and this `taskID`.
11
+ * Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task\'s progress with the [`task` operation](#tag/Indices/operation/getTask) and this `taskID`.
12
12
  */
13
13
  taskID: number;
14
14
  };
@@ -1,14 +1,14 @@
1
1
  export type AbTestsVariant = {
2
2
  /**
3
- * A/B test index.
3
+ * Index name of the A/B test variant (case-sensitive).
4
4
  */
5
5
  index: string;
6
6
  /**
7
- * A/B test traffic percentage.
7
+ * Percentage of search requests each variant receives.
8
8
  */
9
9
  trafficPercentage: number;
10
10
  /**
11
- * A/B test description.
11
+ * Description for this variant.
12
12
  */
13
13
  description?: string;
14
14
  };
@@ -9,7 +9,7 @@ export type AddABTestsRequest = {
9
9
  */
10
10
  variants: AddABTestsVariant[];
11
11
  /**
12
- * End date timestamp in [ISO-8601](https://wikipedia.org/wiki/ISO_8601) format.
12
+ * End date and time of the A/B test, in RFC 3339 format.
13
13
  */
14
14
  endAt: string;
15
15
  };
@@ -63,7 +63,7 @@ export type CustomPutProps = {
63
63
  */
64
64
  export type DeleteABTestProps = {
65
65
  /**
66
- * Unique A/B test ID.
66
+ * Unique A/B test identifier.
67
67
  */
68
68
  id: number;
69
69
  };
@@ -72,7 +72,7 @@ export type DeleteABTestProps = {
72
72
  */
73
73
  export type GetABTestProps = {
74
74
  /**
75
- * Unique A/B test ID.
75
+ * Unique A/B test identifier.
76
76
  */
77
77
  id: number;
78
78
  };
@@ -81,19 +81,19 @@ export type GetABTestProps = {
81
81
  */
82
82
  export type ListABTestsProps = {
83
83
  /**
84
- * Position of the starting record. Used for paging. 0 is the first record.
84
+ * Position of the first item to return.
85
85
  */
86
86
  offset?: number;
87
87
  /**
88
- * Number of records to return (page size).
88
+ * Number of items to return.
89
89
  */
90
90
  limit?: number;
91
91
  /**
92
- * Only return A/B tests for indices starting with this prefix.
92
+ * Index name prefix. Only A/B tests for indices starting with this string are included in the response.
93
93
  */
94
94
  indexPrefix?: string;
95
95
  /**
96
- * Only return A/B tests for indices ending with this suffix.
96
+ * Index name suffix. Only A/B tests for indices ending with this string are included in the response.
97
97
  */
98
98
  indexSuffix?: string;
99
99
  };
@@ -102,7 +102,7 @@ export type ListABTestsProps = {
102
102
  */
103
103
  export type StopABTestProps = {
104
104
  /**
105
- * Unique A/B test ID.
105
+ * Unique A/B test identifier.
106
106
  */
107
107
  id: number;
108
108
  };
@@ -1,4 +1,4 @@
1
- export type CurrenciesValue = {
1
+ export type Currency = {
2
2
  /**
3
3
  * Currency code.
4
4
  */
@@ -16,4 +16,4 @@ export type CurrenciesValue = {
16
16
  */
17
17
  standardDeviation?: number;
18
18
  };
19
- //# sourceMappingURL=currenciesValue.d.ts.map
19
+ //# sourceMappingURL=currency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../../../client-abtesting/model/currency.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Applies search parameters from [a restricted set of options](https://www.algolia.com/doc/api-reference/api-methods/add-ab-test/#method-param-customsearchparameters). Only use this parameter if the two variants use the same index.
2
+ * Search parameters to add to the test variant. Only use this parameter if the two variants use the same index.
3
3
  */
4
4
  export type CustomSearchParams = {
5
5
  customSearchParameters: Record<string, any>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Metric for which you want to detect the smallest relative difference.
3
+ */
4
+ export type Effect = 'addToCartRate' | 'clickThroughRate' | 'conversionRate' | 'purchaseRate';
5
+ //# sourceMappingURL=effect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../../../../client-abtesting/model/effect.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,MAAM,GACd,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Configuration for handling empty searches.
3
+ */
4
+ export type EmptySearch = {
5
+ /**
6
+ * Whether to exclude empty searches when calculating A/B test results.
7
+ */
8
+ exclude?: boolean;
9
+ };
10
+ //# sourceMappingURL=emptySearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emptySearch.d.ts","sourceRoot":"","sources":["../../../../client-abtesting/model/emptySearch.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
@@ -1,16 +1,22 @@
1
1
  export * from './aBTest';
2
+ export * from './aBTestConfiguration';
2
3
  export * from './aBTestResponse';
3
4
  export * from './abTestsVariant';
4
5
  export * from './abTestsVariantSearchParams';
5
6
  export * from './addABTestsRequest';
6
7
  export * from './addABTestsVariant';
7
- export * from './currenciesValue';
8
+ export * from './currency';
8
9
  export * from './customSearchParams';
10
+ export * from './effect';
11
+ export * from './emptySearch';
9
12
  export * from './errorBase';
10
13
  export * from './filterEffects';
11
14
  export * from './filterEffectsEmptySearch';
12
15
  export * from './filterEffectsOutliers';
13
16
  export * from './listABTestsResponse';
17
+ export * from './minimumDetectableEffect';
18
+ export * from './outliers';
19
+ export * from './status';
14
20
  export * from './variant';
15
21
  export * from './clientMethodProps';
16
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../client-abtesting/model/index.ts"],"names":[],"mappings":"AAEA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../client-abtesting/model/index.ts"],"names":[],"mappings":"AAEA,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC"}
@@ -3,9 +3,9 @@ export type ListABTestsResponse = {
3
3
  /**
4
4
  * A/B tests.
5
5
  */
6
- abtests: ABTest[];
6
+ abtests: ABTest[] | null;
7
7
  /**
8
- * Number of A/B tests implemented.
8
+ * Number of A/B tests.
9
9
  */
10
10
  count: number;
11
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"listABTestsResponse.d.ts","sourceRoot":"","sources":["../../../../client-abtesting/model/listABTestsResponse.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
1
+ {"version":3,"file":"listABTestsResponse.d.ts","sourceRoot":"","sources":["../../../../client-abtesting/model/listABTestsResponse.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Effect } from './effect';
2
+ /**
3
+ * Configuration for the smallest difference between test variants you want to detect.
4
+ */
5
+ export type MinimumDetectableEffect = {
6
+ /**
7
+ * Smallest difference in an observable metric between variants. For example, to detect a 10% difference between variants, set this value to 0.1.
8
+ */
9
+ size?: number;
10
+ effect?: Effect;
11
+ };
12
+ //# sourceMappingURL=minimumDetectableEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimumDetectableEffect.d.ts","sourceRoot":"","sources":["../../../../client-abtesting/model/minimumDetectableEffect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Configuration for handling outliers.
3
+ */
4
+ export type Outliers = {
5
+ /**
6
+ * Whether to exclude outliers when calculating A/B test results.
7
+ */
8
+ exclude?: boolean;
9
+ };
10
+ //# sourceMappingURL=outliers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outliers.d.ts","sourceRoot":"","sources":["../../../../client-abtesting/model/outliers.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}