@algolia/recommend 5.0.0-alpha.105 → 5.0.0-alpha.107

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 (121) hide show
  1. package/dist/model/anchoring.d.ts +1 -1
  2. package/dist/model/aroundPrecision.d.ts +1 -1
  3. package/dist/model/aroundPrecisionFromValueInner.d.ts +9 -0
  4. package/dist/model/aroundPrecisionFromValueInner.d.ts.map +1 -1
  5. package/dist/model/aroundRadius.d.ts +1 -1
  6. package/dist/model/aroundRadiusAll.d.ts +3 -0
  7. package/dist/model/aroundRadiusAll.d.ts.map +1 -1
  8. package/dist/model/automaticFacetFilter.d.ts +4 -4
  9. package/dist/model/automaticFacetFilters.d.ts +1 -1
  10. package/dist/model/baseRecommendRequest.d.ts +1 -1
  11. package/dist/model/baseRecommendationsQuery.d.ts +1 -1
  12. package/dist/model/baseRecommendedForYouQueryParameters.d.ts +1 -1
  13. package/dist/model/baseSearchParamsWithoutQuery.d.ts +24 -28
  14. package/dist/model/baseSearchParamsWithoutQuery.d.ts.map +1 -1
  15. package/dist/model/baseSearchResponse.d.ts +6 -6
  16. package/dist/model/clientMethodProps.d.ts +6 -6
  17. package/dist/model/condition.d.ts +7 -3
  18. package/dist/model/condition.d.ts.map +1 -1
  19. package/dist/model/consequence.d.ts +5 -5
  20. package/dist/model/consequenceHide.d.ts +2 -2
  21. package/dist/model/consequenceQuery.d.ts +1 -1
  22. package/dist/model/consequenceQueryObject.d.ts +2 -2
  23. package/dist/model/deletedAtResponse.d.ts +1 -1
  24. package/dist/model/distinct.d.ts +1 -1
  25. package/dist/model/edit.d.ts +1 -1
  26. package/dist/model/exactOnSingleWordQuery.d.ts +1 -1
  27. package/dist/model/facetFilters.d.ts +1 -1
  28. package/dist/model/facetOrdering.d.ts +2 -2
  29. package/dist/model/facets.d.ts +2 -2
  30. package/dist/model/highlightResultOption.d.ts +3 -3
  31. package/dist/model/ignorePlurals.d.ts +1 -1
  32. package/dist/model/indexSettingsAsSearchParams.d.ts +30 -34
  33. package/dist/model/indexSettingsAsSearchParams.d.ts.map +1 -1
  34. package/dist/model/matchLevel.d.ts +1 -1
  35. package/dist/model/mode.d.ts +1 -1
  36. package/dist/model/numericFilters.d.ts +1 -1
  37. package/dist/model/optionalFilters.d.ts +1 -1
  38. package/dist/model/params.d.ts +1 -1
  39. package/dist/model/promoteObjectID.d.ts +2 -2
  40. package/dist/model/promoteObjectIDs.d.ts +2 -2
  41. package/dist/model/queryType.d.ts +1 -1
  42. package/dist/model/rankingInfo.d.ts +10 -7
  43. package/dist/model/rankingInfo.d.ts.map +1 -1
  44. package/dist/model/reRankingApplyFilter.d.ts +1 -1
  45. package/dist/model/recommendHit.d.ts +3 -3
  46. package/dist/model/recommendationsHits.d.ts +1 -1
  47. package/dist/model/removeStopWords.d.ts +1 -1
  48. package/dist/model/removeWordsIfNoResults.d.ts +1 -1
  49. package/dist/model/renderingContent.d.ts +1 -1
  50. package/dist/model/searchParamsQuery.d.ts +1 -1
  51. package/dist/model/searchRecommendRulesParams.d.ts +2 -2
  52. package/dist/model/searchRecommendRulesResponse.d.ts +3 -3
  53. package/dist/model/semanticSearch.d.ts +2 -2
  54. package/dist/model/snippetResultOption.d.ts +2 -2
  55. package/dist/model/sortRemainingBy.d.ts +1 -1
  56. package/dist/model/tagFilters.d.ts +1 -1
  57. package/dist/model/taskStatus.d.ts +1 -1
  58. package/dist/model/typoTolerance.d.ts +1 -1
  59. package/dist/model/typoToleranceEnum.d.ts +3 -0
  60. package/dist/model/typoToleranceEnum.d.ts.map +1 -1
  61. package/dist/model/value.d.ts +1 -1
  62. package/dist/recommend.cjs +7 -7
  63. package/dist/recommend.esm.browser.js +7 -7
  64. package/dist/recommend.esm.node.js +7 -7
  65. package/dist/recommend.umd.js +2 -2
  66. package/dist/src/recommendClient.d.ts +7 -7
  67. package/model/anchoring.ts +1 -1
  68. package/model/aroundPrecision.ts +1 -1
  69. package/model/aroundPrecisionFromValueInner.ts +9 -0
  70. package/model/aroundRadius.ts +1 -1
  71. package/model/aroundRadiusAll.ts +3 -0
  72. package/model/automaticFacetFilter.ts +4 -4
  73. package/model/automaticFacetFilters.ts +1 -1
  74. package/model/baseRecommendRequest.ts +1 -1
  75. package/model/baseRecommendationsQuery.ts +1 -1
  76. package/model/baseRecommendedForYouQueryParameters.ts +1 -1
  77. package/model/baseSearchParamsWithoutQuery.ts +24 -29
  78. package/model/baseSearchResponse.ts +6 -6
  79. package/model/clientMethodProps.ts +6 -6
  80. package/model/condition.ts +8 -3
  81. package/model/consequence.ts +5 -5
  82. package/model/consequenceHide.ts +2 -2
  83. package/model/consequenceQuery.ts +1 -1
  84. package/model/consequenceQueryObject.ts +2 -2
  85. package/model/deletedAtResponse.ts +1 -1
  86. package/model/distinct.ts +1 -1
  87. package/model/edit.ts +1 -1
  88. package/model/exactOnSingleWordQuery.ts +1 -1
  89. package/model/facetFilters.ts +1 -1
  90. package/model/facetOrdering.ts +2 -2
  91. package/model/facets.ts +2 -2
  92. package/model/highlightResultOption.ts +3 -3
  93. package/model/ignorePlurals.ts +1 -1
  94. package/model/indexSettingsAsSearchParams.ts +30 -35
  95. package/model/matchLevel.ts +1 -1
  96. package/model/mode.ts +1 -1
  97. package/model/numericFilters.ts +1 -1
  98. package/model/optionalFilters.ts +1 -1
  99. package/model/params.ts +1 -1
  100. package/model/promoteObjectID.ts +2 -2
  101. package/model/promoteObjectIDs.ts +2 -2
  102. package/model/queryType.ts +1 -1
  103. package/model/rankingInfo.ts +10 -7
  104. package/model/reRankingApplyFilter.ts +1 -1
  105. package/model/recommendHit.ts +3 -3
  106. package/model/recommendationsHits.ts +1 -1
  107. package/model/removeStopWords.ts +1 -1
  108. package/model/removeWordsIfNoResults.ts +1 -1
  109. package/model/renderingContent.ts +1 -1
  110. package/model/searchParamsQuery.ts +1 -1
  111. package/model/searchRecommendRulesParams.ts +2 -2
  112. package/model/searchRecommendRulesResponse.ts +3 -3
  113. package/model/semanticSearch.ts +2 -2
  114. package/model/snippetResultOption.ts +2 -2
  115. package/model/sortRemainingBy.ts +1 -1
  116. package/model/tagFilters.ts +1 -1
  117. package/model/taskStatus.ts +1 -1
  118. package/model/typoTolerance.ts +1 -1
  119. package/model/typoToleranceEnum.ts +3 -0
  120. package/model/value.ts +1 -1
  121. package/package.json +7 -7
@@ -4,7 +4,7 @@ var clientCommon = require('@algolia/client-common');
4
4
  var requesterNodeHttp = require('@algolia/requester-node-http');
5
5
 
6
6
  // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
7
- const apiClientVersion = '5.0.0-alpha.105';
7
+ const apiClientVersion = '5.0.0-alpha.107';
8
8
  function getDefaultHosts(appId) {
9
9
  return [
10
10
  {
@@ -189,9 +189,9 @@ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authM
189
189
  * - editSettings.
190
190
  *
191
191
  * @param deleteRecommendRule - The deleteRecommendRule object.
192
- * @param deleteRecommendRule.indexName - Index on which to perform the request.
192
+ * @param deleteRecommendRule.indexName - Name of the index on which to perform the operation.
193
193
  * @param deleteRecommendRule.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
194
- * @param deleteRecommendRule.objectID - Unique record (object) identifier.
194
+ * @param deleteRecommendRule.objectID - Unique record identifier.
195
195
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
196
196
  */
197
197
  deleteRecommendRule({ indexName, model, objectID }, requestOptions) {
@@ -225,9 +225,9 @@ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authM
225
225
  * - settings.
226
226
  *
227
227
  * @param getRecommendRule - The getRecommendRule object.
228
- * @param getRecommendRule.indexName - Index on which to perform the request.
228
+ * @param getRecommendRule.indexName - Name of the index on which to perform the operation.
229
229
  * @param getRecommendRule.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
230
- * @param getRecommendRule.objectID - Unique record (object) identifier.
230
+ * @param getRecommendRule.objectID - Unique record identifier.
231
231
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
232
232
  */
233
233
  getRecommendRule({ indexName, model, objectID }, requestOptions) {
@@ -261,7 +261,7 @@ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authM
261
261
  * - editSettings.
262
262
  *
263
263
  * @param getRecommendStatus - The getRecommendStatus object.
264
- * @param getRecommendStatus.indexName - Index on which to perform the request.
264
+ * @param getRecommendStatus.indexName - Name of the index on which to perform the operation.
265
265
  * @param getRecommendStatus.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
266
266
  * @param getRecommendStatus.taskID - Unique identifier of a task. Numeric value (up to 64bits).
267
267
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
@@ -327,7 +327,7 @@ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authM
327
327
  * - settings.
328
328
  *
329
329
  * @param searchRecommendRules - The searchRecommendRules object.
330
- * @param searchRecommendRules.indexName - Index on which to perform the request.
330
+ * @param searchRecommendRules.indexName - Name of the index on which to perform the operation.
331
331
  * @param searchRecommendRules.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
332
332
  * @param searchRecommendRules.searchRecommendRulesParams - The searchRecommendRulesParams object.
333
333
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
@@ -697,7 +697,7 @@ function createXhrRequester() {
697
697
  }
698
698
 
699
699
  // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
700
- const apiClientVersion = '5.0.0-alpha.105';
700
+ const apiClientVersion = '5.0.0-alpha.107';
701
701
  function getDefaultHosts(appId) {
702
702
  return [
703
703
  {
@@ -882,9 +882,9 @@ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authM
882
882
  * - editSettings.
883
883
  *
884
884
  * @param deleteRecommendRule - The deleteRecommendRule object.
885
- * @param deleteRecommendRule.indexName - Index on which to perform the request.
885
+ * @param deleteRecommendRule.indexName - Name of the index on which to perform the operation.
886
886
  * @param deleteRecommendRule.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
887
- * @param deleteRecommendRule.objectID - Unique record (object) identifier.
887
+ * @param deleteRecommendRule.objectID - Unique record identifier.
888
888
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
889
889
  */
890
890
  deleteRecommendRule({ indexName, model, objectID }, requestOptions) {
@@ -918,9 +918,9 @@ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authM
918
918
  * - settings.
919
919
  *
920
920
  * @param getRecommendRule - The getRecommendRule object.
921
- * @param getRecommendRule.indexName - Index on which to perform the request.
921
+ * @param getRecommendRule.indexName - Name of the index on which to perform the operation.
922
922
  * @param getRecommendRule.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
923
- * @param getRecommendRule.objectID - Unique record (object) identifier.
923
+ * @param getRecommendRule.objectID - Unique record identifier.
924
924
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
925
925
  */
926
926
  getRecommendRule({ indexName, model, objectID }, requestOptions) {
@@ -954,7 +954,7 @@ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authM
954
954
  * - editSettings.
955
955
  *
956
956
  * @param getRecommendStatus - The getRecommendStatus object.
957
- * @param getRecommendStatus.indexName - Index on which to perform the request.
957
+ * @param getRecommendStatus.indexName - Name of the index on which to perform the operation.
958
958
  * @param getRecommendStatus.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
959
959
  * @param getRecommendStatus.taskID - Unique identifier of a task. Numeric value (up to 64bits).
960
960
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
@@ -1020,7 +1020,7 @@ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authM
1020
1020
  * - settings.
1021
1021
  *
1022
1022
  * @param searchRecommendRules - The searchRecommendRules object.
1023
- * @param searchRecommendRules.indexName - Index on which to perform the request.
1023
+ * @param searchRecommendRules.indexName - Name of the index on which to perform the operation.
1024
1024
  * @param searchRecommendRules.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
1025
1025
  * @param searchRecommendRules.searchRecommendRulesParams - The searchRecommendRulesParams object.
1026
1026
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
@@ -2,7 +2,7 @@ import { createAuth, createTransporter, getAlgoliaAgent, shuffle, DEFAULT_CONNEC
2
2
  import { createHttpRequester } from '@algolia/requester-node-http';
3
3
 
4
4
  // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
5
- const apiClientVersion = '5.0.0-alpha.105';
5
+ const apiClientVersion = '5.0.0-alpha.107';
6
6
  function getDefaultHosts(appId) {
7
7
  return [
8
8
  {
@@ -187,9 +187,9 @@ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authM
187
187
  * - editSettings.
188
188
  *
189
189
  * @param deleteRecommendRule - The deleteRecommendRule object.
190
- * @param deleteRecommendRule.indexName - Index on which to perform the request.
190
+ * @param deleteRecommendRule.indexName - Name of the index on which to perform the operation.
191
191
  * @param deleteRecommendRule.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
192
- * @param deleteRecommendRule.objectID - Unique record (object) identifier.
192
+ * @param deleteRecommendRule.objectID - Unique record identifier.
193
193
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
194
194
  */
195
195
  deleteRecommendRule({ indexName, model, objectID }, requestOptions) {
@@ -223,9 +223,9 @@ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authM
223
223
  * - settings.
224
224
  *
225
225
  * @param getRecommendRule - The getRecommendRule object.
226
- * @param getRecommendRule.indexName - Index on which to perform the request.
226
+ * @param getRecommendRule.indexName - Name of the index on which to perform the operation.
227
227
  * @param getRecommendRule.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
228
- * @param getRecommendRule.objectID - Unique record (object) identifier.
228
+ * @param getRecommendRule.objectID - Unique record identifier.
229
229
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
230
230
  */
231
231
  getRecommendRule({ indexName, model, objectID }, requestOptions) {
@@ -259,7 +259,7 @@ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authM
259
259
  * - editSettings.
260
260
  *
261
261
  * @param getRecommendStatus - The getRecommendStatus object.
262
- * @param getRecommendStatus.indexName - Index on which to perform the request.
262
+ * @param getRecommendStatus.indexName - Name of the index on which to perform the operation.
263
263
  * @param getRecommendStatus.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
264
264
  * @param getRecommendStatus.taskID - Unique identifier of a task. Numeric value (up to 64bits).
265
265
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
@@ -325,7 +325,7 @@ function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authM
325
325
  * - settings.
326
326
  *
327
327
  * @param searchRecommendRules - The searchRecommendRules object.
328
- * @param searchRecommendRules.indexName - Index on which to perform the request.
328
+ * @param searchRecommendRules.indexName - Name of the index on which to perform the operation.
329
329
  * @param searchRecommendRules.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
330
330
  * @param searchRecommendRules.searchRecommendRulesParams - The searchRecommendRulesParams object.
331
331
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
@@ -1,2 +1,2 @@
1
- /*! recommend.umd.js | 5.0.0-alpha.105 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
2
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/recommend"]={})}(this,(function(e){"use strict";function t(e){let t;const r=`algolia-client-js-${e.key}`;function a(){return void 0===t&&(t=e.localStorage||window.localStorage),t}function o(){return JSON.parse(a().getItem(r)||"{}")}function s(e){a().setItem(r,JSON.stringify(e))}return{get:(t,r,a={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>(function(){const t=e.timeToLive?1e3*e.timeToLive:null,r=o(),a=Object.fromEntries(Object.entries(r).filter((([,e])=>void 0!==e.timestamp)));if(s(a),!t)return;s(Object.fromEntries(Object.entries(a).filter((([,e])=>{const r=(new Date).getTime();return!(e.timestamp+t<r)}))))}(),o()[JSON.stringify(t)]))).then((e=>Promise.all([e?e.value:r(),void 0!==e]))).then((([e,t])=>Promise.all([e,t||a.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve().then((()=>{const s=o();return s[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},a().setItem(r,JSON.stringify(s)),t})),delete:e=>Promise.resolve().then((()=>{const t=o();delete t[JSON.stringify(e)],a().setItem(r,JSON.stringify(t))})),clear:()=>Promise.resolve().then((()=>{a().removeItem(r)}))}}function r(e){const t=[...e.caches],a=t.shift();return void 0===a?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,r.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,o,s={miss:()=>Promise.resolve()})=>a.get(e,o,s).catch((()=>r({caches:t}).get(e,o,s))),set:(e,o)=>a.set(e,o).catch((()=>r({caches:t}).set(e,o))),delete:e=>a.delete(e).catch((()=>r({caches:t}).delete(e))),clear:()=>a.clear().catch((()=>r({caches:t}).clear()))}}function a(e={serializable:!0}){let t={};return{get(r,a,o={miss:()=>Promise.resolve()}){const s=JSON.stringify(r);if(s in t)return Promise.resolve(e.serializable?JSON.parse(t[s]):t[s]);const n=a();return n.then((e=>o.miss(e))).then((()=>n))},set:(r,a)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(a):a,Promise.resolve(a)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}const o=12e4;function s(e,t="up"){const r=Date.now();return{...e,status:t,lastUpdate:r,isUp:function(){return"up"===t||Date.now()-r>o},isTimedOut:function(){return"timed out"===t&&Date.now()-r<=o}}}function n(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function i(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class c extends Error{constructor(e,t){super(e),i(this,"name","AlgoliaError"),t&&(this.name=t)}}class l extends c{constructor(e,t,r){super(e,r),i(this,"stackTrace",void 0),this.stackTrace=t}}class u extends l{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 l{constructor(e,t,r,a="ApiError"){super(e,r,a),i(this,"status",void 0),this.status=t}}class d extends c{constructor(e,t){super(e,"DeserializationError"),i(this,"response",void 0),this.response=t}}class h extends m{constructor(e,t,r,a){super(e,t,a,"DetailedApiError"),i(this,"error",void 0),this.error=r}}function p(e,t,r){const a=function(e){const t=e=>"[object Object]"===Object.prototype.toString.call(e)||"[object Array]"===Object.prototype.toString.call(e);return Object.keys(e).map((r=>`${r}=${encodeURIComponent(t(e[r])?JSON.stringify(e[r]):e[r]).replaceAll("+","%20")}`)).join("&")}(r);let o=`${e.protocol}://${e.url}${e.port?`:${e.port}`:""}/${"/"===t.charAt(0)?t.substring(1):t}`;return a.length&&(o+=`?${a}`),o}function g(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}function f({hosts:e,hostsCache:t,baseHeaders:r,baseQueryParameters:a,algoliaAgent:o,timeouts:n,requester:i,requestsCache:c,responsesCache:l}){async function f(c,l,f=!0){const w=[],y=function(e,t){if("GET"===e.method||void 0===e.data&&void 0===t.data)return;const r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}(c,l),P=function(e,t,r){const a={Accept:"application/json",...e,...t,...r},o={};return Object.keys(a).forEach((e=>{const t=a[e];o[e.toLowerCase()]=t})),o}(r,c.headers,l.headers),q="GET"===c.method?{...c.data,...l.data}:{},b={...a,...c.queryParameters,...q};if(o.value&&(b["x-algolia-agent"]=o.value),l&&l.queryParameters)for(const e of Object.keys(l.queryParameters))l.queryParameters[e]&&"[object Object]"!==Object.prototype.toString.call(l.queryParameters[e])?b[e]=l.queryParameters[e].toString():b[e]=l.queryParameters[e];let v=0;const R=async(e,r)=>{const a=e.pop();if(void 0===a)throw new u(function(e){return e.map((e=>g(e)))}(w));let o=l.timeout;void 0===o&&(o=f?n.read:n.write);const q={data:y,headers:P,method:c.method,url:p(a,c.path,b),connectTimeout:r(v,n.connect),responseTimeout:r(v,o)},T=t=>{const r={request:q,response:t,host:a,triesLeft:e.length};return w.push(r),r},O=await i.send(q);if(function({isTimedOut:e,status:t}){return e||function({isTimedOut:e,status:t}){return!e&&0==~~t}({isTimedOut:e,status:t})||2!=~~(t/100)&&4!=~~(t/100)}(O)){const o=T(O);return O.isTimedOut&&v++,console.log("Retryable failure",g(o)),await t.set(a,s(a,O.isTimedOut?"timed out":"down")),R(e,r)}if(function({status:e}){return 2==~~(e/100)}(O))return function(e){try{return JSON.parse(e.content)}catch(t){throw new d(t.message,e)}}(O);throw T(O),function({content:e,status:t},r){try{const a=JSON.parse(e);return"error"in a?new h(a.message,t,a.error,r):new m(a.message,t,r)}catch(e){}return new m(e,t,r)}(O,w)},T=e.filter((e=>"readWrite"===e.accept||(f?"read"===e.accept:"write"===e.accept))),O=await async function(e){const r=await Promise.all(e.map((e=>t.get(e,(()=>Promise.resolve(s(e))))))),a=r.filter((e=>e.isUp())),o=r.filter((e=>e.isTimedOut())),n=[...a,...o];return{hosts:n.length>0?n:e,getTimeout:(e,t)=>(0===o.length&&0===e?1:o.length+3+e)*t}}(T);return R([...O.hosts].reverse(),O.getTimeout)}return{hostsCache:t,requester:i,timeouts:n,algoliaAgent:o,baseHeaders:r,baseQueryParameters:a,hosts:e,request:function(e,t={}){const o=e.useReadTransporter||"GET"===e.method;if(!o)return f(e,t,o);const s=()=>f(e,t);if(!0!==(t.cacheable||e.cacheable))return s();const n={request:e,requestOptions:t,transporter:{queryParameters:a,headers:r}};return l.get(n,(()=>c.get(n,(()=>c.set(n,s()).then((e=>Promise.all([c.delete(n),e])),(e=>Promise.all([c.delete(n),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>l.set(n,e)})},requestsCache:c,responsesCache:l}}function w({algoliaAgents:e,client:t,version:r}){const a=function(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t}(r).add({segment:t,version:r});return e.forEach((e=>a.add(e))),a}const y="5.0.0-alpha.105";function P(e){return[{url:`${e}-dsn.algolia.net`,accept:"read",protocol:"https"},{url:`${e}.algolia.net`,accept:"write",protocol:"https"}].concat(function(e){const t=e;for(let r=e.length-1;r>0;r--){const a=Math.floor(Math.random()*(r+1)),o=e[r];t[r]=e[a],t[a]=o}return t}([{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"}]))}e.apiClientVersion=y,e.recommendClient=function(e,o,s){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(!o||"string"!=typeof o)throw new Error("`apiKey` is missing.");return function({appId:e,apiKey:t,authMode:r,algoliaAgents:a,...o}){const s=function(e,t,r="WithinHeaders"){const a={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers:()=>"WithinHeaders"===r?a:{},queryParameters:()=>"WithinQueryParameters"===r?a:{}}}(e,t,r),n=f({hosts:P(e),...o,algoliaAgent:w({algoliaAgents:a,client:"Recommend",version:y}),baseHeaders:{"content-type":"text/plain",...s.headers(),...o.baseHeaders},baseQueryParameters:{...s.queryParameters(),...o.baseQueryParameters}});return{transporter:n,appId:e,clearCache:()=>Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then((()=>{})),get _ua(){return n.algoliaAgent.value},addAlgoliaAgent(e,t){n.algoliaAgent.add({segment:e,version:t})},customDelete({path:e,parameters:t},r){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");const a={method:"DELETE",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{}};return n.request(a,r)},customGet({path:e,parameters:t},r){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");const a={method:"GET",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{}};return n.request(a,r)},customPost({path:e,parameters:t,body:r},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const o={method:"POST",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{},data:r||{}};return n.request(o,a)},customPut({path:e,parameters:t,body:r},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");const o={method:"PUT",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{},data:r||{}};return n.request(o,a)},deleteRecommendRule({indexName:e,model:t,objectID:r},a){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteRecommendRule`.");if(!t)throw new Error("Parameter `model` is required when calling `deleteRecommendRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteRecommendRule`.");const o={method:"DELETE",path:"/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(t)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return n.request(o,a)},getRecommendRule({indexName:e,model:t,objectID:r},a){if(!e)throw new Error("Parameter `indexName` is required when calling `getRecommendRule`.");if(!t)throw new Error("Parameter `model` is required when calling `getRecommendRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getRecommendRule`.");const o={method:"GET",path:"/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(t)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return n.request(o,a)},getRecommendStatus({indexName:e,model:t,taskID:r},a){if(!e)throw new Error("Parameter `indexName` is required when calling `getRecommendStatus`.");if(!t)throw new Error("Parameter `model` is required when calling `getRecommendStatus`.");if(!r)throw new Error("Parameter `taskID` is required when calling `getRecommendStatus`.");const o={method:"GET",path:"/1/indexes/{indexName}/{model}/task/{taskID}".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(t)).replace("{taskID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return n.request(o,a)},getRecommendations(e,t){if(!e)throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");if(!e.requests)throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");const r={method:"POST",path:"/1/indexes/*/recommendations",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return n.request(r,t)},searchRecommendRules({indexName:e,model:t,searchRecommendRulesParams:r},a){if(!e)throw new Error("Parameter `indexName` is required when calling `searchRecommendRules`.");if(!t)throw new Error("Parameter `model` is required when calling `searchRecommendRules`.");const o={method:"POST",path:"/1/indexes/{indexName}/{model}/recommend/rules/search".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(t)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return n.request(o,a)}}}({appId:e,apiKey:o,timeouts:{connect:1e3,read:2e3,write:3e4},requester:{send:function(e){return new Promise((t=>{const r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>r.setRequestHeader(t,e.headers[t])));const a=(e,a)=>setTimeout((()=>{r.abort(),t({status:0,content:a,isTimedOut:!0})}),e),o=a(e.connectTimeout,"Connection timeout");let s;r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===s&&(clearTimeout(o),s=a(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(o),clearTimeout(s),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(o),clearTimeout(s),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:a(),requestsCache:a({serializable:!1}),hostsCache:r({caches:[t({key:`${y}-${e}`}),a()]}),...s})}}));
1
+ /*! recommend.umd.js | 5.0.0-alpha.107 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
2
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/recommend"]={})}(this,(function(e){"use strict";function t(e){let t;const r=`algolia-client-js-${e.key}`;function a(){return void 0===t&&(t=e.localStorage||window.localStorage),t}function o(){return JSON.parse(a().getItem(r)||"{}")}function s(e){a().setItem(r,JSON.stringify(e))}return{get:(t,r,a={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>(function(){const t=e.timeToLive?1e3*e.timeToLive:null,r=o(),a=Object.fromEntries(Object.entries(r).filter((([,e])=>void 0!==e.timestamp)));if(s(a),!t)return;s(Object.fromEntries(Object.entries(a).filter((([,e])=>{const r=(new Date).getTime();return!(e.timestamp+t<r)}))))}(),o()[JSON.stringify(t)]))).then((e=>Promise.all([e?e.value:r(),void 0!==e]))).then((([e,t])=>Promise.all([e,t||a.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve().then((()=>{const s=o();return s[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},a().setItem(r,JSON.stringify(s)),t})),delete:e=>Promise.resolve().then((()=>{const t=o();delete t[JSON.stringify(e)],a().setItem(r,JSON.stringify(t))})),clear:()=>Promise.resolve().then((()=>{a().removeItem(r)}))}}function r(e){const t=[...e.caches],a=t.shift();return void 0===a?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,r.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,o,s={miss:()=>Promise.resolve()})=>a.get(e,o,s).catch((()=>r({caches:t}).get(e,o,s))),set:(e,o)=>a.set(e,o).catch((()=>r({caches:t}).set(e,o))),delete:e=>a.delete(e).catch((()=>r({caches:t}).delete(e))),clear:()=>a.clear().catch((()=>r({caches:t}).clear()))}}function a(e={serializable:!0}){let t={};return{get(r,a,o={miss:()=>Promise.resolve()}){const s=JSON.stringify(r);if(s in t)return Promise.resolve(e.serializable?JSON.parse(t[s]):t[s]);const n=a();return n.then((e=>o.miss(e))).then((()=>n))},set:(r,a)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(a):a,Promise.resolve(a)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}const o=12e4;function s(e,t="up"){const r=Date.now();return{...e,status:t,lastUpdate:r,isUp:function(){return"up"===t||Date.now()-r>o},isTimedOut:function(){return"timed out"===t&&Date.now()-r<=o}}}function n(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function i(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class c extends Error{constructor(e,t){super(e),i(this,"name","AlgoliaError"),t&&(this.name=t)}}class l extends c{constructor(e,t,r){super(e,r),i(this,"stackTrace",void 0),this.stackTrace=t}}class u extends l{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 l{constructor(e,t,r,a="ApiError"){super(e,r,a),i(this,"status",void 0),this.status=t}}class d extends c{constructor(e,t){super(e,"DeserializationError"),i(this,"response",void 0),this.response=t}}class h extends m{constructor(e,t,r,a){super(e,t,a,"DetailedApiError"),i(this,"error",void 0),this.error=r}}function p(e,t,r){const a=function(e){const t=e=>"[object Object]"===Object.prototype.toString.call(e)||"[object Array]"===Object.prototype.toString.call(e);return Object.keys(e).map((r=>`${r}=${encodeURIComponent(t(e[r])?JSON.stringify(e[r]):e[r]).replaceAll("+","%20")}`)).join("&")}(r);let o=`${e.protocol}://${e.url}${e.port?`:${e.port}`:""}/${"/"===t.charAt(0)?t.substring(1):t}`;return a.length&&(o+=`?${a}`),o}function g(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}function f({hosts:e,hostsCache:t,baseHeaders:r,baseQueryParameters:a,algoliaAgent:o,timeouts:n,requester:i,requestsCache:c,responsesCache:l}){async function f(c,l,f=!0){const w=[],y=function(e,t){if("GET"===e.method||void 0===e.data&&void 0===t.data)return;const r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}(c,l),P=function(e,t,r){const a={Accept:"application/json",...e,...t,...r},o={};return Object.keys(a).forEach((e=>{const t=a[e];o[e.toLowerCase()]=t})),o}(r,c.headers,l.headers),q="GET"===c.method?{...c.data,...l.data}:{},b={...a,...c.queryParameters,...q};if(o.value&&(b["x-algolia-agent"]=o.value),l&&l.queryParameters)for(const e of Object.keys(l.queryParameters))l.queryParameters[e]&&"[object Object]"!==Object.prototype.toString.call(l.queryParameters[e])?b[e]=l.queryParameters[e].toString():b[e]=l.queryParameters[e];let v=0;const R=async(e,r)=>{const a=e.pop();if(void 0===a)throw new u(function(e){return e.map((e=>g(e)))}(w));let o=l.timeout;void 0===o&&(o=f?n.read:n.write);const q={data:y,headers:P,method:c.method,url:p(a,c.path,b),connectTimeout:r(v,n.connect),responseTimeout:r(v,o)},T=t=>{const r={request:q,response:t,host:a,triesLeft:e.length};return w.push(r),r},O=await i.send(q);if(function({isTimedOut:e,status:t}){return e||function({isTimedOut:e,status:t}){return!e&&!~~t}({isTimedOut:e,status:t})||2!=~~(t/100)&&4!=~~(t/100)}(O)){const o=T(O);return O.isTimedOut&&v++,console.log("Retryable failure",g(o)),await t.set(a,s(a,O.isTimedOut?"timed out":"down")),R(e,r)}if(function({status:e}){return 2==~~(e/100)}(O))return function(e){try{return JSON.parse(e.content)}catch(t){throw new d(t.message,e)}}(O);throw T(O),function({content:e,status:t},r){try{const a=JSON.parse(e);return"error"in a?new h(a.message,t,a.error,r):new m(a.message,t,r)}catch(e){}return new m(e,t,r)}(O,w)},T=e.filter((e=>"readWrite"===e.accept||(f?"read"===e.accept:"write"===e.accept))),O=await async function(e){const r=await Promise.all(e.map((e=>t.get(e,(()=>Promise.resolve(s(e))))))),a=r.filter((e=>e.isUp())),o=r.filter((e=>e.isTimedOut())),n=[...a,...o];return{hosts:n.length>0?n:e,getTimeout:(e,t)=>(0===o.length&&0===e?1:o.length+3+e)*t}}(T);return R([...O.hosts].reverse(),O.getTimeout)}return{hostsCache:t,requester:i,timeouts:n,algoliaAgent:o,baseHeaders:r,baseQueryParameters:a,hosts:e,request:function(e,t={}){const o=e.useReadTransporter||"GET"===e.method;if(!o)return f(e,t,o);const s=()=>f(e,t);if(!0!==(t.cacheable||e.cacheable))return s();const n={request:e,requestOptions:t,transporter:{queryParameters:a,headers:r}};return l.get(n,(()=>c.get(n,(()=>c.set(n,s()).then((e=>Promise.all([c.delete(n),e])),(e=>Promise.all([c.delete(n),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>l.set(n,e)})},requestsCache:c,responsesCache:l}}function w({algoliaAgents:e,client:t,version:r}){const a=function(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t}(r).add({segment:t,version:r});return e.forEach((e=>a.add(e))),a}const y="5.0.0-alpha.107";function P(e){return[{url:`${e}-dsn.algolia.net`,accept:"read",protocol:"https"},{url:`${e}.algolia.net`,accept:"write",protocol:"https"}].concat(function(e){const t=e;for(let r=e.length-1;r>0;r--){const a=Math.floor(Math.random()*(r+1)),o=e[r];t[r]=e[a],t[a]=o}return t}([{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"}]))}e.apiClientVersion=y,e.recommendClient=function(e,o,s){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(!o||"string"!=typeof o)throw new Error("`apiKey` is missing.");return function({appId:e,apiKey:t,authMode:r,algoliaAgents:a,...o}){const s=function(e,t,r="WithinHeaders"){const a={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers:()=>"WithinHeaders"===r?a:{},queryParameters:()=>"WithinQueryParameters"===r?a:{}}}(e,t,r),n=f({hosts:P(e),...o,algoliaAgent:w({algoliaAgents:a,client:"Recommend",version:y}),baseHeaders:{"content-type":"text/plain",...s.headers(),...o.baseHeaders},baseQueryParameters:{...s.queryParameters(),...o.baseQueryParameters}});return{transporter:n,appId:e,clearCache:()=>Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then((()=>{})),get _ua(){return n.algoliaAgent.value},addAlgoliaAgent(e,t){n.algoliaAgent.add({segment:e,version:t})},customDelete({path:e,parameters:t},r){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");const a={method:"DELETE",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{}};return n.request(a,r)},customGet({path:e,parameters:t},r){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");const a={method:"GET",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{}};return n.request(a,r)},customPost({path:e,parameters:t,body:r},a){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const o={method:"POST",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{},data:r||{}};return n.request(o,a)},customPut({path:e,parameters:t,body:r},a){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");const o={method:"PUT",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{},data:r||{}};return n.request(o,a)},deleteRecommendRule({indexName:e,model:t,objectID:r},a){if(!e)throw new Error("Parameter `indexName` is required when calling `deleteRecommendRule`.");if(!t)throw new Error("Parameter `model` is required when calling `deleteRecommendRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `deleteRecommendRule`.");const o={method:"DELETE",path:"/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(t)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return n.request(o,a)},getRecommendRule({indexName:e,model:t,objectID:r},a){if(!e)throw new Error("Parameter `indexName` is required when calling `getRecommendRule`.");if(!t)throw new Error("Parameter `model` is required when calling `getRecommendRule`.");if(!r)throw new Error("Parameter `objectID` is required when calling `getRecommendRule`.");const o={method:"GET",path:"/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(t)).replace("{objectID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return n.request(o,a)},getRecommendStatus({indexName:e,model:t,taskID:r},a){if(!e)throw new Error("Parameter `indexName` is required when calling `getRecommendStatus`.");if(!t)throw new Error("Parameter `model` is required when calling `getRecommendStatus`.");if(!r)throw new Error("Parameter `taskID` is required when calling `getRecommendStatus`.");const o={method:"GET",path:"/1/indexes/{indexName}/{model}/task/{taskID}".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(t)).replace("{taskID}",encodeURIComponent(r)),queryParameters:{},headers:{}};return n.request(o,a)},getRecommendations(e,t){if(!e)throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");if(!e.requests)throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");const r={method:"POST",path:"/1/indexes/*/recommendations",queryParameters:{},headers:{},data:e,useReadTransporter:!0,cacheable:!0};return n.request(r,t)},searchRecommendRules({indexName:e,model:t,searchRecommendRulesParams:r},a){if(!e)throw new Error("Parameter `indexName` is required when calling `searchRecommendRules`.");if(!t)throw new Error("Parameter `model` is required when calling `searchRecommendRules`.");const o={method:"POST",path:"/1/indexes/{indexName}/{model}/recommend/rules/search".replace("{indexName}",encodeURIComponent(e)).replace("{model}",encodeURIComponent(t)),queryParameters:{},headers:{},data:r||{},useReadTransporter:!0,cacheable:!0};return n.request(o,a)}}}({appId:e,apiKey:o,timeouts:{connect:1e3,read:2e3,write:3e4},requester:{send:function(e){return new Promise((t=>{const r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>r.setRequestHeader(t,e.headers[t])));const a=(e,a)=>setTimeout((()=>{r.abort(),t({status:0,content:a,isTimedOut:!0})}),e),o=a(e.connectTimeout,"Connection timeout");let s;r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===s&&(clearTimeout(o),s=a(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(o),clearTimeout(s),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(o),clearTimeout(s),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:a(),requestsCache:a({serializable:!1}),hostsCache:r({caches:[t({key:`${y}-${e}`}),a()]}),...s})}}));
@@ -6,7 +6,7 @@ import type { GetRecommendationsParams } from '../model/getRecommendationsParams
6
6
  import type { GetRecommendationsResponse } from '../model/getRecommendationsResponse';
7
7
  import type { RuleResponse } from '../model/ruleResponse';
8
8
  import type { SearchRecommendRulesResponse } from '../model/searchRecommendRulesResponse';
9
- export declare const apiClientVersion = "5.0.0-alpha.105";
9
+ export declare const apiClientVersion = "5.0.0-alpha.107";
10
10
  export declare function createRecommendClient({ appId: appIdOption, apiKey: apiKeyOption, authMode, algoliaAgents, ...options }: CreateClientOptions): {
11
11
  transporter: import("@algolia/client-common").Transporter;
12
12
  /**
@@ -73,9 +73,9 @@ export declare function createRecommendClient({ appId: appIdOption, apiKey: apiK
73
73
  * - editSettings.
74
74
  *
75
75
  * @param deleteRecommendRule - The deleteRecommendRule object.
76
- * @param deleteRecommendRule.indexName - Index on which to perform the request.
76
+ * @param deleteRecommendRule.indexName - Name of the index on which to perform the operation.
77
77
  * @param deleteRecommendRule.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
78
- * @param deleteRecommendRule.objectID - Unique record (object) identifier.
78
+ * @param deleteRecommendRule.objectID - Unique record identifier.
79
79
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
80
80
  */
81
81
  deleteRecommendRule({ indexName, model, objectID }: DeleteRecommendRuleProps, requestOptions?: RequestOptions): Promise<DeletedAtResponse>;
@@ -86,9 +86,9 @@ export declare function createRecommendClient({ appId: appIdOption, apiKey: apiK
86
86
  * - settings.
87
87
  *
88
88
  * @param getRecommendRule - The getRecommendRule object.
89
- * @param getRecommendRule.indexName - Index on which to perform the request.
89
+ * @param getRecommendRule.indexName - Name of the index on which to perform the operation.
90
90
  * @param getRecommendRule.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
91
- * @param getRecommendRule.objectID - Unique record (object) identifier.
91
+ * @param getRecommendRule.objectID - Unique record identifier.
92
92
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
93
93
  */
94
94
  getRecommendRule({ indexName, model, objectID }: GetRecommendRuleProps, requestOptions?: RequestOptions): Promise<RuleResponse>;
@@ -99,7 +99,7 @@ export declare function createRecommendClient({ appId: appIdOption, apiKey: apiK
99
99
  * - editSettings.
100
100
  *
101
101
  * @param getRecommendStatus - The getRecommendStatus object.
102
- * @param getRecommendStatus.indexName - Index on which to perform the request.
102
+ * @param getRecommendStatus.indexName - Name of the index on which to perform the operation.
103
103
  * @param getRecommendStatus.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
104
104
  * @param getRecommendStatus.taskID - Unique identifier of a task. Numeric value (up to 64bits).
105
105
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
@@ -122,7 +122,7 @@ export declare function createRecommendClient({ appId: appIdOption, apiKey: apiK
122
122
  * - settings.
123
123
  *
124
124
  * @param searchRecommendRules - The searchRecommendRules object.
125
- * @param searchRecommendRules.indexName - Index on which to perform the request.
125
+ * @param searchRecommendRules.indexName - Name of the index on which to perform the operation.
126
126
  * @param searchRecommendRules.model - [Recommend models](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
127
127
  * @param searchRecommendRules.searchRecommendRulesParams - The searchRecommendRulesParams object.
128
128
  * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
@@ -1,6 +1,6 @@
1
1
  // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
2
 
3
3
  /**
4
- * Whether the pattern parameter matches the beginning (`startsWith`) or end (`endsWith`) of the query string, is an exact match (`is`), or a partial match (`contains`).
4
+ * Which part of the search query the pattern should match: - `startsWith`. The pattern must match the begginning of the query. - `endsWith`. The pattern must match the end of the query. - `is`. The pattern must match the query exactly. - `contains`. The pattern must match anywhere in the query. Empty queries are only allowed as pattern with `anchoring: is`.
5
5
  */
6
6
  export type Anchoring = 'contains' | 'endsWith' | 'is' | 'startsWith';
@@ -3,6 +3,6 @@
3
3
  import type { AroundPrecisionFromValueInner } from './aroundPrecisionFromValueInner';
4
4
 
5
5
  /**
6
- * Precision of a geographical search (in meters), to [group results that are more or less the same distance from a central point](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/in-depth/geo-ranking-precision/).
6
+ * Precision of a coordinate-based search in meters to group results with similar distances. The Geo ranking criterion considers all matches within the same range of distances to be equal.
7
7
  */
8
8
  export type AroundPrecision = AroundPrecisionFromValueInner[] | number;
@@ -1,7 +1,16 @@
1
1
  // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
2
 
3
+ /**
4
+ * Range object with lower and upper values in meters to define custom ranges.
5
+ */
3
6
  export type AroundPrecisionFromValueInner = {
7
+ /**
8
+ * Lower boundary of a range in meters. The Geo ranking criterion considers all records within the range to be equal.
9
+ */
4
10
  from?: number;
5
11
 
12
+ /**
13
+ * Upper boundary of a range in meters. The Geo ranking criterion considers all records within the range to be equal.
14
+ */
6
15
  value?: number;
7
16
  };
@@ -3,6 +3,6 @@
3
3
  import type { AroundRadiusAll } from './aroundRadiusAll';
4
4
 
5
5
  /**
6
- * [Maximum radius](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#increase-the-search-radius) for a geographical search (in meters).
6
+ * Maximum radius for a search around a central location. This parameter works in combination with the `aroundLatLng` and `aroundLatLngViaIP` parameters. By default, the search radius is determined automatically from the density of hits around the central location. The search radius is small if there are many hits close to the central coordinates.
7
7
  */
8
8
  export type AroundRadius = AroundRadiusAll | number;
@@ -1,3 +1,6 @@
1
1
  // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
2
 
3
+ /**
4
+ * Return all records with a valid `_geoloc` attribute. Don\'t filter by distance.
5
+ */
3
6
  export type AroundRadiusAll = 'all';
@@ -1,21 +1,21 @@
1
1
  // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
2
 
3
3
  /**
4
- * Automatic facet Filter.
4
+ * Filter or optional filter to be applied to the search.
5
5
  */
6
6
  export type AutomaticFacetFilter = {
7
7
  /**
8
- * Attribute to filter on. This must match a facet placeholder in the Rule\'s pattern.
8
+ * Facet name to be applied as filter. The name must match placeholders in the `pattern` parameter. For example, with `pattern: {facet:genre}`, `automaticFacetFilters` must be `genre`.
9
9
  */
10
10
  facet: string;
11
11
 
12
12
  /**
13
- * Score for the filter. Typically used for optional or disjunctive filters.
13
+ * Filter scores to give different weights to individual filters.
14
14
  */
15
15
  score?: number;
16
16
 
17
17
  /**
18
- * Whether the filter is disjunctive (true) or conjunctive (false).
18
+ * Whether the filter is disjunctive or conjunctive. If true the filter has multiple matches, multiple occurences are combined with the logical `OR` operation. If false, multiple occurences are combined with the logical `AND` operation.
19
19
  */
20
20
  disjunctive?: boolean;
21
21
  };
@@ -3,6 +3,6 @@
3
3
  import type { AutomaticFacetFilter } from './automaticFacetFilter';
4
4
 
5
5
  /**
6
- * Names of facets to which automatic filtering must be applied; they must match the facet name of a facet value placeholder in the query pattern.
6
+ * Filter to be applied to the search. You can use this to respond to search queries that match a facet value. For example, if users search for \"comedy\", which matches a facet value of the \"genre\" facet, you can filter the results to show the top-ranked comedy movies.
7
7
  */
8
8
  export type AutomaticFacetFilters = AutomaticFacetFilter[] | string[];
@@ -2,7 +2,7 @@
2
2
 
3
3
  export type BaseRecommendRequest = {
4
4
  /**
5
- * Algolia index name.
5
+ * Index name.
6
6
  */
7
7
  indexName: string;
8
8
 
@@ -7,7 +7,7 @@ export type BaseRecommendationsQuery = {
7
7
  model: RecommendationModels;
8
8
 
9
9
  /**
10
- * Unique object identifier.
10
+ * Unique record identifier.
11
11
  */
12
12
  objectID: string;
13
13
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  export type BaseRecommendedForYouQueryParameters = {
4
4
  /**
5
- * Associates a [user token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/) with the current search.
5
+ * Unique pseudonymous or anonymous user identifier. This helps with analytics and click and conversion events. For more information, see [user token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/).
6
6
  */
7
7
  userToken: string;
8
8
  };
@@ -9,12 +9,12 @@ import type { TagFilters } from './tagFilters';
9
9
 
10
10
  export type BaseSearchParamsWithoutQuery = {
11
11
  /**
12
- * Overrides the query parameter and performs a more generic search.
12
+ * Keywords to be used instead of the search query to conduct a more broader search. Using the `similarQuery` parameter changes other settings: - `queryType` is set to `prefixNone`. - `removeStopWords` is set to true. - `words` is set as the first ranking criterion. - All remaining words are treated as `optionalWords`. Since the `similarQuery` is supposed to do a broad search, they usually return many results. Combine it with `filters` to narrow down the list of results.
13
13
  */
14
14
  similarQuery?: string;
15
15
 
16
16
  /**
17
- * [Filter](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/) the query with numeric, facet, or tag filters.
17
+ * Filter the search so that only records with matching values are included in the results. These filters are supported: - **Numeric filters.** `<facet> <op> <number>`, where `<op>` is one of `<`, `<=`, `=`, `!=`, `>`, `>=`. - **Ranges.** `<facet>:<lower> TO <upper>` where `<lower>` and `<upper>` are the lower and upper limits of the range (inclusive). - **Facet filters.** `<facet>:<value>` where `<facet>` is a facet attribute (case-sensitive) and `<value>` a facet value. - **Tag filters.** `_tags:<value>` or just `<value>` (case-sensitive). - **Boolean filters.** `<facet>: true | false`. You can combine filters with `AND`, `OR`, and `NOT` operators with the following restrictions: - You can only combine filters of the same type with `OR`. **Not supported:** `facet:value OR num > 3`. - You can\'t use `NOT` with combinations of filters. **Not supported:** `NOT(facet:value OR facet:value)` - You can\'t combine conjunctions (`AND`) with `OR`. **Not supported:** `facet:value OR (facet:value AND facet:value)` Use quotes around your filters, if the facet attribute name or facet value has spaces, keywords (`OR`, `AND`, `NOT`), or quotes. If a facet attribute is an array, the filter matches if it matches at least one element of the array. For more information, see [Filters](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/).
18
18
  */
19
19
  filters?: string;
20
20
 
@@ -27,47 +27,47 @@ export type BaseSearchParamsWithoutQuery = {
27
27
  tagFilters?: TagFilters;
28
28
 
29
29
  /**
30
- * Determines how to calculate [filter scores](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/in-depth/filter-scoring/#accumulating-scores-with-sumorfiltersscores). If `false`, maximum score is kept. If `true`, score is summed.
30
+ * Whether to sum all filter scores. If true, all filter scores are summed. Otherwise, the maximum filter score is kept. For more information, see [filter scores](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/in-depth/filter-scoring/#accumulating-scores-with-sumorfiltersscores).
31
31
  */
32
32
  sumOrFiltersScores?: boolean;
33
33
 
34
34
  /**
35
- * Restricts a query to only look at a subset of your [searchable attributes](https://www.algolia.com/doc/guides/managing-results/must-do/searchable-attributes/).
35
+ * Restricts a search to a subset of your searchable attributes.
36
36
  */
37
37
  restrictSearchableAttributes?: string[];
38
38
 
39
39
  /**
40
- * Returns [facets](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#contextual-facet-values-and-counts), their facet values, and the number of matching facet values.
40
+ * Facets for which to retrieve facet values that match the search criteria and the number of matching facet values. To retrieve all facets, use the wildcard character `*`. For more information, see [facets](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#contextual-facet-values-and-counts).
41
41
  */
42
42
  facets?: string[];
43
43
 
44
44
  /**
45
- * Forces faceting to be applied after [de-duplication](https://www.algolia.com/doc/guides/managing-results/refine-results/grouping/) (with the distinct feature). Alternatively, the `afterDistinct` [modifier](https://www.algolia.com/doc/api-reference/api-parameters/attributesForFaceting/#modifiers) of `attributesForFaceting` allows for more granular control.
45
+ * Whether faceting should be applied after deduplication with `distinct`. This leads to accurate facet counts when using faceting in combination with `distinct`. It\'s usually better to use `afterDistinct` modifiers in the `attributesForFaceting` setting, as `facetingAfterDistinct` only computes correct facet counts if all records have the same facet values for the `attributeForDistinct`.
46
46
  */
47
47
  facetingAfterDistinct?: boolean;
48
48
 
49
49
  /**
50
- * Page to retrieve (the first page is `0`, not `1`).
50
+ * Page of search results to retrieve.
51
51
  */
52
52
  page?: number;
53
53
 
54
54
  /**
55
- * Specifies the offset of the first hit to return. > **Note**: Using `page` and `hitsPerPage` is the recommended method for [paging results](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/). However, you can use `offset` and `length` to implement [an alternative approach to paging](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/#retrieving-a-subset-of-records-with-offset-and-length).
55
+ * Position of the first hit to retrieve.
56
56
  */
57
57
  offset?: number;
58
58
 
59
59
  /**
60
- * Sets the number of hits to retrieve (for use with `offset`). > **Note**: Using `page` and `hitsPerPage` is the recommended method for [paging results](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/). However, you can use `offset` and `length` to implement [an alternative approach to paging](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/#retrieving-a-subset-of-records-with-offset-and-length).
60
+ * Number of hits to retrieve (used in combination with `offset`).
61
61
  */
62
62
  length?: number;
63
63
 
64
64
  /**
65
- * Search for entries [around a central location](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filter-around-a-central-point), enabling a geographical search within a circular area.
65
+ * Coordinates for the center of a circle, expressed as a comma-separated string of latitude and longitude. Only records included within circle around this central location are included in the results. The radius of the circle is determined by the `aroundRadius` and `minimumAroundRadius` settings. This parameter is ignored if you also specify `insidePolygon` or `insideBoundingBox`.
66
66
  */
67
67
  aroundLatLng?: string;
68
68
 
69
69
  /**
70
- * Search for entries around a location. The location is automatically computed from the requester\'s IP address.
70
+ * Whether to obtain the coordinates from the request\'s IP address.
71
71
  */
72
72
  aroundLatLngViaIP?: boolean;
73
73
 
@@ -76,62 +76,57 @@ export type BaseSearchParamsWithoutQuery = {
76
76
  aroundPrecision?: AroundPrecision;
77
77
 
78
78
  /**
79
- * Minimum radius (in meters) used for a geographical search when `aroundRadius` isn\'t set.
79
+ * Minimum radius (in meters) for a search around a location when `aroundRadius` isn\'t set.
80
80
  */
81
81
  minimumAroundRadius?: number;
82
82
 
83
83
  /**
84
- * Search inside a [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas) (in geographical coordinates).
84
+ * Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
85
85
  */
86
86
  insideBoundingBox?: number[][];
87
87
 
88
88
  /**
89
- * Search inside a [polygon](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas) (in geographical coordinates).
89
+ * Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored, if you also specify `insideBoundingBox`.
90
90
  */
91
91
  insidePolygon?: number[][];
92
92
 
93
93
  /**
94
- * Changes the default values of parameters that work best for a natural language query, such as `ignorePlurals`, `removeStopWords`, `removeWordsIfNoResults`, `analyticsTags`, and `ruleContexts`. These parameters work well together when the query consists of fuller natural language strings instead of keywords, for example when processing voice search queries.
94
+ * ISO language codes that adjust settings that are useful for processing natural language queries (as opposed to keyword searches): - Sets `removeStopWords` and `ignorePlurals` to the list of provided languages. - Sets `removeWordsIfNoResults` to `allOptional`. - Adds a `natural_language` attribute to `ruleContexts` and `analyticsTags`.
95
95
  */
96
96
  naturalLanguages?: string[];
97
97
 
98
98
  /**
99
- * Assigns [rule contexts](https://www.algolia.com/doc/guides/managing-results/rules/rules-overview/how-to/customize-search-results-by-platform/#whats-a-context) to search queries.
99
+ * Assigns a rule context to the search query. [Rule contexts](https://www.algolia.com/doc/guides/managing-results/rules/rules-overview/how-to/customize-search-results-by-platform/#whats-a-context) are strings that you can use to trigger matching rules.
100
100
  */
101
101
  ruleContexts?: string[];
102
102
 
103
103
  /**
104
- * Defines how much [Personalization affects results](https://www.algolia.com/doc/guides/personalization/personalizing-results/in-depth/configuring-personalization/#understanding-personalization-impact).
104
+ * Impact that Personalization should have on this search. The higher this value is, the more Personalization determines the ranking compared to other factors. For more information, see [Understanding Personalization impact](https://www.algolia.com/doc/guides/personalization/personalizing-results/in-depth/configuring-personalization/#understanding-personalization-impact).
105
105
  */
106
106
  personalizationImpact?: number;
107
107
 
108
108
  /**
109
- * Associates a [user token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/) with the current search.
109
+ * Unique pseudonymous or anonymous user identifier. This helps with analytics and click and conversion events. For more information, see [user token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/).
110
110
  */
111
111
  userToken?: string;
112
112
 
113
113
  /**
114
- * Incidates whether the search response includes [detailed ranking information](https://www.algolia.com/doc/guides/building-search-ui/going-further/backend-search/in-depth/understanding-the-api-response/#ranking-information).
114
+ * Whether the search response should include detailed ranking information.
115
115
  */
116
116
  getRankingInfo?: boolean;
117
117
 
118
118
  /**
119
- * Enriches the API\'s response with information about how the query was processed.
120
- */
121
- explain?: string[];
122
-
123
- /**
124
- * Whether to take into account an index\'s synonyms for a particular search.
119
+ * Whether to take into account an index\'s synonyms for this search.
125
120
  */
126
121
  synonyms?: boolean;
127
122
 
128
123
  /**
129
- * Indicates whether a query ID parameter is included in the search response. This is required for [tracking click and conversion events](https://www.algolia.com/doc/guides/sending-events/concepts/event-types/#events-related-to-algolia-requests).
124
+ * Whether to include a `queryID` attribute in the response. The query ID is a unique identifier for a search query and is required for tracking [click and conversion events](https://www.algolia.com/guides/sending-events/getting-started/).
130
125
  */
131
126
  clickAnalytics?: boolean;
132
127
 
133
128
  /**
134
- * Indicates whether this query will be included in [analytics](https://www.algolia.com/doc/guides/search-analytics/guides/exclude-queries/).
129
+ * Whether this search will be included in Analytics.
135
130
  */
136
131
  analytics?: boolean;
137
132
 
@@ -141,12 +136,12 @@ export type BaseSearchParamsWithoutQuery = {
141
136
  analyticsTags?: string[];
142
137
 
143
138
  /**
144
- * Whether to include or exclude a query from the processing-time percentile computation.
139
+ * Whether to include this search when calculating processing-time percentiles.
145
140
  */
146
141
  percentileComputation?: boolean;
147
142
 
148
143
  /**
149
- * Incidates whether this search will be considered in A/B testing.
144
+ * Whether to enable A/B testing for this search.
150
145
  */
151
146
  enableABTest?: boolean;
152
147
  };