-
-## ✨ 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/client-composition` if you already have `algoliasearch` installed.
-
-To get started, you first need to install @algolia/client-composition (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/client-composition@1.13.0
-# or
-npm install @algolia/client-composition@1.13.0
-# or
-pnpm add @algolia/client-composition@1.13.0
-```
-
-### Without a package manager
-
-Add the following JavaScript snippet to the of your website:
-
-```html
-
-```
-
-### Usage
-
-You can now import the Algolia API client in your project and play with it.
-
-```js
-import { compositionClient } from '@algolia/client-composition';
-
-const client = compositionClient('YOUR_APP_ID', 'YOUR_API_KEY');
-```
-
-For full documentation, visit the **[Algolia JavaScript API Client](https://www.algolia.com/doc/libraries/javascript/v5/methods/composition/)**.
-
-## ❓ 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).
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/builds/browser.ts b/clients/algoliasearch-client-javascript/packages/client-composition/builds/browser.ts
deleted file mode 100644
index 2542e2770bb..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/builds/browser.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import { createXhrRequester } from '@algolia/requester-browser-xhr';
-
-import {
- createBrowserLocalStorageCache,
- createFallbackableCache,
- createMemoryCache,
- createNullLogger,
-} from '@algolia/client-common';
-
-import type { ClientOptions } from '@algolia/client-common';
-
-import { apiClientVersion, createCompositionClient } from '../src/compositionClient';
-
-export { apiClientVersion } from '../src/compositionClient';
-
-export * from '../model';
-
-export function compositionClient(
- appId: string,
- apiKey: string,
- options?: ClientOptions | undefined,
-): CompositionClient {
- if (!appId || typeof appId !== 'string') {
- throw new Error('`appId` is missing.');
- }
-
- if (!apiKey || typeof apiKey !== 'string') {
- throw new Error('`apiKey` is missing.');
- }
-
- return createCompositionClient({
- appId,
- apiKey,
- timeouts: {
- connect: 1000,
- read: 2000,
- write: 30000,
- },
- logger: createNullLogger(),
- requester: createXhrRequester(),
- algoliaAgents: [{ segment: 'Browser' }],
- authMode: 'WithinHeaders',
- responsesCache: createMemoryCache(),
- requestsCache: createMemoryCache({ serializable: false }),
- hostsCache: createFallbackableCache({
- caches: [createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), createMemoryCache()],
- }),
- ...options,
- });
-}
-
-export type CompositionClient = ReturnType;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/builds/fetch.ts b/clients/algoliasearch-client-javascript/packages/client-composition/builds/fetch.ts
deleted file mode 100644
index 04d583ff3ca..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/builds/fetch.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type CompositionClient = ReturnType;
-
-import { createMemoryCache, createNullCache, createNullLogger } from '@algolia/client-common';
-import { createFetchRequester } from '@algolia/requester-fetch';
-
-import type { ClientOptions } from '@algolia/client-common';
-
-import { createCompositionClient } from '../src/compositionClient';
-
-export { apiClientVersion } from '../src/compositionClient';
-
-export * from '../model';
-
-export function compositionClient(
- appId: string,
- apiKey: string,
- options?: ClientOptions | undefined,
-): CompositionClient {
- if (!appId || typeof appId !== 'string') {
- throw new Error('`appId` is missing.');
- }
-
- if (!apiKey || typeof apiKey !== 'string') {
- throw new Error('`apiKey` is missing.');
- }
-
- return {
- ...createCompositionClient({
- appId,
- apiKey,
- timeouts: {
- connect: 2000,
- read: 5000,
- write: 30000,
- },
- logger: createNullLogger(),
- requester: createFetchRequester(),
- algoliaAgents: [{ segment: 'Fetch' }],
- responsesCache: createNullCache(),
- requestsCache: createNullCache(),
- hostsCache: createMemoryCache(),
- ...options,
- }),
- };
-}
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/builds/node.ts b/clients/algoliasearch-client-javascript/packages/client-composition/builds/node.ts
deleted file mode 100644
index 289481710f6..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/builds/node.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type CompositionClient = ReturnType;
-
-import { createHttpRequester } from '@algolia/requester-node-http';
-
-import { createMemoryCache, createNullCache, createNullLogger } from '@algolia/client-common';
-
-import type { ClientOptions } from '@algolia/client-common';
-
-import { createCompositionClient } from '../src/compositionClient';
-
-export { apiClientVersion } from '../src/compositionClient';
-
-export * from '../model';
-
-export function compositionClient(
- appId: string,
- apiKey: string,
- options?: ClientOptions | undefined,
-): CompositionClient {
- if (!appId || typeof appId !== 'string') {
- throw new Error('`appId` is missing.');
- }
-
- if (!apiKey || typeof apiKey !== 'string') {
- throw new Error('`apiKey` is missing.');
- }
-
- return {
- ...createCompositionClient({
- appId,
- apiKey,
- timeouts: {
- connect: 2000,
- read: 5000,
- write: 30000,
- },
- logger: createNullLogger(),
- requester: createHttpRequester(),
- algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }],
- responsesCache: createNullCache(),
- requestsCache: createNullCache(),
- hostsCache: createMemoryCache(),
- ...options,
- }),
- };
-}
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/builds/worker.ts b/clients/algoliasearch-client-javascript/packages/client-composition/builds/worker.ts
deleted file mode 100644
index d2c4656f461..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/builds/worker.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type CompositionClient = ReturnType;
-
-import { createMemoryCache, createNullCache, createNullLogger } from '@algolia/client-common';
-import { createFetchRequester } from '@algolia/requester-fetch';
-
-import type { ClientOptions } from '@algolia/client-common';
-
-import { createCompositionClient } from '../src/compositionClient';
-
-export { apiClientVersion } from '../src/compositionClient';
-
-export * from '../model';
-
-export function compositionClient(
- appId: string,
- apiKey: string,
- options?: ClientOptions | undefined,
-): CompositionClient {
- if (!appId || typeof appId !== 'string') {
- throw new Error('`appId` is missing.');
- }
-
- if (!apiKey || typeof apiKey !== 'string') {
- throw new Error('`apiKey` is missing.');
- }
-
- return {
- ...createCompositionClient({
- appId,
- apiKey,
- timeouts: {
- connect: 2000,
- read: 5000,
- write: 30000,
- },
- logger: createNullLogger(),
- requester: createFetchRequester(),
- algoliaAgents: [{ segment: 'Worker' }],
- responsesCache: createNullCache(),
- requestsCache: createNullCache(),
- hostsCache: createMemoryCache(),
- ...options,
- }),
- };
-}
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/index.d.ts b/clients/algoliasearch-client-javascript/packages/client-composition/index.d.ts
deleted file mode 100644
index e81a1cd3e76..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/index.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './dist/node';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/index.js b/clients/algoliasearch-client-javascript/packages/client-composition/index.js
deleted file mode 100644
index 21e26aad337..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./dist/builds/node.cjs');
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/action.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/action.ts
deleted file mode 100644
index f00b21c4b11..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/action.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Type of Composition Batch operation.
- */
-export type Action = 'upsert' | 'delete';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/advancedSyntaxFeatures.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/advancedSyntaxFeatures.ts
deleted file mode 100644
index 61e577d48e4..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/advancedSyntaxFeatures.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type AdvancedSyntaxFeatures = 'exactPhrase' | 'excludeWords';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/alternativesAsExact.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/alternativesAsExact.ts
deleted file mode 100644
index b4d50c7a535..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/alternativesAsExact.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type AlternativesAsExact = 'ignorePlurals' | 'singleWordSynonym' | 'multiWordsSynonym' | 'ignoreConjugations';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/anchoring.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/anchoring.ts
deleted file mode 100644
index 9effad0762b..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/anchoring.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Which part of the search query the pattern should match: - `startsWith`. The pattern must match the beginning of the query. - `endsWith`. The pattern must match the end of the query. - `is`. The pattern must match the query exactly. - `contains`. The pattern must match anywhere in the query. Empty queries are only allowed as patterns with `anchoring: is`.
- */
-export type Anchoring = 'is' | 'startsWith' | 'endsWith' | 'contains';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/aroundPrecision.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/aroundPrecision.ts
deleted file mode 100644
index 79ff0cd593b..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/aroundPrecision.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Range } from './range';
-
-/**
- * Precision of a coordinate-based search in meters to group results with similar distances. The Geo ranking criterion considers all matches within the same range of distances to be equal.
- */
-export type AroundPrecision = number | Array;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/aroundRadius.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/aroundRadius.ts
deleted file mode 100644
index 8198f1e75d8..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/aroundRadius.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { AroundRadiusAll } from './aroundRadiusAll';
-
-/**
- * Maximum radius for a search around a central location. This parameter works in combination with the `aroundLatLng` and `aroundLatLngViaIP` parameters. By default, the search radius is determined automatically from the density of hits around the central location. The search radius is small if there are many hits close to the central coordinates.
- */
-export type AroundRadius = number | AroundRadiusAll;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/aroundRadiusAll.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/aroundRadiusAll.ts
deleted file mode 100644
index e5f1070601d..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/aroundRadiusAll.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Return all records with a valid `_geoloc` attribute. Don\'t filter by distance.
- */
-export type AroundRadiusAll = 'all';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/banner.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/banner.ts
deleted file mode 100644
index 8eaa250e7b6..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/banner.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { BannerImage } from './bannerImage';
-import type { BannerLink } from './bannerLink';
-
-/**
- * Banner with image and link to redirect users.
- */
-export type Banner = {
- image?: BannerImage | undefined;
-
- link?: BannerLink | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/bannerImage.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/bannerImage.ts
deleted file mode 100644
index a41d758ffbf..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/bannerImage.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { BannerImageUrl } from './bannerImageUrl';
-
-/**
- * Image to show inside a banner.
- */
-export type BannerImage = {
- urls?: Array | undefined;
-
- title?: string | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/bannerImageUrl.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/bannerImageUrl.ts
deleted file mode 100644
index 25454a0b9c8..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/bannerImageUrl.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * URL for an image to show inside a banner.
- */
-export type BannerImageUrl = {
- url?: string | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/bannerLink.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/bannerLink.ts
deleted file mode 100644
index a9161c475bf..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/bannerLink.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Link for a banner defined in the Merchandising Studio.
- */
-export type BannerLink = {
- url?: string | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/baseInjectionQueryParameters.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/baseInjectionQueryParameters.ts
deleted file mode 100644
index 7f5e09d5d21..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/baseInjectionQueryParameters.ts
+++ /dev/null
@@ -1,220 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { AdvancedSyntaxFeatures } from './advancedSyntaxFeatures';
-import type { AlternativesAsExact } from './alternativesAsExact';
-import type { Distinct } from './distinct';
-import type { ExactOnSingleWordQuery } from './exactOnSingleWordQuery';
-import type { FacetFilters } from './facetFilters';
-import type { IgnorePlurals } from './ignorePlurals';
-import type { NumericFilters } from './numericFilters';
-import type { OptionalFilters } from './optionalFilters';
-import type { OptionalWords } from './optionalWords';
-import type { QueryType } from './queryType';
-import type { RemoveStopWords } from './removeStopWords';
-import type { RemoveWordsIfNoResults } from './removeWordsIfNoResults';
-import type { SupportedLanguage } from './supportedLanguage';
-import type { TypoTolerance } from './typoTolerance';
-
-export type BaseInjectionQueryParameters = {
- /**
- * Whether to support phrase matching and excluding words from search queries Use the `advancedSyntaxFeatures` parameter to control which feature is supported.
- */
- advancedSyntax?: boolean | undefined;
-
- /**
- * Advanced search syntax features you want to support - `exactPhrase`. Phrases in quotes must match exactly. For example, `sparkly blue \"iPhone case\"` only returns records with the exact string \"iPhone case\" - `excludeWords`. Query words prefixed with a `-` must not occur in a record. For example, `search -engine` matches records that contain \"search\" but not \"engine\" This setting only has an effect if `advancedSyntax` is true.
- */
- advancedSyntaxFeatures?: Array | undefined;
-
- /**
- * Whether to allow typos on numbers in the search query Turn off this setting to reduce the number of irrelevant matches when searching in large sets of similar numbers.
- */
- allowTyposOnNumericTokens?: boolean | undefined;
-
- /**
- * Determine which plurals and synonyms should be considered an exact matches By default, Algolia treats singular and plural forms of a word, and single-word synonyms, as [exact](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#exact) matches when searching. For example - \"swimsuit\" and \"swimsuits\" are treated the same - \"swimsuit\" and \"swimwear\" are treated the same (if they are [synonyms](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/#regular-synonyms)) - `ignorePlurals`. Plurals and similar declensions added by the `ignorePlurals` setting are considered exact matches - `singleWordSynonym`. Single-word synonyms, such as \"NY\" = \"NYC\", are considered exact matches - `multiWordsSynonym`. Multi-word synonyms, such as \"NY\" = \"New York\", are considered exact matches.
- */
- alternativesAsExact?: Array | undefined;
-
- /**
- * Whether this search will be included in Analytics.
- */
- analytics?: boolean | undefined;
-
- /**
- * Whether the best matching attribute should be determined by minimum proximity This setting only affects ranking if the Attribute ranking criterion comes before Proximity in the `ranking` setting. If true, the best matching attribute is selected based on the minimum proximity of multiple matches. Otherwise, the best matching attribute is determined by the order in the `searchableAttributes` setting.
- */
- attributeCriteriaComputedByMinProximity?: boolean | undefined;
-
- /**
- * Attributes to highlight By default, all searchable attributes are highlighted. Use `*` to highlight all attributes or use an empty array `[]` to turn off highlighting. Attribute names are case-sensitive With highlighting, strings that match the search query are surrounded by HTML tags defined by `highlightPreTag` and `highlightPostTag`. You can use this to visually highlight matching parts of a search query in your UI For more information, see [Highlighting and snippeting](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/js/).
- */
- attributesToHighlight?: Array | undefined;
-
- /**
- * Attributes to include in the API response To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `[\"*\", \"-ATTRIBUTE\"]`. - The `objectID` attribute is always included.
- */
- attributesToRetrieve?: Array | undefined;
-
- /**
- * Attributes for which to enable snippets. Attribute names are case-sensitive Snippets provide additional context to matched words. If you enable snippets, they include 10 words, including the matched word. The matched word will also be wrapped by HTML tags for highlighting. You can adjust the number of words with the following notation: `ATTRIBUTE:NUMBER`, where `NUMBER` is the number of words to be extracted.
- */
- attributesToSnippet?: Array | undefined;
-
- /**
- * Whether to include a `queryID` attribute in the response The query ID is a unique identifier for a search query and is required for tracking [click and conversion events](https://www.algolia.com/guides/sending-events/getting-started/).
- */
- clickAnalytics?: boolean | undefined;
-
- /**
- * Whether to split compound words in the query into their building blocks For more information, see [Word segmentation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/#splitting-compound-words). Word segmentation is supported for these languages: German, Dutch, Finnish, Swedish, and Norwegian. Decompounding doesn\'t work for words with [non-spacing mark Unicode characters](https://www.charactercodes.net/category/non-spacing_mark). For example, `Gartenstühle` won\'t be decompounded if the `ü` consists of `u` (U+0075) and `◌̈` (U+0308).
- */
- decompoundQuery?: boolean | undefined;
-
- /**
- * Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
- */
- disableExactOnAttributes?: Array | undefined;
-
- /**
- * Attributes for which you want to turn off [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/). Attribute names are case-sensitive Returning only exact matches can help when - [Searching in hyphenated attributes](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/how-to/how-to-search-in-hyphenated-attributes/). - Reducing the number of matches when you have too many. This can happen with attributes that are long blocks of text, such as product descriptions Consider alternatives such as `disableTypoToleranceOnWords` or adding synonyms if your attributes have intentional unusual spellings that might look like typos.
- */
- disableTypoToleranceOnAttributes?: Array | undefined;
-
- distinct?: Distinct | undefined;
-
- /**
- * Whether to enable A/B testing for this search.
- */
- enableABTest?: boolean | undefined;
-
- /**
- * Whether to enable Personalization.
- */
- enablePersonalization?: boolean | undefined;
-
- /**
- * Whether this search will use [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/) This setting only has an effect if you activated Dynamic Re-Ranking for this index in the Algolia dashboard.
- */
- enableReRanking?: boolean | undefined;
-
- /**
- * Whether to enable rules.
- */
- enableRules?: boolean | undefined;
-
- exactOnSingleWordQuery?: ExactOnSingleWordQuery | undefined;
-
- facetFilters?: FacetFilters | undefined;
-
- /**
- * Filter expression to only include items that match the filter criteria in the response. You can use these filter expressions: - **Numeric filters.** ``, where `` is one of `<`, `<=`, `=`, `!=`, `>`, `>=`. - **Ranges.** `: TO ` where `` and `` are the lower and upper limits of the range (inclusive). - **Facet filters.** `:` where `` is a facet attribute (case-sensitive) and `` a facet value. - **Tag filters.** `_tags:` or just `` (case-sensitive). - **Boolean filters.** `: true | false`. You can combine filters with `AND`, `OR`, and `NOT` operators with the following restrictions: - You can only combine filters of the same type with `OR`. **Not supported:** `facet:value OR num > 3`. - You can\'t use `NOT` with combinations of filters. **Not supported:** `NOT(facet:value OR facet:value)` - You can\'t combine conjunctions (`AND`) with `OR`. **Not supported:** `facet:value OR (facet:value AND facet:value)` Use quotes around your filters, if the facet attribute name or facet value has spaces, keywords (`OR`, `AND`, `NOT`), or quotes. If a facet attribute is an array, the filter matches if it matches at least one element of the array. For more information, see [Filters](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/).
- */
- filters?: string | undefined;
-
- /**
- * Whether the search response should include detailed ranking information.
- */
- getRankingInfo?: boolean | undefined;
-
- /**
- * HTML tag to insert after the highlighted parts in all highlighted results and snippets.
- */
- highlightPostTag?: string | undefined;
-
- /**
- * HTML tag to insert before the highlighted parts in all highlighted results and snippets.
- */
- highlightPreTag?: string | undefined;
-
- ignorePlurals?: IgnorePlurals | undefined;
-
- /**
- * Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- */
- maxFacetHits?: number | undefined;
-
- /**
- * Minimum proximity score for two matching words This adjusts the [Proximity ranking criterion](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#proximity) by equally scoring matches that are farther apart For example, if `minProximity` is 2, neighboring matches and matches with one word between them would have the same score.
- */
- minProximity?: number | undefined;
-
- /**
- * Minimum number of characters a word in the search query must contain to accept matches with [one typo](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#configuring-word-length-for-typos).
- */
- minWordSizefor1Typo?: number | undefined;
-
- /**
- * Minimum number of characters a word in the search query must contain to accept matches with [two typos](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#configuring-word-length-for-typos).
- */
- minWordSizefor2Typos?: number | undefined;
-
- /**
- * ISO language codes that adjust settings that are useful for processing natural language queries (as opposed to keyword searches) - Sets `removeStopWords` and `ignorePlurals` to the list of provided languages. - Sets `removeWordsIfNoResults` to `allOptional`. - Adds a `natural_language` attribute to `ruleContexts` and `analyticsTags`.
- */
- naturalLanguages?: Array | undefined;
-
- numericFilters?: NumericFilters | undefined;
-
- optionalFilters?: OptionalFilters | undefined;
-
- optionalWords?: OptionalWords | null | undefined;
-
- /**
- * Whether to include this search when calculating processing-time percentiles.
- */
- percentileComputation?: boolean | undefined;
-
- /**
- * Impact that Personalization should have on this search The higher this value is, the more Personalization determines the ranking compared to other factors. For more information, see [Understanding Personalization impact](https://www.algolia.com/doc/guides/personalization/personalizing-results/in-depth/configuring-personalization/#understanding-personalization-impact).
- */
- personalizationImpact?: number | undefined;
-
- /**
- * Languages for language-specific query processing steps such as plurals, stop-word removal, and word-detection dictionaries This setting sets a default list of languages used by the `removeStopWords` and `ignorePlurals` settings. This setting also sets a dictionary for word detection in the logogram-based [CJK](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/#normalization-for-logogram-based-languages-cjk) languages. To support this, you must place the CJK language **first** **You should always specify a query language.** If you don\'t specify an indexing language, the search engine uses all [supported languages](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/), or the languages you specified with the `ignorePlurals` or `removeStopWords` parameters. This can lead to unexpected search results. For more information, see [Language-specific configuration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/).
- */
- queryLanguages?: Array | undefined;
-
- queryType?: QueryType | undefined;
-
- removeStopWords?: RemoveStopWords | undefined;
-
- removeWordsIfNoResults?: RemoveWordsIfNoResults | undefined;
-
- /**
- * Whether to replace a highlighted word with the matched synonym By default, the original words are highlighted even if a synonym matches. For example, with `home` as a synonym for `house` and a search for `home`, records matching either \"home\" or \"house\" are included in the search results, and either \"home\" or \"house\" are highlighted With `replaceSynonymsInHighlight` set to `true`, a search for `home` still matches the same records, but all occurrences of \"house\" are replaced by \"home\" in the highlighted response.
- */
- replaceSynonymsInHighlight?: boolean | undefined;
-
- /**
- * Properties to include in the API response of search and browse requests By default, all response properties are included. To reduce the response size, you can select which properties should be included An empty list may lead to an empty API response (except properties you can\'t exclude) You can\'t exclude these properties: `message`, `warning`, `cursor`, `abTestVariantID`, or any property added by setting `getRankingInfo` to true Your search depends on the `hits` field. If you omit this field, searches won\'t return any results. Your UI might also depend on other properties, for example, for pagination. Before restricting the response size, check the impact on your search experience.
- */
- responseFields?: Array | undefined;
-
- /**
- * Whether to restrict highlighting and snippeting to items that at least partially matched the search query. By default, all items are highlighted and snippeted.
- */
- restrictHighlightAndSnippetArrays?: boolean | undefined;
-
- /**
- * Restricts a search to a subset of your searchable attributes. Attribute names are case-sensitive.
- */
- restrictSearchableAttributes?: Array | undefined;
-
- /**
- * Assigns a rule context to the search query [Rule contexts](https://www.algolia.com/doc/guides/managing-results/rules/rules-overview/how-to/customize-search-results-by-platform/#whats-a-context) are strings that you can use to trigger matching rules.
- */
- ruleContexts?: Array | undefined;
-
- /**
- * String used as an ellipsis indicator when a snippet is truncated.
- */
- snippetEllipsisText?: string | undefined;
-
- /**
- * Whether to take into account an index\'s synonyms for this search.
- */
- synonyms?: boolean | undefined;
-
- typoTolerance?: TypoTolerance | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/baseSearchResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/baseSearchResponse.ts
deleted file mode 100644
index c23b47ef174..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/baseSearchResponse.ts
+++ /dev/null
@@ -1,129 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Exhaustive } from './exhaustive';
-import type { FacetStats } from './facetStats';
-import type { Redirect } from './redirect';
-import type { RenderingContent } from './renderingContent';
-
-export type BaseSearchResponse = Record & {
- /**
- * A/B test ID. This is only included in the response for indices that are part of an A/B test.
- */
- abTestID?: number | undefined;
-
- /**
- * Variant ID. This is only included in the response for indices that are part of an A/B test.
- */
- abTestVariantID?: number | undefined;
-
- /**
- * Computed geographical location.
- */
- aroundLatLng?: string | undefined;
-
- /**
- * Distance from a central coordinate provided by `aroundLatLng`.
- */
- automaticRadius?: string | undefined;
-
- exhaustive?: Exhaustive | undefined;
-
- /**
- * Rules applied to the query.
- */
- appliedRules?: Array> | undefined;
-
- /**
- * See the `facetsCount` field of the `exhaustive` object in the response.
- */
- exhaustiveFacetsCount?: boolean | undefined;
-
- /**
- * See the `nbHits` field of the `exhaustive` object in the response.
- */
- exhaustiveNbHits?: boolean | undefined;
-
- /**
- * See the `typo` field of the `exhaustive` object in the response.
- */
- exhaustiveTypo?: boolean | undefined;
-
- /**
- * Facet counts.
- */
- facets?: { [key: string]: { [key: string]: number } } | undefined;
-
- /**
- * Statistics for numerical facets.
- */
- facets_stats?: { [key: string]: FacetStats } | undefined;
-
- /**
- * Index name used for the query.
- */
- index?: string | undefined;
-
- /**
- * Index name used for the query. During A/B testing, the targeted index isn\'t always the index used by the query.
- */
- indexUsed?: string | undefined;
-
- /**
- * Warnings about the query.
- */
- message?: string | undefined;
-
- /**
- * Number of hits selected and sorted by the relevant sort algorithm.
- */
- nbSortedHits?: number | undefined;
-
- /**
- * Post-[normalization](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/#what-does-normalization-mean) query string that will be searched.
- */
- parsedQuery?: string | undefined;
-
- /**
- * Time the server took to process the request, in milliseconds.
- */
- processingTimeMS?: number | undefined;
-
- /**
- * Experimental. List of processing steps and their times, in milliseconds. You can use this list to investigate performance issues.
- */
- processingTimingsMS?: Record | undefined;
-
- /**
- * Markup text indicating which parts of the original query have been removed to retrieve a non-empty result set.
- */
- queryAfterRemoval?: string | undefined;
-
- redirect?: Redirect | undefined;
-
- renderingContent?: RenderingContent | undefined;
-
- /**
- * Time the server took to process the request, in milliseconds.
- */
- serverTimeMS?: number | undefined;
-
- /**
- * Host name of the server that processed the request.
- */
- serverUsed?: string | undefined;
-
- /**
- * An object with custom data. You can store up to 32kB as custom data.
- */
- userData?: any | null | undefined;
-
- /**
- * Unique identifier for the query. This is used for [click analytics](https://www.algolia.com/doc/guides/analytics/click-analytics/).
- */
- queryID?: string | undefined;
-
- /**
- * Whether automatic events collection is enabled for the application.
- */
- _automaticInsights?: boolean | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/batchCompositionAction.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/batchCompositionAction.ts
deleted file mode 100644
index 7b9fd69796c..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/batchCompositionAction.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Composition } from './composition';
-
-import type { DeleteCompositionAction } from './deleteCompositionAction';
-
-export type BatchCompositionAction = Composition | DeleteCompositionAction;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/batchParams.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/batchParams.ts
deleted file mode 100644
index 9ab9e4a9250..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/batchParams.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { MultipleBatchRequest } from './multipleBatchRequest';
-
-/**
- * Batch parameters.
- */
-export type BatchParams = {
- requests: Array;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/booleanString.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/booleanString.ts
deleted file mode 100644
index 4cf1fb196e5..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/booleanString.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type BooleanString = 'true' | 'false';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/clientMethodProps.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/clientMethodProps.ts
deleted file mode 100644
index 916f4089f7b..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/clientMethodProps.ts
+++ /dev/null
@@ -1,247 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Composition } from '../model/composition';
-import type { CompositionRule } from '../model/compositionRule';
-import type { CompositionRulesBatchParams } from '../model/compositionRulesBatchParams';
-
-import type { RequestBody } from '../model/requestBody';
-
-import type { SearchCompositionRulesParams } from '../model/searchCompositionRulesParams';
-
-import type { SearchForFacetValuesRequest } from '../model/searchForFacetValuesRequest';
-
-/**
- * Properties for the `customDelete` method.
- */
-export type CustomDeleteProps = {
- /**
- * Path of the endpoint, for example `1/newFeature`.
- */
- path: string;
- /**
- * Query parameters to apply to the current query.
- */
- parameters?: { [key: string]: any } | undefined;
-};
-
-/**
- * Properties for the `customGet` method.
- */
-export type CustomGetProps = {
- /**
- * Path of the endpoint, for example `1/newFeature`.
- */
- path: string;
- /**
- * Query parameters to apply to the current query.
- */
- parameters?: { [key: string]: any } | undefined;
-};
-
-/**
- * Properties for the `customPost` method.
- */
-export type CustomPostProps = {
- /**
- * Path of the endpoint, for example `1/newFeature`.
- */
- path: string;
- /**
- * Query parameters to apply to the current query.
- */
- parameters?: { [key: string]: any } | undefined;
- /**
- * Parameters to send with the custom request.
- */
- body?: Record | undefined;
-};
-
-/**
- * Properties for the `customPut` method.
- */
-export type CustomPutProps = {
- /**
- * Path of the endpoint, for example `1/newFeature`.
- */
- path: string;
- /**
- * Query parameters to apply to the current query.
- */
- parameters?: { [key: string]: any } | undefined;
- /**
- * Parameters to send with the custom request.
- */
- body?: Record | undefined;
-};
-
-/**
- * Properties for the `deleteComposition` method.
- */
-export type DeleteCompositionProps = {
- /**
- * Unique Composition ObjectID.
- */
- compositionID: string;
-};
-
-/**
- * Properties for the `deleteCompositionRule` method.
- */
-export type DeleteCompositionRuleProps = {
- /**
- * Unique Composition ObjectID.
- */
- compositionID: string;
- /**
- * Unique identifier of a rule object.
- */
- objectID: string;
-};
-
-/**
- * Properties for the `getComposition` method.
- */
-export type GetCompositionProps = {
- /**
- * Unique Composition ObjectID.
- */
- compositionID: string;
-};
-
-/**
- * Properties for the `getRule` method.
- */
-export type GetRuleProps = {
- /**
- * Unique Composition ObjectID.
- */
- compositionID: string;
- /**
- * Unique identifier of a rule object.
- */
- objectID: string;
-};
-
-/**
- * Properties for the `getTask` method.
- */
-export type GetTaskProps = {
- /**
- * Unique Composition ObjectID.
- */
- compositionID: string;
- /**
- * Unique task identifier.
- */
- taskID: number;
-};
-
-/**
- * Properties for the `listCompositions` method.
- */
-export type ListCompositionsProps = {
- /**
- * Requested page of the API response. If `null`, the API response is not paginated.
- */
- page?: number | undefined;
- /**
- * Number of hits per page.
- */
- hitsPerPage?: number | undefined;
-};
-
-/**
- * Properties for the `putComposition` method.
- */
-export type PutCompositionProps = {
- /**
- * Unique Composition ObjectID.
- */
- compositionID: string;
- composition: Composition;
-};
-
-/**
- * Properties for the `putCompositionRule` method.
- */
-export type PutCompositionRuleProps = {
- /**
- * Unique Composition ObjectID.
- */
- compositionID: string;
- /**
- * Unique identifier of a rule object.
- */
- objectID: string;
- compositionRule: CompositionRule;
-};
-
-/**
- * Properties for the `saveRules` method.
- */
-export type SaveRulesProps = {
- /**
- * Unique Composition ObjectID.
- */
- compositionID: string;
- rules: CompositionRulesBatchParams;
-};
-
-/**
- * Properties for the `search` method.
- */
-export type SearchProps = {
- /**
- * Unique Composition ObjectID.
- */
- compositionID: string;
- requestBody: RequestBody;
-};
-
-/**
- * Properties for the `searchCompositionRules` method.
- */
-export type SearchCompositionRulesProps = {
- /**
- * Unique Composition ObjectID.
- */
- compositionID: string;
- searchCompositionRulesParams?: SearchCompositionRulesParams | undefined;
-};
-
-/**
- * Properties for the `searchForFacetValues` method.
- */
-export type SearchForFacetValuesProps = {
- /**
- * Unique Composition ObjectID.
- */
- compositionID: string;
- /**
- * Facet attribute in which to search for values. This attribute must be included in the `attributesForFaceting` index setting with the `searchable()` modifier.
- */
- facetName: string;
- searchForFacetValuesRequest?: SearchForFacetValuesRequest | undefined;
-};
-
-export type WaitForCompositionTaskOptions = {
- /**
- * The maximum number of retries. 50 by default.
- */
- maxRetries?: number | undefined;
-
- /**
- * The function to decide how long to wait between retries.
- */
- timeout?: (retryCount: number) => number;
-
- /**
- * The `taskID` returned by the method response.
- */
-
- taskID: number;
- /**
- * The `compositionID` where the operation was performed.
- */
- compositionID: string;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/composition.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/composition.ts
deleted file mode 100644
index bec1d5825ea..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/composition.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionBehavior } from './compositionBehavior';
-
-export type Composition = {
- /**
- * Composition unique identifier.
- */
- objectID: string;
-
- /**
- * Composition name.
- */
- name: string;
-
- /**
- * Composition description.
- */
- description?: string | undefined;
-
- behavior: CompositionBehavior;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionBaseSearchResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionBaseSearchResponse.ts
deleted file mode 100644
index 19a5e6af6bb..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionBaseSearchResponse.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionsSearchResponse } from './compositionsSearchResponse';
-
-export type CompositionBaseSearchResponse = Record & {
- compositions?: CompositionsSearchResponse | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionBehavior.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionBehavior.ts
deleted file mode 100644
index a858153a2a3..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionBehavior.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Injection } from './injection';
-
-export type CompositionBehavior = {
- injection: Injection;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionIdRankingInfo.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionIdRankingInfo.ts
deleted file mode 100644
index 76095fe083f..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionIdRankingInfo.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type CompositionIdRankingInfo = {
- index: string;
-
- injectedItemKey: string;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRankingInfo.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRankingInfo.ts
deleted file mode 100644
index 999eb9f1205..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRankingInfo.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionIdRankingInfo } from './compositionIdRankingInfo';
-
-export type CompositionRankingInfo = {
- composed?: { [key: string]: CompositionIdRankingInfo } | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRule.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRule.ts
deleted file mode 100644
index d68b3f784ad..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRule.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionRuleConsequence } from './compositionRuleConsequence';
-import type { Condition } from './condition';
-import type { TimeRange } from './timeRange';
-
-export type CompositionRule = {
- /**
- * Composition rule unique identifier.
- */
- objectID: string;
-
- /**
- * Conditions that trigger a composition rule.
- */
- conditions: Array;
-
- consequence: CompositionRuleConsequence;
-
- /**
- * Description of the rule\'s purpose to help you distinguish between different rules.
- */
- description?: string | undefined;
-
- /**
- * Whether the rule is active.
- */
- enabled?: boolean | undefined;
-
- /**
- * Time periods when the rule is active.
- */
- validity?: Array | undefined;
-
- /**
- * A list of tags.
- */
- tags?: Array | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRuleConsequence.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRuleConsequence.ts
deleted file mode 100644
index 51e26567b4c..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRuleConsequence.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionBehavior } from './compositionBehavior';
-
-/**
- * Effect of the rule.
- */
-export type CompositionRuleConsequence = {
- behavior: CompositionBehavior;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRulesBatchParams.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRulesBatchParams.ts
deleted file mode 100644
index a3bebf7db03..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRulesBatchParams.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { RulesMultipleBatchRequest } from './rulesMultipleBatchRequest';
-
-/**
- * Composition rules batch parameters.
- */
-export type CompositionRulesBatchParams = {
- requests?: Array | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRunAppliedRules.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRunAppliedRules.ts
deleted file mode 100644
index 6a101f1d144..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRunAppliedRules.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type CompositionRunAppliedRules = {
- /**
- * Unique record identifier.
- */
- objectID: string;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRunSearchResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRunSearchResponse.ts
deleted file mode 100644
index ff06eaa4ccd..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionRunSearchResponse.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionRunAppliedRules } from './compositionRunAppliedRules';
-
-export type CompositionRunSearchResponse = Record & {
- /**
- * Unique record identifier.
- */
- objectID: string;
-
- appliedRules?: Array | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionSource.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionSource.ts
deleted file mode 100644
index 5ecc29688f5..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionSource.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionSourceSearch } from './compositionSourceSearch';
-
-export type CompositionSource = {
- search: CompositionSourceSearch;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionSourceSearch.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionSourceSearch.ts
deleted file mode 100644
index b63fb63fb1b..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionSourceSearch.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { MainInjectionQueryParameters } from './mainInjectionQueryParameters';
-
-export type CompositionSourceSearch = {
- /**
- * Composition Main Index name.
- */
- index: string;
-
- params?: MainInjectionQueryParameters | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionsSearchResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionsSearchResponse.ts
deleted file mode 100644
index 1db7f385241..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/compositionsSearchResponse.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionRunSearchResponse } from './compositionRunSearchResponse';
-
-export type CompositionsSearchResponse = Record & {
- run: Array;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/condition.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/condition.ts
deleted file mode 100644
index a4cbca2c89d..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/condition.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Anchoring } from './anchoring';
-
-export type Condition = {
- /**
- * Query pattern that triggers the rule. You can use either a literal string, or a special pattern `{facet:ATTRIBUTE}`, where `ATTRIBUTE` is a facet name. The rule is triggered if the query matches the literal string or a value of the specified facet. For example, with `pattern: {facet:genre}`, the rule is triggered when users search for a genre, such as \"comedy\".
- */
- pattern?: string | undefined;
-
- anchoring?: Anchoring | undefined;
-
- /**
- * An additional restriction that only triggers the rule, when the search has the same value as `ruleContexts` parameter. For example, if `context: mobile`, the rule is only triggered when the search request has a matching `ruleContexts: mobile`. A rule context must only contain alphanumeric characters.
- */
- context?: string | undefined;
-
- /**
- * Filters that trigger the rule. You can add add filters using the syntax `facet:value` so that the rule is triggered, when the specific filter is selected. You can use `filters` on its own or combine it with the `pattern` parameter.
- */
- filters?: string | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/deleteCompositionAction.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/deleteCompositionAction.ts
deleted file mode 100644
index a695b4d32b2..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/deleteCompositionAction.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Operation arguments when deleting.
- */
-export type DeleteCompositionAction = {
- /**
- * Composition unique identifier.
- */
- objectID: string;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/deleteCompositionRuleAction.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/deleteCompositionRuleAction.ts
deleted file mode 100644
index 8ab1475cd7d..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/deleteCompositionRuleAction.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Operation arguments when deleting.
- */
-export type DeleteCompositionRuleAction = {
- /**
- * Composition rule unique identifier.
- */
- objectID: string;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/distinct.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/distinct.ts
deleted file mode 100644
index dc87dfb0089..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/distinct.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Determines how many records of a group are included in the search results. Records with the same value for the `attributeForDistinct` attribute are considered a group. The `distinct` setting controls how many members of the group are returned. This is useful for [deduplication and grouping](https://www.algolia.com/doc/guides/managing-results/refine-results/grouping/#introducing-algolias-distinct-feature). The `distinct` setting is ignored if `attributeForDistinct` is not set.
- */
-export type Distinct = boolean | number;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/errorBase.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/errorBase.ts
deleted file mode 100644
index f31be60469c..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/errorBase.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Error.
- */
-export type ErrorBase = Record & {
- message?: string | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/exactOnSingleWordQuery.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/exactOnSingleWordQuery.ts
deleted file mode 100644
index d01b358f6bb..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/exactOnSingleWordQuery.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Determines how the [Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes) is computed when the search query has only one word. - `attribute`. The Exact ranking criterion is 1 if the query word and attribute value are the same. For example, a search for \"road\" will match the value \"road\", but not \"road trip\". - `none`. The Exact ranking criterion is ignored on single-word searches. - `word`. The Exact ranking criterion is 1 if the query word is found in the attribute value. The query word must have at least 3 characters and must not be a stop word. Only exact matches will be highlighted, partial and prefix matches won\'t.
- */
-export type ExactOnSingleWordQuery = 'attribute' | 'none' | 'word';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/exhaustive.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/exhaustive.ts
deleted file mode 100644
index 380ac956951..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/exhaustive.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Whether certain properties of the search response are calculated exhaustive (exact) or approximated.
- */
-export type Exhaustive = {
- /**
- * Whether the facet count is exhaustive (`true`) or approximate (`false`). See the [related discussion](https://support.algolia.com/hc/en-us/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate-).
- */
- facetsCount?: boolean | undefined;
-
- /**
- * The value is `false` if not all facet values are retrieved.
- */
- facetValues?: boolean | undefined;
-
- /**
- * Whether the `nbHits` is exhaustive (`true`) or approximate (`false`). When the query takes more than 50ms to be processed, the engine makes an approximation. This can happen when using complex filters on millions of records, when typo-tolerance was not exhaustive, or when enough hits have been retrieved (for example, after the engine finds 10,000 exact matches). `nbHits` is reported as non-exhaustive whenever an approximation is made, even if the approximation didn’t, in the end, impact the exhaustivity of the query.
- */
- nbHits?: boolean | undefined;
-
- /**
- * Rules matching exhaustivity. The value is `false` if rules were enable for this query, and could not be fully processed due a timeout. This is generally caused by the number of alternatives (such as typos) which is too large.
- */
- rulesMatch?: boolean | undefined;
-
- /**
- * Whether the typo search was exhaustive (`true`) or approximate (`false`). An approximation is done when the typo search query part takes more than 10% of the query budget (ie. 5ms by default) to be processed (this can happen when a lot of typo alternatives exist for the query). This field will not be included when typo-tolerance is entirely disabled.
- */
- typo?: boolean | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/external.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/external.ts
deleted file mode 100644
index d219528ae66..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/external.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { BaseInjectionQueryParameters } from './baseInjectionQueryParameters';
-import type { ExternalOrdering } from './externalOrdering';
-
-export type External = {
- /**
- * Composition Index name.
- */
- index: string;
-
- params?: BaseInjectionQueryParameters | undefined;
-
- ordering?: ExternalOrdering | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/externalInjectedItem.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/externalInjectedItem.ts
deleted file mode 100644
index c9e6cce681e..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/externalInjectedItem.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { ExternalInjection } from './externalInjection';
-
-export type ExternalInjectedItem = {
- items: Array;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/externalInjection.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/externalInjection.ts
deleted file mode 100644
index 5d2555972fa..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/externalInjection.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type ExternalInjection = {
- /**
- * An objectID injected into an external source.
- */
- objectID: string;
-
- /**
- * User-defined key-values that will be added to the injected item in the response. This is identical to Hits metadata defined in Composition or Composition Rule, with the benefit of being set at runtime.
- */
- metadata?: { [key: string]: any } | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/externalOrdering.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/externalOrdering.ts
deleted file mode 100644
index 729d34d0be5..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/externalOrdering.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type ExternalOrdering = 'default' | 'userDefined';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/externalSource.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/externalSource.ts
deleted file mode 100644
index 178b6eda1f0..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/externalSource.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { External } from './external';
-
-/**
- * Injected items will originate from externally provided objectIDs (that must exist in the index) given at runtime in the run request payload.
- */
-export type ExternalSource = {
- external: External;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/facetFilters.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/facetFilters.ts
deleted file mode 100644
index 0dc5e336e29..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/facetFilters.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Filter the search by facet values, so that only records with the same facet values are retrieved. **Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.** - `[filter1, filter2]` is interpreted as `filter1 AND filter2`. - `[[filter1, filter2], filter3]` is interpreted as `filter1 OR filter2 AND filter3`. - `facet:-value` is interpreted as `NOT facet:value`. While it\'s best to avoid attributes that start with a `-`, you can still filter them by escaping with a backslash: `facet:\\-value`.
- */
-export type FacetFilters = Array | string;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/facetHits.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/facetHits.ts
deleted file mode 100644
index bd205a61e57..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/facetHits.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type FacetHits = {
- /**
- * Facet value.
- */
- value: string;
-
- /**
- * Highlighted attribute value, including HTML tags.
- */
- highlighted: string;
-
- /**
- * Number of records with this facet value. [The count may be approximated](https://support.algolia.com/hc/en-us/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate-).
- */
- count: number;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/facetOrdering.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/facetOrdering.ts
deleted file mode 100644
index b61d8076c6a..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/facetOrdering.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Facets } from './facets';
-import type { Value } from './value';
-
-/**
- * Order of facet names and facet values in your UI.
- */
-export type FacetOrdering = {
- facets?: Facets | undefined;
-
- /**
- * Order of facet values. One object for each facet.
- */
- values?: { [key: string]: Value } | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/facetStats.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/facetStats.ts
deleted file mode 100644
index 706a459a266..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/facetStats.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type FacetStats = {
- /**
- * Minimum value in the results.
- */
- min?: number | undefined;
-
- /**
- * Maximum value in the results.
- */
- max?: number | undefined;
-
- /**
- * Average facet value in the results.
- */
- avg?: number | undefined;
-
- /**
- * Sum of all values in the results.
- */
- sum?: number | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/facets.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/facets.ts
deleted file mode 100644
index 4ce08ae926e..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/facets.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Order of facet names.
- */
-export type Facets = {
- /**
- * Explicit order of facets or facet values. This setting lets you always show specific facets or facet values at the top of the list.
- */
- order?: Array | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/getTaskResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/getTaskResponse.ts
deleted file mode 100644
index b8a4c6b85d4..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/getTaskResponse.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { TaskStatus } from './taskStatus';
-
-export type GetTaskResponse = {
- status: TaskStatus;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/highlightResult.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/highlightResult.ts
deleted file mode 100644
index 102271a17bf..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/highlightResult.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { HighlightResultOption } from './highlightResultOption';
-
-export type HighlightResult = HighlightResultOption | { [key: string]: HighlightResult } | Array;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/highlightResultOption.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/highlightResultOption.ts
deleted file mode 100644
index 8c7a4b532b1..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/highlightResultOption.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { MatchLevel } from './matchLevel';
-
-/**
- * Surround words that match the query with HTML tags for highlighting.
- */
-export type HighlightResultOption = {
- /**
- * Highlighted attribute value, including HTML tags.
- */
- value: string;
-
- matchLevel: MatchLevel;
-
- /**
- * List of matched words from the search query.
- */
- matchedWords: Array;
-
- /**
- * Whether the entire attribute value is highlighted.
- */
- fullyHighlighted?: boolean | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/hit.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/hit.ts
deleted file mode 100644
index 28c301d4686..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/hit.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { HighlightResult } from './highlightResult';
-import type { HitMetadata } from './hitMetadata';
-import type { HitRankingInfo } from './hitRankingInfo';
-import type { SnippetResult } from './snippetResult';
-
-/**
- * Search result. A hit is a record from your index, augmented with special attributes for highlighting, snippeting, and ranking.
- */
-export type Hit> = T & {
- /**
- * Unique record identifier.
- */
- objectID: string;
-
- /**
- * Surround words that match the query with HTML tags for highlighting.
- */
- _highlightResult?: { [key: string]: HighlightResult } | undefined;
-
- /**
- * Snippets that show the context around a matching search query.
- */
- _snippetResult?: { [key: string]: SnippetResult } | undefined;
-
- _rankingInfo?: HitRankingInfo | undefined;
-
- _distinctSeqID?: number | undefined;
-
- _extra?: HitMetadata | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/hitMetadata.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/hitMetadata.ts
deleted file mode 100644
index 5a654490b78..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/hitMetadata.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * An object that contains the extra key-value pairs provided in the injectedItem definition.
- */
-export type HitMetadata = Record & {
- /**
- * The key of the injectedItem that inserted this metadata.
- */
- _injectedItemKey?: string | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/hitRankingInfo.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/hitRankingInfo.ts
deleted file mode 100644
index 7f1379c9a52..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/hitRankingInfo.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionRankingInfo } from './compositionRankingInfo';
-import type { RankingInfo } from './rankingInfo';
-
-export type HitRankingInfo = RankingInfo & CompositionRankingInfo;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/ignorePlurals.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/ignorePlurals.ts
deleted file mode 100644
index 5e4ac00cb52..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/ignorePlurals.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { BooleanString } from './booleanString';
-import type { SupportedLanguage } from './supportedLanguage';
-
-/**
- * Treat singular, plurals, and other forms of declensions as equivalent. You should only use this feature for the languages used in your index.
- */
-export type IgnorePlurals = Array | BooleanString | boolean;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/index.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/index.ts
deleted file mode 100644
index fca0aa1e9ff..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/index.ts
+++ /dev/null
@@ -1,116 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export * from './action';
-export * from './advancedSyntaxFeatures';
-export * from './alternativesAsExact';
-export * from './anchoring';
-export * from './aroundPrecision';
-export * from './aroundRadius';
-export * from './aroundRadiusAll';
-export * from './banner';
-export * from './bannerImage';
-export * from './bannerImageUrl';
-export * from './bannerLink';
-export * from './baseInjectionQueryParameters';
-export * from './baseSearchResponse';
-export * from './batchCompositionAction';
-export * from './batchParams';
-export * from './booleanString';
-export * from './clientMethodProps';
-export * from './composition';
-export * from './compositionBaseSearchResponse';
-export * from './compositionBehavior';
-export * from './compositionIdRankingInfo';
-export * from './compositionRankingInfo';
-export * from './compositionRule';
-export * from './compositionRuleConsequence';
-export * from './compositionRulesBatchParams';
-export * from './compositionRunAppliedRules';
-export * from './compositionRunSearchResponse';
-export * from './compositionSource';
-export * from './compositionSourceSearch';
-export * from './compositionsSearchResponse';
-export * from './condition';
-export * from './deleteCompositionAction';
-export * from './deleteCompositionRuleAction';
-export * from './distinct';
-export * from './errorBase';
-export * from './exactOnSingleWordQuery';
-export * from './exhaustive';
-export * from './external';
-export * from './externalInjectedItem';
-export * from './externalInjection';
-export * from './externalOrdering';
-export * from './externalSource';
-export * from './facetFilters';
-export * from './facetHits';
-export * from './facetOrdering';
-export * from './facets';
-export * from './facetStats';
-export * from './getTaskResponse';
-export * from './highlightResult';
-export * from './highlightResultOption';
-export * from './hit';
-export * from './hitMetadata';
-export * from './hitRankingInfo';
-export * from './ignorePlurals';
-export * from './injectedItem';
-export * from './injectedItemHitsMetadata';
-export * from './injectedItemMetadata';
-export * from './injectedItemSource';
-export * from './injection';
-export * from './insideBoundingBox';
-export * from './listCompositionsResponse';
-export * from './main';
-export * from './mainInjectionQueryParameters';
-export * from './matchedGeoLocation';
-export * from './matchLevel';
-export * from './multipleBatchRequest';
-export * from './multipleBatchResponse';
-export * from './numericFilters';
-export * from './optionalFilters';
-export * from './optionalWords';
-export * from './params';
-export * from './personalization';
-export * from './queryType';
-export * from './range';
-export * from './rankingInfo';
-export * from './redirect';
-export * from './redirectRuleIndexData';
-export * from './redirectRuleIndexMetadata';
-export * from './redirectURL';
-export * from './removeStopWords';
-export * from './removeWordsIfNoResults';
-export * from './renderingContent';
-export * from './requestBody';
-export * from './resultsCompositionInfoResponse';
-export * from './resultsCompositionsResponse';
-export * from './resultsInjectedItemAppliedRulesInfoResponse';
-export * from './resultsInjectedItemInfoResponse';
-export * from './rulesBatchCompositionAction';
-export * from './rulesMultipleBatchRequest';
-export * from './rulesMultipleBatchResponse';
-export * from './search';
-export * from './searchCompositionRulesParams';
-export * from './searchCompositionRulesResponse';
-export * from './searchForFacetValuesParams';
-export * from './searchForFacetValuesRequest';
-export * from './searchForFacetValuesResponse';
-export * from './searchForFacetValuesResults';
-export * from './searchHits';
-export * from './searchPagination';
-export * from './searchResponse';
-export * from './searchResults';
-export * from './searchResultsItem';
-export * from './searchSource';
-export * from './snippetResult';
-export * from './snippetResultOption';
-export * from './sortRemainingBy';
-export * from './supportedLanguage';
-export * from './taskIDResponse';
-export * from './taskStatus';
-export * from './timeRange';
-export * from './typoTolerance';
-export * from './typoToleranceEnum';
-export * from './value';
-export * from './widgets';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/injectedItem.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/injectedItem.ts
deleted file mode 100644
index ce1de7c340c..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/injectedItem.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { InjectedItemMetadata } from './injectedItemMetadata';
-import type { InjectedItemSource } from './injectedItemSource';
-
-export type InjectedItem = {
- /**
- * injected Item unique identifier.
- */
- key: string;
-
- source: InjectedItemSource;
-
- position: number;
-
- length: number;
-
- metadata?: InjectedItemMetadata | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/injectedItemHitsMetadata.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/injectedItemHitsMetadata.ts
deleted file mode 100644
index f6d6f4f2daa..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/injectedItemHitsMetadata.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Adds the provided metadata to each injected hit via an `_extra` attribute.
- */
-export type InjectedItemHitsMetadata = {
- /**
- * When true, the `_injectedItemKey` field is set in the `_extra` object of each affected hit.
- */
- addItemKey?: boolean | undefined;
-
- /**
- * The user-defined key-value pairs that will be placed in the `_extra` field of each affected hit.
- */
- extra?: { [key: string]: any } | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/injectedItemMetadata.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/injectedItemMetadata.ts
deleted file mode 100644
index d33362407a5..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/injectedItemMetadata.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { InjectedItemHitsMetadata } from './injectedItemHitsMetadata';
-
-/**
- * Used to add metadata to the results of the injectedItem.
- */
-export type InjectedItemMetadata = {
- hits?: InjectedItemHitsMetadata | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/injectedItemSource.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/injectedItemSource.ts
deleted file mode 100644
index 0922fc96653..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/injectedItemSource.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { ExternalSource } from './externalSource';
-
-import type { SearchSource } from './searchSource';
-
-export type InjectedItemSource = SearchSource | ExternalSource;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/injection.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/injection.ts
deleted file mode 100644
index 989d836584b..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/injection.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { InjectedItem } from './injectedItem';
-import type { Main } from './main';
-
-export type Injection = {
- main: Main;
-
- /**
- * list of injected items of the current Composition.
- */
- injectedItems?: Array | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/insideBoundingBox.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/insideBoundingBox.ts
deleted file mode 100644
index 8a498532f39..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/insideBoundingBox.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type InsideBoundingBox = string | Array>;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/listCompositionsResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/listCompositionsResponse.ts
deleted file mode 100644
index b8a55057e83..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/listCompositionsResponse.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Composition } from './composition';
-
-export type ListCompositionsResponse = {
- /**
- * All compositions in your Algolia application.
- */
- items: Array;
-
- /**
- * Number of pages.
- */
- nbPages: number;
-
- /**
- * Current page.
- */
- page: number;
-
- /**
- * Number of items per page.
- */
- hitsPerPage: number;
-
- /**
- * Number of items.
- */
- nbHits: number;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/main.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/main.ts
deleted file mode 100644
index ce0445af6a0..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/main.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionSource } from './compositionSource';
-
-export type Main = {
- source: CompositionSource;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/mainInjectionQueryParameters.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/mainInjectionQueryParameters.ts
deleted file mode 100644
index 38c431e4d3b..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/mainInjectionQueryParameters.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { BaseInjectionQueryParameters } from './baseInjectionQueryParameters';
-
-export type MainInjectionQueryParameters = BaseInjectionQueryParameters & Record;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/matchLevel.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/matchLevel.ts
deleted file mode 100644
index 2cb9f4d2131..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/matchLevel.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Whether the whole query string matches or only a part.
- */
-export type MatchLevel = 'none' | 'partial' | 'full';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/matchedGeoLocation.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/matchedGeoLocation.ts
deleted file mode 100644
index c0ec6611e2c..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/matchedGeoLocation.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type MatchedGeoLocation = {
- /**
- * Latitude of the matched location.
- */
- lat?: number | undefined;
-
- /**
- * Longitude of the matched location.
- */
- lng?: number | undefined;
-
- /**
- * Distance between the matched location and the search location (in meters).
- */
- distance?: number | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/multipleBatchRequest.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/multipleBatchRequest.ts
deleted file mode 100644
index 857bdca1ebd..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/multipleBatchRequest.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Action } from './action';
-import type { BatchCompositionAction } from './batchCompositionAction';
-
-export type MultipleBatchRequest = {
- action: Action;
-
- body: BatchCompositionAction;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/multipleBatchResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/multipleBatchResponse.ts
deleted file mode 100644
index a5fa74e64c2..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/multipleBatchResponse.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type MultipleBatchResponse = {
- /**
- * Task IDs. One for each index.
- */
- taskID: { [key: string]: number };
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/numericFilters.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/numericFilters.ts
deleted file mode 100644
index 6129dc5d399..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/numericFilters.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Filter by numeric facets. **Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.** You can use numeric comparison operators: `<`, `<=`, `=`, `!=`, `>`, `>=`. Comparisons are precise up to 3 decimals. You can also provide ranges: `facet: TO `. The range includes the lower and upper boundaries. The same combination rules apply as for `facetFilters`.
- */
-export type NumericFilters = Array | string;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/optionalFilters.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/optionalFilters.ts
deleted file mode 100644
index 677b9239c47..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/optionalFilters.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Filters to promote or demote records in the search results. Optional filters work like facet filters, but they don\'t exclude records from the search results. Records that match the optional filter rank before records that don\'t match. If you\'re using a negative filter `facet:-value`, matching records rank after records that don\'t match. - Optional filters don\'t work on virtual replicas. - Optional filters are applied _after_ sort-by attributes. - Optional filters are applied _before_ custom ranking attributes (in the default [ranking](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/)). - Optional filters don\'t work with numeric attributes.
- */
-export type OptionalFilters = Array | string;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/optionalWords.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/optionalWords.ts
deleted file mode 100644
index 2eed87ef247..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/optionalWords.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn\'t include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
- */
-export type OptionalWords = string | Array;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/params.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/params.ts
deleted file mode 100644
index 06b58b09c3f..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/params.ts
+++ /dev/null
@@ -1,129 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { AroundPrecision } from './aroundPrecision';
-import type { AroundRadius } from './aroundRadius';
-import type { ExternalInjectedItem } from './externalInjectedItem';
-import type { FacetFilters } from './facetFilters';
-import type { InsideBoundingBox } from './insideBoundingBox';
-import type { NumericFilters } from './numericFilters';
-import type { OptionalFilters } from './optionalFilters';
-import type { SupportedLanguage } from './supportedLanguage';
-
-export type Params = {
- /**
- * Search query.
- */
- query?: string | undefined;
-
- /**
- * Filter expression to only include items that match the filter criteria in the response. You can use these filter expressions: - **Numeric filters.** ``, where `` is one of `<`, `<=`, `=`, `!=`, `>`, `>=`. - **Ranges.** `: TO ` where `` and `` are the lower and upper limits of the range (inclusive). - **Facet filters.** `:` where `` is a facet attribute (case-sensitive) and `` a facet value. - **Tag filters.** `_tags:` or just `` (case-sensitive). - **Boolean filters.** `: true | false`. You can combine filters with `AND`, `OR`, and `NOT` operators with the following restrictions: - You can only combine filters of the same type with `OR`. **Not supported:** `facet:value OR num > 3`. - You can\'t use `NOT` with combinations of filters. **Not supported:** `NOT(facet:value OR facet:value)` - You can\'t combine conjunctions (`AND`) with `OR`. **Not supported:** `facet:value OR (facet:value AND facet:value)` Use quotes around your filters, if the facet attribute name or facet value has spaces, keywords (`OR`, `AND`, `NOT`), or quotes. If a facet attribute is an array, the filter matches if it matches at least one element of the array. For more information, see [Filters](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/).
- */
- filters?: string | undefined;
-
- /**
- * Page of search results to retrieve.
- */
- page?: number | undefined;
-
- /**
- * Whether the run response should include detailed ranking information.
- */
- getRankingInfo?: boolean | undefined;
-
- /**
- * Relevancy threshold below which less relevant results aren\'t included in the results You can only set `relevancyStrictness` on [virtual replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/#what-are-virtual-replicas). Use this setting to strike a balance between the relevance and number of returned results.
- */
- relevancyStrictness?: number | undefined;
-
- facetFilters?: FacetFilters | undefined;
-
- optionalFilters?: OptionalFilters | undefined;
-
- numericFilters?: NumericFilters | undefined;
-
- /**
- * Number of hits per page.
- */
- hitsPerPage?: number | undefined;
-
- /**
- * Coordinates for the center of a circle, expressed as a comma-separated string of latitude and longitude. Only records included within a circle around this central location are included in the results. The radius of the circle is determined by the `aroundRadius` and `minimumAroundRadius` settings. This parameter is ignored if you also specify `insidePolygon` or `insideBoundingBox`.
- */
- aroundLatLng?: string | undefined;
-
- /**
- * Whether to obtain the coordinates from the request\'s IP address.
- */
- aroundLatLngViaIP?: boolean | undefined;
-
- aroundRadius?: AroundRadius | undefined;
-
- aroundPrecision?: AroundPrecision | undefined;
-
- /**
- * Minimum radius (in meters) for a search around a location when `aroundRadius` isn\'t set.
- */
- minimumAroundRadius?: number | undefined;
-
- insideBoundingBox?: InsideBoundingBox | null | undefined;
-
- /**
- * Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
- */
- insidePolygon?: Array> | undefined;
-
- /**
- * Languages for language-specific query processing steps such as plurals, stop-word removal, and word-detection dictionaries This setting sets a default list of languages used by the `removeStopWords` and `ignorePlurals` settings. This setting also sets a dictionary for word detection in the logogram-based [CJK](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/#normalization-for-logogram-based-languages-cjk) languages. To support this, you must place the CJK language **first** **You should always specify a query language.** If you don\'t specify an indexing language, the search engine uses all [supported languages](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/), or the languages you specified with the `ignorePlurals` or `removeStopWords` parameters. This can lead to unexpected search results. For more information, see [Language-specific configuration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/).
- */
- queryLanguages?: Array | undefined;
-
- /**
- * ISO language codes that adjust settings that are useful for processing natural language queries (as opposed to keyword searches) - Sets `removeStopWords` and `ignorePlurals` to the list of provided languages. - Sets `removeWordsIfNoResults` to `allOptional`. - Adds a `natural_language` attribute to `ruleContexts` and `analyticsTags`.
- */
- naturalLanguages?: Array | undefined;
-
- /**
- * Whether to enable composition rules.
- */
- enableRules?: boolean | undefined;
-
- /**
- * Assigns a rule context to the run query [Rule contexts](https://www.algolia.com/doc/guides/managing-results/rules/rules-overview/how-to/customize-search-results-by-platform/#whats-a-context) are strings that you can use to trigger matching rules.
- */
- ruleContexts?: Array | undefined;
-
- /**
- * Unique pseudonymous or anonymous user identifier. This helps with analytics and click and conversion events. For more information, see [user token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/).
- */
- userToken?: string | undefined;
-
- /**
- * Whether to include a `queryID` attribute in the response The query ID is a unique identifier for a search query and is required for tracking [click and conversion events](https://www.algolia.com/guides/sending-events/getting-started/).
- */
- clickAnalytics?: boolean | undefined;
-
- /**
- * Whether this search will be included in Analytics.
- */
- analytics?: boolean | undefined;
-
- /**
- * Tags to apply to the query for [segmenting analytics data](https://www.algolia.com/doc/guides/search-analytics/guides/segments/).
- */
- analyticsTags?: Array | undefined;
-
- /**
- * Whether to enable index level A/B testing for this run request. If the composition mixes multiple indices, the A/B test is ignored.
- */
- enableABTest?: boolean | undefined;
-
- /**
- * Whether this search will use [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/) This setting only has an effect if you activated Dynamic Re-Ranking for this index in the Algolia dashboard.
- */
- enableReRanking?: boolean | undefined;
-
- /**
- * A list of extenrally injected objectID groups into from an external source.
- */
- injectedItems?: { [key: string]: ExternalInjectedItem } | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/personalization.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/personalization.ts
deleted file mode 100644
index 2c91ff1eaf9..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/personalization.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type Personalization = {
- /**
- * The score of the filters.
- */
- filtersScore?: number | undefined;
-
- /**
- * The score of the ranking.
- */
- rankingScore?: number | undefined;
-
- /**
- * The score of the event.
- */
- score?: number | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/queryType.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/queryType.ts
deleted file mode 100644
index b16a40de317..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/queryType.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Determines if and how query words are interpreted as prefixes. By default, only the last query word is treated as a prefix (`prefixLast`). To turn off prefix search, use `prefixNone`. Avoid `prefixAll`, which treats all query words as prefixes. This might lead to counterintuitive results and makes your search slower. For more information, see [Prefix searching](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/prefix-searching/).
- */
-export type QueryType = 'prefixLast' | 'prefixAll' | 'prefixNone';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/range.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/range.ts
deleted file mode 100644
index bbe8841d0b7..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/range.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Range object with lower and upper values in meters to define custom ranges.
- */
-export type Range = {
- /**
- * Lower boundary of a range in meters. The Geo ranking criterion considers all records within the range to be equal.
- */
- from?: number | undefined;
-
- /**
- * Upper boundary of a range in meters. The Geo ranking criterion considers all records within the range to be equal.
- */
- value?: number | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/rankingInfo.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/rankingInfo.ts
deleted file mode 100644
index 47a6e5a9350..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/rankingInfo.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { MatchedGeoLocation } from './matchedGeoLocation';
-import type { Personalization } from './personalization';
-
-/**
- * Object with detailed information about the record\'s ranking.
- */
-export type RankingInfo = {
- /**
- * Whether a filter matched the query.
- */
- filters?: number | undefined;
-
- /**
- * Position of the first matched word in the best matching attribute of the record.
- */
- firstMatchedWord: number;
-
- /**
- * Distance between the geo location in the search query and the best matching geo location in the record, divided by the geo precision (in meters).
- */
- geoDistance: number;
-
- /**
- * Precision used when computing the geo distance, in meters.
- */
- geoPrecision?: number | undefined;
-
- matchedGeoLocation?: MatchedGeoLocation | undefined;
-
- personalization?: Personalization | undefined;
-
- /**
- * Number of exactly matched words.
- */
- nbExactWords: number;
-
- /**
- * Number of typos encountered when matching the record.
- */
- nbTypos: number;
-
- /**
- * Whether the record was promoted by a rule.
- */
- promoted?: boolean | undefined;
-
- /**
- * Number of words between multiple matches in the query plus 1. For single word queries, `proximityDistance` is 0.
- */
- proximityDistance?: number | undefined;
-
- /**
- * Overall ranking of the record, expressed as a single integer. This attribute is internal.
- */
- userScore: number;
-
- /**
- * Number of matched words.
- */
- words?: number | undefined;
-
- /**
- * Whether the record is re-ranked.
- */
- promotedByReRanking?: boolean | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/redirect.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/redirect.ts
deleted file mode 100644
index bd6cabc3196..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/redirect.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { RedirectRuleIndexMetadata } from './redirectRuleIndexMetadata';
-
-/**
- * [Redirect results to a URL](https://www.algolia.com/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/redirects/), this this parameter is for internal use only.
- */
-export type Redirect = {
- index?: Array | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/redirectRuleIndexData.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/redirectRuleIndexData.ts
deleted file mode 100644
index fbb7ea140e8..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/redirectRuleIndexData.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Redirect rule data.
- */
-export type RedirectRuleIndexData = {
- ruleObjectID: string;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/redirectRuleIndexMetadata.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/redirectRuleIndexMetadata.ts
deleted file mode 100644
index 33802fc6947..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/redirectRuleIndexMetadata.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { RedirectRuleIndexData } from './redirectRuleIndexData';
-
-export type RedirectRuleIndexMetadata = {
- /**
- * Source index for the redirect rule.
- */
- source: string;
-
- /**
- * Destination index for the redirect rule.
- */
- dest: string;
-
- /**
- * Reason for the redirect rule.
- */
- reason: string;
-
- /**
- * Redirect rule status.
- */
- succeed: boolean;
-
- data: RedirectRuleIndexData;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/redirectURL.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/redirectURL.ts
deleted file mode 100644
index 58725edd467..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/redirectURL.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * The redirect rule container.
- */
-export type RedirectURL = {
- url?: string | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/removeStopWords.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/removeStopWords.ts
deleted file mode 100644
index 263ad11844f..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/removeStopWords.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { SupportedLanguage } from './supportedLanguage';
-
-/**
- * Removes stop words from the search query. Stop words are common words like articles, conjunctions, prepositions, or pronouns that have little or no meaning on their own. In English, \"the\", \"a\", or \"and\" are stop words. You should only use this feature for the languages used in your index.
- */
-export type RemoveStopWords = Array | boolean;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/removeWordsIfNoResults.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/removeWordsIfNoResults.ts
deleted file mode 100644
index 3b61da6d878..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/removeWordsIfNoResults.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Strategy for removing words from the query when it doesn\'t return any results. This helps to avoid returning empty search results. - `none`. No words are removed when a query doesn\'t return results. - `lastWords`. Treat the last (then second to last, then third to last) word as optional, until there are results or at most 5 words have been removed. - `firstWords`. Treat the first (then second, then third) word as optional, until there are results or at most 5 words have been removed. - `allOptional`. Treat all words as optional. For more information, see [Remove words to improve results](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/in-depth/why-use-remove-words-if-no-results/).
- */
-export type RemoveWordsIfNoResults = 'none' | 'lastWords' | 'firstWords' | 'allOptional';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/renderingContent.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/renderingContent.ts
deleted file mode 100644
index a10b97d7472..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/renderingContent.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { FacetOrdering } from './facetOrdering';
-import type { RedirectURL } from './redirectURL';
-import type { Widgets } from './widgets';
-
-/**
- * Extra data that can be used in the search UI. You can use this to control aspects of your search UI, such as the order of facet names and values without changing your frontend code.
- */
-export type RenderingContent = {
- facetOrdering?: FacetOrdering | undefined;
-
- redirect?: RedirectURL | undefined;
-
- widgets?: Widgets | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/requestBody.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/requestBody.ts
deleted file mode 100644
index 5fca520c70d..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/requestBody.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Params } from './params';
-
-export type RequestBody = {
- params?: Params | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/resultsCompositionInfoResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/resultsCompositionInfoResponse.ts
deleted file mode 100644
index 2aa12f6efeb..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/resultsCompositionInfoResponse.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { ResultsInjectedItemInfoResponse } from './resultsInjectedItemInfoResponse';
-
-export type ResultsCompositionInfoResponse = {
- injectedItems: Array;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/resultsCompositionsResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/resultsCompositionsResponse.ts
deleted file mode 100644
index 763a799e27b..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/resultsCompositionsResponse.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { ResultsCompositionInfoResponse } from './resultsCompositionInfoResponse';
-
-export type ResultsCompositionsResponse = Record & {
- compositions: { [key: string]: ResultsCompositionInfoResponse };
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/resultsInjectedItemAppliedRulesInfoResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/resultsInjectedItemAppliedRulesInfoResponse.ts
deleted file mode 100644
index b70808f3d7c..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/resultsInjectedItemAppliedRulesInfoResponse.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type ResultsInjectedItemAppliedRulesInfoResponse = {
- /**
- * Unique record identifier.
- */
- objectID: string;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/resultsInjectedItemInfoResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/resultsInjectedItemInfoResponse.ts
deleted file mode 100644
index 6dfc0b82226..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/resultsInjectedItemInfoResponse.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { ResultsInjectedItemAppliedRulesInfoResponse } from './resultsInjectedItemAppliedRulesInfoResponse';
-
-export type ResultsInjectedItemInfoResponse = Record & {
- key: string;
-
- appliedRules?: Array | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/rulesBatchCompositionAction.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/rulesBatchCompositionAction.ts
deleted file mode 100644
index 98d4f7b2d14..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/rulesBatchCompositionAction.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionRule } from './compositionRule';
-
-import type { DeleteCompositionRuleAction } from './deleteCompositionRuleAction';
-
-export type RulesBatchCompositionAction = CompositionRule | DeleteCompositionRuleAction;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/rulesMultipleBatchRequest.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/rulesMultipleBatchRequest.ts
deleted file mode 100644
index 3bbbe20be23..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/rulesMultipleBatchRequest.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Action } from './action';
-import type { RulesBatchCompositionAction } from './rulesBatchCompositionAction';
-
-export type RulesMultipleBatchRequest = {
- action: Action;
-
- body: RulesBatchCompositionAction;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/rulesMultipleBatchResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/rulesMultipleBatchResponse.ts
deleted file mode 100644
index 26b97ef676e..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/rulesMultipleBatchResponse.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type RulesMultipleBatchResponse = {
- /**
- * Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task\'s progress with the [`task` operation](#tag/Indices/operation/getTask) and this `taskID`.
- */
- taskID: number;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/search.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/search.ts
deleted file mode 100644
index 3af5951b3cd..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/search.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { BaseInjectionQueryParameters } from './baseInjectionQueryParameters';
-
-export type Search = {
- /**
- * Composition Index name.
- */
- index: string;
-
- params?: BaseInjectionQueryParameters | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchCompositionRulesParams.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/searchCompositionRulesParams.ts
deleted file mode 100644
index d9b79129412..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchCompositionRulesParams.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Anchoring } from './anchoring';
-
-/**
- * Composition Rules search parameters.
- */
-export type SearchCompositionRulesParams = {
- /**
- * Search query for rules.
- */
- query?: string | undefined;
-
- anchoring?: Anchoring | undefined;
-
- /**
- * Only return composition rules that match the context (exact match).
- */
- context?: string | undefined;
-
- /**
- * Requested page of the API response. Algolia uses `page` and `hitsPerPage` to control how search results are displayed ([paginated](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/)). - `hitsPerPage`: sets the number of search results (_hits_) displayed per page. - `page`: specifies the page number of the search results you want to retrieve. Page numbering starts at 0, so the first page is `page=0`, the second is `page=1`, and so on. For example, to display 10 results per page starting from the third page, set `hitsPerPage` to 10 and `page` to 2.
- */
- page?: number | undefined;
-
- /**
- * Maximum number of hits per page. Algolia uses `page` and `hitsPerPage` to control how search results are displayed ([paginated](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/)). - `hitsPerPage`: sets the number of search results (_hits_) displayed per page. - `page`: specifies the page number of the search results you want to retrieve. Page numbering starts at 0, so the first page is `page=0`, the second is `page=1`, and so on. For example, to display 10 results per page starting from the third page, set `hitsPerPage` to 10 and `page` to 2.
- */
- hitsPerPage?: number | undefined;
-
- /**
- * If `true`, return only enabled composition rules. If `false`, return only inactive composition rules. By default, _all_ composition rules are returned.
- */
- enabled?: boolean | null | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchCompositionRulesResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/searchCompositionRulesResponse.ts
deleted file mode 100644
index 414928cbdb5..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchCompositionRulesResponse.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionRule } from './compositionRule';
-
-export type SearchCompositionRulesResponse = {
- /**
- * Composition rules that matched the search criteria.
- */
- hits: Array;
-
- /**
- * Number of composition rules that matched the search criteria.
- */
- nbHits: number;
-
- /**
- * Current page.
- */
- page: number;
-
- /**
- * Number of pages.
- */
- nbPages: number;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchForFacetValuesParams.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/searchForFacetValuesParams.ts
deleted file mode 100644
index aa1fb3e281a..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchForFacetValuesParams.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Params } from './params';
-
-export type SearchForFacetValuesParams = {
- /**
- * Search query.
- */
- query?: string | undefined;
-
- /**
- * Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- */
- maxFacetHits?: number | undefined;
-
- searchQuery?: Params | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchForFacetValuesRequest.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/searchForFacetValuesRequest.ts
deleted file mode 100644
index 8f0ec89de13..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchForFacetValuesRequest.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { SearchForFacetValuesParams } from './searchForFacetValuesParams';
-
-export type SearchForFacetValuesRequest = {
- params?: SearchForFacetValuesParams | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchForFacetValuesResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/searchForFacetValuesResponse.ts
deleted file mode 100644
index 00fdc5e3001..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchForFacetValuesResponse.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { SearchForFacetValuesResults } from './searchForFacetValuesResults';
-
-export type SearchForFacetValuesResponse = {
- /**
- * Search for facet values results.
- */
- results?: Array | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchForFacetValuesResults.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/searchForFacetValuesResults.ts
deleted file mode 100644
index 3551cd24f88..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchForFacetValuesResults.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { FacetHits } from './facetHits';
-
-export type SearchForFacetValuesResults = {
- indexName: string;
-
- /**
- * Matching facet values.
- */
- facetHits: Array;
-
- /**
- * Whether the facet count is exhaustive (true) or approximate (false). For more information, see [Why are my facet and hit counts not accurate](https://support.algolia.com/hc/en-us/articles/4406975248145-Why-are-my-facet-and-hit-counts-not-accurate-).
- */
- exhaustiveFacetsCount: boolean;
-
- /**
- * Time the server took to process the request, in milliseconds.
- */
- processingTimeMS?: number | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchHits.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/searchHits.ts
deleted file mode 100644
index 3e410b8a067..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchHits.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Hit } from './hit';
-
-export type SearchHits> = Record & {
- /**
- * Search results (hits). Hits are records from your index that match the search criteria, augmented with additional attributes, such as, for highlighting.
- */
- hits: Hit[];
-
- /**
- * Search query.
- */
- query: string;
-
- /**
- * URL-encoded string of all search parameters.
- */
- params: string;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchPagination.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/searchPagination.ts
deleted file mode 100644
index d5420c6286d..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchPagination.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type SearchPagination = {
- /**
- * Page of search results to retrieve.
- */
- page: number;
-
- /**
- * Number of results (hits).
- */
- nbHits: number;
-
- /**
- * Number of pages of results.
- */
- nbPages: number;
-
- /**
- * Number of hits per page.
- */
- hitsPerPage: number;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/searchResponse.ts
deleted file mode 100644
index 61fd9742827..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchResponse.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { CompositionBaseSearchResponse } from './compositionBaseSearchResponse';
-import type { SearchResults } from './searchResults';
-
-export type SearchResponse> = CompositionBaseSearchResponse & SearchResults;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchResults.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/searchResults.ts
deleted file mode 100644
index 34e9a400a0d..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchResults.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { SearchResultsItem } from './searchResultsItem';
-
-export type SearchResults> = {
- /**
- * Search results.
- */
- results: SearchResultsItem[];
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchResultsItem.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/searchResultsItem.ts
deleted file mode 100644
index 7ada0473194..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchResultsItem.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { BaseSearchResponse } from './baseSearchResponse';
-import type { ResultsCompositionsResponse } from './resultsCompositionsResponse';
-import type { SearchHits } from './searchHits';
-import type { SearchPagination } from './searchPagination';
-
-export type SearchResultsItem> = BaseSearchResponse &
- SearchPagination &
- SearchHits &
- ResultsCompositionsResponse;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchSource.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/searchSource.ts
deleted file mode 100644
index 0f5515fd62e..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/searchSource.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Search } from './search';
-
-/**
- * Injected items will originate from a search request performed on the specified index.
- */
-export type SearchSource = {
- search: Search;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/snippetResult.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/snippetResult.ts
deleted file mode 100644
index 0d9abff480e..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/snippetResult.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { SnippetResultOption } from './snippetResultOption';
-
-export type SnippetResult = SnippetResultOption | { [key: string]: SnippetResult } | Array;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/snippetResultOption.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/snippetResultOption.ts
deleted file mode 100644
index daab65f2d32..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/snippetResultOption.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { MatchLevel } from './matchLevel';
-
-/**
- * Snippets that show the context around a matching search query.
- */
-export type SnippetResultOption = {
- /**
- * Highlighted attribute value, including HTML tags.
- */
- value: string;
-
- matchLevel: MatchLevel;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/sortRemainingBy.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/sortRemainingBy.ts
deleted file mode 100644
index 85fc5bd8834..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/sortRemainingBy.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Order of facet values that aren\'t explicitly positioned with the `order` setting. - `count`. Order remaining facet values by decreasing count. The count is the number of matching records containing this facet value. - `alpha`. Sort facet values alphabetically. - `hidden`. Don\'t show facet values that aren\'t explicitly positioned.
- */
-export type SortRemainingBy = 'count' | 'alpha' | 'hidden';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/supportedLanguage.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/supportedLanguage.ts
deleted file mode 100644
index 85f2111cc9f..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/supportedLanguage.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * ISO code for a supported language.
- */
-export type SupportedLanguage =
- | 'af'
- | 'ar'
- | 'az'
- | 'bg'
- | 'bn'
- | 'ca'
- | 'cs'
- | 'cy'
- | 'da'
- | 'de'
- | 'el'
- | 'en'
- | 'eo'
- | 'es'
- | 'et'
- | 'eu'
- | 'fa'
- | 'fi'
- | 'fo'
- | 'fr'
- | 'ga'
- | 'gl'
- | 'he'
- | 'hi'
- | 'hu'
- | 'hy'
- | 'id'
- | 'is'
- | 'it'
- | 'ja'
- | 'ka'
- | 'kk'
- | 'ko'
- | 'ku'
- | 'ky'
- | 'lt'
- | 'lv'
- | 'mi'
- | 'mn'
- | 'mr'
- | 'ms'
- | 'mt'
- | 'nb'
- | 'nl'
- | 'no'
- | 'ns'
- | 'pl'
- | 'ps'
- | 'pt'
- | 'pt-br'
- | 'qu'
- | 'ro'
- | 'ru'
- | 'sk'
- | 'sq'
- | 'sv'
- | 'sw'
- | 'ta'
- | 'te'
- | 'th'
- | 'tl'
- | 'tn'
- | 'tr'
- | 'tt'
- | 'uk'
- | 'ur'
- | 'uz'
- | 'zh';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/taskIDResponse.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/taskIDResponse.ts
deleted file mode 100644
index 10526be5f50..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/taskIDResponse.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type TaskIDResponse = {
- /**
- * Unique identifier of a task. A successful API response means that a task was added to a queue. It might not run immediately. You can check the task\'s progress with the [`task` operation](#tag/Indices/operation/getTask) and this `taskID`.
- */
- taskID: number;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/taskStatus.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/taskStatus.ts
deleted file mode 100644
index 5b312a99c75..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/taskStatus.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * Task status, `published` if the task is completed, `notPublished` otherwise.
- */
-export type TaskStatus = 'published' | 'notPublished';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/timeRange.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/timeRange.ts
deleted file mode 100644
index 6d0abf9a48e..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/timeRange.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-export type TimeRange = {
- /**
- * When the rule should start to be active, in Unix epoch time.
- */
- from?: number | undefined;
-
- /**
- * When the rule should stop to be active, in Unix epoch time.
- */
- until?: number | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/typoTolerance.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/typoTolerance.ts
deleted file mode 100644
index 767e63229bb..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/typoTolerance.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { TypoToleranceEnum } from './typoToleranceEnum';
-
-/**
- * Whether [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/) is enabled and how it is applied. If typo tolerance is true, `min`, or `strict`, [word splitting and concatenation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/splitting-and-concatenation/) are also active.
- */
-export type TypoTolerance = boolean | TypoToleranceEnum;
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/typoToleranceEnum.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/typoToleranceEnum.ts
deleted file mode 100644
index fd97a0ed08a..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/typoToleranceEnum.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-/**
- * - `min`. Return matches with the lowest number of typos. For example, if you have matches without typos, only include those. But if there are no matches without typos (with 1 typo), include matches with 1 typo (2 typos). - `strict`. Return matches with the two lowest numbers of typos. With `strict`, the Typo ranking criterion is applied first in the `ranking` setting.
- */
-export type TypoToleranceEnum = 'min' | 'strict' | 'true' | 'false';
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/value.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/value.ts
deleted file mode 100644
index d8c72bc532c..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/value.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { SortRemainingBy } from './sortRemainingBy';
-
-export type Value = {
- /**
- * Explicit order of facets or facet values. This setting lets you always show specific facets or facet values at the top of the list.
- */
- order?: Array | undefined;
-
- sortRemainingBy?: SortRemainingBy | undefined;
-
- /**
- * Hide facet values.
- */
- hide?: Array | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/model/widgets.ts b/clients/algoliasearch-client-javascript/packages/client-composition/model/widgets.ts
deleted file mode 100644
index 12fe2bf4fd9..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/model/widgets.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type { Banner } from './banner';
-
-/**
- * Widgets returned from any rules that are applied to the current search.
- */
-export type Widgets = {
- /**
- * Banners defined in the Merchandising Studio for a given search.
- */
- banners?: Array | undefined;
-};
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/package.json b/clients/algoliasearch-client-javascript/packages/client-composition/package.json
deleted file mode 100644
index fed217f7d19..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "version": "1.13.0",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/algolia/algoliasearch-client-javascript.git"
- },
- "homepage": "https://github.com/algolia/algoliasearch-client-javascript/tree/main/packages/client-composition#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/client-composition",
- "description": "JavaScript client for client-composition",
- "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.37.0",
- "@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
- },
- "devDependencies": {
- "@arethetypeswrong/cli": "0.18.2",
- "@types/node": "22.18.1",
- "publint": "0.3.12",
- "rollup": "4.41.0",
- "tsup": "8.5.0",
- "typescript": "5.9.2"
- },
- "engines": {
- "node": ">= 14.0.0"
- }
-}
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/rollup.config.js b/clients/algoliasearch-client-javascript/packages/client-composition/rollup.config.js
deleted file mode 100644
index a27486cf262..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/rollup.config.js
+++ /dev/null
@@ -1,17 +0,0 @@
-export default [
- {
- input: 'dist/builds/browser.min.js',
- external: ['dom'],
- cache: false,
- output: {
- esModule: false,
- file: 'dist/builds/browser.umd.js',
- name: '@algolia/client-composition',
- format: 'umd',
- sourcemap: false,
- globals: {
- ['compositionClient']: 'compositionClient',
- },
- },
- },
-];
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/src/compositionClient.ts b/clients/algoliasearch-client-javascript/packages/client-composition/src/compositionClient.ts
deleted file mode 100644
index b90dde47eeb..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/src/compositionClient.ts
+++ /dev/null
@@ -1,827 +0,0 @@
-// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
-
-import type {
- CreateClientOptions,
- Headers,
- Host,
- QueryParameters,
- Request,
- RequestOptions,
-} from '@algolia/client-common';
-import { createAuth, createIterablePromise, createTransporter, getAlgoliaAgent, shuffle } from '@algolia/client-common';
-
-import type { BatchParams } from '../model/batchParams';
-import type { Composition } from '../model/composition';
-import type { CompositionRule } from '../model/compositionRule';
-
-import type { GetTaskResponse } from '../model/getTaskResponse';
-import type { ListCompositionsResponse } from '../model/listCompositionsResponse';
-import type { MultipleBatchResponse } from '../model/multipleBatchResponse';
-
-import type { RulesMultipleBatchResponse } from '../model/rulesMultipleBatchResponse';
-
-import type { SearchCompositionRulesResponse } from '../model/searchCompositionRulesResponse';
-
-import type { SearchForFacetValuesResponse } from '../model/searchForFacetValuesResponse';
-import type { SearchResponse } from '../model/searchResponse';
-import type { TaskIDResponse } from '../model/taskIDResponse';
-
-import type {
- CustomDeleteProps,
- CustomGetProps,
- CustomPostProps,
- CustomPutProps,
- DeleteCompositionProps,
- DeleteCompositionRuleProps,
- GetCompositionProps,
- GetRuleProps,
- GetTaskProps,
- ListCompositionsProps,
- PutCompositionProps,
- PutCompositionRuleProps,
- SaveRulesProps,
- SearchCompositionRulesProps,
- SearchForFacetValuesProps,
- SearchProps,
- WaitForCompositionTaskOptions,
-} from '../model/clientMethodProps';
-
-export const apiClientVersion = '1.13.0';
-
-function getDefaultHosts(appId: string): Host[] {
- return (
- [
- {
- url: `${appId}-dsn.algolia.net`,
- accept: 'read',
- protocol: 'https',
- },
- {
- url: `${appId}.algolia.net`,
- accept: 'write',
- protocol: 'https',
- },
- ] as Host[]
- ).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',
- },
- ]),
- );
-}
-
-export function createCompositionClient({
- appId: appIdOption,
- apiKey: apiKeyOption,
- authMode,
- algoliaAgents,
- ...options
-}: CreateClientOptions) {
- const auth = createAuth(appIdOption, apiKeyOption, authMode);
- const transporter = createTransporter({
- hosts: getDefaultHosts(appIdOption),
- ...options,
- algoliaAgent: getAlgoliaAgent({
- algoliaAgents,
- client: 'Composition',
- 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(): Promise {
- return Promise.all([transporter.requestsCache.clear(), transporter.responsesCache.clear()]).then(() => undefined);
- },
-
- /**
- * Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system.
- */
- get _ua(): string {
- 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: string, version?: string | undefined): void {
- 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 }: { apiKey: string }): void {
- if (!authMode || authMode === 'WithinHeaders') {
- transporter.baseHeaders['x-algolia-api-key'] = apiKey;
- } else {
- transporter.baseQueryParameters['x-algolia-api-key'] = apiKey;
- }
- },
-
- /**
- * Helper: Wait for a composition-level task to be published (completed) for a given `compositionID` and `taskID`.
- *
- * @summary Helper method that waits for a task to be published (completed).
- * @param WaitForCompositionTaskOptions - The `WaitForCompositionTaskOptions` object.
- * @param WaitForCompositionTaskOptions.compositionID - The `compositionID` where the operation was performed.
- * @param WaitForCompositionTaskOptions.taskID - The `taskID` returned in the method response.
- * @param WaitForCompositionTaskOptions.maxRetries - The maximum number of retries. 50 by default.
- * @param WaitForCompositionTaskOptions.timeout - The function to decide how long to wait between retries.
- * @param requestOptions - The requestOptions to send along with the query, they will be forwarded to the `getTask` method and merged with the transporter requestOptions.
- */
- waitForCompositionTask(
- {
- compositionID,
- taskID,
- maxRetries = 50,
- timeout = (retryCount: number): number => Math.min(retryCount * 200, 5000),
- }: WaitForCompositionTaskOptions,
- requestOptions?: RequestOptions,
- ): Promise {
- let retryCount = 0;
-
- return createIterablePromise({
- func: () => this.getTask({ compositionID, taskID }, requestOptions),
- validate: (response) => response.status === 'published',
- aggregator: () => (retryCount += 1),
- error: {
- validate: () => retryCount >= maxRetries,
- message: () => `The maximum number of retries exceeded. (${retryCount}/${maxRetries})`,
- },
- timeout: () => timeout(retryCount),
- });
- },
-
- /**
- * 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 }: CustomDeleteProps,
- requestOptions?: RequestOptions,
- ): Promise> {
- if (!path) {
- throw new Error('Parameter `path` is required when calling `customDelete`.');
- }
-
- const requestPath = '/{path}'.replace('{path}', path);
- const headers: Headers = {};
- const queryParameters: QueryParameters = parameters ? parameters : {};
-
- const request: 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 }: CustomGetProps, requestOptions?: RequestOptions): Promise> {
- if (!path) {
- throw new Error('Parameter `path` is required when calling `customGet`.');
- }
-
- const requestPath = '/{path}'.replace('{path}', path);
- const headers: Headers = {};
- const queryParameters: QueryParameters = parameters ? parameters : {};
-
- const request: 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 }: CustomPostProps,
- requestOptions?: RequestOptions,
- ): Promise> {
- if (!path) {
- throw new Error('Parameter `path` is required when calling `customPost`.');
- }
-
- const requestPath = '/{path}'.replace('{path}', path);
- const headers: Headers = {};
- const queryParameters: QueryParameters = parameters ? parameters : {};
-
- const request: 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 }: CustomPutProps,
- requestOptions?: RequestOptions,
- ): Promise> {
- if (!path) {
- throw new Error('Parameter `path` is required when calling `customPut`.');
- }
-
- const requestPath = '/{path}'.replace('{path}', path);
- const headers: Headers = {};
- const queryParameters: QueryParameters = parameters ? parameters : {};
-
- const request: Request = {
- method: 'PUT',
- path: requestPath,
- queryParameters,
- headers,
- data: body ? body : {},
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Delete a composition from the current Algolia application.
- *
- * Required API Key ACLs:
- * - editSettings
- * @param deleteComposition - The deleteComposition object.
- * @param deleteComposition.compositionID - Unique Composition ObjectID.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- deleteComposition(
- { compositionID }: DeleteCompositionProps,
- requestOptions?: RequestOptions,
- ): Promise {
- if (!compositionID) {
- throw new Error('Parameter `compositionID` is required when calling `deleteComposition`.');
- }
-
- const requestPath = '/1/compositions/{compositionID}'.replace(
- '{compositionID}',
- encodeURIComponent(compositionID),
- );
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- const request: Request = {
- method: 'DELETE',
- path: requestPath,
- queryParameters,
- headers,
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Delete a Composition Rule from the specified Composition ID.
- *
- * Required API Key ACLs:
- * - editSettings
- * @param deleteCompositionRule - The deleteCompositionRule object.
- * @param deleteCompositionRule.compositionID - Unique Composition ObjectID.
- * @param deleteCompositionRule.objectID - Unique identifier of a rule object.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- deleteCompositionRule(
- { compositionID, objectID }: DeleteCompositionRuleProps,
- requestOptions?: RequestOptions,
- ): Promise {
- if (!compositionID) {
- throw new Error('Parameter `compositionID` is required when calling `deleteCompositionRule`.');
- }
-
- if (!objectID) {
- throw new Error('Parameter `objectID` is required when calling `deleteCompositionRule`.');
- }
-
- const requestPath = '/1/compositions/{compositionID}/rules/{objectID}'
- .replace('{compositionID}', encodeURIComponent(compositionID))
- .replace('{objectID}', encodeURIComponent(objectID));
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- const request: Request = {
- method: 'DELETE',
- path: requestPath,
- queryParameters,
- headers,
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Retrieve a single composition in the current Algolia application.
- *
- * Required API Key ACLs:
- * - editSettings
- * - settings
- * @param getComposition - The getComposition object.
- * @param getComposition.compositionID - Unique Composition ObjectID.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- getComposition({ compositionID }: GetCompositionProps, requestOptions?: RequestOptions): Promise {
- if (!compositionID) {
- throw new Error('Parameter `compositionID` is required when calling `getComposition`.');
- }
-
- const requestPath = '/1/compositions/{compositionID}'.replace(
- '{compositionID}',
- encodeURIComponent(compositionID),
- );
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- const request: Request = {
- method: 'GET',
- path: requestPath,
- queryParameters,
- headers,
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Retrieves a rule by its ID. To find the object ID of rules, use the [`search` operation](#tag/Rules/operation/searchRules).
- *
- * Required API Key ACLs:
- * - editSettings
- * - settings
- * @param getRule - The getRule object.
- * @param getRule.compositionID - Unique Composition ObjectID.
- * @param getRule.objectID - Unique identifier of a rule object.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- getRule({ compositionID, objectID }: GetRuleProps, requestOptions?: RequestOptions): Promise {
- if (!compositionID) {
- throw new Error('Parameter `compositionID` is required when calling `getRule`.');
- }
-
- if (!objectID) {
- throw new Error('Parameter `objectID` is required when calling `getRule`.');
- }
-
- const requestPath = '/1/compositions/{compositionID}/rules/{objectID}'
- .replace('{compositionID}', encodeURIComponent(compositionID))
- .replace('{objectID}', encodeURIComponent(objectID));
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- const request: Request = {
- method: 'GET',
- path: requestPath,
- queryParameters,
- headers,
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Checks the status of a given task.
- *
- * Required API Key ACLs:
- * - editSettings
- * - settings
- * - addObject
- * - deleteObject
- * - deleteIndex
- * @param getTask - The getTask object.
- * @param getTask.compositionID - Unique Composition ObjectID.
- * @param getTask.taskID - Unique task identifier.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- getTask({ compositionID, taskID }: GetTaskProps, requestOptions?: RequestOptions): Promise {
- if (!compositionID) {
- throw new Error('Parameter `compositionID` is required when calling `getTask`.');
- }
-
- if (!taskID) {
- throw new Error('Parameter `taskID` is required when calling `getTask`.');
- }
-
- const requestPath = '/1/compositions/{compositionID}/task/{taskID}'
- .replace('{compositionID}', encodeURIComponent(compositionID))
- .replace('{taskID}', encodeURIComponent(taskID));
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- const request: Request = {
- method: 'GET',
- path: requestPath,
- queryParameters,
- headers,
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Lists all compositions in the current Algolia application.
- *
- * Required API Key ACLs:
- * - editSettings
- * - settings
- * @param listCompositions - The listCompositions object.
- * @param listCompositions.page - Requested page of the API response. If `null`, the API response is not paginated.
- * @param listCompositions.hitsPerPage - Number of hits per page.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- listCompositions(
- { page, hitsPerPage }: ListCompositionsProps = {},
- requestOptions: RequestOptions | undefined = undefined,
- ): Promise {
- const requestPath = '/1/compositions';
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- if (page !== undefined) {
- queryParameters['page'] = page.toString();
- }
-
- if (hitsPerPage !== undefined) {
- queryParameters['hitsPerPage'] = hitsPerPage.toString();
- }
-
- const request: Request = {
- method: 'GET',
- path: requestPath,
- queryParameters,
- headers,
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Adds, updates, or deletes compositions with a single API request.
- *
- * Required API Key ACLs:
- * - editSettings
- * @param batchParams - The batchParams object.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- multipleBatch(batchParams: BatchParams, requestOptions?: RequestOptions): Promise {
- if (!batchParams) {
- throw new Error('Parameter `batchParams` is required when calling `multipleBatch`.');
- }
-
- if (!batchParams.requests) {
- throw new Error('Parameter `batchParams.requests` is required when calling `multipleBatch`.');
- }
-
- const requestPath = '/1/compositions/*/batch';
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- const request: Request = {
- method: 'POST',
- path: requestPath,
- queryParameters,
- headers,
- data: batchParams,
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Upsert a composition in the current Algolia application.
- *
- * Required API Key ACLs:
- * - editSettings
- * @param putComposition - The putComposition object.
- * @param putComposition.compositionID - Unique Composition ObjectID.
- * @param putComposition.composition - The composition object.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- putComposition(
- { compositionID, composition }: PutCompositionProps,
- requestOptions?: RequestOptions,
- ): Promise {
- if (!compositionID) {
- throw new Error('Parameter `compositionID` is required when calling `putComposition`.');
- }
-
- if (!composition) {
- throw new Error('Parameter `composition` is required when calling `putComposition`.');
- }
-
- if (!composition.objectID) {
- throw new Error('Parameter `composition.objectID` is required when calling `putComposition`.');
- }
- if (!composition.name) {
- throw new Error('Parameter `composition.name` is required when calling `putComposition`.');
- }
- if (!composition.behavior) {
- throw new Error('Parameter `composition.behavior` is required when calling `putComposition`.');
- }
-
- const requestPath = '/1/compositions/{compositionID}'.replace(
- '{compositionID}',
- encodeURIComponent(compositionID),
- );
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- const request: Request = {
- method: 'PUT',
- path: requestPath,
- queryParameters,
- headers,
- data: composition,
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Upsert a Composition Rule for the specified composition ID.
- *
- * Required API Key ACLs:
- * - editSettings
- * @param putCompositionRule - The putCompositionRule object.
- * @param putCompositionRule.compositionID - Unique Composition ObjectID.
- * @param putCompositionRule.objectID - Unique identifier of a rule object.
- * @param putCompositionRule.compositionRule - The compositionRule object.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- putCompositionRule(
- { compositionID, objectID, compositionRule }: PutCompositionRuleProps,
- requestOptions?: RequestOptions,
- ): Promise {
- if (!compositionID) {
- throw new Error('Parameter `compositionID` is required when calling `putCompositionRule`.');
- }
-
- if (!objectID) {
- throw new Error('Parameter `objectID` is required when calling `putCompositionRule`.');
- }
-
- if (!compositionRule) {
- throw new Error('Parameter `compositionRule` is required when calling `putCompositionRule`.');
- }
-
- if (!compositionRule.objectID) {
- throw new Error('Parameter `compositionRule.objectID` is required when calling `putCompositionRule`.');
- }
- if (!compositionRule.conditions) {
- throw new Error('Parameter `compositionRule.conditions` is required when calling `putCompositionRule`.');
- }
- if (!compositionRule.consequence) {
- throw new Error('Parameter `compositionRule.consequence` is required when calling `putCompositionRule`.');
- }
-
- const requestPath = '/1/compositions/{compositionID}/rules/{objectID}'
- .replace('{compositionID}', encodeURIComponent(compositionID))
- .replace('{objectID}', encodeURIComponent(objectID));
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- const request: Request = {
- method: 'PUT',
- path: requestPath,
- queryParameters,
- headers,
- data: compositionRule,
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Create or update or delete multiple composition rules.
- *
- * Required API Key ACLs:
- * - editSettings
- * @param saveRules - The saveRules object.
- * @param saveRules.compositionID - Unique Composition ObjectID.
- * @param saveRules.rules - The rules object.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- saveRules(
- { compositionID, rules }: SaveRulesProps,
- requestOptions?: RequestOptions,
- ): Promise {
- if (!compositionID) {
- throw new Error('Parameter `compositionID` is required when calling `saveRules`.');
- }
-
- if (!rules) {
- throw new Error('Parameter `rules` is required when calling `saveRules`.');
- }
-
- const requestPath = '/1/compositions/{compositionID}/rules/batch'.replace(
- '{compositionID}',
- encodeURIComponent(compositionID),
- );
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- const request: Request = {
- method: 'POST',
- path: requestPath,
- queryParameters,
- headers,
- data: rules,
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Runs a query on a single composition and returns matching results.
- *
- * Required API Key ACLs:
- * - search
- * @param search - The search object.
- * @param search.compositionID - Unique Composition ObjectID.
- * @param search.requestBody - The requestBody object.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- search(
- { compositionID, requestBody }: SearchProps,
- requestOptions?: RequestOptions,
- ): Promise> {
- if (!compositionID) {
- throw new Error('Parameter `compositionID` is required when calling `search`.');
- }
-
- if (!requestBody) {
- throw new Error('Parameter `requestBody` is required when calling `search`.');
- }
-
- const requestPath = '/1/compositions/{compositionID}/run'.replace(
- '{compositionID}',
- encodeURIComponent(compositionID),
- );
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- const request: Request = {
- method: 'POST',
- path: requestPath,
- queryParameters,
- headers,
- data: requestBody,
- useReadTransporter: true,
- cacheable: true,
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Searches for composition rules in your index.
- *
- * Required API Key ACLs:
- * - settings
- * @param searchCompositionRules - The searchCompositionRules object.
- * @param searchCompositionRules.compositionID - Unique Composition ObjectID.
- * @param searchCompositionRules.searchCompositionRulesParams - The searchCompositionRulesParams object.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- searchCompositionRules(
- { compositionID, searchCompositionRulesParams }: SearchCompositionRulesProps,
- requestOptions?: RequestOptions,
- ): Promise {
- if (!compositionID) {
- throw new Error('Parameter `compositionID` is required when calling `searchCompositionRules`.');
- }
-
- const requestPath = '/1/compositions/{compositionID}/rules/search'.replace(
- '{compositionID}',
- encodeURIComponent(compositionID),
- );
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- const request: Request = {
- method: 'POST',
- path: requestPath,
- queryParameters,
- headers,
- data: searchCompositionRulesParams ? searchCompositionRulesParams : {},
- };
-
- return transporter.request(request, requestOptions);
- },
-
- /**
- * Searches for values of a specified facet attribute on the composition\'s main source\'s index. - By default, facet values are sorted by decreasing count. You can adjust this with the `sortFacetValueBy` parameter. - Searching for facet values doesn\'t work if you have **more than 65 searchable facets and searchable attributes combined**.
- *
- * Required API Key ACLs:
- * - search
- * @param searchForFacetValues - The searchForFacetValues object.
- * @param searchForFacetValues.compositionID - Unique Composition ObjectID.
- * @param searchForFacetValues.facetName - Facet attribute in which to search for values. This attribute must be included in the `attributesForFaceting` index setting with the `searchable()` modifier.
- * @param searchForFacetValues.searchForFacetValuesRequest - The searchForFacetValuesRequest object.
- * @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
- */
- searchForFacetValues(
- { compositionID, facetName, searchForFacetValuesRequest }: SearchForFacetValuesProps,
- requestOptions?: RequestOptions,
- ): Promise {
- if (!compositionID) {
- throw new Error('Parameter `compositionID` is required when calling `searchForFacetValues`.');
- }
-
- if (!facetName) {
- throw new Error('Parameter `facetName` is required when calling `searchForFacetValues`.');
- }
-
- const requestPath = '/1/compositions/{compositionID}/facets/{facetName}/query'
- .replace('{compositionID}', encodeURIComponent(compositionID))
- .replace('{facetName}', encodeURIComponent(facetName));
- const headers: Headers = {};
- const queryParameters: QueryParameters = {};
-
- const request: Request = {
- method: 'POST',
- path: requestPath,
- queryParameters,
- headers,
- data: searchForFacetValuesRequest ? searchForFacetValuesRequest : {},
- useReadTransporter: true,
- cacheable: true,
- };
-
- return transporter.request(request, requestOptions);
- },
- };
-}
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/tsconfig.json b/clients/algoliasearch-client-javascript/packages/client-composition/tsconfig.json
deleted file mode 100644
index 444e8bb640d..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "../../tsconfig.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src", "model", "builds"],
- "exclude": ["dist", "node_modules"]
-}
diff --git a/clients/algoliasearch-client-javascript/packages/client-composition/tsup.config.ts b/clients/algoliasearch-client-javascript/packages/client-composition/tsup.config.ts
deleted file mode 100644
index 8c60a6c07f9..00000000000
--- a/clients/algoliasearch-client-javascript/packages/client-composition/tsup.config.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import type { Options } from 'tsup';
-import { defineConfig } from 'tsup';
-
-import { getBaseBrowserOptions, getBaseNodeOptions, getDependencies } from '../../base.tsup.config';
-
-import pkg from './package.json' with { type: 'json' };
-
-const nodeOptions: Options = {
- ...getBaseNodeOptions(pkg, __dirname),
- dts: { entry: { node: 'builds/node.ts' } },
- entry: ['builds/node.ts', 'src/*.ts'],
-};
-
-const nodeConfigs: Options[] = [
- {
- ...nodeOptions,
- format: 'cjs',
- name: `node ${pkg.name} cjs`,
- },
- {
- ...nodeOptions,
- format: 'esm',
- name: `node ${pkg.name} esm`,
- },
- {
- ...nodeOptions,
- format: 'esm',
- name: `fetch ${pkg.name} esm`,
- dts: { entry: { fetch: 'builds/fetch.ts' } },
- external: getDependencies(pkg, 'fetch'),
- entry: ['builds/fetch.ts', 'src/*.ts'],
- },
- {
- ...nodeOptions,
- format: 'esm',
- name: `worker ${pkg.name} esm`,
- dts: { entry: { worker: 'builds/worker.ts' } },
- external: getDependencies(pkg, 'worker'),
- entry: ['builds/worker.ts', 'src/*.ts'],
- },
-];
-
-const browserOptions: Options = {
- ...getBaseBrowserOptions(pkg, __dirname),
- globalName: 'compositionClient',
-};
-
-const browserConfigs: Options[] = [
- {
- ...browserOptions,
- minify: false,
- name: `browser ${pkg.name} esm`,
- dts: { entry: { browser: 'builds/browser.ts' } },
- entry: ['builds/browser.ts', 'src/*.ts'],
- },
- {
- ...browserOptions,
- dts: false,
- minify: true,
- name: `browser ${pkg.name} min esm`,
- entry: { 'builds/browser.min': 'builds/browser.ts' },
- external: [],
- noExternal: getDependencies(pkg, 'xhr'),
- },
-];
-
-export default defineConfig([...nodeConfigs, ...browserConfigs]);
diff --git a/clients/algoliasearch-client-javascript/packages/composition/package.json b/clients/algoliasearch-client-javascript/packages/composition/package.json
index 419890542c6..8376c526798 100644
--- a/clients/algoliasearch-client-javascript/packages/composition/package.json
+++ b/clients/algoliasearch-client-javascript/packages/composition/package.json
@@ -51,8 +51,8 @@
"dependencies": {
"@algolia/client-common": "5.37.0",
"@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
+ "@algolia/requester-node-http": "5.37.0",
+ "@algolia/requester-fetch": "5.37.0"
},
"devDependencies": {
"@arethetypeswrong/cli": "0.18.2",
diff --git a/clients/algoliasearch-client-javascript/scripts/publish.ts b/clients/algoliasearch-client-javascript/scripts/publish.ts
index c879ab31719..7122d914a5c 100755
--- a/clients/algoliasearch-client-javascript/scripts/publish.ts
+++ b/clients/algoliasearch-client-javascript/scripts/publish.ts
@@ -3,19 +3,19 @@ import { execaCommand } from 'execa';
async function publish(): Promise {
// publish the stable public packages
await execaCommand(
- `yarn lerna exec --ignore '@algolia/client-composition' --no-bail -- npm_config_registry=https://registry.npmjs.org/ npm publish --access public`,
+ `yarn lerna exec --no-bail -- npm_config_registry=https://registry.npmjs.org/ npm publish --access public`,
{
shell: 'bash',
},
);
- // publish the prereleases private packages
- await execaCommand(
- `yarn lerna exec --scope '@algolia/client-composition' --no-bail -- npm_config_registry=https://registry.npmjs.org/ npm publish --access private --tag alpha --tag latest`,
- {
- shell: 'bash',
- },
- );
+ // publish the prereleases private packages if any
+ // await execaCommand(
+ // `yarn lerna exec --scope '' --no-bail -- npm_config_registry=https://registry.npmjs.org/ npm publish --access private --tag alpha --tag latest`,
+ // {
+ // shell: 'bash',
+ // },
+ // );
}
publish();
diff --git a/clients/algoliasearch-client-javascript/yarn.lock b/clients/algoliasearch-client-javascript/yarn.lock
index b9221ca5f04..9bb5bd33d24 100644
--- a/clients/algoliasearch-client-javascript/yarn.lock
+++ b/clients/algoliasearch-client-javascript/yarn.lock
@@ -88,23 +88,6 @@ __metadata:
languageName: unknown
linkType: soft
-"@algolia/client-composition@workspace:packages/client-composition":
- version: 0.0.0-use.local
- resolution: "@algolia/client-composition@workspace:packages/client-composition"
- dependencies:
- "@algolia/client-common": "npm:5.37.0"
- "@algolia/requester-browser-xhr": "npm:5.37.0"
- "@algolia/requester-fetch": "npm:5.37.0"
- "@algolia/requester-node-http": "npm:5.37.0"
- "@arethetypeswrong/cli": "npm:0.18.2"
- "@types/node": "npm:22.18.1"
- publint: "npm:0.3.12"
- rollup: "npm:4.41.0"
- tsup: "npm:8.5.0"
- typescript: "npm:5.9.2"
- languageName: unknown
- linkType: soft
-
"@algolia/client-insights@npm:5.37.0, @algolia/client-insights@workspace:packages/client-insights":
version: 0.0.0-use.local
resolution: "@algolia/client-insights@workspace:packages/client-insights"
diff --git a/generators/src/main/java/com/algolia/codegen/AlgoliaSwiftGenerator.java b/generators/src/main/java/com/algolia/codegen/AlgoliaSwiftGenerator.java
index 0911834c52a..73147d3d316 100644
--- a/generators/src/main/java/com/algolia/codegen/AlgoliaSwiftGenerator.java
+++ b/generators/src/main/java/com/algolia/codegen/AlgoliaSwiftGenerator.java
@@ -161,7 +161,7 @@ public static String formatIdentifier(String text) {
}
public static Boolean isReservedModelName(String name, String client) {
- return client.equalsIgnoreCase("composition") || reservedModelNames.contains(name.toLowerCase());
+ return reservedModelNames.contains(name.toLowerCase());
}
public static String prefixReservedModelName(String name, String client) {
diff --git a/generators/src/main/java/com/algolia/codegen/cts/tests/TestsClient.java b/generators/src/main/java/com/algolia/codegen/cts/tests/TestsClient.java
index 92bd04de25c..6bb67dfd7eb 100644
--- a/generators/src/main/java/com/algolia/codegen/cts/tests/TestsClient.java
+++ b/generators/src/main/java/com/algolia/codegen/cts/tests/TestsClient.java
@@ -114,11 +114,6 @@ public void run(Map models, Map
} else if (step.type.equals("method")) {
ope = operations.get(step.method);
if (ope == null) {
- // some clients don't have custom methods
- if (step.method.startsWith("custom") && client.equals("composition")) {
- continue skipTest;
- }
-
throw new CTSException("Cannot find operation for method: " + step.method, test.testName);
}
diff --git a/generators/src/main/java/com/algolia/codegen/cts/tests/TestsGenerator.java b/generators/src/main/java/com/algolia/codegen/cts/tests/TestsGenerator.java
index 3522621f6a9..eab9caf43a3 100644
--- a/generators/src/main/java/com/algolia/codegen/cts/tests/TestsGenerator.java
+++ b/generators/src/main/java/com/algolia/codegen/cts/tests/TestsGenerator.java
@@ -55,10 +55,6 @@ protected Map loadCTS(String path, String clientName, Class js
String json = new String(Files.readAllBytes(Paths.get(f.getAbsolutePath())));
json = injectVariables(json);
String key = f.getName().replace(".json", "");
- // some clients don't have custom methods
- if (clientName.equals("composition") && (key.equals("commonApi") || key.equals("setClientApiKey"))) {
- continue skipFile;
- }
cts.put(key, Json.mapper().readValue(json, jsonType));
}
return cts;
diff --git a/playground/javascript/node/package.json b/playground/javascript/node/package.json
index e4bd8ba9767..cfc334201d0 100644
--- a/playground/javascript/node/package.json
+++ b/playground/javascript/node/package.json
@@ -12,7 +12,6 @@
"@algolia/client-abtesting": "link:../../../clients/algoliasearch-client-javascript/packages/client-abtesting",
"@algolia/client-analytics": "link:../../../clients/algoliasearch-client-javascript/packages/client-analytics",
"@algolia/client-common": "link:../../../clients/algoliasearch-client-javascript/packages/client-common",
- "@algolia/client-composition": "link:../../../clients/algoliasearch-client-javascript/packages/client-composition",
"@algolia/client-insights": "link:../../../clients/algoliasearch-client-javascript/packages/client-insights",
"@algolia/client-personalization": "link:../../../clients/algoliasearch-client-javascript/packages/client-personalization",
"@algolia/client-query-suggestions": "link:../../../clients/algoliasearch-client-javascript/packages/client-query-suggestions",
diff --git a/templates/javascript/clients/api-single.mustache b/templates/javascript/clients/api-single.mustache
index 41b210f5d85..77b80dd6705 100644
--- a/templates/javascript/clients/api-single.mustache
+++ b/templates/javascript/clients/api-single.mustache
@@ -98,9 +98,9 @@ export function create{{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}}({
{{#isSearchClient}}
{{> client/api/helpers}}
{{/isSearchClient}}
- {{#isCompositionFullClient}}
+ {{#isCompositionClient}}
{{> client/api/compositionHelpers}}
- {{/isCompositionFullClient}}
+ {{/isCompositionClient}}
{{#operation}}
{{> client/api/operation/jsdoc}}
{{nickname}}{{#vendorExtensions.x-is-generic}}{{/vendorExtensions.x-is-generic}}{{#vendorExtensions.x-has-generic-parameter}}{{/vendorExtensions.x-has-generic-parameter}}( {{> client/api/operation/parameters}} ) : Promise<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}}{{#vendorExtensions.x-is-generic}}{{/vendorExtensions.x-is-generic}}> {
diff --git a/templates/javascript/clients/client/api/imports.mustache b/templates/javascript/clients/client/api/imports.mustache
index a1893408be2..1a30501e1c5 100644
--- a/templates/javascript/clients/client/api/imports.mustache
+++ b/templates/javascript/clients/client/api/imports.mustache
@@ -9,9 +9,9 @@ import {
serializeQueryParameters,
createIterablePromise,
{{/isSearchClient}}
- {{#isCompositionFullClient}}
+ {{#isCompositionClient}}
createIterablePromise,
- {{/isCompositionFullClient}}
+ {{/isCompositionClient}}
{{#isIngestionClient}}
createIterablePromise,
ApiError,
@@ -49,9 +49,9 @@ import type {
WaitForAppTaskOptions,
WaitForTaskOptions,
{{/isSearchClient}}
- {{#isCompositionFullClient}}
+ {{#isCompositionClient}}
WaitForCompositionTaskOptions,
- {{/isCompositionFullClient}}
+ {{/isCompositionClient}}
{{#operation}}
{{#vendorExtensions}}
{{#x-create-wrapping-object}}
diff --git a/templates/javascript/clients/client/builds/browser.mustache b/templates/javascript/clients/client/builds/browser.mustache
index 28dbae24d66..3717af4a893 100644
--- a/templates/javascript/clients/client/builds/browser.mustache
+++ b/templates/javascript/clients/client/builds/browser.mustache
@@ -12,7 +12,7 @@
logger: createNullLogger(),
requester: createXhrRequester(),
algoliaAgents: [{ segment: 'Browser' }],
- authMode: 'Within{{#isCompositionClient}}Headers{{/isCompositionClient}}{{#isAdvancedPersonalizationClient}}Headers{{/isAdvancedPersonalizationClient}}{{#isCompositionFullClient}}Headers{{/isCompositionFullClient}}{{^isAdvancedPersonalizationClient}}{{^isCompositionClient}}{{^isCompositionFullClient}}QueryParameters{{/isCompositionFullClient}}{{/isCompositionClient}}{{/isAdvancedPersonalizationClient}}',
+ authMode: 'Within{{#isCompositionClient}}Headers{{/isCompositionClient}}{{#isAdvancedPersonalizationClient}}Headers{{/isAdvancedPersonalizationClient}}{{^isAdvancedPersonalizationClient}}{{^isCompositionClient}}QueryParameters{{/isCompositionClient}}{{/isAdvancedPersonalizationClient}}',
responsesCache: createMemoryCache(),
requestsCache: createMemoryCache({ serializable: false }),
hostsCache: createFallbackableCache({
diff --git a/templates/javascript/clients/client/model/clientMethodProps.mustache b/templates/javascript/clients/client/model/clientMethodProps.mustache
index 24b62f433f9..c159c02e55b 100644
--- a/templates/javascript/clients/client/model/clientMethodProps.mustache
+++ b/templates/javascript/clients/client/model/clientMethodProps.mustache
@@ -218,7 +218,7 @@ export type AccountCopyIndexOptions = {
};
{{/isAlgoliasearchClient}}
{{/isSearchClient}}
-{{#isCompositionFullClient}}
+{{#isCompositionClient}}
export type WaitForCompositionTaskOptions = {
/**
* The maximum number of retries. 50 by default.
@@ -240,7 +240,7 @@ export type WaitForCompositionTaskOptions = {
*/
compositionID: string;
};
-{{/isCompositionFullClient}}
+{{/isCompositionClient}}
{{#isIngestionClient}}
export type ChunkedPushOptions = {
/**
diff --git a/templates/javascript/tests/package.mustache b/templates/javascript/tests/package.mustache
index 19fbed149ce..27cb91ce321 100644
--- a/templates/javascript/tests/package.mustache
+++ b/templates/javascript/tests/package.mustache
@@ -7,7 +7,6 @@
},
"dependencies": {
"algoliasearch": "link:../../../clients/algoliasearch-client-javascript/packages/algoliasearch",
- "@algolia/client-composition": "link:../../../clients/algoliasearch-client-javascript/packages/client-composition",
"@algolia/composition": "link:../../../clients/algoliasearch-client-javascript/packages/composition",
"@algolia/requester-testing": "link:../../../clients/algoliasearch-client-javascript/packages/requester-testing"
},
@@ -16,4 +15,4 @@
"typescript": "5.9.2",
"vitest": "3.2.4"
}
-}
\ No newline at end of file
+}
diff --git a/yarn.lock b/yarn.lock
index a830fc3592a..91188eb233d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -136,12 +136,6 @@ __metadata:
languageName: node
linkType: soft
-"@algolia/client-composition@link:../../../clients/algoliasearch-client-javascript/packages/client-composition::locator=javascript-playground%40workspace%3Aplayground%2Fjavascript%2Fnode":
- version: 0.0.0-use.local
- resolution: "@algolia/client-composition@link:../../../clients/algoliasearch-client-javascript/packages/client-composition::locator=javascript-playground%40workspace%3Aplayground%2Fjavascript%2Fnode"
- languageName: node
- linkType: soft
-
"@algolia/client-insights@link:../../../clients/algoliasearch-client-javascript/packages/client-insights::locator=javascript-playground%40workspace%3Aplayground%2Fjavascript%2Fnode":
version: 0.0.0-use.local
resolution: "@algolia/client-insights@link:../../../clients/algoliasearch-client-javascript/packages/client-insights::locator=javascript-playground%40workspace%3Aplayground%2Fjavascript%2Fnode"
@@ -5828,7 +5822,6 @@ __metadata:
"@algolia/client-abtesting": "link:../../../clients/algoliasearch-client-javascript/packages/client-abtesting"
"@algolia/client-analytics": "link:../../../clients/algoliasearch-client-javascript/packages/client-analytics"
"@algolia/client-common": "link:../../../clients/algoliasearch-client-javascript/packages/client-common"
- "@algolia/client-composition": "link:../../../clients/algoliasearch-client-javascript/packages/client-composition"
"@algolia/client-insights": "link:../../../clients/algoliasearch-client-javascript/packages/client-insights"
"@algolia/client-personalization": "link:../../../clients/algoliasearch-client-javascript/packages/client-personalization"
"@algolia/client-query-suggestions": "link:../../../clients/algoliasearch-client-javascript/packages/client-query-suggestions"
From 0172be06b00fd41c8d38b63ac2c18b960d3a900b Mon Sep 17 00:00:00 2001
From: shortcuts
Date: Mon, 15 Sep 2025 18:00:19 +0200
Subject: [PATCH 08/20] fix: comment wrong methods
---
specs/composition/spec.yml | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/specs/composition/spec.yml b/specs/composition/spec.yml
index 2f46c42b416..f95a0c1ee68 100644
--- a/specs/composition/spec.yml
+++ b/specs/composition/spec.yml
@@ -126,26 +126,26 @@ paths:
# ########################
# ### Search Endpoints ###
# ########################
- /1/compositions/{compositionID}/run:
- $ref: 'paths/search/search.yml'
+ # /1/compositions/{compositionID}/run:
+ # $ref: 'paths/search/search.yml'
/1/compositions/{compositionID}/facets/{facetName}/query:
$ref: 'paths/search/searchForFacetValues.yml'
-
+ #
# #####################################
# ### Manage Compositions Endpoints ###
# #####################################
/1/compositions:
$ref: 'paths/compositions/list.yml'
- /1/compositions/{compositionID}:
- $ref: 'paths/compositions/composition.yml'
- /1/compositions/*/batch:
- $ref: 'paths/compositions/batch.yml'
-
+ # /1/compositions/{compositionID}:
+ # $ref: 'paths/compositions/composition.yml'
+ # /1/compositions/*/batch:
+ # $ref: 'paths/compositions/batch.yml'
+ #
# ##########################################
# ### Manage Composition Rules Endpoints ###
# ##########################################
- /1/compositions/{compositionID}/rules/{objectID}:
- $ref: 'paths/rules/rule.yml'
+ # /1/compositions/{compositionID}/rules/{objectID}:
+ # $ref: 'paths/rules/rule.yml'
/1/compositions/{compositionID}/rules/batch:
$ref: 'paths/rules/saveRules.yml'
/1/compositions/{compositionID}/rules/search:
From 8c2e35532a3a6560565b333861fda655faa9592e Mon Sep 17 00:00:00 2001
From: Pierre Millot
Date: Mon, 15 Sep 2025 16:53:55 +0200
Subject: [PATCH 09/20] format cts
---
.../requests/composition/multipleBatch.json | 50 ++++++++---
.../requests/composition/putComposition.json | 50 ++++++++---
.../composition/putCompositionRule.json | 82 +++++++++++++++----
tests/CTS/requests/composition/saveRules.json | 82 +++++++++++++++----
tests/CTS/requests/composition/search.json | 28 +++++--
5 files changed, 226 insertions(+), 66 deletions(-)
diff --git a/tests/CTS/requests/composition/multipleBatch.json b/tests/CTS/requests/composition/multipleBatch.json
index 413b022be9f..c1594bd0647 100644
--- a/tests/CTS/requests/composition/multipleBatch.json
+++ b/tests/CTS/requests/composition/multipleBatch.json
@@ -63,7 +63,6 @@
}
}
},
-
{
"parameters": {
"requests": [
@@ -146,7 +145,6 @@
}
}
},
-
{
"parameters": {
"requests": [
@@ -161,7 +159,9 @@
"source": {
"search": {
"index": "foo",
- "params": { "filters": "brand:adidas" }
+ "params": {
+ "filters": "brand:adidas"
+ }
}
}
},
@@ -185,8 +185,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
@@ -211,8 +217,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
@@ -241,7 +253,9 @@
"source": {
"search": {
"index": "foo",
- "params": { "filters": "brand:adidas" }
+ "params": {
+ "filters": "brand:adidas"
+ }
}
}
},
@@ -265,8 +279,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
@@ -291,8 +311,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
diff --git a/tests/CTS/requests/composition/putComposition.json b/tests/CTS/requests/composition/putComposition.json
index f0434ecc91b..51c45d266cb 100644
--- a/tests/CTS/requests/composition/putComposition.json
+++ b/tests/CTS/requests/composition/putComposition.json
@@ -62,7 +62,6 @@
}
}
},
-
{
"parameters": {
"compositionID": "my-external-injection-compo",
@@ -134,7 +133,6 @@
}
}
},
-
{
"parameters": {
"compositionID": "my-metadata-compo",
@@ -147,7 +145,9 @@
"source": {
"search": {
"index": "foo",
- "params": { "filters": "brand:adidas" }
+ "params": {
+ "filters": "brand:adidas"
+ }
}
}
},
@@ -171,8 +171,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
@@ -197,8 +203,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
@@ -221,7 +233,9 @@
"source": {
"search": {
"index": "foo",
- "params": { "filters": "brand:adidas" }
+ "params": {
+ "filters": "brand:adidas"
+ }
}
}
},
@@ -245,8 +259,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
@@ -271,8 +291,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
diff --git a/tests/CTS/requests/composition/putCompositionRule.json b/tests/CTS/requests/composition/putCompositionRule.json
index 30b692e9370..253dba8788f 100644
--- a/tests/CTS/requests/composition/putCompositionRule.json
+++ b/tests/CTS/requests/composition/putCompositionRule.json
@@ -77,7 +77,6 @@
}
}
},
-
{
"parameters": {
"compositionID": "compositionID",
@@ -120,8 +119,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
@@ -174,8 +179,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
@@ -188,7 +199,6 @@
}
}
},
-
{
"parameters": {
"compositionID": "compositionID",
@@ -196,12 +206,26 @@
"compositionRule": {
"objectID": "rule-with-exernal-source",
"description": "my description",
- "tags": ["tag1", "tag2"],
+ "tags": [
+ "tag1",
+ "tag2"
+ ],
"enabled": true,
- "validity": [{ "from": 1704063600, "until": 1704083600 }],
+ "validity": [
+ {
+ "from": 1704063600,
+ "until": 1704083600
+ }
+ ],
"conditions": [
- { "anchoring": "contains", "pattern": "harry" },
- { "anchoring": "contains", "pattern": "potter" }
+ {
+ "anchoring": "contains",
+ "pattern": "harry"
+ },
+ {
+ "anchoring": "contains",
+ "pattern": "potter"
+ }
],
"consequence": {
"behavior": {
@@ -210,7 +234,9 @@
"source": {
"search": {
"index": "my-index",
- "params": { "filters": "brand:adidas" }
+ "params": {
+ "filters": "brand:adidas"
+ }
}
}
},
@@ -220,7 +246,9 @@
"source": {
"external": {
"index": "my-index",
- "params": { "filters": "brand:adidas" },
+ "params": {
+ "filters": "brand:adidas"
+ },
"ordering": "userDefined"
}
},
@@ -239,12 +267,26 @@
"body": {
"objectID": "rule-with-exernal-source",
"description": "my description",
- "tags": ["tag1", "tag2"],
+ "tags": [
+ "tag1",
+ "tag2"
+ ],
"enabled": true,
- "validity": [{ "from": 1704063600, "until": 1704083600 }],
+ "validity": [
+ {
+ "from": 1704063600,
+ "until": 1704083600
+ }
+ ],
"conditions": [
- { "anchoring": "contains", "pattern": "harry" },
- { "anchoring": "contains", "pattern": "potter" }
+ {
+ "anchoring": "contains",
+ "pattern": "harry"
+ },
+ {
+ "anchoring": "contains",
+ "pattern": "potter"
+ }
],
"consequence": {
"behavior": {
@@ -253,7 +295,9 @@
"source": {
"search": {
"index": "my-index",
- "params": { "filters": "brand:adidas" }
+ "params": {
+ "filters": "brand:adidas"
+ }
}
}
},
@@ -263,7 +307,9 @@
"source": {
"external": {
"index": "my-index",
- "params": { "filters": "brand:adidas" },
+ "params": {
+ "filters": "brand:adidas"
+ },
"ordering": "userDefined"
}
},
diff --git a/tests/CTS/requests/composition/saveRules.json b/tests/CTS/requests/composition/saveRules.json
index beee5baecc8..0e59ae4d954 100644
--- a/tests/CTS/requests/composition/saveRules.json
+++ b/tests/CTS/requests/composition/saveRules.json
@@ -64,7 +64,6 @@
}
}
},
-
{
"parameters": {
"compositionID": "rule-with-metadata",
@@ -110,8 +109,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
@@ -171,8 +176,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
@@ -188,7 +199,6 @@
}
}
},
-
{
"parameters": {
"compositionID": "rule-with-exernal-source",
@@ -199,12 +209,26 @@
"body": {
"objectID": "rule-with-exernal-source",
"description": "my description",
- "tags": ["tag1", "tag2"],
+ "tags": [
+ "tag1",
+ "tag2"
+ ],
"enabled": true,
- "validity": [{ "from": 1704063600, "until": 1704083600 }],
+ "validity": [
+ {
+ "from": 1704063600,
+ "until": 1704083600
+ }
+ ],
"conditions": [
- { "anchoring": "contains", "pattern": "harry" },
- { "anchoring": "contains", "pattern": "potter" }
+ {
+ "anchoring": "contains",
+ "pattern": "harry"
+ },
+ {
+ "anchoring": "contains",
+ "pattern": "potter"
+ }
],
"consequence": {
"behavior": {
@@ -213,7 +237,9 @@
"source": {
"search": {
"index": "my-index",
- "params": { "filters": "brand:adidas" }
+ "params": {
+ "filters": "brand:adidas"
+ }
}
}
},
@@ -223,7 +249,9 @@
"source": {
"external": {
"index": "my-index",
- "params": { "filters": "brand:adidas" },
+ "params": {
+ "filters": "brand:adidas"
+ },
"ordering": "userDefined"
}
},
@@ -249,12 +277,26 @@
"body": {
"objectID": "rule-with-exernal-source",
"description": "my description",
- "tags": ["tag1", "tag2"],
+ "tags": [
+ "tag1",
+ "tag2"
+ ],
"enabled": true,
- "validity": [{ "from": 1704063600, "until": 1704083600 }],
+ "validity": [
+ {
+ "from": 1704063600,
+ "until": 1704083600
+ }
+ ],
"conditions": [
- { "anchoring": "contains", "pattern": "harry" },
- { "anchoring": "contains", "pattern": "potter" }
+ {
+ "anchoring": "contains",
+ "pattern": "harry"
+ },
+ {
+ "anchoring": "contains",
+ "pattern": "potter"
+ }
],
"consequence": {
"behavior": {
@@ -263,7 +305,9 @@
"source": {
"search": {
"index": "my-index",
- "params": { "filters": "brand:adidas" }
+ "params": {
+ "filters": "brand:adidas"
+ }
}
}
},
@@ -273,7 +317,9 @@
"source": {
"external": {
"index": "my-index",
- "params": { "filters": "brand:adidas" },
+ "params": {
+ "filters": "brand:adidas"
+ },
"ordering": "userDefined"
}
},
diff --git a/tests/CTS/requests/composition/search.json b/tests/CTS/requests/composition/search.json
index 6ca8776a0c7..132f568a2dd 100644
--- a/tests/CTS/requests/composition/search.json
+++ b/tests/CTS/requests/composition/search.json
@@ -3,14 +3,18 @@
"parameters": {
"compositionID": "foo",
"requestBody": {
- "params": { "query": "batman" }
+ "params": {
+ "query": "batman"
+ }
}
},
"request": {
"path": "/1/compositions/foo/run",
"method": "POST",
"body": {
- "params": { "query": "batman" }
+ "params": {
+ "query": "batman"
+ }
}
}
},
@@ -32,8 +36,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
@@ -61,8 +71,14 @@
"my-string": "string",
"my-bool": true,
"my-number": 42,
- "my-object": { "sub-key": "sub-value" },
- "my-array": [1, 2, 3],
+ "my-object": {
+ "sub-key": "sub-value"
+ },
+ "my-array": [
+ 1,
+ 2,
+ 3
+ ],
"my-empty-object": {}
}
}
From 2eb024ab7a85531aa20b28fbfe4334ebb10ad900 Mon Sep 17 00:00:00 2001
From: Pierre Millot
Date: Tue, 16 Sep 2025 11:01:48 +0200
Subject: [PATCH 10/20] tmp
---
.../codegen/cts/tests/TestsRequest.java | 1 +
specs/composition/spec.yml | 20 +++++++++----------
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java b/generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java
index 784e7075b90..50cd5a477ab 100644
--- a/generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java
+++ b/generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java
@@ -124,6 +124,7 @@ public void run(Map models, Map
Map test = new HashMap<>();
Request req = op[i];
test.put("method", operationId);
+ if (!operationId.equals("search")) {continue;}
test.put("testName", req.testName == null ? operationId : req.testName);
test.put("testIndex", i == 0 ? "" : i);
if (ope.returnType != null && ope.returnType.length() > 0) {
diff --git a/specs/composition/spec.yml b/specs/composition/spec.yml
index f95a0c1ee68..2f46c42b416 100644
--- a/specs/composition/spec.yml
+++ b/specs/composition/spec.yml
@@ -126,26 +126,26 @@ paths:
# ########################
# ### Search Endpoints ###
# ########################
- # /1/compositions/{compositionID}/run:
- # $ref: 'paths/search/search.yml'
+ /1/compositions/{compositionID}/run:
+ $ref: 'paths/search/search.yml'
/1/compositions/{compositionID}/facets/{facetName}/query:
$ref: 'paths/search/searchForFacetValues.yml'
- #
+
# #####################################
# ### Manage Compositions Endpoints ###
# #####################################
/1/compositions:
$ref: 'paths/compositions/list.yml'
- # /1/compositions/{compositionID}:
- # $ref: 'paths/compositions/composition.yml'
- # /1/compositions/*/batch:
- # $ref: 'paths/compositions/batch.yml'
- #
+ /1/compositions/{compositionID}:
+ $ref: 'paths/compositions/composition.yml'
+ /1/compositions/*/batch:
+ $ref: 'paths/compositions/batch.yml'
+
# ##########################################
# ### Manage Composition Rules Endpoints ###
# ##########################################
- # /1/compositions/{compositionID}/rules/{objectID}:
- # $ref: 'paths/rules/rule.yml'
+ /1/compositions/{compositionID}/rules/{objectID}:
+ $ref: 'paths/rules/rule.yml'
/1/compositions/{compositionID}/rules/batch:
$ref: 'paths/rules/saveRules.yml'
/1/compositions/{compositionID}/rules/search:
From 65596b18d9f91b437a810d5e6060a9f4438a090d Mon Sep 17 00:00:00 2001
From: Pierre Millot
Date: Tue, 16 Sep 2025 11:14:17 +0200
Subject: [PATCH 11/20] remove problematic generation
---
.../codegen/cts/tests/TestsRequest.java | 1 -
.../requests/composition/multipleBatch.json | 20 -------------------
.../requests/composition/putComposition.json | 20 -------------------
.../composition/putCompositionRule.json | 10 ----------
tests/CTS/requests/composition/saveRules.json | 10 ----------
tests/CTS/requests/composition/search.json | 10 ----------
6 files changed, 71 deletions(-)
diff --git a/generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java b/generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java
index 50cd5a477ab..784e7075b90 100644
--- a/generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java
+++ b/generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java
@@ -124,7 +124,6 @@ public void run(Map models, Map
Map test = new HashMap<>();
Request req = op[i];
test.put("method", operationId);
- if (!operationId.equals("search")) {continue;}
test.put("testName", req.testName == null ? operationId : req.testName);
test.put("testIndex", i == 0 ? "" : i);
if (ope.returnType != null && ope.returnType.length() > 0) {
diff --git a/tests/CTS/requests/composition/multipleBatch.json b/tests/CTS/requests/composition/multipleBatch.json
index c1594bd0647..67f919c67c8 100644
--- a/tests/CTS/requests/composition/multipleBatch.json
+++ b/tests/CTS/requests/composition/multipleBatch.json
@@ -188,11 +188,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
@@ -220,11 +215,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
@@ -282,11 +272,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
@@ -314,11 +299,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
diff --git a/tests/CTS/requests/composition/putComposition.json b/tests/CTS/requests/composition/putComposition.json
index 51c45d266cb..a0e9a84ca5b 100644
--- a/tests/CTS/requests/composition/putComposition.json
+++ b/tests/CTS/requests/composition/putComposition.json
@@ -174,11 +174,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
@@ -206,11 +201,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
@@ -262,11 +252,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
@@ -294,11 +279,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
diff --git a/tests/CTS/requests/composition/putCompositionRule.json b/tests/CTS/requests/composition/putCompositionRule.json
index 253dba8788f..299cc8b7beb 100644
--- a/tests/CTS/requests/composition/putCompositionRule.json
+++ b/tests/CTS/requests/composition/putCompositionRule.json
@@ -122,11 +122,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
@@ -182,11 +177,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
diff --git a/tests/CTS/requests/composition/saveRules.json b/tests/CTS/requests/composition/saveRules.json
index 0e59ae4d954..0372d4b921b 100644
--- a/tests/CTS/requests/composition/saveRules.json
+++ b/tests/CTS/requests/composition/saveRules.json
@@ -112,11 +112,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
@@ -179,11 +174,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
diff --git a/tests/CTS/requests/composition/search.json b/tests/CTS/requests/composition/search.json
index 132f568a2dd..04971d5136d 100644
--- a/tests/CTS/requests/composition/search.json
+++ b/tests/CTS/requests/composition/search.json
@@ -39,11 +39,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
@@ -74,11 +69,6 @@
"my-object": {
"sub-key": "sub-value"
},
- "my-array": [
- 1,
- 2,
- 3
- ],
"my-empty-object": {}
}
}
From c3f051fe31241361724d8ee06180f288647a13c4 Mon Sep 17 00:00:00 2001
From: Pierre Millot
Date: Tue, 16 Sep 2025 13:21:29 +0200
Subject: [PATCH 12/20] some fixes
---
.github/workflows/check.yml | 2 ++
.../com/algolia/codegen/AlgoliaSwiftGenerator.java | 2 +-
.../codegen/cts/tests/ParametersWithDataType.java | 14 +++++++-------
tests/CTS/requests/composition/multipleBatch.json | 4 +---
tests/output/javascript/yarn.lock | 7 -------
5 files changed, 11 insertions(+), 18 deletions(-)
diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml
index 3aa3e9fb042..d09bab160d0 100644
--- a/.github/workflows/check.yml
+++ b/.github/workflows/check.yml
@@ -316,6 +316,8 @@ jobs:
ALGOLIA_APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }}
ALGOLIA_ADMIN_KEY: ${{ secrets.ALGOLIA_ADMIN_KEY }}
MONITORING_API_KEY: ${{ secrets.MONITORING_API_KEY }}
+ METIS_APPLICATION_ID: ${{ secrets.METIS_APPLICATION_ID }}
+ METIS_API_KEY: ${{ secrets.METIS_API_KEY }}
outputs:
hasBreakingChanges: ${{ steps.breakingChanges.outputs.hasBreakingChanges }}
name: client ${{ matrix.client.language }}@${{ matrix.client.version }}
diff --git a/generators/src/main/java/com/algolia/codegen/AlgoliaSwiftGenerator.java b/generators/src/main/java/com/algolia/codegen/AlgoliaSwiftGenerator.java
index 73147d3d316..0911834c52a 100644
--- a/generators/src/main/java/com/algolia/codegen/AlgoliaSwiftGenerator.java
+++ b/generators/src/main/java/com/algolia/codegen/AlgoliaSwiftGenerator.java
@@ -161,7 +161,7 @@ public static String formatIdentifier(String text) {
}
public static Boolean isReservedModelName(String name, String client) {
- return reservedModelNames.contains(name.toLowerCase());
+ return client.equalsIgnoreCase("composition") || reservedModelNames.contains(name.toLowerCase());
}
public static String prefixReservedModelName(String name, String client) {
diff --git a/generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java b/generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java
index 9b538b0c79b..2458b158fdb 100644
--- a/generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java
+++ b/generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java
@@ -640,26 +640,26 @@ private String inferDataType(Object param, CodegenParameter spec, Map output) throws CTSException {
- switch (getTypeName(spec)) {
- case "String":
+ switch (getTypeName(spec).toLowerCase()) {
+ case "string":
output.put("isString", true);
break;
- case "UUID":
+ case "uuid":
output.put("isString", true);
break;
- case "Integer":
+ case "integer":
output.put("isInteger", true);
output.put("isNumber", true);
break;
- case "Long":
+ case "long":
output.put("isLong", true);
output.put("isNumber", true);
break;
- case "Double":
+ case "double":
output.put("isDouble", true);
output.put("isNumber", true);
break;
- case "Boolean":
+ case "boolean":
output.put("isBoolean", true);
break;
case "oas_any_type_not_mapped":
diff --git a/tests/CTS/requests/composition/multipleBatch.json b/tests/CTS/requests/composition/multipleBatch.json
index 67f919c67c8..ac01c772ef8 100644
--- a/tests/CTS/requests/composition/multipleBatch.json
+++ b/tests/CTS/requests/composition/multipleBatch.json
@@ -15,8 +15,7 @@
"index": "bar"
}
}
- },
- "injectedItems": []
+ }
}
}
}
@@ -39,7 +38,6 @@
"body": {
"behavior": {
"injection": {
- "injectedItems": [],
"main": {
"source": {
"search": {
diff --git a/tests/output/javascript/yarn.lock b/tests/output/javascript/yarn.lock
index 82aba42a82e..1f621c856ab 100644
--- a/tests/output/javascript/yarn.lock
+++ b/tests/output/javascript/yarn.lock
@@ -5,12 +5,6 @@ __metadata:
version: 8
cacheKey: 10
-"@algolia/client-composition@link:../../../clients/algoliasearch-client-javascript/packages/client-composition::locator=javascript-tests%40workspace%3A.":
- version: 0.0.0-use.local
- resolution: "@algolia/client-composition@link:../../../clients/algoliasearch-client-javascript/packages/client-composition::locator=javascript-tests%40workspace%3A."
- languageName: node
- linkType: soft
-
"@algolia/composition@link:../../../clients/algoliasearch-client-javascript/packages/composition::locator=javascript-tests%40workspace%3A.":
version: 0.0.0-use.local
resolution: "@algolia/composition@link:../../../clients/algoliasearch-client-javascript/packages/composition::locator=javascript-tests%40workspace%3A."
@@ -1019,7 +1013,6 @@ __metadata:
version: 0.0.0-use.local
resolution: "javascript-tests@workspace:."
dependencies:
- "@algolia/client-composition": "link:../../../clients/algoliasearch-client-javascript/packages/client-composition"
"@algolia/composition": "link:../../../clients/algoliasearch-client-javascript/packages/composition"
"@algolia/requester-testing": "link:../../../clients/algoliasearch-client-javascript/packages/requester-testing"
"@types/node": "npm:22.18.1"
From 8ddbdfa8ce6cfe84e3b857cd7640e8ca92fa0c9d Mon Sep 17 00:00:00 2001
From: Pierre Millot
Date: Tue, 16 Sep 2025 14:57:58 +0200
Subject: [PATCH 13/20] fix ruby
---
docker-compose.yml | 4 ++--
.../codegen/cts/lambda/RubyIdentifierLambda.java | 4 ++++
scripts/buildLanguages.ts | 5 ++++-
tests/CTS/requests/composition/multipleBatch.json | 12 ++++--------
tests/CTS/requests/composition/putComposition.json | 12 ++++--------
.../CTS/requests/composition/putCompositionRule.json | 6 ++----
tests/CTS/requests/composition/saveRules.json | 6 ++----
tests/CTS/requests/composition/search.json | 6 ++----
8 files changed, 24 insertions(+), 31 deletions(-)
diff --git a/docker-compose.yml b/docker-compose.yml
index 51082815d63..534b530d1f9 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -14,8 +14,8 @@ services:
- PYTHON_VERSION=${PYTHON_VERSION}
command: tail -f /dev/null
volumes: [./:/app]
- # ports:
- # - "5009:5009" # So we can debug the OpenAPI Generator process
+ ports:
+ - "5009:5009" # So we can debug the OpenAPI Generator process
ruby:
container_name: apic_ruby
diff --git a/generators/src/main/java/com/algolia/codegen/cts/lambda/RubyIdentifierLambda.java b/generators/src/main/java/com/algolia/codegen/cts/lambda/RubyIdentifierLambda.java
index f7a743a543a..29ca04fa9cd 100644
--- a/generators/src/main/java/com/algolia/codegen/cts/lambda/RubyIdentifierLambda.java
+++ b/generators/src/main/java/com/algolia/codegen/cts/lambda/RubyIdentifierLambda.java
@@ -27,6 +27,10 @@ public static String formatIdentifier(String text, boolean isParentFreeFormObjec
text = Helpers.toSnakeCase(text);
}
+ if (text.contains("-")) {
+ text = "'" + text + "'";
+ }
+
return text;
}
diff --git a/scripts/buildLanguages.ts b/scripts/buildLanguages.ts
index 3bfdb5603ee..b5e60b0621c 100644
--- a/scripts/buildLanguages.ts
+++ b/scripts/buildLanguages.ts
@@ -69,7 +69,10 @@ async function buildLanguage(language: Language, gens: Generator[], buildType: B
case 'kotlin':
// the playground specify search but it will still build everything
const isTestClass = buildType === 'guides' || buildType === 'snippets';
- await run(`./gradle/gradlew -p ${cwd} ${isTestClass ? 'testClasses' : 'assemble'} ${language == 'kotlin' ? '-Pclient=Search' : ''}`, { language });
+ await run(
+ `./gradle/gradlew -p ${cwd} ${isTestClass ? 'testClasses' : 'assemble'} ${language == 'kotlin' ? '-Pclient=Search' : ''}`,
+ { language },
+ );
break;
case 'php':
// await runComposerInstall();
diff --git a/tests/CTS/requests/composition/multipleBatch.json b/tests/CTS/requests/composition/multipleBatch.json
index ac01c772ef8..bdd71edc2d2 100644
--- a/tests/CTS/requests/composition/multipleBatch.json
+++ b/tests/CTS/requests/composition/multipleBatch.json
@@ -185,8 +185,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
}
@@ -212,8 +211,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
}
@@ -269,8 +267,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
}
@@ -296,8 +293,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
}
diff --git a/tests/CTS/requests/composition/putComposition.json b/tests/CTS/requests/composition/putComposition.json
index a0e9a84ca5b..e3af4f213d7 100644
--- a/tests/CTS/requests/composition/putComposition.json
+++ b/tests/CTS/requests/composition/putComposition.json
@@ -173,8 +173,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
}
@@ -200,8 +199,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
}
@@ -251,8 +249,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
}
@@ -278,8 +275,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
}
diff --git a/tests/CTS/requests/composition/putCompositionRule.json b/tests/CTS/requests/composition/putCompositionRule.json
index 299cc8b7beb..5af0d9c2282 100644
--- a/tests/CTS/requests/composition/putCompositionRule.json
+++ b/tests/CTS/requests/composition/putCompositionRule.json
@@ -121,8 +121,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
}
@@ -176,8 +175,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
}
diff --git a/tests/CTS/requests/composition/saveRules.json b/tests/CTS/requests/composition/saveRules.json
index 0372d4b921b..9a26525a897 100644
--- a/tests/CTS/requests/composition/saveRules.json
+++ b/tests/CTS/requests/composition/saveRules.json
@@ -111,8 +111,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
}
@@ -173,8 +172,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
}
diff --git a/tests/CTS/requests/composition/search.json b/tests/CTS/requests/composition/search.json
index 04971d5136d..8dfb0bee675 100644
--- a/tests/CTS/requests/composition/search.json
+++ b/tests/CTS/requests/composition/search.json
@@ -38,8 +38,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
]
@@ -68,8 +67,7 @@
"my-number": 42,
"my-object": {
"sub-key": "sub-value"
- },
- "my-empty-object": {}
+ }
}
}
]
From 2214b11702f017bc6af9cc2526a6c6267c09f5d0 Mon Sep 17 00:00:00 2001
From: Pierre Millot
Date: Tue, 16 Sep 2025 15:40:19 +0200
Subject: [PATCH 14/20] getting closer
---
.../codegen/cts/lambda/CSharpIdentifierLambda.java | 8 +++++++-
.../com/algolia/codegen/cts/manager/CSharpCTSManager.java | 2 +-
.../algolia/codegen/cts/tests/ParametersWithDataType.java | 2 ++
templates/csharp/snippets/method.mustache | 7 +++++--
templates/csharp/tests/e2e/e2e.mustache | 7 +++++--
templates/csharp/tests/requests/requests.mustache | 7 +++++--
templates/swift/client_configuration.mustache | 6 +++---
7 files changed, 28 insertions(+), 11 deletions(-)
diff --git a/generators/src/main/java/com/algolia/codegen/cts/lambda/CSharpIdentifierLambda.java b/generators/src/main/java/com/algolia/codegen/cts/lambda/CSharpIdentifierLambda.java
index ee41f7de522..51248765fe6 100644
--- a/generators/src/main/java/com/algolia/codegen/cts/lambda/CSharpIdentifierLambda.java
+++ b/generators/src/main/java/com/algolia/codegen/cts/lambda/CSharpIdentifierLambda.java
@@ -7,10 +7,16 @@
public class CSharpIdentifierLambda implements Mustache.Lambda {
+ private final String client;
+
+ public CSharpIdentifierLambda(String client) {
+ this.client = client;
+ }
+
@Override
public void execute(Template.Fragment frag, Writer out) throws IOException {
String text = frag.execute();
- if (text.equals("source")) {
+ if (client.equals("search") && text.equals("source")) {
out.write("varSource");
return;
diff --git a/generators/src/main/java/com/algolia/codegen/cts/manager/CSharpCTSManager.java b/generators/src/main/java/com/algolia/codegen/cts/manager/CSharpCTSManager.java
index 7c76fd6a9ae..5a53b605e94 100644
--- a/generators/src/main/java/com/algolia/codegen/cts/manager/CSharpCTSManager.java
+++ b/generators/src/main/java/com/algolia/codegen/cts/manager/CSharpCTSManager.java
@@ -48,6 +48,6 @@ public void addDataToBundle(Map bundle) throws GeneratorExceptio
@Override
public void addMustacheLambdas(Map lambdas) {
- lambdas.put("identifier", new CSharpIdentifierLambda());
+ lambdas.put("identifier", new CSharpIdentifierLambda(client));
}
}
diff --git a/generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java b/generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java
index 2458b158fdb..e9a9a0fe02b 100644
--- a/generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java
+++ b/generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java
@@ -547,6 +547,8 @@ private String getObjectNameForLanguage(String objectName) {
return "int";
case "String":
return "string";
+ case "search":
+ return "Algolia.Search.Models.Composition.Search"; // conflict with the Search namespace
}
break;
case "go":
diff --git a/templates/csharp/snippets/method.mustache b/templates/csharp/snippets/method.mustache
index bf35e715342..f9d519782fa 100644
--- a/templates/csharp/snippets/method.mustache
+++ b/templates/csharp/snippets/method.mustache
@@ -6,9 +6,12 @@
using Action = Algolia.Search.Models.Search.Action;
using Range = Algolia.Search.Models.Search.Range;
{{/isSearchClient}}
-{{^isSearchClient}}
+{{#isIngestionClient}}
using Action = Algolia.Search.Models.Ingestion.Action;
-{{/isSearchClient}}
+{{/isIngestionClient}}
+{{#isCompositionClient}}
+using Action = Algolia.Search.Models.Composition.Action;
+{{/isCompositionClient}}
public class Snippet{{client}}
{
diff --git a/templates/csharp/tests/e2e/e2e.mustache b/templates/csharp/tests/e2e/e2e.mustache
index b2ccf710561..1b443e5a7ca 100644
--- a/templates/csharp/tests/e2e/e2e.mustache
+++ b/templates/csharp/tests/e2e/e2e.mustache
@@ -12,9 +12,12 @@ using dotenv.net;
using Action = Algolia.Search.Models.Search.Action;
using Range = Algolia.Search.Models.Search.Range;
{{/isSearchClient}}
-{{^isSearchClient}}
+{{#isIngestionClient}}
using Action = Algolia.Search.Models.Ingestion.Action;
-{{/isSearchClient}}
+{{/isIngestionClient}}
+{{#isCompositionClient}}
+using Action = Algolia.Search.Models.Composition.Action;
+{{/isCompositionClient}}
namespace Algolia.Search.e2e;
diff --git a/templates/csharp/tests/requests/requests.mustache b/templates/csharp/tests/requests/requests.mustache
index d743d577832..91e63412a7a 100644
--- a/templates/csharp/tests/requests/requests.mustache
+++ b/templates/csharp/tests/requests/requests.mustache
@@ -12,9 +12,12 @@ using dotenv.net;
using Action = Algolia.Search.Models.Search.Action;
using Range = Algolia.Search.Models.Search.Range;
{{/isSearchClient}}
-{{^isSearchClient}}
+{{#isIngestionClient}}
using Action = Algolia.Search.Models.Ingestion.Action;
-{{/isSearchClient}}
+{{/isIngestionClient}}
+{{#isCompositionClient}}
+using Action = Algolia.Search.Models.Composition.Action;
+{{/isCompositionClient}}
namespace Algolia.Search.requests;
diff --git a/templates/swift/client_configuration.mustache b/templates/swift/client_configuration.mustache
index cffd1509a51..c3d1acad7aa 100644
--- a/templates/swift/client_configuration.mustache
+++ b/templates/swift/client_configuration.mustache
@@ -29,8 +29,8 @@ public struct {{#lambda.client-to-name}}{{{client}}}{{/lambda.client-to-name}}Cl
readTimeout: TimeInterval = {{#lambda.toSeconds}}{{x-timeouts.server.read}}{{/lambda.toSeconds}},
logLevel: LogLevel = DefaultConfiguration.default.logLevel,
defaultHeaders: [String: String]? = DefaultConfiguration.default.defaultHeaders,
- hosts: [RetryableHost]? = nil{{#isSearchClient}},
- compression: CompressionAlgorithm = .none{{/isSearchClient}}
+ hosts: [RetryableHost]? = nil,
+ compression: CompressionAlgorithm = .none
) throws {
guard !appID.isEmpty else {
throw AlgoliaError.invalidCredentials("appId")
@@ -50,7 +50,7 @@ public struct {{#lambda.client-to-name}}{{{client}}}{{/lambda.client-to-name}}Cl
"X-Algolia-API-Key": apiKey,
"Content-Type": "application/json"
].merging(defaultHeaders ?? [:]) { (_, new) in new }
- self.compression = {{#isSearchClient}}compression{{/isSearchClient}}{{^isSearchClient}}.none{{/isSearchClient}}
+ self.compression = compression
UserAgentController.append(UserAgent(title: "{{#lambda.client-to-name}}{{client}}{{/lambda.client-to-name}}", version: Version.current.description))
From 276da134d7bdd03f1d8b06f64c40cecec1351ada Mon Sep 17 00:00:00 2001
From: Pierre Millot
Date: Tue, 16 Sep 2025 16:19:42 +0200
Subject: [PATCH 15/20] fix dart
---
.../lib/FormDataProcessor.php | 6 +++---
.../algolia/codegen/AlgoliaDartGenerator.java | 16 +++++++++-------
.../codegen/cts/manager/DartCTSManager.java | 13 +++++++++++++
templates/dart/tests/request_param.mustache | 2 +-
.../CTS/requests/composition/multipleBatch.json | 6 +++---
5 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/clients/algoliasearch-client-php/lib/FormDataProcessor.php b/clients/algoliasearch-client-php/lib/FormDataProcessor.php
index bc221fd9856..59deec30754 100644
--- a/clients/algoliasearch-client-php/lib/FormDataProcessor.php
+++ b/clients/algoliasearch-client-php/lib/FormDataProcessor.php
@@ -12,9 +12,9 @@
*/
/**
- * Search API.
+ * Composition API.
*
- * The Algolia Search API lets you search, configure, and manage your indices and records. ## Client libraries Use Algolia's API clients and libraries to reliably integrate Algolia's APIs with your apps. The official API clients are covered by Algolia's [Service Level Agreement](https://www.algolia.com/policies/sla/). See: [Algolia's ecosystem](https://www.algolia.com/doc/guides/getting-started/how-algolia-works/in-depth/ecosystem/) ## Base URLs The base URLs for requests to the Search API are: - `https://{APPLICATION_ID}.algolia.net` - `https://{APPLICATION_ID}-dsn.algolia.net`. If your subscription includes a [Distributed Search Network](https://dashboard.algolia.com/infra), this ensures that requests are sent to servers closest to users. Both URLs provide high availability by distributing requests with load balancing. **All requests must use HTTPS.** ## Retry strategy To guarantee high availability, implement a retry strategy for all API requests using the URLs of your servers as fallbacks: - `https://{APPLICATION_ID}-1.algolianet.com` - `https://{APPLICATION_ID}-2.algolianet.com` - `https://{APPLICATION_ID}-3.algolianet.com` These URLs use a different DNS provider than the primary URLs. You should randomize this list to ensure an even load across the three servers. All Algolia API clients implement this retry strategy. ## Authentication To authenticate your API requests, add these headers: - `x-algolia-application-id`. Your Algolia application ID. - `x-algolia-api-key`. An API key with the necessary permissions to make the request. The required access control list (ACL) to make a request is listed in each endpoint's reference. You can find your application ID and API key in the [Algolia dashboard](https://dashboard.algolia.com/account). ## Request format Depending on the endpoint, request bodies are either JSON objects or arrays of JSON objects, ## Parameters Parameters are passed as query parameters for GET and DELETE requests, and in the request body for POST and PUT requests. Query parameters must be [URL-encoded](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding). Non-ASCII characters must be UTF-8 encoded. Plus characters (`+`) are interpreted as spaces. Arrays as query parameters must be one of: - A comma-separated string: `attributesToRetrieve=title,description` - A URL-encoded JSON array: `attributesToRetrieve=%5B%22title%22,%22description%22%D` ## Response status and errors The Search API returns JSON responses. Since JSON doesn't guarantee any specific ordering, don't rely on the order of attributes in the API response. Successful responses return a `2xx` status. Client errors return a `4xx` status. Server errors are indicated by a `5xx` status. Error responses have a `message` property with more information. ## Version The current version of the Search API is version 1, as indicated by the `/1/` in each endpoint's URL.
+ * The Algolia Composition API lets you run composed search requests on your Compositions. ## Client libraries Use Algolia's API clients and libraries to reliably integrate Algolia's APIs with your apps. See: [Algolia's ecosystem](https://www.algolia.com/doc/guides/getting-started/how-algolia-works/in-depth/ecosystem/) ## Base URLs The base URLs for requests to the Composition API are: - `https://{APPLICATION_ID}.algolia.net` - `https://{APPLICATION_ID}-dsn.algolia.net`. If your subscription includes a [Distributed Search Network](https://dashboard.algolia.com/infra), this ensures that requests are sent to servers closest to users. Both URLs provide high availability by distributing requests with load balancing. **All requests must use HTTPS.** ## Retry strategy To guarantee high availability, implement a retry strategy for all API requests using the URLs of your servers as fallbacks: - `https://{APPLICATION_ID}-1.algolianet.com` - `https://{APPLICATION_ID}-2.algolianet.com` - `https://{APPLICATION_ID}-3.algolianet.com` These URLs use a different DNS provider than the primary URLs. You should randomize this list to ensure an even load across the three servers. All Algolia API clients implement this retry strategy. ## Authentication To authenticate your API requests, add these headers: - `x-algolia-application-id`. Your Algolia application ID. - `x-algolia-api-key`. An API key with the necessary permissions to make the request. The required access control list (ACL) to make a request is listed in each endpoint's reference. You can find your application ID and API key in the [Algolia dashboard](https://dashboard.algolia.com/account). ## Request format Depending on the endpoint, request bodies are either JSON objects or arrays of JSON objects, ## Parameters Parameters are passed in the request body for POST and PUT requests. Query parameters must be [URL-encoded](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding). Non-ASCII characters must be UTF-8 encoded. Plus characters (`+`) are interpreted as spaces. ## Response status and errors The Composition API returns JSON responses. Since JSON doesn't guarantee any specific ordering, don't rely on the order of attributes in the API response. Successful responses return a `2xx` status. Client errors return a `4xx` status. Server errors are indicated by a `5xx` status. Error responses have a `message` property with more information. ## Version The current version of the Composition API is version 1, as indicated by the `/1/` in each endpoint's URL.
*
* The version of the OpenAPI document: 1.0.0
* Generated by: https://openapi-generator.tech
@@ -29,7 +29,7 @@
namespace Algolia\AlgoliaSearch;
-use Algolia\AlgoliaSearch\Model\Search\ModelInterface;
+use Algolia\AlgoliaSearch\Model\Composition\ModelInterface;
use DateTime;
use GuzzleHttp\Psr7\Utils;
use Psr\Http\Message\StreamInterface;
diff --git a/generators/src/main/java/com/algolia/codegen/AlgoliaDartGenerator.java b/generators/src/main/java/com/algolia/codegen/AlgoliaDartGenerator.java
index 34e25406e7d..caa118a96b6 100644
--- a/generators/src/main/java/com/algolia/codegen/AlgoliaDartGenerator.java
+++ b/generators/src/main/java/com/algolia/codegen/AlgoliaDartGenerator.java
@@ -3,8 +3,6 @@
import static org.apache.commons.lang3.StringUtils.*;
import com.algolia.codegen.utils.*;
-import com.google.common.collect.ImmutableMap;
-import com.samskivert.mustache.Mustache;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.Operation;
import io.swagger.v3.oas.models.servers.Server;
@@ -112,11 +110,6 @@ public void processOpts() {
additionalProperties.put("packageVersion", version);
}
- @Override
- protected ImmutableMap.Builder addMustacheLambdas() {
- return super.addMustacheLambdas();
- }
-
@Override
public void processOpenAPI(OpenAPI openAPI) {
super.processOpenAPI(openAPI);
@@ -153,6 +146,15 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List supportingFiles) {
supportingFiles.add(new SupportingFile("pubspec.tests.mustache", "tests/output/dart/pubspec.yaml"));
supportingFiles.add(new SupportingFile("pubspec_overrides.tests.mustache", "tests/output/dart/pubspec_overrides.yaml"));
}
+
+ @Override
+ public void addMustacheLambdas(Map lambdas) {
+ lambdas.put("identifier", (fragment, writer) -> {
+ String text = fragment.execute();
+ if (text.equals("external")) {
+ writer.write("external_");
+ } else {
+ writer.write(text);
+ }
+ });
+ }
}
diff --git a/templates/dart/tests/request_param.mustache b/templates/dart/tests/request_param.mustache
index 6b8f94c4146..b27bf4cfb15 100644
--- a/templates/dart/tests/request_param.mustache
+++ b/templates/dart/tests/request_param.mustache
@@ -1,5 +1,5 @@
{{^isAdditionalProperty}}
-{{#lambda.camelcase}}{{{key}}}{{/lambda.camelcase}} : {{> tests/param_value}},
+{{#lambda.identifier}}{{{key}}}{{/lambda.identifier}} : {{> tests/param_value}},
{{/isAdditionalProperty}}
{{#isAdditionalProperty}}
additionalProperties : { '{{{key}}}' : '{{{value}}}' },
diff --git a/tests/CTS/requests/composition/multipleBatch.json b/tests/CTS/requests/composition/multipleBatch.json
index bdd71edc2d2..063a2888c82 100644
--- a/tests/CTS/requests/composition/multipleBatch.json
+++ b/tests/CTS/requests/composition/multipleBatch.json
@@ -36,6 +36,8 @@
{
"action": "upsert",
"body": {
+ "objectID": "foo",
+ "name": "my first composition",
"behavior": {
"injection": {
"main": {
@@ -46,9 +48,7 @@
}
}
}
- },
- "name": "my first composition",
- "objectID": "foo"
+ }
}
},
{
From a51cd819b6d5a88d6904776cb336af85f93fbc27 Mon Sep 17 00:00:00 2001
From: Pierre Millot
Date: Thu, 18 Sep 2025 12:15:58 +0200
Subject: [PATCH 16/20] skip kotlin
---
.../codegen/cts/tests/ParametersWithDataType.java | 2 --
.../java/com/algolia/codegen/cts/tests/Request.java | 2 ++
.../java/com/algolia/codegen/cts/tests/Snippet.java | 1 +
.../algolia/codegen/cts/tests/SnippetsGenerator.java | 4 ++++
.../com/algolia/codegen/cts/tests/TestsRequest.java | 10 ++++++++++
scripts/common.ts | 11 ++++++++---
scripts/docker/Dockerfile.base | 4 ++--
tests/CTS/requests/composition/multipleBatch.json | 6 ++++++
tests/CTS/requests/composition/putComposition.json | 3 +++
.../CTS/requests/composition/putCompositionRule.json | 3 +++
tests/CTS/requests/composition/saveRules.json | 3 +++
tests/CTS/requests/composition/search.json | 3 +++
12 files changed, 45 insertions(+), 7 deletions(-)
diff --git a/generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java b/generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java
index e9a9a0fe02b..18b0601c8e1 100644
--- a/generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java
+++ b/generators/src/main/java/com/algolia/codegen/cts/tests/ParametersWithDataType.java
@@ -473,9 +473,7 @@ private void handleMap(String paramName, Object param, Map testO
}
Map vars = (Map) param;
-
List