devstar插件
This commit is contained in:
21
node_modules/@algolia/recommend/LICENSE
generated
vendored
Normal file
21
node_modules/@algolia/recommend/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2013-Present Algolia
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
77
node_modules/@algolia/recommend/README.md
generated
vendored
Normal file
77
node_modules/@algolia/recommend/README.md
generated
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
<p align="center">
|
||||
<a href="https://www.algolia.com">
|
||||
<img alt="Algolia for JavaScript" src="https://raw.githubusercontent.com/algolia/algoliasearch-client-common/master/banners/javascript.png" >
|
||||
</a>
|
||||
|
||||
<h4 align="center">The perfect starting point to integrate <a href="https://algolia.com" target="_blank">Algolia</a> within your JavaScript project</h4>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://npmjs.org/package/@algolia/recommend"><img src="https://img.shields.io/npm/v/@algolia/recommend.svg?style=flat-square" alt="NPM version"></img></a>
|
||||
<a href="http://npm-stat.com/charts.html?package=@algolia/recommend"><img src="https://img.shields.io/npm/dm/@algolia/recommend.svg?style=flat-square" alt="NPM downloads"></a>
|
||||
<a href="https://www.jsdelivr.com/package/npm/@algolia/recommend"><img src="https://data.jsdelivr.com/v1/package/npm/@algolia/recommend/badge" alt="jsDelivr Downloads"></img></a>
|
||||
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg?style=flat-square" alt="License"></a>
|
||||
</p>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.algolia.com/doc/libraries/javascript/" target="_blank">Documentation</a> •
|
||||
<a href="https://www.algolia.com/doc/guides/building-search-ui/what-is-instantsearch/js/" target="_blank">InstantSearch</a> •
|
||||
<a href="https://discourse.algolia.com" target="_blank">Community Forum</a> •
|
||||
<a href="http://stackoverflow.com/questions/tagged/algolia" target="_blank">Stack Overflow</a> •
|
||||
<a href="https://github.com/algolia/algoliasearch-client-javascript/issues" target="_blank">Report a bug</a> •
|
||||
<a href="https://www.algolia.com/doc/libraries/javascript/v5/" target="_blank">FAQ</a> •
|
||||
<a href="https://alg.li/support" target="_blank">Support</a>
|
||||
</p>
|
||||
|
||||
## ✨ Features
|
||||
|
||||
- Thin & **minimal low-level HTTP client** to interact with Algolia's API
|
||||
- Works both on the **browser** and **node.js**
|
||||
- **UMD and ESM compatible**, you can use it with any module loader
|
||||
- Built with TypeScript
|
||||
|
||||
## 💡 Getting Started
|
||||
|
||||
> [!TIP]
|
||||
> This API client is already a dependency of [the algoliasearch client](https://www.npmjs.com/package/algoliasearch), you don't need to manually install `@algolia/recommend` if you already have `algoliasearch` installed.
|
||||
|
||||
To get started, you first need to install @algolia/recommend (or any other available API client package).
|
||||
All of our clients comes with type definition, and are available for both browser and node environments.
|
||||
|
||||
### With a package manager
|
||||
|
||||
```bash
|
||||
yarn add @algolia/recommend@5.34.1
|
||||
# or
|
||||
npm install @algolia/recommend@5.34.1
|
||||
# or
|
||||
pnpm add @algolia/recommend@5.34.1
|
||||
```
|
||||
|
||||
### Without a package manager
|
||||
|
||||
Add the following JavaScript snippet to the <head> of your website:
|
||||
|
||||
```html
|
||||
<script src="https://cdn.jsdelivr.net/npm/@algolia/recommend@5.34.1/dist/builds/browser.umd.js"></script>
|
||||
```
|
||||
|
||||
### Usage
|
||||
|
||||
You can now import the Algolia API client in your project and play with it.
|
||||
|
||||
```js
|
||||
import { recommendClient } from '@algolia/recommend';
|
||||
|
||||
const client = recommendClient('YOUR_APP_ID', 'YOUR_API_KEY');
|
||||
```
|
||||
|
||||
For full documentation, visit the **[Algolia JavaScript API Client](https://www.algolia.com/doc/libraries/javascript/v5/methods/recommend/)**.
|
||||
|
||||
## ❓ Troubleshooting
|
||||
|
||||
Encountering an issue? Before reaching out to support, we recommend heading to our [FAQ](https://www.algolia.com/doc/libraries/javascript/v5/) where you will find answers for the most common issues and gotchas with the client. You can also open [a GitHub issue](https://github.com/algolia/api-clients-automation/issues/new?assignees=&labels=&projects=&template=Bug_report.md)
|
||||
|
||||
## 📄 License
|
||||
|
||||
The Algolia JavaScript API Client is an open-sourced software licensed under the [MIT license](LICENSE).
|
1564
node_modules/@algolia/recommend/dist/browser.d.ts
generated
vendored
Normal file
1564
node_modules/@algolia/recommend/dist/browser.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
435
node_modules/@algolia/recommend/dist/builds/browser.js
generated
vendored
Normal file
435
node_modules/@algolia/recommend/dist/builds/browser.js
generated
vendored
Normal file
@@ -0,0 +1,435 @@
|
||||
// builds/browser.ts
|
||||
import { createXhrRequester } from "@algolia/requester-browser-xhr";
|
||||
import {
|
||||
createBrowserLocalStorageCache,
|
||||
createFallbackableCache,
|
||||
createMemoryCache,
|
||||
createNullLogger
|
||||
} from "@algolia/client-common";
|
||||
|
||||
// src/recommendClient.ts
|
||||
import { createAuth, createTransporter, getAlgoliaAgent, shuffle } from "@algolia/client-common";
|
||||
var apiClientVersion = "5.34.1";
|
||||
function getDefaultHosts(appId) {
|
||||
return [
|
||||
{
|
||||
url: `${appId}-dsn.algolia.net`,
|
||||
accept: "read",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}.algolia.net`,
|
||||
accept: "write",
|
||||
protocol: "https"
|
||||
}
|
||||
].concat(
|
||||
shuffle([
|
||||
{
|
||||
url: `${appId}-1.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-2.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-3.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
}
|
||||
])
|
||||
);
|
||||
}
|
||||
function createRecommendClient({
|
||||
appId: appIdOption,
|
||||
apiKey: apiKeyOption,
|
||||
authMode,
|
||||
algoliaAgents,
|
||||
...options
|
||||
}) {
|
||||
const auth = createAuth(appIdOption, apiKeyOption, authMode);
|
||||
const transporter = createTransporter({
|
||||
hosts: getDefaultHosts(appIdOption),
|
||||
...options,
|
||||
algoliaAgent: getAlgoliaAgent({
|
||||
algoliaAgents,
|
||||
client: "Recommend",
|
||||
version: apiClientVersion
|
||||
}),
|
||||
baseHeaders: {
|
||||
"content-type": "text/plain",
|
||||
...auth.headers(),
|
||||
...options.baseHeaders
|
||||
},
|
||||
baseQueryParameters: {
|
||||
...auth.queryParameters(),
|
||||
...options.baseQueryParameters
|
||||
}
|
||||
});
|
||||
return {
|
||||
transporter,
|
||||
/**
|
||||
* The `appId` currently in use.
|
||||
*/
|
||||
appId: appIdOption,
|
||||
/**
|
||||
* The `apiKey` currently in use.
|
||||
*/
|
||||
apiKey: apiKeyOption,
|
||||
/**
|
||||
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
|
||||
*/
|
||||
clearCache() {
|
||||
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => void 0);
|
||||
},
|
||||
/**
|
||||
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
|
||||
*/
|
||||
get _ua() {
|
||||
return transporter.algoliaAgent.value;
|
||||
},
|
||||
/**
|
||||
* Adds a `segment` to the `x-algolia-agent` sent with every requests.
|
||||
*
|
||||
* @param segment - The algolia agent (user-agent) segment to add.
|
||||
* @param version - The version of the agent.
|
||||
*/
|
||||
addAlgoliaAgent(segment, version) {
|
||||
transporter.algoliaAgent.add({ segment, version });
|
||||
},
|
||||
/**
|
||||
* Helper method to switch the API key used to authenticate the requests.
|
||||
*
|
||||
* @param params - Method params.
|
||||
* @param params.apiKey - The new API Key to use.
|
||||
*/
|
||||
setClientApiKey({ apiKey }) {
|
||||
if (!authMode || authMode === "WithinHeaders") {
|
||||
transporter.baseHeaders["x-algolia-api-key"] = apiKey;
|
||||
} else {
|
||||
transporter.baseQueryParameters["x-algolia-api-key"] = apiKey;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Create or update a batch of Recommend Rules Each Recommend Rule is created or updated, depending on whether a Recommend Rule with the same `objectID` already exists. You may also specify `true` for `clearExistingRules`, in which case the batch will atomically replace all the existing Recommend Rules. Recommend Rules are similar to Search Rules, except that the conditions and consequences apply to a [source item](/doc/guides/algolia-recommend/overview/#recommend-models) instead of a query. The main differences are the following: - Conditions `pattern` and `anchoring` are unavailable. - Condition `filters` triggers if the source item matches the specified filters. - Condition `filters` accepts numeric filters. - Consequence `params` only covers filtering parameters. - Consequence `automaticFacetFilters` doesn\'t require a facet value placeholder (it tries to match the data source item\'s attributes instead).
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param batchRecommendRules - The batchRecommendRules object.
|
||||
* @param batchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param batchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param batchRecommendRules.recommendRule - The recommendRule object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
batchRecommendRules({ indexName, model, recommendRule }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/batch".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: recommendRule ? recommendRule : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customDelete - The customDelete object.
|
||||
* @param customDelete.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customDelete.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customDelete({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customDelete`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customGet - The customGet object.
|
||||
* @param customGet.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customGet.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customGet({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customGet`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPost - The customPost object.
|
||||
* @param customPost.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPost.parameters - Query parameters to apply to the current query.
|
||||
* @param customPost.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPost({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPost`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPut - The customPut object.
|
||||
* @param customPut.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPut.parameters - Query parameters to apply to the current query.
|
||||
* @param customPut.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPut({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPut`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "PUT",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Deletes a Recommend rule from a recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param deleteRecommendRule - The deleteRecommendRule object.
|
||||
* @param deleteRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param deleteRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param deleteRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
deleteRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves a Recommend rule that you previously created in the Algolia dashboard.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param getRecommendRule - The getRecommendRule object.
|
||||
* @param getRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Checks the status of a given task. Deleting a Recommend rule is asynchronous. When you delete a rule, a task is created on a queue and completed depending on the load on the server. The API response includes a task ID that you can use to check the status.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param getRecommendStatus - The getRecommendStatus object.
|
||||
* @param getRecommendStatus.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendStatus.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendStatus.taskID - Unique task identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendStatus({ indexName, model, taskID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!taskID) {
|
||||
throw new Error("Parameter `taskID` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/task/{taskID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{taskID}", encodeURIComponent(taskID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves recommendations from selected AI models.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - search
|
||||
* @param getRecommendationsParams - The getRecommendationsParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendations(getRecommendationsParams, requestOptions) {
|
||||
if (getRecommendationsParams && Array.isArray(getRecommendationsParams)) {
|
||||
const newSignatureRequest = {
|
||||
requests: getRecommendationsParams
|
||||
};
|
||||
getRecommendationsParams = newSignatureRequest;
|
||||
}
|
||||
if (!getRecommendationsParams) {
|
||||
throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");
|
||||
}
|
||||
if (!getRecommendationsParams.requests) {
|
||||
throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/*/recommendations";
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: getRecommendationsParams,
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Searches for Recommend rules. Use an empty query to list all rules for this recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param searchRecommendRules - The searchRecommendRules object.
|
||||
* @param searchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param searchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param searchRecommendRules.searchRecommendRulesParams - The searchRecommendRulesParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
searchRecommendRules({ indexName, model, searchRecommendRulesParams }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/search".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: searchRecommendRulesParams ? searchRecommendRulesParams : {},
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// builds/browser.ts
|
||||
function recommendClient(appId, apiKey, options) {
|
||||
if (!appId || typeof appId !== "string") {
|
||||
throw new Error("`appId` is missing.");
|
||||
}
|
||||
if (!apiKey || typeof apiKey !== "string") {
|
||||
throw new Error("`apiKey` is missing.");
|
||||
}
|
||||
return createRecommendClient({
|
||||
appId,
|
||||
apiKey,
|
||||
timeouts: {
|
||||
connect: 1e3,
|
||||
read: 2e3,
|
||||
write: 3e4
|
||||
},
|
||||
logger: createNullLogger(),
|
||||
requester: createXhrRequester(),
|
||||
algoliaAgents: [{ segment: "Browser" }],
|
||||
authMode: "WithinQueryParameters",
|
||||
responsesCache: createMemoryCache(),
|
||||
requestsCache: createMemoryCache({ serializable: false }),
|
||||
hostsCache: createFallbackableCache({
|
||||
caches: [createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), createMemoryCache()]
|
||||
}),
|
||||
...options
|
||||
});
|
||||
}
|
||||
export {
|
||||
apiClientVersion,
|
||||
recommendClient
|
||||
};
|
||||
//# sourceMappingURL=browser.js.map
|
1
node_modules/@algolia/recommend/dist/builds/browser.js.map
generated
vendored
Normal file
1
node_modules/@algolia/recommend/dist/builds/browser.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2
node_modules/@algolia/recommend/dist/builds/browser.min.js
generated
vendored
Normal file
2
node_modules/@algolia/recommend/dist/builds/browser.min.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/@algolia/recommend/dist/builds/browser.min.js.map
generated
vendored
Normal file
1
node_modules/@algolia/recommend/dist/builds/browser.min.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
12
node_modules/@algolia/recommend/dist/builds/browser.umd.js
generated
vendored
Normal file
12
node_modules/@algolia/recommend/dist/builds/browser.umd.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
429
node_modules/@algolia/recommend/dist/builds/fetch.js
generated
vendored
Normal file
429
node_modules/@algolia/recommend/dist/builds/fetch.js
generated
vendored
Normal file
@@ -0,0 +1,429 @@
|
||||
// builds/fetch.ts
|
||||
import { createMemoryCache, createNullCache, createNullLogger } from "@algolia/client-common";
|
||||
import { createFetchRequester } from "@algolia/requester-fetch";
|
||||
|
||||
// src/recommendClient.ts
|
||||
import { createAuth, createTransporter, getAlgoliaAgent, shuffle } from "@algolia/client-common";
|
||||
var apiClientVersion = "5.34.1";
|
||||
function getDefaultHosts(appId) {
|
||||
return [
|
||||
{
|
||||
url: `${appId}-dsn.algolia.net`,
|
||||
accept: "read",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}.algolia.net`,
|
||||
accept: "write",
|
||||
protocol: "https"
|
||||
}
|
||||
].concat(
|
||||
shuffle([
|
||||
{
|
||||
url: `${appId}-1.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-2.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-3.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
}
|
||||
])
|
||||
);
|
||||
}
|
||||
function createRecommendClient({
|
||||
appId: appIdOption,
|
||||
apiKey: apiKeyOption,
|
||||
authMode,
|
||||
algoliaAgents,
|
||||
...options
|
||||
}) {
|
||||
const auth = createAuth(appIdOption, apiKeyOption, authMode);
|
||||
const transporter = createTransporter({
|
||||
hosts: getDefaultHosts(appIdOption),
|
||||
...options,
|
||||
algoliaAgent: getAlgoliaAgent({
|
||||
algoliaAgents,
|
||||
client: "Recommend",
|
||||
version: apiClientVersion
|
||||
}),
|
||||
baseHeaders: {
|
||||
"content-type": "text/plain",
|
||||
...auth.headers(),
|
||||
...options.baseHeaders
|
||||
},
|
||||
baseQueryParameters: {
|
||||
...auth.queryParameters(),
|
||||
...options.baseQueryParameters
|
||||
}
|
||||
});
|
||||
return {
|
||||
transporter,
|
||||
/**
|
||||
* The `appId` currently in use.
|
||||
*/
|
||||
appId: appIdOption,
|
||||
/**
|
||||
* The `apiKey` currently in use.
|
||||
*/
|
||||
apiKey: apiKeyOption,
|
||||
/**
|
||||
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
|
||||
*/
|
||||
clearCache() {
|
||||
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => void 0);
|
||||
},
|
||||
/**
|
||||
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
|
||||
*/
|
||||
get _ua() {
|
||||
return transporter.algoliaAgent.value;
|
||||
},
|
||||
/**
|
||||
* Adds a `segment` to the `x-algolia-agent` sent with every requests.
|
||||
*
|
||||
* @param segment - The algolia agent (user-agent) segment to add.
|
||||
* @param version - The version of the agent.
|
||||
*/
|
||||
addAlgoliaAgent(segment, version) {
|
||||
transporter.algoliaAgent.add({ segment, version });
|
||||
},
|
||||
/**
|
||||
* Helper method to switch the API key used to authenticate the requests.
|
||||
*
|
||||
* @param params - Method params.
|
||||
* @param params.apiKey - The new API Key to use.
|
||||
*/
|
||||
setClientApiKey({ apiKey }) {
|
||||
if (!authMode || authMode === "WithinHeaders") {
|
||||
transporter.baseHeaders["x-algolia-api-key"] = apiKey;
|
||||
} else {
|
||||
transporter.baseQueryParameters["x-algolia-api-key"] = apiKey;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Create or update a batch of Recommend Rules Each Recommend Rule is created or updated, depending on whether a Recommend Rule with the same `objectID` already exists. You may also specify `true` for `clearExistingRules`, in which case the batch will atomically replace all the existing Recommend Rules. Recommend Rules are similar to Search Rules, except that the conditions and consequences apply to a [source item](/doc/guides/algolia-recommend/overview/#recommend-models) instead of a query. The main differences are the following: - Conditions `pattern` and `anchoring` are unavailable. - Condition `filters` triggers if the source item matches the specified filters. - Condition `filters` accepts numeric filters. - Consequence `params` only covers filtering parameters. - Consequence `automaticFacetFilters` doesn\'t require a facet value placeholder (it tries to match the data source item\'s attributes instead).
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param batchRecommendRules - The batchRecommendRules object.
|
||||
* @param batchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param batchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param batchRecommendRules.recommendRule - The recommendRule object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
batchRecommendRules({ indexName, model, recommendRule }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/batch".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: recommendRule ? recommendRule : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customDelete - The customDelete object.
|
||||
* @param customDelete.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customDelete.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customDelete({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customDelete`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customGet - The customGet object.
|
||||
* @param customGet.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customGet.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customGet({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customGet`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPost - The customPost object.
|
||||
* @param customPost.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPost.parameters - Query parameters to apply to the current query.
|
||||
* @param customPost.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPost({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPost`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPut - The customPut object.
|
||||
* @param customPut.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPut.parameters - Query parameters to apply to the current query.
|
||||
* @param customPut.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPut({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPut`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "PUT",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Deletes a Recommend rule from a recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param deleteRecommendRule - The deleteRecommendRule object.
|
||||
* @param deleteRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param deleteRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param deleteRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
deleteRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves a Recommend rule that you previously created in the Algolia dashboard.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param getRecommendRule - The getRecommendRule object.
|
||||
* @param getRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Checks the status of a given task. Deleting a Recommend rule is asynchronous. When you delete a rule, a task is created on a queue and completed depending on the load on the server. The API response includes a task ID that you can use to check the status.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param getRecommendStatus - The getRecommendStatus object.
|
||||
* @param getRecommendStatus.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendStatus.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendStatus.taskID - Unique task identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendStatus({ indexName, model, taskID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!taskID) {
|
||||
throw new Error("Parameter `taskID` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/task/{taskID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{taskID}", encodeURIComponent(taskID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves recommendations from selected AI models.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - search
|
||||
* @param getRecommendationsParams - The getRecommendationsParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendations(getRecommendationsParams, requestOptions) {
|
||||
if (getRecommendationsParams && Array.isArray(getRecommendationsParams)) {
|
||||
const newSignatureRequest = {
|
||||
requests: getRecommendationsParams
|
||||
};
|
||||
getRecommendationsParams = newSignatureRequest;
|
||||
}
|
||||
if (!getRecommendationsParams) {
|
||||
throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");
|
||||
}
|
||||
if (!getRecommendationsParams.requests) {
|
||||
throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/*/recommendations";
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: getRecommendationsParams,
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Searches for Recommend rules. Use an empty query to list all rules for this recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param searchRecommendRules - The searchRecommendRules object.
|
||||
* @param searchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param searchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param searchRecommendRules.searchRecommendRulesParams - The searchRecommendRulesParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
searchRecommendRules({ indexName, model, searchRecommendRulesParams }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/search".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: searchRecommendRulesParams ? searchRecommendRulesParams : {},
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// builds/fetch.ts
|
||||
function recommendClient(appId, apiKey, options) {
|
||||
if (!appId || typeof appId !== "string") {
|
||||
throw new Error("`appId` is missing.");
|
||||
}
|
||||
if (!apiKey || typeof apiKey !== "string") {
|
||||
throw new Error("`apiKey` is missing.");
|
||||
}
|
||||
return {
|
||||
...createRecommendClient({
|
||||
appId,
|
||||
apiKey,
|
||||
timeouts: {
|
||||
connect: 2e3,
|
||||
read: 5e3,
|
||||
write: 3e4
|
||||
},
|
||||
logger: createNullLogger(),
|
||||
requester: createFetchRequester(),
|
||||
algoliaAgents: [{ segment: "Fetch" }],
|
||||
responsesCache: createNullCache(),
|
||||
requestsCache: createNullCache(),
|
||||
hostsCache: createMemoryCache(),
|
||||
...options
|
||||
})
|
||||
};
|
||||
}
|
||||
export {
|
||||
apiClientVersion,
|
||||
recommendClient
|
||||
};
|
||||
//# sourceMappingURL=fetch.js.map
|
1
node_modules/@algolia/recommend/dist/builds/fetch.js.map
generated
vendored
Normal file
1
node_modules/@algolia/recommend/dist/builds/fetch.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
455
node_modules/@algolia/recommend/dist/builds/node.cjs
generated
vendored
Normal file
455
node_modules/@algolia/recommend/dist/builds/node.cjs
generated
vendored
Normal file
@@ -0,0 +1,455 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// builds/node.ts
|
||||
var node_exports = {};
|
||||
__export(node_exports, {
|
||||
apiClientVersion: () => apiClientVersion,
|
||||
recommendClient: () => recommendClient
|
||||
});
|
||||
module.exports = __toCommonJS(node_exports);
|
||||
var import_requester_node_http = require("@algolia/requester-node-http");
|
||||
var import_client_common2 = require("@algolia/client-common");
|
||||
|
||||
// src/recommendClient.ts
|
||||
var import_client_common = require("@algolia/client-common");
|
||||
var apiClientVersion = "5.34.1";
|
||||
function getDefaultHosts(appId) {
|
||||
return [
|
||||
{
|
||||
url: `${appId}-dsn.algolia.net`,
|
||||
accept: "read",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}.algolia.net`,
|
||||
accept: "write",
|
||||
protocol: "https"
|
||||
}
|
||||
].concat(
|
||||
(0, import_client_common.shuffle)([
|
||||
{
|
||||
url: `${appId}-1.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-2.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-3.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
}
|
||||
])
|
||||
);
|
||||
}
|
||||
function createRecommendClient({
|
||||
appId: appIdOption,
|
||||
apiKey: apiKeyOption,
|
||||
authMode,
|
||||
algoliaAgents,
|
||||
...options
|
||||
}) {
|
||||
const auth = (0, import_client_common.createAuth)(appIdOption, apiKeyOption, authMode);
|
||||
const transporter = (0, import_client_common.createTransporter)({
|
||||
hosts: getDefaultHosts(appIdOption),
|
||||
...options,
|
||||
algoliaAgent: (0, import_client_common.getAlgoliaAgent)({
|
||||
algoliaAgents,
|
||||
client: "Recommend",
|
||||
version: apiClientVersion
|
||||
}),
|
||||
baseHeaders: {
|
||||
"content-type": "text/plain",
|
||||
...auth.headers(),
|
||||
...options.baseHeaders
|
||||
},
|
||||
baseQueryParameters: {
|
||||
...auth.queryParameters(),
|
||||
...options.baseQueryParameters
|
||||
}
|
||||
});
|
||||
return {
|
||||
transporter,
|
||||
/**
|
||||
* The `appId` currently in use.
|
||||
*/
|
||||
appId: appIdOption,
|
||||
/**
|
||||
* The `apiKey` currently in use.
|
||||
*/
|
||||
apiKey: apiKeyOption,
|
||||
/**
|
||||
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
|
||||
*/
|
||||
clearCache() {
|
||||
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => void 0);
|
||||
},
|
||||
/**
|
||||
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
|
||||
*/
|
||||
get _ua() {
|
||||
return transporter.algoliaAgent.value;
|
||||
},
|
||||
/**
|
||||
* Adds a `segment` to the `x-algolia-agent` sent with every requests.
|
||||
*
|
||||
* @param segment - The algolia agent (user-agent) segment to add.
|
||||
* @param version - The version of the agent.
|
||||
*/
|
||||
addAlgoliaAgent(segment, version) {
|
||||
transporter.algoliaAgent.add({ segment, version });
|
||||
},
|
||||
/**
|
||||
* Helper method to switch the API key used to authenticate the requests.
|
||||
*
|
||||
* @param params - Method params.
|
||||
* @param params.apiKey - The new API Key to use.
|
||||
*/
|
||||
setClientApiKey({ apiKey }) {
|
||||
if (!authMode || authMode === "WithinHeaders") {
|
||||
transporter.baseHeaders["x-algolia-api-key"] = apiKey;
|
||||
} else {
|
||||
transporter.baseQueryParameters["x-algolia-api-key"] = apiKey;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Create or update a batch of Recommend Rules Each Recommend Rule is created or updated, depending on whether a Recommend Rule with the same `objectID` already exists. You may also specify `true` for `clearExistingRules`, in which case the batch will atomically replace all the existing Recommend Rules. Recommend Rules are similar to Search Rules, except that the conditions and consequences apply to a [source item](/doc/guides/algolia-recommend/overview/#recommend-models) instead of a query. The main differences are the following: - Conditions `pattern` and `anchoring` are unavailable. - Condition `filters` triggers if the source item matches the specified filters. - Condition `filters` accepts numeric filters. - Consequence `params` only covers filtering parameters. - Consequence `automaticFacetFilters` doesn\'t require a facet value placeholder (it tries to match the data source item\'s attributes instead).
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param batchRecommendRules - The batchRecommendRules object.
|
||||
* @param batchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param batchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param batchRecommendRules.recommendRule - The recommendRule object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
batchRecommendRules({ indexName, model, recommendRule }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/batch".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: recommendRule ? recommendRule : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customDelete - The customDelete object.
|
||||
* @param customDelete.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customDelete.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customDelete({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customDelete`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customGet - The customGet object.
|
||||
* @param customGet.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customGet.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customGet({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customGet`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPost - The customPost object.
|
||||
* @param customPost.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPost.parameters - Query parameters to apply to the current query.
|
||||
* @param customPost.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPost({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPost`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPut - The customPut object.
|
||||
* @param customPut.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPut.parameters - Query parameters to apply to the current query.
|
||||
* @param customPut.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPut({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPut`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "PUT",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Deletes a Recommend rule from a recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param deleteRecommendRule - The deleteRecommendRule object.
|
||||
* @param deleteRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param deleteRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param deleteRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
deleteRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves a Recommend rule that you previously created in the Algolia dashboard.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param getRecommendRule - The getRecommendRule object.
|
||||
* @param getRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Checks the status of a given task. Deleting a Recommend rule is asynchronous. When you delete a rule, a task is created on a queue and completed depending on the load on the server. The API response includes a task ID that you can use to check the status.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param getRecommendStatus - The getRecommendStatus object.
|
||||
* @param getRecommendStatus.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendStatus.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendStatus.taskID - Unique task identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendStatus({ indexName, model, taskID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!taskID) {
|
||||
throw new Error("Parameter `taskID` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/task/{taskID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{taskID}", encodeURIComponent(taskID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves recommendations from selected AI models.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - search
|
||||
* @param getRecommendationsParams - The getRecommendationsParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendations(getRecommendationsParams, requestOptions) {
|
||||
if (getRecommendationsParams && Array.isArray(getRecommendationsParams)) {
|
||||
const newSignatureRequest = {
|
||||
requests: getRecommendationsParams
|
||||
};
|
||||
getRecommendationsParams = newSignatureRequest;
|
||||
}
|
||||
if (!getRecommendationsParams) {
|
||||
throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");
|
||||
}
|
||||
if (!getRecommendationsParams.requests) {
|
||||
throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/*/recommendations";
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: getRecommendationsParams,
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Searches for Recommend rules. Use an empty query to list all rules for this recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param searchRecommendRules - The searchRecommendRules object.
|
||||
* @param searchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param searchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param searchRecommendRules.searchRecommendRulesParams - The searchRecommendRulesParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
searchRecommendRules({ indexName, model, searchRecommendRulesParams }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/search".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: searchRecommendRulesParams ? searchRecommendRulesParams : {},
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// builds/node.ts
|
||||
function recommendClient(appId, apiKey, options) {
|
||||
if (!appId || typeof appId !== "string") {
|
||||
throw new Error("`appId` is missing.");
|
||||
}
|
||||
if (!apiKey || typeof apiKey !== "string") {
|
||||
throw new Error("`apiKey` is missing.");
|
||||
}
|
||||
return {
|
||||
...createRecommendClient({
|
||||
appId,
|
||||
apiKey,
|
||||
timeouts: {
|
||||
connect: 2e3,
|
||||
read: 5e3,
|
||||
write: 3e4
|
||||
},
|
||||
logger: (0, import_client_common2.createNullLogger)(),
|
||||
requester: (0, import_requester_node_http.createHttpRequester)(),
|
||||
algoliaAgents: [{ segment: "Node.js", version: process.versions.node }],
|
||||
responsesCache: (0, import_client_common2.createNullCache)(),
|
||||
requestsCache: (0, import_client_common2.createNullCache)(),
|
||||
hostsCache: (0, import_client_common2.createMemoryCache)(),
|
||||
...options
|
||||
})
|
||||
};
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
apiClientVersion,
|
||||
recommendClient
|
||||
});
|
||||
//# sourceMappingURL=node.cjs.map
|
1
node_modules/@algolia/recommend/dist/builds/node.cjs.map
generated
vendored
Normal file
1
node_modules/@algolia/recommend/dist/builds/node.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
429
node_modules/@algolia/recommend/dist/builds/node.js
generated
vendored
Normal file
429
node_modules/@algolia/recommend/dist/builds/node.js
generated
vendored
Normal file
@@ -0,0 +1,429 @@
|
||||
// builds/node.ts
|
||||
import { createHttpRequester } from "@algolia/requester-node-http";
|
||||
import { createMemoryCache, createNullCache, createNullLogger } from "@algolia/client-common";
|
||||
|
||||
// src/recommendClient.ts
|
||||
import { createAuth, createTransporter, getAlgoliaAgent, shuffle } from "@algolia/client-common";
|
||||
var apiClientVersion = "5.34.1";
|
||||
function getDefaultHosts(appId) {
|
||||
return [
|
||||
{
|
||||
url: `${appId}-dsn.algolia.net`,
|
||||
accept: "read",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}.algolia.net`,
|
||||
accept: "write",
|
||||
protocol: "https"
|
||||
}
|
||||
].concat(
|
||||
shuffle([
|
||||
{
|
||||
url: `${appId}-1.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-2.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-3.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
}
|
||||
])
|
||||
);
|
||||
}
|
||||
function createRecommendClient({
|
||||
appId: appIdOption,
|
||||
apiKey: apiKeyOption,
|
||||
authMode,
|
||||
algoliaAgents,
|
||||
...options
|
||||
}) {
|
||||
const auth = createAuth(appIdOption, apiKeyOption, authMode);
|
||||
const transporter = createTransporter({
|
||||
hosts: getDefaultHosts(appIdOption),
|
||||
...options,
|
||||
algoliaAgent: getAlgoliaAgent({
|
||||
algoliaAgents,
|
||||
client: "Recommend",
|
||||
version: apiClientVersion
|
||||
}),
|
||||
baseHeaders: {
|
||||
"content-type": "text/plain",
|
||||
...auth.headers(),
|
||||
...options.baseHeaders
|
||||
},
|
||||
baseQueryParameters: {
|
||||
...auth.queryParameters(),
|
||||
...options.baseQueryParameters
|
||||
}
|
||||
});
|
||||
return {
|
||||
transporter,
|
||||
/**
|
||||
* The `appId` currently in use.
|
||||
*/
|
||||
appId: appIdOption,
|
||||
/**
|
||||
* The `apiKey` currently in use.
|
||||
*/
|
||||
apiKey: apiKeyOption,
|
||||
/**
|
||||
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
|
||||
*/
|
||||
clearCache() {
|
||||
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => void 0);
|
||||
},
|
||||
/**
|
||||
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
|
||||
*/
|
||||
get _ua() {
|
||||
return transporter.algoliaAgent.value;
|
||||
},
|
||||
/**
|
||||
* Adds a `segment` to the `x-algolia-agent` sent with every requests.
|
||||
*
|
||||
* @param segment - The algolia agent (user-agent) segment to add.
|
||||
* @param version - The version of the agent.
|
||||
*/
|
||||
addAlgoliaAgent(segment, version) {
|
||||
transporter.algoliaAgent.add({ segment, version });
|
||||
},
|
||||
/**
|
||||
* Helper method to switch the API key used to authenticate the requests.
|
||||
*
|
||||
* @param params - Method params.
|
||||
* @param params.apiKey - The new API Key to use.
|
||||
*/
|
||||
setClientApiKey({ apiKey }) {
|
||||
if (!authMode || authMode === "WithinHeaders") {
|
||||
transporter.baseHeaders["x-algolia-api-key"] = apiKey;
|
||||
} else {
|
||||
transporter.baseQueryParameters["x-algolia-api-key"] = apiKey;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Create or update a batch of Recommend Rules Each Recommend Rule is created or updated, depending on whether a Recommend Rule with the same `objectID` already exists. You may also specify `true` for `clearExistingRules`, in which case the batch will atomically replace all the existing Recommend Rules. Recommend Rules are similar to Search Rules, except that the conditions and consequences apply to a [source item](/doc/guides/algolia-recommend/overview/#recommend-models) instead of a query. The main differences are the following: - Conditions `pattern` and `anchoring` are unavailable. - Condition `filters` triggers if the source item matches the specified filters. - Condition `filters` accepts numeric filters. - Consequence `params` only covers filtering parameters. - Consequence `automaticFacetFilters` doesn\'t require a facet value placeholder (it tries to match the data source item\'s attributes instead).
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param batchRecommendRules - The batchRecommendRules object.
|
||||
* @param batchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param batchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param batchRecommendRules.recommendRule - The recommendRule object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
batchRecommendRules({ indexName, model, recommendRule }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/batch".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: recommendRule ? recommendRule : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customDelete - The customDelete object.
|
||||
* @param customDelete.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customDelete.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customDelete({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customDelete`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customGet - The customGet object.
|
||||
* @param customGet.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customGet.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customGet({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customGet`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPost - The customPost object.
|
||||
* @param customPost.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPost.parameters - Query parameters to apply to the current query.
|
||||
* @param customPost.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPost({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPost`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPut - The customPut object.
|
||||
* @param customPut.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPut.parameters - Query parameters to apply to the current query.
|
||||
* @param customPut.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPut({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPut`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "PUT",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Deletes a Recommend rule from a recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param deleteRecommendRule - The deleteRecommendRule object.
|
||||
* @param deleteRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param deleteRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param deleteRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
deleteRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves a Recommend rule that you previously created in the Algolia dashboard.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param getRecommendRule - The getRecommendRule object.
|
||||
* @param getRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Checks the status of a given task. Deleting a Recommend rule is asynchronous. When you delete a rule, a task is created on a queue and completed depending on the load on the server. The API response includes a task ID that you can use to check the status.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param getRecommendStatus - The getRecommendStatus object.
|
||||
* @param getRecommendStatus.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendStatus.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendStatus.taskID - Unique task identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendStatus({ indexName, model, taskID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!taskID) {
|
||||
throw new Error("Parameter `taskID` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/task/{taskID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{taskID}", encodeURIComponent(taskID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves recommendations from selected AI models.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - search
|
||||
* @param getRecommendationsParams - The getRecommendationsParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendations(getRecommendationsParams, requestOptions) {
|
||||
if (getRecommendationsParams && Array.isArray(getRecommendationsParams)) {
|
||||
const newSignatureRequest = {
|
||||
requests: getRecommendationsParams
|
||||
};
|
||||
getRecommendationsParams = newSignatureRequest;
|
||||
}
|
||||
if (!getRecommendationsParams) {
|
||||
throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");
|
||||
}
|
||||
if (!getRecommendationsParams.requests) {
|
||||
throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/*/recommendations";
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: getRecommendationsParams,
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Searches for Recommend rules. Use an empty query to list all rules for this recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param searchRecommendRules - The searchRecommendRules object.
|
||||
* @param searchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param searchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param searchRecommendRules.searchRecommendRulesParams - The searchRecommendRulesParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
searchRecommendRules({ indexName, model, searchRecommendRulesParams }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/search".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: searchRecommendRulesParams ? searchRecommendRulesParams : {},
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// builds/node.ts
|
||||
function recommendClient(appId, apiKey, options) {
|
||||
if (!appId || typeof appId !== "string") {
|
||||
throw new Error("`appId` is missing.");
|
||||
}
|
||||
if (!apiKey || typeof apiKey !== "string") {
|
||||
throw new Error("`apiKey` is missing.");
|
||||
}
|
||||
return {
|
||||
...createRecommendClient({
|
||||
appId,
|
||||
apiKey,
|
||||
timeouts: {
|
||||
connect: 2e3,
|
||||
read: 5e3,
|
||||
write: 3e4
|
||||
},
|
||||
logger: createNullLogger(),
|
||||
requester: createHttpRequester(),
|
||||
algoliaAgents: [{ segment: "Node.js", version: process.versions.node }],
|
||||
responsesCache: createNullCache(),
|
||||
requestsCache: createNullCache(),
|
||||
hostsCache: createMemoryCache(),
|
||||
...options
|
||||
})
|
||||
};
|
||||
}
|
||||
export {
|
||||
apiClientVersion,
|
||||
recommendClient
|
||||
};
|
||||
//# sourceMappingURL=node.js.map
|
1
node_modules/@algolia/recommend/dist/builds/node.js.map
generated
vendored
Normal file
1
node_modules/@algolia/recommend/dist/builds/node.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
429
node_modules/@algolia/recommend/dist/builds/worker.js
generated
vendored
Normal file
429
node_modules/@algolia/recommend/dist/builds/worker.js
generated
vendored
Normal file
@@ -0,0 +1,429 @@
|
||||
// builds/worker.ts
|
||||
import { createMemoryCache, createNullCache, createNullLogger } from "@algolia/client-common";
|
||||
import { createFetchRequester } from "@algolia/requester-fetch";
|
||||
|
||||
// src/recommendClient.ts
|
||||
import { createAuth, createTransporter, getAlgoliaAgent, shuffle } from "@algolia/client-common";
|
||||
var apiClientVersion = "5.34.1";
|
||||
function getDefaultHosts(appId) {
|
||||
return [
|
||||
{
|
||||
url: `${appId}-dsn.algolia.net`,
|
||||
accept: "read",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}.algolia.net`,
|
||||
accept: "write",
|
||||
protocol: "https"
|
||||
}
|
||||
].concat(
|
||||
shuffle([
|
||||
{
|
||||
url: `${appId}-1.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-2.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-3.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
}
|
||||
])
|
||||
);
|
||||
}
|
||||
function createRecommendClient({
|
||||
appId: appIdOption,
|
||||
apiKey: apiKeyOption,
|
||||
authMode,
|
||||
algoliaAgents,
|
||||
...options
|
||||
}) {
|
||||
const auth = createAuth(appIdOption, apiKeyOption, authMode);
|
||||
const transporter = createTransporter({
|
||||
hosts: getDefaultHosts(appIdOption),
|
||||
...options,
|
||||
algoliaAgent: getAlgoliaAgent({
|
||||
algoliaAgents,
|
||||
client: "Recommend",
|
||||
version: apiClientVersion
|
||||
}),
|
||||
baseHeaders: {
|
||||
"content-type": "text/plain",
|
||||
...auth.headers(),
|
||||
...options.baseHeaders
|
||||
},
|
||||
baseQueryParameters: {
|
||||
...auth.queryParameters(),
|
||||
...options.baseQueryParameters
|
||||
}
|
||||
});
|
||||
return {
|
||||
transporter,
|
||||
/**
|
||||
* The `appId` currently in use.
|
||||
*/
|
||||
appId: appIdOption,
|
||||
/**
|
||||
* The `apiKey` currently in use.
|
||||
*/
|
||||
apiKey: apiKeyOption,
|
||||
/**
|
||||
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
|
||||
*/
|
||||
clearCache() {
|
||||
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => void 0);
|
||||
},
|
||||
/**
|
||||
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
|
||||
*/
|
||||
get _ua() {
|
||||
return transporter.algoliaAgent.value;
|
||||
},
|
||||
/**
|
||||
* Adds a `segment` to the `x-algolia-agent` sent with every requests.
|
||||
*
|
||||
* @param segment - The algolia agent (user-agent) segment to add.
|
||||
* @param version - The version of the agent.
|
||||
*/
|
||||
addAlgoliaAgent(segment, version) {
|
||||
transporter.algoliaAgent.add({ segment, version });
|
||||
},
|
||||
/**
|
||||
* Helper method to switch the API key used to authenticate the requests.
|
||||
*
|
||||
* @param params - Method params.
|
||||
* @param params.apiKey - The new API Key to use.
|
||||
*/
|
||||
setClientApiKey({ apiKey }) {
|
||||
if (!authMode || authMode === "WithinHeaders") {
|
||||
transporter.baseHeaders["x-algolia-api-key"] = apiKey;
|
||||
} else {
|
||||
transporter.baseQueryParameters["x-algolia-api-key"] = apiKey;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Create or update a batch of Recommend Rules Each Recommend Rule is created or updated, depending on whether a Recommend Rule with the same `objectID` already exists. You may also specify `true` for `clearExistingRules`, in which case the batch will atomically replace all the existing Recommend Rules. Recommend Rules are similar to Search Rules, except that the conditions and consequences apply to a [source item](/doc/guides/algolia-recommend/overview/#recommend-models) instead of a query. The main differences are the following: - Conditions `pattern` and `anchoring` are unavailable. - Condition `filters` triggers if the source item matches the specified filters. - Condition `filters` accepts numeric filters. - Consequence `params` only covers filtering parameters. - Consequence `automaticFacetFilters` doesn\'t require a facet value placeholder (it tries to match the data source item\'s attributes instead).
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param batchRecommendRules - The batchRecommendRules object.
|
||||
* @param batchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param batchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param batchRecommendRules.recommendRule - The recommendRule object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
batchRecommendRules({ indexName, model, recommendRule }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/batch".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: recommendRule ? recommendRule : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customDelete - The customDelete object.
|
||||
* @param customDelete.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customDelete.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customDelete({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customDelete`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customGet - The customGet object.
|
||||
* @param customGet.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customGet.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customGet({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customGet`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPost - The customPost object.
|
||||
* @param customPost.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPost.parameters - Query parameters to apply to the current query.
|
||||
* @param customPost.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPost({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPost`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPut - The customPut object.
|
||||
* @param customPut.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPut.parameters - Query parameters to apply to the current query.
|
||||
* @param customPut.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPut({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPut`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "PUT",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Deletes a Recommend rule from a recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param deleteRecommendRule - The deleteRecommendRule object.
|
||||
* @param deleteRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param deleteRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param deleteRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
deleteRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves a Recommend rule that you previously created in the Algolia dashboard.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param getRecommendRule - The getRecommendRule object.
|
||||
* @param getRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Checks the status of a given task. Deleting a Recommend rule is asynchronous. When you delete a rule, a task is created on a queue and completed depending on the load on the server. The API response includes a task ID that you can use to check the status.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param getRecommendStatus - The getRecommendStatus object.
|
||||
* @param getRecommendStatus.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendStatus.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendStatus.taskID - Unique task identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendStatus({ indexName, model, taskID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!taskID) {
|
||||
throw new Error("Parameter `taskID` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/task/{taskID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{taskID}", encodeURIComponent(taskID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves recommendations from selected AI models.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - search
|
||||
* @param getRecommendationsParams - The getRecommendationsParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendations(getRecommendationsParams, requestOptions) {
|
||||
if (getRecommendationsParams && Array.isArray(getRecommendationsParams)) {
|
||||
const newSignatureRequest = {
|
||||
requests: getRecommendationsParams
|
||||
};
|
||||
getRecommendationsParams = newSignatureRequest;
|
||||
}
|
||||
if (!getRecommendationsParams) {
|
||||
throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");
|
||||
}
|
||||
if (!getRecommendationsParams.requests) {
|
||||
throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/*/recommendations";
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: getRecommendationsParams,
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Searches for Recommend rules. Use an empty query to list all rules for this recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param searchRecommendRules - The searchRecommendRules object.
|
||||
* @param searchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param searchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param searchRecommendRules.searchRecommendRulesParams - The searchRecommendRulesParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
searchRecommendRules({ indexName, model, searchRecommendRulesParams }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/search".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: searchRecommendRulesParams ? searchRecommendRulesParams : {},
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// builds/worker.ts
|
||||
function recommendClient(appId, apiKey, options) {
|
||||
if (!appId || typeof appId !== "string") {
|
||||
throw new Error("`appId` is missing.");
|
||||
}
|
||||
if (!apiKey || typeof apiKey !== "string") {
|
||||
throw new Error("`apiKey` is missing.");
|
||||
}
|
||||
return {
|
||||
...createRecommendClient({
|
||||
appId,
|
||||
apiKey,
|
||||
timeouts: {
|
||||
connect: 2e3,
|
||||
read: 5e3,
|
||||
write: 3e4
|
||||
},
|
||||
logger: createNullLogger(),
|
||||
requester: createFetchRequester(),
|
||||
algoliaAgents: [{ segment: "Worker" }],
|
||||
responsesCache: createNullCache(),
|
||||
requestsCache: createNullCache(),
|
||||
hostsCache: createMemoryCache(),
|
||||
...options
|
||||
})
|
||||
};
|
||||
}
|
||||
export {
|
||||
apiClientVersion,
|
||||
recommendClient
|
||||
};
|
||||
//# sourceMappingURL=worker.js.map
|
1
node_modules/@algolia/recommend/dist/builds/worker.js.map
generated
vendored
Normal file
1
node_modules/@algolia/recommend/dist/builds/worker.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1565
node_modules/@algolia/recommend/dist/fetch.d.ts
generated
vendored
Normal file
1565
node_modules/@algolia/recommend/dist/fetch.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1565
node_modules/@algolia/recommend/dist/node.d.cts
generated
vendored
Normal file
1565
node_modules/@algolia/recommend/dist/node.d.cts
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1565
node_modules/@algolia/recommend/dist/node.d.ts
generated
vendored
Normal file
1565
node_modules/@algolia/recommend/dist/node.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
423
node_modules/@algolia/recommend/dist/src/recommendClient.cjs
generated
vendored
Normal file
423
node_modules/@algolia/recommend/dist/src/recommendClient.cjs
generated
vendored
Normal file
@@ -0,0 +1,423 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/recommendClient.ts
|
||||
var recommendClient_exports = {};
|
||||
__export(recommendClient_exports, {
|
||||
apiClientVersion: () => apiClientVersion,
|
||||
createRecommendClient: () => createRecommendClient
|
||||
});
|
||||
module.exports = __toCommonJS(recommendClient_exports);
|
||||
var import_client_common = require("@algolia/client-common");
|
||||
var apiClientVersion = "5.34.1";
|
||||
function getDefaultHosts(appId) {
|
||||
return [
|
||||
{
|
||||
url: `${appId}-dsn.algolia.net`,
|
||||
accept: "read",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}.algolia.net`,
|
||||
accept: "write",
|
||||
protocol: "https"
|
||||
}
|
||||
].concat(
|
||||
(0, import_client_common.shuffle)([
|
||||
{
|
||||
url: `${appId}-1.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-2.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-3.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
}
|
||||
])
|
||||
);
|
||||
}
|
||||
function createRecommendClient({
|
||||
appId: appIdOption,
|
||||
apiKey: apiKeyOption,
|
||||
authMode,
|
||||
algoliaAgents,
|
||||
...options
|
||||
}) {
|
||||
const auth = (0, import_client_common.createAuth)(appIdOption, apiKeyOption, authMode);
|
||||
const transporter = (0, import_client_common.createTransporter)({
|
||||
hosts: getDefaultHosts(appIdOption),
|
||||
...options,
|
||||
algoliaAgent: (0, import_client_common.getAlgoliaAgent)({
|
||||
algoliaAgents,
|
||||
client: "Recommend",
|
||||
version: apiClientVersion
|
||||
}),
|
||||
baseHeaders: {
|
||||
"content-type": "text/plain",
|
||||
...auth.headers(),
|
||||
...options.baseHeaders
|
||||
},
|
||||
baseQueryParameters: {
|
||||
...auth.queryParameters(),
|
||||
...options.baseQueryParameters
|
||||
}
|
||||
});
|
||||
return {
|
||||
transporter,
|
||||
/**
|
||||
* The `appId` currently in use.
|
||||
*/
|
||||
appId: appIdOption,
|
||||
/**
|
||||
* The `apiKey` currently in use.
|
||||
*/
|
||||
apiKey: apiKeyOption,
|
||||
/**
|
||||
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
|
||||
*/
|
||||
clearCache() {
|
||||
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => void 0);
|
||||
},
|
||||
/**
|
||||
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
|
||||
*/
|
||||
get _ua() {
|
||||
return transporter.algoliaAgent.value;
|
||||
},
|
||||
/**
|
||||
* Adds a `segment` to the `x-algolia-agent` sent with every requests.
|
||||
*
|
||||
* @param segment - The algolia agent (user-agent) segment to add.
|
||||
* @param version - The version of the agent.
|
||||
*/
|
||||
addAlgoliaAgent(segment, version) {
|
||||
transporter.algoliaAgent.add({ segment, version });
|
||||
},
|
||||
/**
|
||||
* Helper method to switch the API key used to authenticate the requests.
|
||||
*
|
||||
* @param params - Method params.
|
||||
* @param params.apiKey - The new API Key to use.
|
||||
*/
|
||||
setClientApiKey({ apiKey }) {
|
||||
if (!authMode || authMode === "WithinHeaders") {
|
||||
transporter.baseHeaders["x-algolia-api-key"] = apiKey;
|
||||
} else {
|
||||
transporter.baseQueryParameters["x-algolia-api-key"] = apiKey;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Create or update a batch of Recommend Rules Each Recommend Rule is created or updated, depending on whether a Recommend Rule with the same `objectID` already exists. You may also specify `true` for `clearExistingRules`, in which case the batch will atomically replace all the existing Recommend Rules. Recommend Rules are similar to Search Rules, except that the conditions and consequences apply to a [source item](/doc/guides/algolia-recommend/overview/#recommend-models) instead of a query. The main differences are the following: - Conditions `pattern` and `anchoring` are unavailable. - Condition `filters` triggers if the source item matches the specified filters. - Condition `filters` accepts numeric filters. - Consequence `params` only covers filtering parameters. - Consequence `automaticFacetFilters` doesn\'t require a facet value placeholder (it tries to match the data source item\'s attributes instead).
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param batchRecommendRules - The batchRecommendRules object.
|
||||
* @param batchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param batchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param batchRecommendRules.recommendRule - The recommendRule object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
batchRecommendRules({ indexName, model, recommendRule }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/batch".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: recommendRule ? recommendRule : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customDelete - The customDelete object.
|
||||
* @param customDelete.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customDelete.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customDelete({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customDelete`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customGet - The customGet object.
|
||||
* @param customGet.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customGet.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customGet({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customGet`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPost - The customPost object.
|
||||
* @param customPost.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPost.parameters - Query parameters to apply to the current query.
|
||||
* @param customPost.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPost({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPost`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPut - The customPut object.
|
||||
* @param customPut.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPut.parameters - Query parameters to apply to the current query.
|
||||
* @param customPut.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPut({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPut`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "PUT",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Deletes a Recommend rule from a recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param deleteRecommendRule - The deleteRecommendRule object.
|
||||
* @param deleteRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param deleteRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param deleteRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
deleteRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves a Recommend rule that you previously created in the Algolia dashboard.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param getRecommendRule - The getRecommendRule object.
|
||||
* @param getRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Checks the status of a given task. Deleting a Recommend rule is asynchronous. When you delete a rule, a task is created on a queue and completed depending on the load on the server. The API response includes a task ID that you can use to check the status.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param getRecommendStatus - The getRecommendStatus object.
|
||||
* @param getRecommendStatus.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendStatus.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendStatus.taskID - Unique task identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendStatus({ indexName, model, taskID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!taskID) {
|
||||
throw new Error("Parameter `taskID` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/task/{taskID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{taskID}", encodeURIComponent(taskID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves recommendations from selected AI models.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - search
|
||||
* @param getRecommendationsParams - The getRecommendationsParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendations(getRecommendationsParams, requestOptions) {
|
||||
if (getRecommendationsParams && Array.isArray(getRecommendationsParams)) {
|
||||
const newSignatureRequest = {
|
||||
requests: getRecommendationsParams
|
||||
};
|
||||
getRecommendationsParams = newSignatureRequest;
|
||||
}
|
||||
if (!getRecommendationsParams) {
|
||||
throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");
|
||||
}
|
||||
if (!getRecommendationsParams.requests) {
|
||||
throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/*/recommendations";
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: getRecommendationsParams,
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Searches for Recommend rules. Use an empty query to list all rules for this recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param searchRecommendRules - The searchRecommendRules object.
|
||||
* @param searchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param searchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param searchRecommendRules.searchRecommendRulesParams - The searchRecommendRulesParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
searchRecommendRules({ indexName, model, searchRecommendRulesParams }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/search".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: searchRecommendRulesParams ? searchRecommendRulesParams : {},
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
}
|
||||
};
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
apiClientVersion,
|
||||
createRecommendClient
|
||||
});
|
||||
//# sourceMappingURL=recommendClient.cjs.map
|
1
node_modules/@algolia/recommend/dist/src/recommendClient.cjs.map
generated
vendored
Normal file
1
node_modules/@algolia/recommend/dist/src/recommendClient.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
397
node_modules/@algolia/recommend/dist/src/recommendClient.js
generated
vendored
Normal file
397
node_modules/@algolia/recommend/dist/src/recommendClient.js
generated
vendored
Normal file
@@ -0,0 +1,397 @@
|
||||
// src/recommendClient.ts
|
||||
import { createAuth, createTransporter, getAlgoliaAgent, shuffle } from "@algolia/client-common";
|
||||
var apiClientVersion = "5.34.1";
|
||||
function getDefaultHosts(appId) {
|
||||
return [
|
||||
{
|
||||
url: `${appId}-dsn.algolia.net`,
|
||||
accept: "read",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}.algolia.net`,
|
||||
accept: "write",
|
||||
protocol: "https"
|
||||
}
|
||||
].concat(
|
||||
shuffle([
|
||||
{
|
||||
url: `${appId}-1.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-2.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
},
|
||||
{
|
||||
url: `${appId}-3.algolianet.com`,
|
||||
accept: "readWrite",
|
||||
protocol: "https"
|
||||
}
|
||||
])
|
||||
);
|
||||
}
|
||||
function createRecommendClient({
|
||||
appId: appIdOption,
|
||||
apiKey: apiKeyOption,
|
||||
authMode,
|
||||
algoliaAgents,
|
||||
...options
|
||||
}) {
|
||||
const auth = createAuth(appIdOption, apiKeyOption, authMode);
|
||||
const transporter = createTransporter({
|
||||
hosts: getDefaultHosts(appIdOption),
|
||||
...options,
|
||||
algoliaAgent: getAlgoliaAgent({
|
||||
algoliaAgents,
|
||||
client: "Recommend",
|
||||
version: apiClientVersion
|
||||
}),
|
||||
baseHeaders: {
|
||||
"content-type": "text/plain",
|
||||
...auth.headers(),
|
||||
...options.baseHeaders
|
||||
},
|
||||
baseQueryParameters: {
|
||||
...auth.queryParameters(),
|
||||
...options.baseQueryParameters
|
||||
}
|
||||
});
|
||||
return {
|
||||
transporter,
|
||||
/**
|
||||
* The `appId` currently in use.
|
||||
*/
|
||||
appId: appIdOption,
|
||||
/**
|
||||
* The `apiKey` currently in use.
|
||||
*/
|
||||
apiKey: apiKeyOption,
|
||||
/**
|
||||
* Clears the cache of the transporter for the `requestsCache` and `responsesCache` properties.
|
||||
*/
|
||||
clearCache() {
|
||||
return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => void 0);
|
||||
},
|
||||
/**
|
||||
* Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
|
||||
*/
|
||||
get _ua() {
|
||||
return transporter.algoliaAgent.value;
|
||||
},
|
||||
/**
|
||||
* Adds a `segment` to the `x-algolia-agent` sent with every requests.
|
||||
*
|
||||
* @param segment - The algolia agent (user-agent) segment to add.
|
||||
* @param version - The version of the agent.
|
||||
*/
|
||||
addAlgoliaAgent(segment, version) {
|
||||
transporter.algoliaAgent.add({ segment, version });
|
||||
},
|
||||
/**
|
||||
* Helper method to switch the API key used to authenticate the requests.
|
||||
*
|
||||
* @param params - Method params.
|
||||
* @param params.apiKey - The new API Key to use.
|
||||
*/
|
||||
setClientApiKey({ apiKey }) {
|
||||
if (!authMode || authMode === "WithinHeaders") {
|
||||
transporter.baseHeaders["x-algolia-api-key"] = apiKey;
|
||||
} else {
|
||||
transporter.baseQueryParameters["x-algolia-api-key"] = apiKey;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Create or update a batch of Recommend Rules Each Recommend Rule is created or updated, depending on whether a Recommend Rule with the same `objectID` already exists. You may also specify `true` for `clearExistingRules`, in which case the batch will atomically replace all the existing Recommend Rules. Recommend Rules are similar to Search Rules, except that the conditions and consequences apply to a [source item](/doc/guides/algolia-recommend/overview/#recommend-models) instead of a query. The main differences are the following: - Conditions `pattern` and `anchoring` are unavailable. - Condition `filters` triggers if the source item matches the specified filters. - Condition `filters` accepts numeric filters. - Consequence `params` only covers filtering parameters. - Consequence `automaticFacetFilters` doesn\'t require a facet value placeholder (it tries to match the data source item\'s attributes instead).
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param batchRecommendRules - The batchRecommendRules object.
|
||||
* @param batchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param batchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param batchRecommendRules.recommendRule - The recommendRule object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
batchRecommendRules({ indexName, model, recommendRule }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `batchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/batch".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: recommendRule ? recommendRule : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customDelete - The customDelete object.
|
||||
* @param customDelete.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customDelete.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customDelete({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customDelete`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customGet - The customGet object.
|
||||
* @param customGet.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customGet.parameters - Query parameters to apply to the current query.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customGet({ path, parameters }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customGet`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPost - The customPost object.
|
||||
* @param customPost.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPost.parameters - Query parameters to apply to the current query.
|
||||
* @param customPost.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPost({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPost`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* This method lets you send requests to the Algolia REST API.
|
||||
* @param customPut - The customPut object.
|
||||
* @param customPut.path - Path of the endpoint, for example `1/newFeature`.
|
||||
* @param customPut.parameters - Query parameters to apply to the current query.
|
||||
* @param customPut.body - Parameters to send with the custom request.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
customPut({ path, parameters, body }, requestOptions) {
|
||||
if (!path) {
|
||||
throw new Error("Parameter `path` is required when calling `customPut`.");
|
||||
}
|
||||
const requestPath = "/{path}".replace("{path}", path);
|
||||
const headers = {};
|
||||
const queryParameters = parameters ? parameters : {};
|
||||
const request = {
|
||||
method: "PUT",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: body ? body : {}
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Deletes a Recommend rule from a recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param deleteRecommendRule - The deleteRecommendRule object.
|
||||
* @param deleteRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param deleteRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param deleteRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
deleteRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `deleteRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "DELETE",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves a Recommend rule that you previously created in the Algolia dashboard.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param getRecommendRule - The getRecommendRule object.
|
||||
* @param getRecommendRule.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendRule.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendRule.objectID - Unique record identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendRule({ indexName, model, objectID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
if (!objectID) {
|
||||
throw new Error("Parameter `objectID` is required when calling `getRecommendRule`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{objectID}", encodeURIComponent(objectID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Checks the status of a given task. Deleting a Recommend rule is asynchronous. When you delete a rule, a task is created on a queue and completed depending on the load on the server. The API response includes a task ID that you can use to check the status.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - editSettings
|
||||
* @param getRecommendStatus - The getRecommendStatus object.
|
||||
* @param getRecommendStatus.indexName - Name of the index on which to perform the operation.
|
||||
* @param getRecommendStatus.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param getRecommendStatus.taskID - Unique task identifier.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendStatus({ indexName, model, taskID }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
if (!taskID) {
|
||||
throw new Error("Parameter `taskID` is required when calling `getRecommendStatus`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/task/{taskID}".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model)).replace("{taskID}", encodeURIComponent(taskID));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "GET",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Retrieves recommendations from selected AI models.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - search
|
||||
* @param getRecommendationsParams - The getRecommendationsParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
getRecommendations(getRecommendationsParams, requestOptions) {
|
||||
if (getRecommendationsParams && Array.isArray(getRecommendationsParams)) {
|
||||
const newSignatureRequest = {
|
||||
requests: getRecommendationsParams
|
||||
};
|
||||
getRecommendationsParams = newSignatureRequest;
|
||||
}
|
||||
if (!getRecommendationsParams) {
|
||||
throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");
|
||||
}
|
||||
if (!getRecommendationsParams.requests) {
|
||||
throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/*/recommendations";
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: getRecommendationsParams,
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
},
|
||||
/**
|
||||
* Searches for Recommend rules. Use an empty query to list all rules for this recommendation scenario.
|
||||
*
|
||||
* Required API Key ACLs:
|
||||
* - settings
|
||||
* @param searchRecommendRules - The searchRecommendRules object.
|
||||
* @param searchRecommendRules.indexName - Name of the index on which to perform the operation.
|
||||
* @param searchRecommendRules.model - [Recommend model](https://www.algolia.com/doc/guides/algolia-recommend/overview/#recommend-models).
|
||||
* @param searchRecommendRules.searchRecommendRulesParams - The searchRecommendRulesParams object.
|
||||
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
||||
*/
|
||||
searchRecommendRules({ indexName, model, searchRecommendRulesParams }, requestOptions) {
|
||||
if (!indexName) {
|
||||
throw new Error("Parameter `indexName` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
if (!model) {
|
||||
throw new Error("Parameter `model` is required when calling `searchRecommendRules`.");
|
||||
}
|
||||
const requestPath = "/1/indexes/{indexName}/{model}/recommend/rules/search".replace("{indexName}", encodeURIComponent(indexName)).replace("{model}", encodeURIComponent(model));
|
||||
const headers = {};
|
||||
const queryParameters = {};
|
||||
const request = {
|
||||
method: "POST",
|
||||
path: requestPath,
|
||||
queryParameters,
|
||||
headers,
|
||||
data: searchRecommendRulesParams ? searchRecommendRulesParams : {},
|
||||
useReadTransporter: true,
|
||||
cacheable: true
|
||||
};
|
||||
return transporter.request(request, requestOptions);
|
||||
}
|
||||
};
|
||||
}
|
||||
export {
|
||||
apiClientVersion,
|
||||
createRecommendClient
|
||||
};
|
||||
//# sourceMappingURL=recommendClient.js.map
|
1
node_modules/@algolia/recommend/dist/src/recommendClient.js.map
generated
vendored
Normal file
1
node_modules/@algolia/recommend/dist/src/recommendClient.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1565
node_modules/@algolia/recommend/dist/worker.d.ts
generated
vendored
Normal file
1565
node_modules/@algolia/recommend/dist/worker.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
node_modules/@algolia/recommend/index.d.ts
generated
vendored
Normal file
1
node_modules/@algolia/recommend/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from './dist/node';
|
1
node_modules/@algolia/recommend/index.js
generated
vendored
Normal file
1
node_modules/@algolia/recommend/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
module.exports = require('./dist/builds/node.cjs');
|
68
node_modules/@algolia/recommend/package.json
generated
vendored
Normal file
68
node_modules/@algolia/recommend/package.json
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"version": "5.34.1",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/algolia/algoliasearch-client-javascript.git"
|
||||
},
|
||||
"homepage": "https://github.com/algolia/algoliasearch-client-javascript/tree/main/packages/recommend#readme",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"author": "Algolia",
|
||||
"scripts": {
|
||||
"build": "yarn clean && yarn tsup && yarn rollup -c rollup.config.js",
|
||||
"clean": "rm -rf ./dist || true",
|
||||
"test:bundle": "publint . && attw --pack ."
|
||||
},
|
||||
"name": "@algolia/recommend",
|
||||
"description": "JavaScript client for recommend",
|
||||
"exports": {
|
||||
".": {
|
||||
"node": {
|
||||
"types": {
|
||||
"import": "./dist/node.d.ts",
|
||||
"module": "./dist/node.d.ts",
|
||||
"require": "./dist/node.d.cts"
|
||||
},
|
||||
"import": "./dist/builds/node.js",
|
||||
"module": "./dist/builds/node.js",
|
||||
"require": "./dist/builds/node.cjs"
|
||||
},
|
||||
"worker": {
|
||||
"types": "./dist/worker.d.ts",
|
||||
"default": "./dist/builds/worker.js"
|
||||
},
|
||||
"default": {
|
||||
"types": "./dist/browser.d.ts",
|
||||
"module": "./dist/builds/browser.js",
|
||||
"import": "./dist/builds/browser.js",
|
||||
"default": "./dist/builds/browser.umd.js"
|
||||
}
|
||||
},
|
||||
"./dist/builds/*": "./dist/builds/*.js"
|
||||
},
|
||||
"jsdelivr": "./dist/builds/browser.umd.js",
|
||||
"unpkg": "./dist/builds/browser.umd.js",
|
||||
"react-native": "./dist/builds/browser.js",
|
||||
"files": [
|
||||
"dist",
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"dependencies": {
|
||||
"@algolia/client-common": "5.34.1",
|
||||
"@algolia/requester-browser-xhr": "5.34.1",
|
||||
"@algolia/requester-fetch": "5.34.1",
|
||||
"@algolia/requester-node-http": "5.34.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@arethetypeswrong/cli": "0.18.2",
|
||||
"@types/node": "22.16.5",
|
||||
"publint": "0.3.12",
|
||||
"rollup": "4.41.0",
|
||||
"tsup": "8.5.0",
|
||||
"typescript": "5.8.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 14.0.0"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user