diff --git a/clients/algoliasearch-client-javascript/package.json b/clients/algoliasearch-client-javascript/package.json index c70f3c71712..ce6113e1692 100644 --- a/clients/algoliasearch-client-javascript/package.json +++ b/clients/algoliasearch-client-javascript/package.json @@ -7,7 +7,7 @@ "packages/*" ], "scripts": { - "build": "lerna run build --skip-nx-cache --scope '@algolia/requester-testing' --scope '@algolia/logger-console' --scope 'algoliasearch' --scope '@algolia/client-composition' --scope '@algolia/composition' --include-dependencies", + "build": "lerna run build --skip-nx-cache --scope '@algolia/requester-testing' --scope '@algolia/logger-console' --scope 'algoliasearch' --scope '@algolia/client-composition' --scope '@algolia/composition' --scope '@algolia/advanced-personalization' --include-dependencies ", "clean": "lerna run clean", "release:publish": "tsc --project scripts/tsconfig.json && node scripts/dist/publish.js", "test": "lerna run test $*", diff --git a/clients/algoliasearch-client-javascript/yarn.lock b/clients/algoliasearch-client-javascript/yarn.lock index d207f7d2f8c..4a01437c86d 100644 --- a/clients/algoliasearch-client-javascript/yarn.lock +++ b/clients/algoliasearch-client-javascript/yarn.lock @@ -5,6 +5,23 @@ __metadata: version: 8 cacheKey: 10 +"@algolia/advanced-personalization@workspace:packages/advanced-personalization": + version: 0.0.0-use.local + resolution: "@algolia/advanced-personalization@workspace:packages/advanced-personalization" + dependencies: + "@algolia/client-common": "npm:5.27.0" + "@algolia/requester-browser-xhr": "npm:5.27.0" + "@algolia/requester-fetch": "npm:5.27.0" + "@algolia/requester-node-http": "npm:5.27.0" + "@arethetypeswrong/cli": "npm:0.18.2" + "@types/node": "npm:22.15.30" + publint: "npm:0.3.12" + rollup: "npm:4.41.0" + tsup: "npm:8.5.0" + typescript: "npm:5.8.3" + languageName: unknown + linkType: soft + "@algolia/client-abtesting@npm:5.27.0, @algolia/client-abtesting@workspace:packages/client-abtesting": version: 0.0.0-use.local resolution: "@algolia/client-abtesting@workspace:packages/client-abtesting" diff --git a/config/clients.config.json b/config/clients.config.json index a704288f803..110b44a9bcc 100644 --- a/config/clients.config.json +++ b/config/clients.config.json @@ -163,6 +163,11 @@ "name": "personalization", "output": "clients/algoliasearch-client-javascript/packages/client-personalization" }, + { + "name": "advanced-personalization", + "output": "clients/algoliasearch-client-javascript/packages/advanced-personalization", + "isStandaloneClient": true + }, { "name": "query-suggestions", "output": "clients/algoliasearch-client-javascript/packages/client-query-suggestions" diff --git a/config/clients.schema.json b/config/clients.schema.json index b4dac879126..610793663e9 100644 --- a/config/clients.schema.json +++ b/config/clients.schema.json @@ -18,6 +18,7 @@ "insights", "monitoring", "personalization", + "advanced-personalization", "query-suggestions", "recommend", "search" @@ -41,6 +42,7 @@ "insights", "monitoring", "personalization", + "advanced-personalization", "query-suggestions", "recommend", "search" 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 e77e1596ddb..3d9a988313a 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 @@ -83,11 +83,11 @@ public void run(Map models, Map bundle.put( "e2eAppID", - client.startsWith("composition") || client.startsWith("realtime") ? "METIS_APPLICATION_ID" : "ALGOLIA_APPLICATION_ID" + client.startsWith("composition") || client.startsWith("advanced-personalization") ? "METIS_APPLICATION_ID" : "ALGOLIA_APPLICATION_ID" ); bundle.put( "e2eApiKey", - client.startsWith("composition") || client.startsWith("realtime") + client.startsWith("composition") || client.startsWith("advanced-personalization") ? "METIS_API_KEY" : (client.equals("monitoring") ? "MONITORING_API_KEY" : "ALGOLIA_ADMIN_KEY") ); diff --git a/playground/javascript/node/advancedPersonalization.ts b/playground/javascript/node/advancedPersonalization.ts new file mode 100644 index 00000000000..b6aa5ee3f04 --- /dev/null +++ b/playground/javascript/node/advancedPersonalization.ts @@ -0,0 +1,24 @@ +import { advancedPersonalizationClient } from '@algolia/advanced-personalization'; +import { ApiError } from '@algolia/client-common'; + +const appId = process.env.ALGOLIA_APPLICATION_ID || '**** APP_ID *****'; +const apiKey = process.env.ALGOLIA_RECOMMENDATION_KEY || '**** RECOMMENDATION_API_KEY *****'; + +// Init client with appId and apiKey +const client = advancedPersonalizationClient(appId, apiKey, 'eu'); + +async function testPersonalization() { + try { + const res = await client.computeRealtimeUser({ userToken: 'userToken' }); + + console.log(`[OK]`, res); + } catch (e) { + if (e instanceof ApiError) { + return console.log(`[${e.status}] ${e.message}`, e.stackTrace); + } + + console.log('[ERROR]', e); + } +} + +testPersonalization(); diff --git a/playground/javascript/node/package.json b/playground/javascript/node/package.json index cacc70ff2c7..2e7989146c6 100644 --- a/playground/javascript/node/package.json +++ b/playground/javascript/node/package.json @@ -7,6 +7,7 @@ "start": "tsc && node --env-file=../../.env dist/$0.js" }, "dependencies": { + "@algolia/advanced-personalization": "link:../../../clients/algoliasearch-client-javascript/packages/advanced-personalization", "@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", @@ -14,7 +15,6 @@ "@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", - "@algolia/client-realtime-personalization": "link:../../../clients/algoliasearch-client-javascript/packages/client-realtime-personalization", "@algolia/client-search": "link:../../../clients/algoliasearch-client-javascript/packages/client-search", "@algolia/composition": "link:../../../clients/algoliasearch-client-javascript/packages/composition", "@algolia/ingestion": "link:../../../clients/algoliasearch-client-javascript/packages/ingestion", diff --git a/scripts/common.ts b/scripts/common.ts index d2adf1158f0..58cc7e20b41 100644 --- a/scripts/common.ts +++ b/scripts/common.ts @@ -71,13 +71,9 @@ export const GENERATORS = Object.entries(clientsConfig).reduce( export const LANGUAGES = [...new Set(Object.values(GENERATORS).map((gen) => gen.language))]; -// `crawler` and `advanced-personalization` are manually added so we can still bundled and validate the specs +// `crawler` is manually added so we can still bundled and validate the specs // the entry can be removed once at least one client is generated -export const CLIENTS = [ - ...new Set(Object.values(GENERATORS).map((gen) => gen.client)), - 'crawler', - 'advanced-personalization', -]; +export const CLIENTS = [...new Set(Object.values(GENERATORS).map((gen) => gen.client)), 'crawler']; export async function run(command: string, { errorMessage, cwd, language }: RunOptions = {}): Promise { const realCwd = path.resolve(ROOT_DIR, cwd ?? '.'); diff --git a/specs/advanced-personalization/common/enums.yml b/specs/advanced-personalization/common/enums.yml index ac26bf6f3d9..b2d14b7064e 100644 --- a/specs/advanced-personalization/common/enums.yml +++ b/specs/advanced-personalization/common/enums.yml @@ -21,3 +21,11 @@ sourceType: title: type type: string enum: [insights] + +strategy: + type: string + enum: + - session + - historical + - hybrid + example: 'session' diff --git a/specs/realtime-personalization/common/parameters.yml b/specs/advanced-personalization/common/parameters.yml similarity index 100% rename from specs/realtime-personalization/common/parameters.yml rename to specs/advanced-personalization/common/parameters.yml diff --git a/specs/realtime-personalization/common/schemas/user.yml b/specs/advanced-personalization/common/schemas/RealtimeUser.yml similarity index 100% rename from specs/realtime-personalization/common/schemas/user.yml rename to specs/advanced-personalization/common/schemas/RealtimeUser.yml diff --git a/specs/realtime-personalization/paths/computeUser.yml b/specs/advanced-personalization/paths/computeRealtimeUser.yml similarity index 95% rename from specs/realtime-personalization/paths/computeUser.yml rename to specs/advanced-personalization/paths/computeRealtimeUser.yml index 4bc2b761dc8..7dab74f547c 100644 --- a/specs/realtime-personalization/paths/computeUser.yml +++ b/specs/advanced-personalization/paths/computeRealtimeUser.yml @@ -1,7 +1,7 @@ post: tags: - users - operationId: computeUser + operationId: computeRealtimeUser x-acl: - recommendation summary: Compute the user's personalization profile diff --git a/specs/realtime-personalization/paths/getUser.yml b/specs/advanced-personalization/paths/getRealtimeUser.yml similarity index 87% rename from specs/realtime-personalization/paths/getUser.yml rename to specs/advanced-personalization/paths/getRealtimeUser.yml index b05cd321582..3e9f1949505 100644 --- a/specs/realtime-personalization/paths/getUser.yml +++ b/specs/advanced-personalization/paths/getRealtimeUser.yml @@ -1,7 +1,7 @@ get: tags: - users - operationId: getUser + operationId: getRealtimeUser x-acl: - recommendation summary: Retrieve the user's personalization profile @@ -14,7 +14,7 @@ get: content: application/json: schema: - $ref: '../common/schemas/user.yml#/user' + $ref: '../common/schemas/RealtimeUser.yml#/user' '400': $ref: '../../common/responses/BadRequest.yml' '402': diff --git a/specs/advanced-personalization/spec.yml b/specs/advanced-personalization/spec.yml index c969edea51e..8c88c2ad50d 100644 --- a/specs/advanced-personalization/spec.yml +++ b/specs/advanced-personalization/spec.yml @@ -114,3 +114,19 @@ paths: /2/users/{userID}: $ref: 'paths/user.yml' + + # ################# + # ### Real-time ### + # ################# + + /2/realtime/users/{userToken}: + $ref: 'paths/getRealtimeUser.yml' + + /2/realtime/users/{userToken}/compute: + $ref: 'paths/computeRealtimeUser.yml' + + # ############### + # ### Helpers ### + # ############### + /setClientApiKey: + $ref: '../common/helpers/setClientApiKey.yml#/method' diff --git a/specs/realtime-personalization/common/enums.yml b/specs/realtime-personalization/common/enums.yml deleted file mode 100644 index 054ab2e1462..00000000000 --- a/specs/realtime-personalization/common/enums.yml +++ /dev/null @@ -1,7 +0,0 @@ -strategy: - type: string - enum: - - session - - historical - - hybrid - example: 'session' diff --git a/specs/realtime-personalization/spec.yml b/specs/realtime-personalization/spec.yml deleted file mode 100644 index 1cdf3dcab60..00000000000 --- a/specs/realtime-personalization/spec.yml +++ /dev/null @@ -1,54 +0,0 @@ -openapi: 3.0.2 -info: - title: Realtime Personalization API - description: TODO - version: 0.0.1 -externalDocs: - # TODO: Update the URL - url: https://www.algolia.com/doc/guides/personalization/what-is-personalization/ - description: | - Related guide: Algolia Realtime Personalization. -components: - securitySchemes: - appId: - $ref: '../common/securitySchemes.yml#/appId' - apiKey: - $ref: '../common/securitySchemes.yml#/apiKey' -servers: - - url: https://ai-personalization.{region}.algolia.com - variables: - region: - description: | - Use the URL that matches your [analytics region](https://dashboard.algolia.com/account/infrastructure/analytics). - enum: [eu, us] - default: eu -security: - - appId: [] - apiKey: [] -tags: - - name: users - x-displayName: Users - description: | - User profiles contains the search filters each user has for the different facets in your index. -x-tagGroups: - - name: General - tags: - - filters -paths: - # ###################### - # ### Custom request ### - # ###################### - /{path}: - $ref: '../common/paths/customRequest.yml' - - # ############### - # ### Helpers ### - # ############### - /setClientApiKey: - $ref: '../common/helpers/setClientApiKey.yml#/method' - - /2/realtime/users/{userToken}: - $ref: 'paths/getUser.yml' - - /2/realtime/users/{userToken}/compute: - $ref: 'paths/computeUser.yml' diff --git a/tests/CTS/client/advanced-personalization/parameters.json b/tests/CTS/client/advanced-personalization/parameters.json new file mode 100644 index 00000000000..04f947aa8e6 --- /dev/null +++ b/tests/CTS/client/advanced-personalization/parameters.json @@ -0,0 +1,50 @@ +[ + { + "testName": "throws when region is not given", + "autoCreateClient": false, + "steps": [ + { + "type": "createClient", + "parameters": { + "appId": "my-app-id", + "apiKey": "my-api-key", + "region": "" + }, + "expected": { + "error": "`region` is required and must be one of the following: eu, us" + } + } + ] + }, + { + "testName": "throws when incorrect region is given", + "autoCreateClient": false, + "steps": [ + { + "type": "createClient", + "parameters": { + "appId": "my-app-id", + "apiKey": "my-api-key", + "region": "not_a_region" + }, + "expected": { + "error": "`region` is required and must be one of the following: eu, us" + } + } + ] + }, + { + "testName": "does not throw when region is given", + "autoCreateClient": false, + "steps": [ + { + "type": "createClient", + "parameters": { + "appId": "my-app-id", + "apiKey": "my-api-key", + "region": "us" + } + } + ] + } +] diff --git a/tests/CTS/client/realtime-personalization/api.json b/tests/CTS/client/realtime-personalization/api.json deleted file mode 100644 index 77527df8f6c..00000000000 --- a/tests/CTS/client/realtime-personalization/api.json +++ /dev/null @@ -1,19 +0,0 @@ -[ - { - "testName": "throws when incorrect region is given", - "autoCreateClient": false, - "steps": [ - { - "type": "createClient", - "parameters": { - "appId": "my-app-id", - "apiKey": "my-api-key", - "region": "not_a_region" - }, - "expected": { - "error": "`region` is required and must be one of the following: eu, us" - } - } - ] - } -] diff --git a/tests/CTS/requests/advanced-personalization/computeRealtimeUser.json b/tests/CTS/requests/advanced-personalization/computeRealtimeUser.json new file mode 100644 index 00000000000..f965fab8c88 --- /dev/null +++ b/tests/CTS/requests/advanced-personalization/computeRealtimeUser.json @@ -0,0 +1,11 @@ +[ + { + "parameters": { + "userToken": "foo" + }, + "request": { + "path": "/2/realtime/users/foo/compute", + "method": "POST" + } + } +] diff --git a/tests/CTS/requests/advanced-personalization/deleteUser.json b/tests/CTS/requests/advanced-personalization/deleteUser.json new file mode 100644 index 00000000000..0598d6a2e17 --- /dev/null +++ b/tests/CTS/requests/advanced-personalization/deleteUser.json @@ -0,0 +1,11 @@ +[ + { + "parameters": { + "userID": "user-1" + }, + "request": { + "path": "/2/users/user-1", + "method": "DELETE" + } + } +] diff --git a/tests/CTS/requests/advanced-personalization/getConfig.json b/tests/CTS/requests/advanced-personalization/getConfig.json new file mode 100644 index 00000000000..99b86fb6411 --- /dev/null +++ b/tests/CTS/requests/advanced-personalization/getConfig.json @@ -0,0 +1,8 @@ +[ + { + "request": { + "path": "/2/config", + "method": "GET" + } + } +] diff --git a/tests/CTS/requests/realtime-personalization/getUser.json b/tests/CTS/requests/advanced-personalization/getRealtimeUser.json similarity index 100% rename from tests/CTS/requests/realtime-personalization/getUser.json rename to tests/CTS/requests/advanced-personalization/getRealtimeUser.json diff --git a/tests/CTS/requests/advanced-personalization/getUser.json b/tests/CTS/requests/advanced-personalization/getUser.json new file mode 100644 index 00000000000..2ca666e1811 --- /dev/null +++ b/tests/CTS/requests/advanced-personalization/getUser.json @@ -0,0 +1,11 @@ +[ + { + "parameters": { + "userID": "user-1" + }, + "request": { + "path": "/2/users/user-1", + "method": "GET" + } + } +] diff --git a/tests/CTS/requests/advanced-personalization/getUsers.json b/tests/CTS/requests/advanced-personalization/getUsers.json new file mode 100644 index 00000000000..1944c01c223 --- /dev/null +++ b/tests/CTS/requests/advanced-personalization/getUsers.json @@ -0,0 +1,14 @@ +[ + { + "parameters": { + "indices": ["indexName"] + }, + "request": { + "path": "/2/users", + "method": "GET", + "queryParameters": { + "indices": "indexName" + } + } + } +] diff --git a/tests/CTS/requests/advanced-personalization/putConfig.json b/tests/CTS/requests/advanced-personalization/putConfig.json new file mode 100644 index 00000000000..c9eee7a2fc9 --- /dev/null +++ b/tests/CTS/requests/advanced-personalization/putConfig.json @@ -0,0 +1,28 @@ +[ + { + "parameters": { + "indices": [], + "personalizationReRanking": "maximum", + "profileType": "basic", + "features": { + "realtime": { + "enabled": false + } + } + }, + "request": { + "path": "/2/config", + "method": "PUT", + "body": { + "features": { + "realtime": { + "enabled": false + } + }, + "indices": [], + "personalizationReRanking": "maximum", + "profileType": "basic" + } + } + } +] diff --git a/tests/output/javascript/yarn.lock b/tests/output/javascript/yarn.lock index 170f013d597..fd8cca05ea6 100644 --- a/tests/output/javascript/yarn.lock +++ b/tests/output/javascript/yarn.lock @@ -420,33 +420,33 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:22.15.29": - version: 22.15.29 - resolution: "@types/node@npm:22.15.29" +"@types/node@npm:22.15.30": + version: 22.15.30 + resolution: "@types/node@npm:22.15.30" dependencies: undici-types: "npm:~6.21.0" - checksum: 10/3426790c5aa22df445213d7f37e57ea261cf3013030fe9b3025d87c302097799a9db3b848e2a9bdb07cab8ec6c7e9947ac770cf11e12e420148296b63d63e7db + checksum: 10/16d03f30df7851eea4f31d9a2470a53b24dc7d3909ed1782e2538e3aafe398451da17b83d6f730dfdcd0a843ccdbe841176ecfbde6bdb51963e8d11f58a10ade languageName: node linkType: hard -"@vitest/expect@npm:3.2.0": - version: 3.2.0 - resolution: "@vitest/expect@npm:3.2.0" +"@vitest/expect@npm:3.2.3": + version: 3.2.3 + resolution: "@vitest/expect@npm:3.2.3" dependencies: "@types/chai": "npm:^5.2.2" - "@vitest/spy": "npm:3.2.0" - "@vitest/utils": "npm:3.2.0" + "@vitest/spy": "npm:3.2.3" + "@vitest/utils": "npm:3.2.3" chai: "npm:^5.2.0" tinyrainbow: "npm:^2.0.0" - checksum: 10/c43234eda5754f21854e48151050956402175538d81dcf9ddfd9a4ddad7c052f5ba2f52eedff117bbb2da2b066b1ec71377561d854a36fcdf76565eb49a13550 + checksum: 10/c67318892c2441a53fd6386232a3392fd86faf3a17528ce70fa2b6ede7778b9d7e3142b463f722d0fb5516fb671f422549d34e674f4fe8721209101c5b69805d languageName: node linkType: hard -"@vitest/mocker@npm:3.2.0": - version: 3.2.0 - resolution: "@vitest/mocker@npm:3.2.0" +"@vitest/mocker@npm:3.2.3": + version: 3.2.3 + resolution: "@vitest/mocker@npm:3.2.3" dependencies: - "@vitest/spy": "npm:3.2.0" + "@vitest/spy": "npm:3.2.3" estree-walker: "npm:^3.0.3" magic-string: "npm:^0.30.17" peerDependencies: @@ -457,66 +457,58 @@ __metadata: optional: true vite: optional: true - checksum: 10/fc152aa7ed8ae9c8f7b06bb88b752773b560c0895cc279a5df9d7654150361e26792a3f64d238593357852b6b91c77455df30a3aee45557d508c1bd7292a21a5 + checksum: 10/984203df788f9822d9d8ae0a85abc204f08770c63191d1300b6e05172021309b90321fddb5962101c268e66cc9f920982c0ccf768ee67a3d4c5cb44fb27b2934 languageName: node linkType: hard -"@vitest/pretty-format@npm:3.2.0": - version: 3.2.0 - resolution: "@vitest/pretty-format@npm:3.2.0" +"@vitest/pretty-format@npm:3.2.3, @vitest/pretty-format@npm:^3.2.3": + version: 3.2.3 + resolution: "@vitest/pretty-format@npm:3.2.3" dependencies: tinyrainbow: "npm:^2.0.0" - checksum: 10/174336cf787923c575a2f5d8b4c67bd52e0a83a139b53785db1bac5aa4c3dcee1d201dd8d43839cb20f47ede79198f210152e37a37fa4fd249c2681712017834 + checksum: 10/fd39fa90f5ec486215c962ee05d80c31dc8bff84f4c29c4390a129757ac4cbbae09b4aa669982a7888fea5de1bb2c3532aefe6c13b7d28d45295f00793aea306 languageName: node linkType: hard -"@vitest/pretty-format@npm:^3.2.0": - version: 3.2.1 - resolution: "@vitest/pretty-format@npm:3.2.1" +"@vitest/runner@npm:3.2.3": + version: 3.2.3 + resolution: "@vitest/runner@npm:3.2.3" dependencies: - tinyrainbow: "npm:^2.0.0" - checksum: 10/caaa4ad5b87e3ba0fcd77fbfb373b227d55050a6bc58b6d7a1d373e6990acbaa775e00e6194b03a0ba4bc15e7203d303b2cd0884b8e6187a1ddf0cf80721cfed - languageName: node - linkType: hard - -"@vitest/runner@npm:3.2.0": - version: 3.2.0 - resolution: "@vitest/runner@npm:3.2.0" - dependencies: - "@vitest/utils": "npm:3.2.0" + "@vitest/utils": "npm:3.2.3" pathe: "npm:^2.0.3" - checksum: 10/d1f8022e0535b563ce4df49a193cb72b9b41e76a20fb93f99b54900caf4443145d19e456bf0df4eae5ed5138126054eb65832f4b4467265985cb9525b2838fd3 + strip-literal: "npm:^3.0.0" + checksum: 10/4c4bdef49c646c47ef91683bf30797d48e2d1c2a615dc1adb730232578b7c4b00642204d2d15b6f73e70ecfda548da9a3c7883b50655d2801db19088f7769860 languageName: node linkType: hard -"@vitest/snapshot@npm:3.2.0": - version: 3.2.0 - resolution: "@vitest/snapshot@npm:3.2.0" +"@vitest/snapshot@npm:3.2.3": + version: 3.2.3 + resolution: "@vitest/snapshot@npm:3.2.3" dependencies: - "@vitest/pretty-format": "npm:3.2.0" + "@vitest/pretty-format": "npm:3.2.3" magic-string: "npm:^0.30.17" pathe: "npm:^2.0.3" - checksum: 10/61bfb88c867f9018018ebb77527dec98922fa4a2c496c751a7d02f873e21e4337a1804ae05f1d40f0406254bc9ffb3041a103aca0d18603d2de8fc32c2292065 + checksum: 10/64b085246172d5f1c3c9815062270988757f8f00244a678b81ad00cb7ffbb8df84767a508eac00ee9bf26485b8c4f600d19e3c76618f746270337cd1a7f82136 languageName: node linkType: hard -"@vitest/spy@npm:3.2.0": - version: 3.2.0 - resolution: "@vitest/spy@npm:3.2.0" +"@vitest/spy@npm:3.2.3": + version: 3.2.3 + resolution: "@vitest/spy@npm:3.2.3" dependencies: tinyspy: "npm:^4.0.3" - checksum: 10/7cf401b550e48be5e3acc6593ad29a8add77df0767ce601e75b423d1be8376ebe9a0654f7145a2ae6b818cd3a75337ec8ee18dced510eb1c527e35cbacca2b7b + checksum: 10/cff3d764c461f544cec692ff110c7dc0ee74dc5e1b6e228eba0e04b35819faf27c46321f1697f3a69010cdb609a87b7a32e852f0d07da9e510238c92006372c1 languageName: node linkType: hard -"@vitest/utils@npm:3.2.0": - version: 3.2.0 - resolution: "@vitest/utils@npm:3.2.0" +"@vitest/utils@npm:3.2.3": + version: 3.2.3 + resolution: "@vitest/utils@npm:3.2.3" dependencies: - "@vitest/pretty-format": "npm:3.2.0" + "@vitest/pretty-format": "npm:3.2.3" loupe: "npm:^3.1.3" tinyrainbow: "npm:^2.0.0" - checksum: 10/2f9189fcef439da54a17c4673a87861191563cd089f1b93d645a364f259e446de694c097df330011e39c4416665a8445c549cb361a50f5ead2f50c3ec4b654a5 + checksum: 10/ac69c88082f2590c6793b600726b25edcb27a483b12a5aae6ce88b8fff64890aa4243ea14786659961be261303dcf312b2676674f8216d57e4f63ddf5a24aa28 languageName: node linkType: hard @@ -1039,14 +1031,21 @@ __metadata: "@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.15.29" + "@types/node": "npm:22.15.30" algoliasearch: "link:../../../clients/algoliasearch-client-javascript/packages/algoliasearch" dotenv: "npm:16.5.0" typescript: "npm:5.8.3" - vitest: "npm:3.2.0" + vitest: "npm:3.2.3" languageName: unknown linkType: soft +"js-tokens@npm:^9.0.1": + version: 9.0.1 + resolution: "js-tokens@npm:9.0.1" + checksum: 10/3288ba73bb2023adf59501979fb4890feb6669cc167b13771b226814fde96a1583de3989249880e3f4d674040d1815685db9a9880db9153307480d39dc760365 + languageName: node + linkType: hard + "jsbn@npm:1.1.0": version: 1.1.0 resolution: "jsbn@npm:1.1.0" @@ -1564,6 +1563,15 @@ __metadata: languageName: node linkType: hard +"strip-literal@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-literal@npm:3.0.0" + dependencies: + js-tokens: "npm:^9.0.1" + checksum: 10/da1616f654f3ff481e078597b4565373a5eeed78b83de4a11a1a1b98292a9036f2474e528eff19b6eed93370428ff957a473827057c117495086436725d7efad + languageName: node + linkType: hard + "tar@npm:^7.4.3": version: 7.4.3 resolution: "tar@npm:7.4.3" @@ -1678,9 +1686,9 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:3.2.0": - version: 3.2.0 - resolution: "vite-node@npm:3.2.0" +"vite-node@npm:3.2.3": + version: 3.2.3 + resolution: "vite-node@npm:3.2.3" dependencies: cac: "npm:^6.7.14" debug: "npm:^4.4.1" @@ -1689,7 +1697,7 @@ __metadata: vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" bin: vite-node: vite-node.mjs - checksum: 10/72d45d71c8bfdee1209c4140ca21bdcf13da3d374b4ac400d5af1b1379555f72a467a91c05c836907747f1e58b6d0d4a1f80fdbf3f8f361c60e729ccdf38ed00 + checksum: 10/0dacd6b70cae010dadb560cf38afe33cef956a7cdf99fd099294891ae664b4c8bff7d217d7d85de8a042efcb0ac2d1cd9cea4901e8f48adf4356625c01b0a2aa languageName: node linkType: hard @@ -1748,18 +1756,18 @@ __metadata: languageName: node linkType: hard -"vitest@npm:3.2.0": - version: 3.2.0 - resolution: "vitest@npm:3.2.0" +"vitest@npm:3.2.3": + version: 3.2.3 + resolution: "vitest@npm:3.2.3" dependencies: "@types/chai": "npm:^5.2.2" - "@vitest/expect": "npm:3.2.0" - "@vitest/mocker": "npm:3.2.0" - "@vitest/pretty-format": "npm:^3.2.0" - "@vitest/runner": "npm:3.2.0" - "@vitest/snapshot": "npm:3.2.0" - "@vitest/spy": "npm:3.2.0" - "@vitest/utils": "npm:3.2.0" + "@vitest/expect": "npm:3.2.3" + "@vitest/mocker": "npm:3.2.3" + "@vitest/pretty-format": "npm:^3.2.3" + "@vitest/runner": "npm:3.2.3" + "@vitest/snapshot": "npm:3.2.3" + "@vitest/spy": "npm:3.2.3" + "@vitest/utils": "npm:3.2.3" chai: "npm:^5.2.0" debug: "npm:^4.4.1" expect-type: "npm:^1.2.1" @@ -1773,14 +1781,14 @@ __metadata: tinypool: "npm:^1.1.0" tinyrainbow: "npm:^2.0.0" vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" - vite-node: "npm:3.2.0" + vite-node: "npm:3.2.3" why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" "@types/debug": ^4.1.12 "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 - "@vitest/browser": 3.2.0 - "@vitest/ui": 3.2.0 + "@vitest/browser": 3.2.3 + "@vitest/ui": 3.2.3 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -1800,7 +1808,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 10/a85298f8c6e1cdd42e9d8412bd63bacc029966d703059c6b38da3e937766aedc559e915be4a55c77222ae57df691f8e566d195af480322f359c49633b80132c6 + checksum: 10/7412aaa6f4c5d259b7329a7aba5466b3fd1fa67f4af0ee1ea14474c48f0c5f1b230fba2a5418a6c21df19c9b8268ba0d133f9d7aac553727914fa56664344b4a languageName: node linkType: hard diff --git a/tests/output/python/poetry.lock b/tests/output/python/poetry.lock index 720946e7353..7906050bebf 100644 --- a/tests/output/python/poetry.lock +++ b/tests/output/python/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.0.0 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand. [[package]] name = "aiohappyeyeballs" @@ -123,7 +123,7 @@ multidict = ">=4.5,<7.0" yarl = ">=1.12.0,<2.0" [package.extras] -speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] +speedups = ["Brotli ; platform_python_implementation == \"CPython\"", "aiodns (>=3.2.0) ; sys_platform == \"linux\" or sys_platform == \"darwin\"", "brotlicffi ; platform_python_implementation != \"CPython\""] [[package]] name = "aiosignal" @@ -202,12 +202,12 @@ files = [ ] [package.extras] -benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +benchmark = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] +cov = ["cloudpickle ; platform_python_implementation == \"CPython\"", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] +dev = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier"] -tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] +tests = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\""] [[package]] name = "certifi" @@ -753,7 +753,7 @@ typing-extensions = ">=4.12.2" [package.extras] email = ["email-validator (>=2.0.0)"] -timezone = ["tzdata"] +timezone = ["tzdata ; python_version >= \"3.9\" and platform_system == \"Windows\""] [[package]] name = "pydantic-core" @@ -983,19 +983,19 @@ cli = ["click (>=5.0)"] [[package]] name = "requests" -version = "2.32.3" +version = "2.32.4" description = "Python HTTP for Humans." optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, - {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, + {file = "requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c"}, + {file = "requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422"}, ] [package.dependencies] certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" +charset_normalizer = ">=2,<4" idna = ">=2.5,<4" urllib3 = ">=1.21.1,<3" @@ -1111,7 +1111,7 @@ files = [ ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""] h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"]