diff --git a/.github/ISSUE_TEMPLATE/Bug_report.yml b/.github/ISSUE_TEMPLATE/Bug_report.yml index badb60b97ef..790457f2d98 100644 --- a/.github/ISSUE_TEMPLATE/Bug_report.yml +++ b/.github/ISSUE_TEMPLATE/Bug_report.yml @@ -47,6 +47,7 @@ body: options: - All - AB testing + - Agent Studio - Analytics - Ingestion - Insights diff --git a/clients/algoliasearch-client-javascript/package.json b/clients/algoliasearch-client-javascript/package.json index 774c9fffce0..99d5048c154 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 --scope '@algolia/requester-testing' --scope '@algolia/logger-console' --scope 'algoliasearch' --scope '@algolia/composition' --scope '@algolia/advanced-personalization' --include-dependencies", + "build": "lerna run build --scope '@algolia/requester-testing' --scope '@algolia/logger-console' --scope 'algoliasearch' --scope '@algolia/composition' --scope '@algolia/advanced-personalization' --scope '@algolia/agent-studio' --include-dependencies", "clean": "lerna run clean", "release:publish": "lerna publish from-package --yes", "release:publish:old": "tsc --project scripts/tsconfig.json && node scripts/dist/publish.js", diff --git a/clients/algoliasearch-client-javascript/yarn.lock b/clients/algoliasearch-client-javascript/yarn.lock index bd4cf94f264..adba56743ed 100644 --- a/clients/algoliasearch-client-javascript/yarn.lock +++ b/clients/algoliasearch-client-javascript/yarn.lock @@ -5,18 +5,25 @@ __metadata: version: 8 cacheKey: 10 -"@algolia/abtesting@npm:1.18.0, @algolia/abtesting@workspace:packages/abtesting": +"@acemir/cssom@npm:^0.9.28": + version: 0.9.31 + resolution: "@acemir/cssom@npm:0.9.31" + checksum: 10/5948336f7f122062d714f4bb519937c42c91c84be348e31b35179f6109efc6753a695701c29f2271d8990f6f728168e933038418d97646cc5a1096099c3455b5 + languageName: node + linkType: hard + +"@algolia/abtesting@npm:1.15.2, @algolia/abtesting@workspace:packages/abtesting": version: 0.0.0-use.local resolution: "@algolia/abtesting@workspace:packages/abtesting" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" "@types/node": "npm:25.1.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" languageName: unknown @@ -26,131 +33,149 @@ __metadata: version: 0.0.0-use.local resolution: "@algolia/advanced-personalization@workspace:packages/advanced-personalization" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" "@types/node": "npm:25.1.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" languageName: unknown linkType: soft -"@algolia/client-abtesting@npm:5.52.0, @algolia/client-abtesting@workspace:packages/client-abtesting": +"@algolia/agent-studio@workspace:packages/agent-studio": + version: 0.0.0-use.local + resolution: "@algolia/agent-studio@workspace:packages/agent-studio" + dependencies: + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" + "@arethetypeswrong/cli": "npm:0.18.2" + "@types/node": "npm:25.1.0" + publint: "npm:0.3.17" + rollup: "npm:4.58.0" + tsup: "npm:8.5.1" + typescript: "npm:5.9.3" + languageName: unknown + linkType: soft + +"@algolia/client-abtesting@npm:5.49.2, @algolia/client-abtesting@workspace:packages/client-abtesting": version: 0.0.0-use.local resolution: "@algolia/client-abtesting@workspace:packages/client-abtesting" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" "@types/node": "npm:25.1.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" languageName: unknown linkType: soft -"@algolia/client-analytics@npm:5.52.0, @algolia/client-analytics@workspace:packages/client-analytics": +"@algolia/client-analytics@npm:5.49.2, @algolia/client-analytics@workspace:packages/client-analytics": version: 0.0.0-use.local resolution: "@algolia/client-analytics@workspace:packages/client-analytics" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" "@types/node": "npm:25.1.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" languageName: unknown linkType: soft -"@algolia/client-common@npm:5.52.0, @algolia/client-common@workspace:packages/client-common": +"@algolia/client-common@npm:5.49.2, @algolia/client-common@workspace:packages/client-common": version: 0.0.0-use.local resolution: "@algolia/client-common@workspace:packages/client-common" dependencies: "@arethetypeswrong/cli": "npm:0.18.2" - "@types/node": "npm:24.12.2" - jsdom: "npm:29.0.2" + "@types/node": "npm:24.12.0" + fflate: "npm:0.8.2" + jsdom: "npm:27.4.0" publint: "npm:0.3.18" ts-node: "npm:10.9.2" tsup: "npm:8.5.1" typescript: "npm:5.9.3" - vitest: "npm:4.1.5" + vitest: "npm:4.0.18" languageName: unknown linkType: soft -"@algolia/client-insights@npm:5.52.0, @algolia/client-insights@workspace:packages/client-insights": +"@algolia/client-insights@npm:5.49.2, @algolia/client-insights@workspace:packages/client-insights": version: 0.0.0-use.local resolution: "@algolia/client-insights@workspace:packages/client-insights" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" "@types/node": "npm:25.1.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" languageName: unknown linkType: soft -"@algolia/client-personalization@npm:5.52.0, @algolia/client-personalization@workspace:packages/client-personalization": +"@algolia/client-personalization@npm:5.49.2, @algolia/client-personalization@workspace:packages/client-personalization": version: 0.0.0-use.local resolution: "@algolia/client-personalization@workspace:packages/client-personalization" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" "@types/node": "npm:25.1.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" languageName: unknown linkType: soft -"@algolia/client-query-suggestions@npm:5.52.0, @algolia/client-query-suggestions@workspace:packages/client-query-suggestions": +"@algolia/client-query-suggestions@npm:5.49.2, @algolia/client-query-suggestions@workspace:packages/client-query-suggestions": version: 0.0.0-use.local resolution: "@algolia/client-query-suggestions@workspace:packages/client-query-suggestions" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" "@types/node": "npm:25.1.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" languageName: unknown linkType: soft -"@algolia/client-search@npm:5.52.0, @algolia/client-search@workspace:packages/client-search": +"@algolia/client-search@npm:5.49.2, @algolia/client-search@workspace:packages/client-search": version: 0.0.0-use.local resolution: "@algolia/client-search@workspace:packages/client-search" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" "@types/node": "npm:25.1.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" languageName: unknown @@ -160,31 +185,31 @@ __metadata: version: 0.0.0-use.local resolution: "@algolia/composition@workspace:packages/composition" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" "@types/node": "npm:25.1.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" languageName: unknown linkType: soft -"@algolia/ingestion@npm:1.52.0, @algolia/ingestion@workspace:packages/ingestion": +"@algolia/ingestion@npm:1.49.2, @algolia/ingestion@workspace:packages/ingestion": version: 0.0.0-use.local resolution: "@algolia/ingestion@workspace:packages/ingestion" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" "@types/node": "npm:25.1.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" languageName: unknown @@ -194,109 +219,109 @@ __metadata: version: 0.0.0-use.local resolution: "@algolia/logger-console@workspace:packages/logger-console" dependencies: - "@algolia/client-common": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" - "@types/node": "npm:24.12.2" - jsdom: "npm:29.0.2" + "@types/node": "npm:24.12.0" + jsdom: "npm:27.4.0" publint: "npm:0.3.18" ts-node: "npm:10.9.2" tsup: "npm:8.5.1" typescript: "npm:5.9.3" - vitest: "npm:4.1.5" + vitest: "npm:4.0.18" languageName: unknown linkType: soft -"@algolia/monitoring@npm:1.52.0, @algolia/monitoring@workspace:packages/monitoring": +"@algolia/monitoring@npm:1.49.2, @algolia/monitoring@workspace:packages/monitoring": version: 0.0.0-use.local resolution: "@algolia/monitoring@workspace:packages/monitoring" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" "@types/node": "npm:25.1.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" languageName: unknown linkType: soft -"@algolia/recommend@npm:5.52.0, @algolia/recommend@workspace:packages/recommend": +"@algolia/recommend@npm:5.49.2, @algolia/recommend@workspace:packages/recommend": version: 0.0.0-use.local resolution: "@algolia/recommend@workspace:packages/recommend" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" "@types/node": "npm:25.1.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" languageName: unknown linkType: soft -"@algolia/requester-browser-xhr@npm:5.52.0, @algolia/requester-browser-xhr@workspace:packages/requester-browser-xhr": +"@algolia/requester-browser-xhr@npm:5.49.2, @algolia/requester-browser-xhr@workspace:packages/requester-browser-xhr": version: 0.0.0-use.local resolution: "@algolia/requester-browser-xhr@workspace:packages/requester-browser-xhr" dependencies: - "@algolia/client-common": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" - "@types/node": "npm:24.12.2" - jsdom: "npm:29.0.2" + "@types/node": "npm:24.12.0" + jsdom: "npm:27.4.0" publint: "npm:0.3.18" tsup: "npm:8.5.1" typescript: "npm:5.9.3" - vitest: "npm:4.1.5" + vitest: "npm:4.0.18" xhr-mock: "npm:2.5.1" languageName: unknown linkType: soft -"@algolia/requester-fetch@npm:5.52.0, @algolia/requester-fetch@workspace:packages/requester-fetch": +"@algolia/requester-fetch@npm:5.49.2, @algolia/requester-fetch@workspace:packages/requester-fetch": version: 0.0.0-use.local resolution: "@algolia/requester-fetch@workspace:packages/requester-fetch" dependencies: - "@algolia/client-common": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" - "@types/node": "npm:24.12.2" + "@types/node": "npm:24.12.0" cross-fetch: "npm:4.1.0" - nock: "npm:14.0.13" + nock: "npm:14.0.11" publint: "npm:0.3.18" tsup: "npm:8.5.1" typescript: "npm:5.9.3" - vitest: "npm:4.1.5" + vitest: "npm:4.0.18" languageName: unknown linkType: soft -"@algolia/requester-node-http@npm:5.52.0, @algolia/requester-node-http@workspace:packages/requester-node-http": +"@algolia/requester-node-http@npm:5.49.2, @algolia/requester-node-http@workspace:packages/requester-node-http": version: 0.0.0-use.local resolution: "@algolia/requester-node-http@workspace:packages/requester-node-http" dependencies: - "@algolia/client-common": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" - "@types/node": "npm:24.12.2" - nock: "npm:14.0.13" + "@types/node": "npm:24.12.0" + nock: "npm:14.0.11" publint: "npm:0.3.18" tsup: "npm:8.5.1" typescript: "npm:5.9.3" - vitest: "npm:4.1.5" + vitest: "npm:4.0.18" languageName: unknown linkType: soft -"@algolia/requester-testing@npm:5.52.0, @algolia/requester-testing@workspace:packages/requester-testing": +"@algolia/requester-testing@npm:5.49.2, @algolia/requester-testing@workspace:packages/requester-testing": version: 0.0.0-use.local resolution: "@algolia/requester-testing@workspace:packages/requester-testing" dependencies: - "@algolia/client-common": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" + "@algolia/client-common": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" - "@types/node": "npm:24.12.2" + "@types/node": "npm:24.12.0" publint: "npm:0.3.18" tsup: "npm:8.5.1" typescript: "npm:5.9.3" @@ -343,27 +368,29 @@ __metadata: languageName: node linkType: hard -"@asamuzakjp/css-color@npm:^5.1.5": - version: 5.1.10 - resolution: "@asamuzakjp/css-color@npm:5.1.10" +"@asamuzakjp/css-color@npm:^4.1.1": + version: 4.1.1 + resolution: "@asamuzakjp/css-color@npm:4.1.1" dependencies: - "@csstools/css-calc": "npm:^3.1.1" - "@csstools/css-color-parser": "npm:^4.0.2" - "@csstools/css-parser-algorithms": "npm:^4.0.0" - "@csstools/css-tokenizer": "npm:^4.0.0" - checksum: 10/d4b482362d7246009cbfe804cd44c2d218d1ffa61b03348bb4f68e9e1263ac058003fc55174eee422f2dea4101e6cea3809c1a26d6b1ddaa975a824e647c5b5d + "@csstools/css-calc": "npm:^2.1.4" + "@csstools/css-color-parser": "npm:^3.1.0" + "@csstools/css-parser-algorithms": "npm:^3.0.5" + "@csstools/css-tokenizer": "npm:^3.0.4" + lru-cache: "npm:^11.2.4" + checksum: 10/4b7e900d9d18a86e01a42d6140936a0373801e44854bcdd70fc7c06022b7e6a793d1960fbe9f6a65bdad1874798a30c0cd91e52bfd5eae909b3347c98cc1c4f5 languageName: node linkType: hard -"@asamuzakjp/dom-selector@npm:^7.0.6": - version: 7.0.9 - resolution: "@asamuzakjp/dom-selector@npm:7.0.9" +"@asamuzakjp/dom-selector@npm:^6.7.6": + version: 6.7.6 + resolution: "@asamuzakjp/dom-selector@npm:6.7.6" dependencies: "@asamuzakjp/nwsapi": "npm:^2.3.9" bidi-js: "npm:^1.0.3" - css-tree: "npm:^3.2.1" + css-tree: "npm:^3.1.0" is-potential-custom-element-name: "npm:^1.0.1" - checksum: 10/1c024c5d75999887adf0649443c9fd322840d500488144b2d0485b31031c535e609342ad8951bbe9b70c1b1e24058e5c1e3c6711dc4d9bbc5c306d3270813e27 + lru-cache: "npm:^11.2.4" + checksum: 10/91a479f5f59a3b1b23f46407d874882c05b50e72316e57af105c88603fb1008120c46c7fe7504c5be556ea4c9a68ee10aee43433bd8d34f000b9aaf6dcae4d5c languageName: node linkType: hard @@ -399,17 +426,6 @@ __metadata: languageName: node linkType: hard -"@bramus/specificity@npm:^2.4.2": - version: 2.4.2 - resolution: "@bramus/specificity@npm:2.4.2" - dependencies: - css-tree: "npm:^3.0.0" - bin: - specificity: bin/cli.js - checksum: 10/4255ed6ff12f7db9ec3c21acfd0da2327d30ec29deb199345810cdcad992618f40039c5483eefeb665913bffbc80b690e9f1b954fbbbfa93480c6a22f9c3a69c - languageName: node - linkType: hard - "@cloudflare/kv-asset-handler@npm:0.4.2": version: 0.4.2 resolution: "@cloudflare/kv-asset-handler@npm:0.4.2" @@ -417,67 +433,66 @@ __metadata: languageName: node linkType: hard -"@cloudflare/unenv-preset@npm:2.16.1": - version: 2.16.1 - resolution: "@cloudflare/unenv-preset@npm:2.16.1" +"@cloudflare/unenv-preset@npm:2.15.0": + version: 2.15.0 + resolution: "@cloudflare/unenv-preset@npm:2.15.0" peerDependencies: unenv: 2.0.0-rc.24 - workerd: ">1.20260305.0 <2.0.0-0" + workerd: 1.20260301.1 || ~1.20260302.1 || ~1.20260303.1 || ~1.20260304.1 || >1.20260305.0 <2.0.0-0 peerDependenciesMeta: workerd: optional: true - checksum: 10/fd6c007e7cf269f3268741ca5405ad80a224df95de35d1082d31b7434f559f6f16c0a7f167298e0e8560e88d38cbdff87ecfbfa5717d2f06e197bcc69c3ee299 + checksum: 10/b6f9ffbc5f97031f71de93f743ceaf350a7f08e1e8eb65952006b6eab20b52025a59976bca520e2ef0f838c01cb6f448b10df2761018dd042b08ca6acbfbb1da languageName: node linkType: hard -"@cloudflare/vitest-pool-workers@npm:0.15.0": - version: 0.15.0 - resolution: "@cloudflare/vitest-pool-workers@npm:0.15.0" +"@cloudflare/vitest-pool-workers@npm:0.12.20": + version: 0.12.20 + resolution: "@cloudflare/vitest-pool-workers@npm:0.12.20" dependencies: cjs-module-lexer: "npm:^1.2.3" esbuild: "npm:0.27.3" - miniflare: "npm:4.20260424.0" - wrangler: "npm:4.85.0" - zod: "npm:^3.25.76" + miniflare: "npm:4.20260301.1" + wrangler: "npm:4.71.0" peerDependencies: - "@vitest/runner": ^4.1.0 - "@vitest/snapshot": ^4.1.0 - vitest: ^4.1.0 - checksum: 10/125059d2ecf391a56e3817e61af2f96d8b259c0ed79841cb54e1fda5b9c4b164d3d03e3938158b1a42035d76b4c155113cd57ed9b5796bb2ed95796874288c1a + "@vitest/runner": 2.0.x - 3.2.x + "@vitest/snapshot": 2.0.x - 3.2.x + vitest: 2.0.x - 3.2.x + checksum: 10/0eaef2867b548c61b204ea4ff69e605c521bf649b85ab7724a18879a2152a1d7351c6cedf1c9b9823404c95b4278493cbc2b948873f88eabe3cb173a89b20771 languageName: node linkType: hard -"@cloudflare/workerd-darwin-64@npm:1.20260424.1": - version: 1.20260424.1 - resolution: "@cloudflare/workerd-darwin-64@npm:1.20260424.1" +"@cloudflare/workerd-darwin-64@npm:1.20260301.1": + version: 1.20260301.1 + resolution: "@cloudflare/workerd-darwin-64@npm:1.20260301.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@cloudflare/workerd-darwin-arm64@npm:1.20260424.1": - version: 1.20260424.1 - resolution: "@cloudflare/workerd-darwin-arm64@npm:1.20260424.1" +"@cloudflare/workerd-darwin-arm64@npm:1.20260301.1": + version: 1.20260301.1 + resolution: "@cloudflare/workerd-darwin-arm64@npm:1.20260301.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@cloudflare/workerd-linux-64@npm:1.20260424.1": - version: 1.20260424.1 - resolution: "@cloudflare/workerd-linux-64@npm:1.20260424.1" +"@cloudflare/workerd-linux-64@npm:1.20260301.1": + version: 1.20260301.1 + resolution: "@cloudflare/workerd-linux-64@npm:1.20260301.1" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@cloudflare/workerd-linux-arm64@npm:1.20260424.1": - version: 1.20260424.1 - resolution: "@cloudflare/workerd-linux-arm64@npm:1.20260424.1" +"@cloudflare/workerd-linux-arm64@npm:1.20260301.1": + version: 1.20260301.1 + resolution: "@cloudflare/workerd-linux-arm64@npm:1.20260301.1" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@cloudflare/workerd-windows-64@npm:1.20260424.1": - version: 1.20260424.1 - resolution: "@cloudflare/workerd-windows-64@npm:1.20260424.1" +"@cloudflare/workerd-windows-64@npm:1.20260301.1": + version: 1.20260301.1 + resolution: "@cloudflare/workerd-windows-64@npm:1.20260301.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -505,61 +520,56 @@ __metadata: languageName: node linkType: hard -"@csstools/color-helpers@npm:^6.0.2": - version: 6.0.2 - resolution: "@csstools/color-helpers@npm:6.0.2" - checksum: 10/c47a943e947d76980d0e1071027cb70481ac481968e744a05a7aea7ede9886f10d062b2e3691e03c115d97b053d4140c1ca28e24c1ffe2d21693e126de6522e9 +"@csstools/color-helpers@npm:^5.1.0": + version: 5.1.0 + resolution: "@csstools/color-helpers@npm:5.1.0" + checksum: 10/0138b3d5ccbe77aeccf6721fd008a53523c70e932f0c82dca24a1277ca780447e1d8357da47512ebf96358476f8764de57002f3e491920d67e69202f5a74c383 languageName: node linkType: hard -"@csstools/css-calc@npm:^3.1.1": - version: 3.1.1 - resolution: "@csstools/css-calc@npm:3.1.1" +"@csstools/css-calc@npm:^2.1.4": + version: 2.1.4 + resolution: "@csstools/css-calc@npm:2.1.4" peerDependencies: - "@csstools/css-parser-algorithms": ^4.0.0 - "@csstools/css-tokenizer": ^4.0.0 - checksum: 10/faa3aa2736b20757ceafd76e3d2841e8726ec9e7ae78e387684eb462aba73d533ba384039338685c3a52196196300ccdfecb051e59864b1d3b457fe927b7f53b + "@csstools/css-parser-algorithms": ^3.0.5 + "@csstools/css-tokenizer": ^3.0.4 + checksum: 10/06975b650c0f44c60eeb7afdb3fd236f2dd607b2c622e0bc908d3f54de39eb84e0692833320d03dac04bd6c1ab0154aa3fa0dd442bd9e5f917cf14d8e2ba8d74 languageName: node linkType: hard -"@csstools/css-color-parser@npm:^4.0.2": - version: 4.0.2 - resolution: "@csstools/css-color-parser@npm:4.0.2" +"@csstools/css-color-parser@npm:^3.1.0": + version: 3.1.0 + resolution: "@csstools/css-color-parser@npm:3.1.0" dependencies: - "@csstools/color-helpers": "npm:^6.0.2" - "@csstools/css-calc": "npm:^3.1.1" + "@csstools/color-helpers": "npm:^5.1.0" + "@csstools/css-calc": "npm:^2.1.4" peerDependencies: - "@csstools/css-parser-algorithms": ^4.0.0 - "@csstools/css-tokenizer": ^4.0.0 - checksum: 10/6418bfadc8c15d3a65c1e80278df383b542f0437446c0ba21d591dd564bcc19ab0b11243edf62672f4c62cc778f9b386fa4349e9a8d1de2b414148ea8a1ac775 + "@csstools/css-parser-algorithms": ^3.0.5 + "@csstools/css-tokenizer": ^3.0.4 + checksum: 10/4741095fdc4501e8e7ada4ed14fbf9dbbe6fea9b989818790ebca15657c29c62defbebacf18592cde2aa638a1d098bbe86d742d2c84ba932fbc00fac51cb8805 languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/css-parser-algorithms@npm:4.0.0" +"@csstools/css-parser-algorithms@npm:^3.0.5": + version: 3.0.5 + resolution: "@csstools/css-parser-algorithms@npm:3.0.5" peerDependencies: - "@csstools/css-tokenizer": ^4.0.0 - checksum: 10/000f3ba55f440d9fbece50714e88f9d4479e2bde9e0568333492663f2c6034dc31d0b9ef5d66d196c76be58eea145ca6920aa8bdfdcc6361894806c21b5402d0 + "@csstools/css-tokenizer": ^3.0.4 + checksum: 10/e93083b5cb36a3c1e7a47ce10cf62961d05bd1e4c608bb3ee50186ff740157ab0ec16a3956f7b86251efd10703034d849693201eea858ae904848c68d2d46ada languageName: node linkType: hard -"@csstools/css-syntax-patches-for-csstree@npm:^1.1.1": - version: 1.1.1 - resolution: "@csstools/css-syntax-patches-for-csstree@npm:1.1.1" - peerDependencies: - css-tree: ^3.2.1 - peerDependenciesMeta: - css-tree: - optional: true - checksum: 10/745ec0f6f7d1c3707af9661d5dcc7e29c12c0416da46e10dda7518c872fef38446d39e13557b3d134e16eb1c78899fa6a712a27fd8ab544813e25a4cd0913cdc +"@csstools/css-syntax-patches-for-csstree@npm:^1.0.21": + version: 1.0.25 + resolution: "@csstools/css-syntax-patches-for-csstree@npm:1.0.25" + checksum: 10/42dfcd164ed6a66eee8dd3fcdbdaa58d032ab8c3bb5ead2453915429367766879b25332e09379a67357fd33742b856160e7c0182c7d90be00f57571b916c18e7 languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/css-tokenizer@npm:4.0.0" - checksum: 10/074ade1a7fc3410b813c8982cf07a56814a55af509c533c2dc80d5689f34d2ba38219f8fa78fa36ea2adc6c5db506ea3c3a667388dda1b59b1281fdd2a2d1e28 +"@csstools/css-tokenizer@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/css-tokenizer@npm:3.0.4" + checksum: 10/eb6c84c086312f6bb8758dfe2c85addd7475b0927333c5e39a4d59fb210b9810f8c346972046f95e60a721329cffe98895abe451e51de753ad1ca7a8c24ec65f languageName: node linkType: hard @@ -573,16 +583,6 @@ __metadata: languageName: node linkType: hard -"@emnapi/core@npm:^1.7.1": - version: 1.9.0 - resolution: "@emnapi/core@npm:1.9.0" - dependencies: - "@emnapi/wasi-threads": "npm:1.2.0" - tslib: "npm:^2.4.0" - checksum: 10/52d8dc5ba0d6814c5061686b8286d84cc5349c8fc09de3a9c4175bc2369c2890b335f7b03e55bc19ce3033158962cd817522fcb3bdeb1feb9ba7a060d61b69ab - languageName: node - linkType: hard - "@emnapi/runtime@npm:^1.1.0, @emnapi/runtime@npm:^1.7.0": version: 1.8.1 resolution: "@emnapi/runtime@npm:1.8.1" @@ -592,15 +592,6 @@ __metadata: languageName: node linkType: hard -"@emnapi/runtime@npm:^1.7.1": - version: 1.9.0 - resolution: "@emnapi/runtime@npm:1.9.0" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10/d04a7e67676c2560d5394a01d63532af943760cf19cc8f375390a345aeab2b19e9ee35485b06b5c211df18f947fb14ac50658fca5c4067946f1e50af3490b3b5 - languageName: node - linkType: hard - "@emnapi/wasi-threads@npm:1.1.0": version: 1.1.0 resolution: "@emnapi/wasi-threads@npm:1.1.0" @@ -610,15 +601,6 @@ __metadata: languageName: node linkType: hard -"@emnapi/wasi-threads@npm:1.2.0": - version: 1.2.0 - resolution: "@emnapi/wasi-threads@npm:1.2.0" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10/c8e48c7200530744dc58170d2e25933b61433e4a0c50b4f192f5d8d4b065c7023dbfc48dac0afadbc29bd239013f2ae454c6e54e0ca6e8248402bf95c9e77e22 - languageName: node - linkType: hard - "@esbuild/aix-ppc64@npm:0.27.2": version: 0.27.2 resolution: "@esbuild/aix-ppc64@npm:0.27.2" @@ -983,18 +965,6 @@ __metadata: languageName: node linkType: hard -"@exodus/bytes@npm:^1.11.0, @exodus/bytes@npm:^1.15.0": - version: 1.15.0 - resolution: "@exodus/bytes@npm:1.15.0" - peerDependencies: - "@noble/hashes": ^1.8.0 || ^2.0.0 - peerDependenciesMeta: - "@noble/hashes": - optional: true - checksum: 10/d18519341c354356b65b9ac64b8166880972d122feff4038a92c0e2d2c8579794429117a2bc636bca584e7bf2fdad6d27f0874b2647d4a866c125843497ef193 - languageName: node - linkType: hard - "@exodus/bytes@npm:^1.6.0": version: 1.8.0 resolution: "@exodus/bytes@npm:1.8.0" @@ -1601,6 +1571,81 @@ __metadata: languageName: node linkType: hard +"@lerna/create@npm:9.0.5": + version: 9.0.5 + resolution: "@lerna/create@npm:9.0.5" + dependencies: + "@npmcli/arborist": "npm:9.1.6" + "@npmcli/package-json": "npm:7.0.2" + "@npmcli/run-script": "npm:10.0.3" + "@nx/devkit": "npm:>=21.5.2 < 23.0.0" + "@octokit/plugin-enterprise-rest": "npm:6.0.1" + "@octokit/rest": "npm:20.1.2" + aproba: "npm:2.0.0" + byte-size: "npm:8.1.1" + chalk: "npm:4.1.0" + cmd-shim: "npm:6.0.3" + color-support: "npm:1.1.3" + columnify: "npm:1.6.0" + console-control-strings: "npm:^1.1.0" + conventional-changelog-core: "npm:5.0.1" + conventional-recommended-bump: "npm:7.0.1" + cosmiconfig: "npm:9.0.0" + dedent: "npm:1.5.3" + execa: "npm:5.0.0" + fs-extra: "npm:^11.2.0" + get-stream: "npm:6.0.0" + git-url-parse: "npm:14.0.0" + glob-parent: "npm:6.0.2" + has-unicode: "npm:2.0.1" + ini: "npm:^1.3.8" + init-package-json: "npm:8.2.2" + inquirer: "npm:12.9.6" + is-ci: "npm:3.0.1" + is-stream: "npm:2.0.0" + js-yaml: "npm:4.1.1" + libnpmpublish: "npm:11.1.2" + load-json-file: "npm:6.2.0" + make-dir: "npm:4.0.0" + make-fetch-happen: "npm:15.0.2" + minimatch: "npm:3.1.4" + multimatch: "npm:5.0.0" + npm-package-arg: "npm:13.0.1" + npm-packlist: "npm:10.0.3" + npm-registry-fetch: "npm:19.1.0" + nx: "npm:>=21.5.3 < 23.0.0" + p-map: "npm:4.0.0" + p-map-series: "npm:2.1.0" + p-queue: "npm:6.6.2" + p-reduce: "npm:^2.1.0" + pacote: "npm:21.0.1" + pify: "npm:5.0.0" + read-cmd-shim: "npm:4.0.0" + resolve-from: "npm:5.0.0" + rimraf: "npm:^6.1.2" + semver: "npm:7.7.2" + set-blocking: "npm:^2.0.0" + signal-exit: "npm:3.0.7" + slash: "npm:^3.0.0" + ssri: "npm:12.0.0" + string-width: "npm:^4.2.3" + tar: "npm:7.5.8" + temp-dir: "npm:1.0.0" + through: "npm:2.3.8" + tinyglobby: "npm:0.2.12" + upath: "npm:2.0.1" + uuid: "npm:^11.1.0" + validate-npm-package-license: "npm:3.0.4" + validate-npm-package-name: "npm:6.0.2" + wide-align: "npm:1.1.5" + write-file-atomic: "npm:5.0.1" + write-pkg: "npm:4.0.0" + yargs: "npm:17.7.2" + yargs-parser: "npm:21.1.1" + checksum: 10/199ad62a77387385db3d0b15314b00e741779be08a487847743d32de45113e04d8ba0788aa4f5cc97f5ae3864a9d319cbf134d40d0835649093903450f3f43de + languageName: node + linkType: hard + "@loaderkit/resolve@npm:^1.0.2": version: 1.0.4 resolution: "@loaderkit/resolve@npm:1.0.4" @@ -1635,17 +1680,6 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^1.1.1": - version: 1.1.1 - resolution: "@napi-rs/wasm-runtime@npm:1.1.1" - dependencies: - "@emnapi/core": "npm:^1.7.1" - "@emnapi/runtime": "npm:^1.7.1" - "@tybys/wasm-util": "npm:^0.10.1" - checksum: 10/080e7f2aefb84e09884d21c650a2cbafdf25bfd2634693791b27e36eec0ddaa3c1656a943f8c913ac75879a0b04e68f8a827897ee655ab54a93169accf05b194 - languageName: node - linkType: hard - "@npmcli/agent@npm:^4.0.0": version: 4.0.0 resolution: "@npmcli/agent@npm:4.0.0" @@ -2157,13 +2191,6 @@ __metadata: languageName: node linkType: hard -"@oxc-project/types@npm:=0.122.0": - version: 0.122.0 - resolution: "@oxc-project/types@npm:0.122.0" - checksum: 10/2b33895c7701a595d10b9c7b0927222954becc4c6cbde7a7b582e9524828937368baacba1cbb6e3c33bc9a18e0a35435ffff6c53f511762ae872d55d3e993a8c - languageName: node - linkType: hard - "@poppinss/colors@npm:^4.1.5": version: 4.1.6 resolution: "@poppinss/colors@npm:4.1.6" @@ -2198,291 +2225,352 @@ __metadata: languageName: node linkType: hard -"@rolldown/binding-android-arm64@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.12" - conditions: os=android & cpu=arm64 +"@rollup/rollup-android-arm-eabi@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.55.1" + conditions: os=android & cpu=arm languageName: node linkType: hard -"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.12" - conditions: os=darwin & cpu=arm64 +"@rollup/rollup-android-arm-eabi@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.58.0" + conditions: os=android & cpu=arm languageName: node linkType: hard -"@rolldown/binding-darwin-x64@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.12" - conditions: os=darwin & cpu=x64 +"@rollup/rollup-android-arm64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-android-arm64@npm:4.55.1" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.12" - conditions: os=freebsd & cpu=x64 +"@rollup/rollup-android-arm64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-android-arm64@npm:4.58.0" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.12" - conditions: os=linux & cpu=arm +"@rollup/rollup-darwin-arm64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.55.1" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.12" - conditions: os=linux & cpu=arm64 & libc=glibc +"@rollup/rollup-darwin-arm64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.58.0" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.12" - conditions: os=linux & cpu=arm64 & libc=musl +"@rollup/rollup-darwin-x64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.55.1" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.12" - conditions: os=linux & cpu=ppc64 & libc=glibc +"@rollup/rollup-darwin-x64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.58.0" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.12" - conditions: os=linux & cpu=s390x & libc=glibc +"@rollup/rollup-freebsd-arm64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.55.1" + conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.12" - conditions: os=linux & cpu=x64 & libc=glibc +"@rollup/rollup-freebsd-arm64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.58.0" + conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.12" - conditions: os=linux & cpu=x64 & libc=musl +"@rollup/rollup-freebsd-x64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-freebsd-x64@npm:4.55.1" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.12" - conditions: os=openharmony & cpu=arm64 +"@rollup/rollup-freebsd-x64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-freebsd-x64@npm:4.58.0" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.12" - dependencies: - "@napi-rs/wasm-runtime": "npm:^1.1.1" - conditions: cpu=wasm32 +"@rollup/rollup-linux-arm-gnueabihf@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.55.1" + conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.12" - conditions: os=win32 & cpu=arm64 +"@rollup/rollup-linux-arm-gnueabihf@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.58.0" + conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.12" - conditions: os=win32 & cpu=x64 +"@rollup/rollup-linux-arm-musleabihf@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.55.1" + conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rolldown/pluginutils@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "@rolldown/pluginutils@npm:1.0.0-rc.12" - checksum: 10/6ce1601849b3095a2b6e57074c1f8a661eba67ebf65cf9afdf894d903302318247ddb69ab6cbc621e7f582408af301ea0523ed59ddb9a4ef3ea97f3d7002683e +"@rollup/rollup-linux-arm-musleabihf@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.58.0" + conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.59.0" - conditions: os=android & cpu=arm +"@rollup/rollup-linux-arm64-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.55.1" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-android-arm64@npm:4.59.0" - conditions: os=android & cpu=arm64 +"@rollup/rollup-linux-arm64-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.58.0" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.59.0" - conditions: os=darwin & cpu=arm64 +"@rollup/rollup-linux-arm64-musl@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.55.1" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.59.0" - conditions: os=darwin & cpu=x64 +"@rollup/rollup-linux-arm64-musl@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.58.0" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.59.0" - conditions: os=freebsd & cpu=arm64 +"@rollup/rollup-linux-loong64-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.55.1" + conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-freebsd-x64@npm:4.59.0" - conditions: os=freebsd & cpu=x64 +"@rollup/rollup-linux-loong64-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.58.0" + conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.59.0" - conditions: os=linux & cpu=arm & libc=glibc +"@rollup/rollup-linux-loong64-musl@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-loong64-musl@npm:4.55.1" + conditions: os=linux & cpu=loong64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.59.0" - conditions: os=linux & cpu=arm & libc=musl +"@rollup/rollup-linux-loong64-musl@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-loong64-musl@npm:4.58.0" + conditions: os=linux & cpu=loong64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.59.0" - conditions: os=linux & cpu=arm64 & libc=glibc +"@rollup/rollup-linux-ppc64-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.55.1" + conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.59.0" - conditions: os=linux & cpu=arm64 & libc=musl +"@rollup/rollup-linux-ppc64-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.58.0" + conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-loong64-gnu@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.59.0" - conditions: os=linux & cpu=loong64 & libc=glibc +"@rollup/rollup-linux-ppc64-musl@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.55.1" + conditions: os=linux & cpu=ppc64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-loong64-musl@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-loong64-musl@npm:4.59.0" - conditions: os=linux & cpu=loong64 & libc=musl +"@rollup/rollup-linux-ppc64-musl@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.58.0" + conditions: os=linux & cpu=ppc64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-ppc64-gnu@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.59.0" - conditions: os=linux & cpu=ppc64 & libc=glibc +"@rollup/rollup-linux-riscv64-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.55.1" + conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-ppc64-musl@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.59.0" - conditions: os=linux & cpu=ppc64 & libc=musl +"@rollup/rollup-linux-riscv64-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.58.0" + conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.59.0" - conditions: os=linux & cpu=riscv64 & libc=glibc +"@rollup/rollup-linux-riscv64-musl@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.55.1" + conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-musl@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.59.0" +"@rollup/rollup-linux-riscv64-musl@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.58.0" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.59.0" +"@rollup/rollup-linux-s390x-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.55.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.58.0" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.59.0" +"@rollup/rollup-linux-x64-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.55.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.59.0" +"@rollup/rollup-linux-x64-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.58.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.55.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.58.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-openbsd-x64@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-openbsd-x64@npm:4.59.0" +"@rollup/rollup-openbsd-x64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-openbsd-x64@npm:4.55.1" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-openharmony-arm64@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-openharmony-arm64@npm:4.59.0" +"@rollup/rollup-openbsd-x64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-openbsd-x64@npm:4.58.0" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-openharmony-arm64@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.55.1" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.59.0" +"@rollup/rollup-openharmony-arm64@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.58.0" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.55.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.59.0" +"@rollup/rollup-win32-arm64-msvc@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.58.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.55.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.58.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-gnu@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-win32-x64-gnu@npm:4.59.0" +"@rollup/rollup-win32-x64-gnu@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.55.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.59.0" +"@rollup/rollup-win32-x64-gnu@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.58.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.55.1": + version: 4.55.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.55.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.58.0": + version: 4.58.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.58.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2587,7 +2675,7 @@ __metadata: languageName: node linkType: hard -"@standard-schema/spec@npm:^1.1.0": +"@standard-schema/spec@npm:^1.0.0": version: 1.1.0 resolution: "@standard-schema/spec@npm:1.1.0" checksum: 10/a209615c9e8b2ea535d7db0a5f6aa0f962fd4ab73ee86a46c100fb78116964af1f55a27c1794d4801e534a196794223daa25ff5135021e03c7828aa3d95e1763 @@ -2639,15 +2727,6 @@ __metadata: languageName: node linkType: hard -"@tybys/wasm-util@npm:^0.10.1": - version: 0.10.1 - resolution: "@tybys/wasm-util@npm:0.10.1" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10/7fe0d239397aebb002ac4855d30c197c06a05ea8df8511350a3a5b1abeefe26167c60eda8a5508337571161e4c4b53d7c1342296123f9607af8705369de9fa7f - languageName: node - linkType: hard - "@tybys/wasm-util@npm:^0.9.0": version: 0.9.0 resolution: "@tybys/wasm-util@npm:0.9.0" @@ -2681,6 +2760,13 @@ __metadata: languageName: node linkType: hard +"@types/minimatch@npm:^3.0.3": + version: 3.0.5 + resolution: "@types/minimatch@npm:3.0.5" + checksum: 10/c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 + languageName: node + linkType: hard + "@types/minimist@npm:^1.2.0": version: 1.2.5 resolution: "@types/minimist@npm:1.2.5" @@ -2688,12 +2774,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:24.12.2": - version: 24.12.2 - resolution: "@types/node@npm:24.12.2" +"@types/node@npm:24.12.0": + version: 24.12.0 + resolution: "@types/node@npm:24.12.0" dependencies: undici-types: "npm:~7.16.0" - checksum: 10/99b9f15e67a4b3c39b39ad83ee0febad7f0b4709c004863104d7acfa4146dd7e58c12a08a9a7ff2be8c2eefd0063bf991fade0879d7c4a370a0ee7fd4c799e8a + checksum: 10/e9dcf8a378af5a636353b6d88a6fae018504bab776410ac6b5411e29afbe601ba9d7957356556fc27268a62814ca4085974f785613482c18f739686efcd49655 languageName: node linkType: hard @@ -2713,85 +2799,83 @@ __metadata: languageName: node linkType: hard -"@vitest/expect@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/expect@npm:4.1.5" +"@vitest/expect@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/expect@npm:4.0.18" dependencies: - "@standard-schema/spec": "npm:^1.1.0" + "@standard-schema/spec": "npm:^1.0.0" "@types/chai": "npm:^5.2.2" - "@vitest/spy": "npm:4.1.5" - "@vitest/utils": "npm:4.1.5" - chai: "npm:^6.2.2" - tinyrainbow: "npm:^3.1.0" - checksum: 10/3e94d2d0cf4f7018ed6a7a9394bff971353ea0cc85bcbcff39212279156840b8c533be99e2fd52112e4904c4a5190bdaaf441db7c6b17e356c18577072a3f057 + "@vitest/spy": "npm:4.0.18" + "@vitest/utils": "npm:4.0.18" + chai: "npm:^6.2.1" + tinyrainbow: "npm:^3.0.3" + checksum: 10/2115bff1bbcad460ce72032022e4dbcf8572c4b0fe07ca60f5644a8d96dd0dfa112986b5a1a5c5705f4548119b3b829c45d1de0838879211e0d6bb276b4ece73 languageName: node linkType: hard -"@vitest/mocker@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/mocker@npm:4.1.5" +"@vitest/mocker@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/mocker@npm:4.0.18" dependencies: - "@vitest/spy": "npm:4.1.5" + "@vitest/spy": "npm:4.0.18" estree-walker: "npm:^3.0.3" magic-string: "npm:^0.30.21" peerDependencies: msw: ^2.4.9 - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + vite: ^6.0.0 || ^7.0.0-0 peerDependenciesMeta: msw: optional: true vite: optional: true - checksum: 10/949784ba08996543a313459a36a730d4b0847e42ee56cfda07a3e2add67c7adf8acbd59dcf9f75b1e4bc3fe7cc487f9f260905ff9a334866d389478112e5ae82 + checksum: 10/46f584a4c1180dfb513137bc8db6e2e3b53e141adfe964307297e98321652d86a3f2a52d80cda1f810205bd5fdcab789bb8b52a532e68f175ef1e20be398218d languageName: node linkType: hard -"@vitest/pretty-format@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/pretty-format@npm:4.1.5" +"@vitest/pretty-format@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/pretty-format@npm:4.0.18" dependencies: - tinyrainbow: "npm:^3.1.0" - checksum: 10/783f8c4a0e419d1024446ae8593411c95443ea09b50c4a378986b48893998acda34429b2d1deebc065405a7ef40bb19e19c68fdeb93acd46ae98b156c42d5f39 + tinyrainbow: "npm:^3.0.3" + checksum: 10/4cafc7c9853097345bd94e8761bf47c2c04e00d366ac56d79928182787ff83c512c96f1dc2ce9b6aeed4d3a8c23ce12254da203783108d3c096bc398eed2a62d languageName: node linkType: hard -"@vitest/runner@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/runner@npm:4.1.5" +"@vitest/runner@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/runner@npm:4.0.18" dependencies: - "@vitest/utils": "npm:4.1.5" + "@vitest/utils": "npm:4.0.18" pathe: "npm:^2.0.3" - checksum: 10/ba19d84a9f7bcc3102ae5304c23e5dae789aaf8fd283f826e3fd4aca87ea2687ed606cf89869773d15799666553fd265524f7d9a0869e2869e00ebd8fd53af5b + checksum: 10/d7deebf086d7e084f449733ecea6c9c81737a18aafece318cbe7500e45debea00fa9dbf9315fd38aa88550dd5240a791b885ac71665f89b154d71a6c63da5836 languageName: node linkType: hard -"@vitest/snapshot@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/snapshot@npm:4.1.5" +"@vitest/snapshot@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/snapshot@npm:4.0.18" dependencies: - "@vitest/pretty-format": "npm:4.1.5" - "@vitest/utils": "npm:4.1.5" + "@vitest/pretty-format": "npm:4.0.18" magic-string: "npm:^0.30.21" pathe: "npm:^2.0.3" - checksum: 10/cf70530d8a7320c012bdf7f6ca4f3ddbbb47c9aeb9ff5d28319e552ce64db93423d0c4facff3e112c6d711ed4228369c8fa73c88350fe6c16cf04f9ac2558caf + checksum: 10/50aa5fb7fca45c499c145cc2f20e53b8afb0990b53ff4a4e6447dd6f147437edc5316f22e2d82119e154c3cf7c59d44898e7b2faf7ba614ac1051cbe4d662a77 languageName: node linkType: hard -"@vitest/spy@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/spy@npm:4.1.5" - checksum: 10/4db4bb3aea01cd737fdb06d8f498bcd2127b8c2afeaa78ff9df4147e1474aa26dd16f42dc0512c31385824e94dbb17b17fa0f4c60b7595b7b4ab946f098220ab +"@vitest/spy@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/spy@npm:4.0.18" + checksum: 10/f7b1618ae13790105771dd2a8c973c63c018366fcc69b50f15ce5d12f9ac552efd3c1e6e5ae4ebdb6023d0b8d8f31fef2a0b1b77334284928db45c80c63de456 languageName: node linkType: hard -"@vitest/utils@npm:4.1.5": - version: 4.1.5 - resolution: "@vitest/utils@npm:4.1.5" +"@vitest/utils@npm:4.0.18": + version: 4.0.18 + resolution: "@vitest/utils@npm:4.0.18" dependencies: - "@vitest/pretty-format": "npm:4.1.5" - convert-source-map: "npm:^2.0.0" - tinyrainbow: "npm:^3.1.0" - checksum: 10/4f75a2df6f910578a361ae92eb92a2b6921f50cc748994f3b2e5900d0ae687b6683f33b090dedf9b96eaca23bac117817d9448a4a333c7a96b94ee767399f18c + "@vitest/pretty-format": "npm:4.0.18" + tinyrainbow: "npm:^3.0.3" + checksum: 10/e8b2ad7bc35b2bc5590f9dc1d1a67644755da416b47ab7099a6f26792903fa0aacb81e6ba99f0f03858d9d3a1d76eeba65150a1a0849690a40817424e749c367 languageName: node linkType: hard @@ -2895,11 +2979,11 @@ __metadata: version: 0.0.0-use.local resolution: "algoliasearch-client-javascript@workspace:." dependencies: - "@types/node": "npm:24.12.2" - bundlewatch: "npm:0.4.2" + "@types/node": "npm:24.12.0" + bundlewatch: "npm:0.4.1" execa: "npm:9.6.1" - lerna: "npm:9.0.7" - rollup: "npm:4.59.0" + lerna: "npm:9.0.5" + rollup: "npm:4.58.0" typescript: "npm:5.9.3" languageName: unknown linkType: soft @@ -2908,31 +2992,31 @@ __metadata: version: 0.0.0-use.local resolution: "algoliasearch@workspace:packages/algoliasearch" dependencies: - "@algolia/abtesting": "npm:1.18.0" - "@algolia/client-abtesting": "npm:5.52.0" - "@algolia/client-analytics": "npm:5.52.0" - "@algolia/client-common": "npm:5.52.0" - "@algolia/client-insights": "npm:5.52.0" - "@algolia/client-personalization": "npm:5.52.0" - "@algolia/client-query-suggestions": "npm:5.52.0" - "@algolia/client-search": "npm:5.52.0" - "@algolia/ingestion": "npm:1.52.0" - "@algolia/monitoring": "npm:1.52.0" - "@algolia/recommend": "npm:5.52.0" - "@algolia/requester-browser-xhr": "npm:5.52.0" - "@algolia/requester-fetch": "npm:5.52.0" - "@algolia/requester-node-http": "npm:5.52.0" - "@algolia/requester-testing": "npm:5.52.0" + "@algolia/abtesting": "npm:1.15.2" + "@algolia/client-abtesting": "npm:5.49.2" + "@algolia/client-analytics": "npm:5.49.2" + "@algolia/client-common": "npm:5.49.2" + "@algolia/client-insights": "npm:5.49.2" + "@algolia/client-personalization": "npm:5.49.2" + "@algolia/client-query-suggestions": "npm:5.49.2" + "@algolia/client-search": "npm:5.49.2" + "@algolia/ingestion": "npm:1.49.2" + "@algolia/monitoring": "npm:1.49.2" + "@algolia/recommend": "npm:5.49.2" + "@algolia/requester-browser-xhr": "npm:5.49.2" + "@algolia/requester-fetch": "npm:5.49.2" + "@algolia/requester-node-http": "npm:5.49.2" + "@algolia/requester-testing": "npm:5.49.2" "@arethetypeswrong/cli": "npm:0.18.2" - "@cloudflare/vitest-pool-workers": "npm:0.15.0" + "@cloudflare/vitest-pool-workers": "npm:0.12.20" "@cloudflare/workers-types": "npm:4.20251115.0" "@types/node": "npm:25.1.0" - jsdom: "npm:29.0.2" + jsdom: "npm:27.4.0" publint: "npm:0.3.18" - rollup: "npm:4.59.0" + rollup: "npm:4.58.0" tsup: "npm:8.5.1" typescript: "npm:5.9.3" - vitest: "npm:4.1.5" + vitest: "npm:4.0.18" languageName: unknown linkType: soft @@ -3026,6 +3110,13 @@ __metadata: languageName: node linkType: hard +"array-differ@npm:^3.0.0": + version: 3.0.0 + resolution: "array-differ@npm:3.0.0" + checksum: 10/117edd9df5c1530bd116c6e8eea891d4bd02850fd89b1b36e532b6540e47ca620a373b81feca1c62d1395d9ae601516ba538abe5e8172d41091da2c546b05fb7 + languageName: node + linkType: hard + "array-ify@npm:^1.0.0": version: 1.0.0 resolution: "array-ify@npm:1.0.0" @@ -3033,6 +3124,13 @@ __metadata: languageName: node linkType: hard +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10/5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d + languageName: node + linkType: hard + "arrify@npm:^1.0.1": version: 1.0.1 resolution: "arrify@npm:1.0.1" @@ -3040,6 +3138,13 @@ __metadata: languageName: node linkType: hard +"arrify@npm:^2.0.1": + version: 2.0.1 + resolution: "arrify@npm:2.0.1" + checksum: 10/067c4c1afd182806a82e4c1cb8acee16ab8b5284fbca1ce29408e6e91281c36bb5b612f6ddfbd40a0f7a7e0c75bf2696eb94c027f6e328d6e9c52465c98e4209 + languageName: node + linkType: hard + "assertion-error@npm:^2.0.1": version: 2.0.1 resolution: "assertion-error@npm:2.0.1" @@ -3075,14 +3180,25 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.15.0": - version: 1.15.0 - resolution: "axios@npm:1.15.0" +"axios@npm:^0.30.0": + version: 0.30.2 + resolution: "axios@npm:0.30.2" + dependencies: + follow-redirects: "npm:^1.15.4" + form-data: "npm:^4.0.4" + proxy-from-env: "npm:^1.1.0" + checksum: 10/2547fd334631da265ad36b41d0f74a54467c3e83371b901466cca59f976d4c04de84a03d0f6c44ee1b16cd69a4ede79e1e2b846905a32557ef83c328c5167105 + languageName: node + linkType: hard + +"axios@npm:^1.12.0": + version: 1.13.2 + resolution: "axios@npm:1.13.2" dependencies: - follow-redirects: "npm:^1.15.11" - form-data: "npm:^4.0.5" - proxy-from-env: "npm:^2.1.0" - checksum: 10/d39a2c0ebc7ff4739401b282e726cc2673377949d6c46d60eb619458f8d7a2f7eadbcada7097f4dbc7d5c59abb4d3bf6fac33d474412bc3415d3f5aa7ed45530 + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.4" + proxy-from-env: "npm:^1.1.0" + checksum: 10/ae4e06dcd18289f2fd18179256d550d27f9a53ecb2f9c59f2ccc4efd1d7151839ba8c3e0fb533dac793e4a59a576ca8689a19244dce5c396680837674a47a867 languageName: node linkType: hard @@ -3194,11 +3310,11 @@ __metadata: languageName: node linkType: hard -"bundlewatch@npm:0.4.2": - version: 0.4.2 - resolution: "bundlewatch@npm:0.4.2" +"bundlewatch@npm:0.4.1": + version: 0.4.1 + resolution: "bundlewatch@npm:0.4.1" dependencies: - axios: "npm:^0.31.1" + axios: "npm:^0.30.0" bytes: "npm:^3.1.1" chalk: "npm:^4.0.0" ci-env: "npm:^1.17.0" @@ -3210,7 +3326,7 @@ __metadata: read-pkg-up: "npm:^7.0.1" bin: bundlewatch: lib/bin/index.js - checksum: 10/844aef38c938c7729d4a3cf24309f7e25ed173e39608cf6ef36541979332fe828c433cd419b85b3401e2db84496c55dc4e2c5152b12d20b1e535812e3e553b0b + checksum: 10/27c663e351d765ac8b3587d2896bd47992524abb8a03f4a32f00f10e80cf4dd6f15703d84237c793ac0c5f34e8b34921e8464936e61eb7b87f35d04aff23ec46 languageName: node linkType: hard @@ -3299,7 +3415,7 @@ __metadata: languageName: node linkType: hard -"chai@npm:^6.2.2": +"chai@npm:^6.2.1": version: 6.2.2 resolution: "chai@npm:6.2.2" checksum: 10/13cda42cc40aa46da04a41cf7e5c61df6b6ae0b4e8a8c8b40e04d6947e4d7951377ea8c14f9fa7fe5aaa9e8bd9ba414f11288dc958d4cee6f5221b9436f2778f @@ -3370,13 +3486,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:4.3.1, ci-info@npm:^4.0.0": - version: 4.3.1 - resolution: "ci-info@npm:4.3.1" - checksum: 10/9dc952bef67e665ccde2e7a552d42d5d095529d21829ece060a00925ede2dfa136160c70ef2471ea6ed6c9b133218b47c007f56955c0f1734a2e57f240aa7445 - languageName: node - linkType: hard - "ci-info@npm:^3.2.0": version: 3.9.0 resolution: "ci-info@npm:3.9.0" @@ -3384,6 +3493,13 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^4.0.0": + version: 4.3.1 + resolution: "ci-info@npm:4.3.1" + checksum: 10/9dc952bef67e665ccde2e7a552d42d5d095529d21829ece060a00925ede2dfa136160c70ef2471ea6ed6c9b133218b47c007f56955c0f1734a2e57f240aa7445 + languageName: node + linkType: hard + "cjs-module-lexer@npm:^1.2.3": version: 1.4.3 resolution: "cjs-module-lexer@npm:1.4.3" @@ -3715,13 +3831,6 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 10/c987be3ec061348cdb3c2bfb924bec86dea1eacad10550a85ca23edb0fe3556c3a61c7399114f3331ccb3499d7fd0285ab24566e5745929412983494c3926e15 - languageName: node - linkType: hard - "cookie@npm:^1.0.2": version: 1.1.1 resolution: "cookie@npm:1.1.1" @@ -3780,13 +3889,13 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:^3.0.0, css-tree@npm:^3.2.1": - version: 3.2.1 - resolution: "css-tree@npm:3.2.1" +"css-tree@npm:^3.1.0": + version: 3.1.0 + resolution: "css-tree@npm:3.1.0" dependencies: - mdn-data: "npm:2.27.1" - source-map-js: "npm:^1.2.1" - checksum: 10/9945b387bdec756738c34d64b8287f05ca6645f51d1c8abaaa5822ec3e74533604103aaad164b8100afd8495e92120be7c1c6afbe5be89f867acc5b456ddd79c + mdn-data: "npm:2.12.2" + source-map-js: "npm:^1.0.1" + checksum: 10/e8c5c8e98e3aa4a620fda0b813ce57ccf99281652bf9d23e5cdfc9961c9a93a6769941f9a92e31e65d90f446f42fa83879ab0185206dc7a178d9f656d0913e14 languageName: node linkType: hard @@ -3799,6 +3908,18 @@ __metadata: languageName: node linkType: hard +"cssstyle@npm:^5.3.4": + version: 5.3.7 + resolution: "cssstyle@npm:5.3.7" + dependencies: + "@asamuzakjp/css-color": "npm:^4.1.1" + "@csstools/css-syntax-patches-for-csstree": "npm:^1.0.21" + css-tree: "npm:^3.1.0" + lru-cache: "npm:^11.2.4" + checksum: 10/bd4469af81f068537dbbce53c4247f192e91202c19abc066b77b4ee7bbf256526bc82471198bec762ac70ea53ce17b8044aec69fd7982d2d0fd9fd7780329e2d + languageName: node + linkType: hard + "dargs@npm:^7.0.0": version: 7.0.0 resolution: "dargs@npm:7.0.0" @@ -3806,13 +3927,13 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^7.0.0": - version: 7.0.0 - resolution: "data-urls@npm:7.0.0" +"data-urls@npm:^6.0.0": + version: 6.0.0 + resolution: "data-urls@npm:6.0.0" dependencies: - whatwg-mimetype: "npm:^5.0.0" - whatwg-url: "npm:^16.0.0" - checksum: 10/60f88ded4306aea5d6251c4db100ca272fc026014004d68aad4db495397a73bb39d17a6bd29ed9ab348c88a28f6e97266a1759985df4e12dc8c02bb8544c7731 + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^15.0.0" + checksum: 10/a47f0dde184337c4f168d455aedf0b486fed87b6ca583b4b9ad55d1515f4836b418d4bdc5b5b6fc55e321feb826029586a0d47e1c9a9e7ac4d52a78faceb7fb0 languageName: node linkType: hard @@ -3901,7 +4022,14 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^2.0.3, detect-libc@npm:^2.1.2": +"detect-indent@npm:^5.0.0": + version: 5.0.0 + resolution: "detect-indent@npm:5.0.0" + checksum: 10/61763211daa498e00eec073aba95d544ae5baed19286a0a655697fa4fffc9f4539c8376e2c7df8fa11d6f8eaa16c1e6a689f403ac41ee78a060278cdadefe2ff + languageName: node + linkType: hard + +"detect-libc@npm:^2.1.2": version: 2.1.2 resolution: "detect-libc@npm:2.1.2" checksum: 10/b736c8d97d5d46164c0d1bed53eb4e6a3b1d8530d460211e2d52f1c552875e706c58a5376854e4e54f8b828c9cada58c855288c968522eb93ac7696d65970766 @@ -4105,10 +4233,10 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^2.0.0": - version: 2.0.0 - resolution: "es-module-lexer@npm:2.0.0" - checksum: 10/b075855289b5f40ee496f3d7525c5c501d029c3da15c22298a0030d625bf36d1da0768b26278f7f4bada2a602459b505888e20b77c414fba5da5619b0e84dbd1 +"es-module-lexer@npm:^1.7.0": + version: 1.7.0 + resolution: "es-module-lexer@npm:1.7.0" + checksum: 10/b6f3e576a3fed4d82b0d0ad4bbf6b3a5ad694d2e7ce8c4a069560da3db6399381eaba703616a182b16dde50ce998af64e07dcf49f2ae48153b9e07be3f107087 languageName: node linkType: hard @@ -4388,7 +4516,7 @@ __metadata: languageName: node linkType: hard -"expect-type@npm:^1.3.0": +"expect-type@npm:^1.2.2": version: 1.3.0 resolution: "expect-type@npm:1.3.0" checksum: 10/a5fada3d0c621649261f886e7d93e6bf80ce26d8a86e5d517e38301b8baec8450ab2cb94ba6e7a0a6bf2fc9ee55f54e1b06938ef1efa52ddcfeffbfa01acbbcc @@ -4414,7 +4542,7 @@ __metadata: languageName: node linkType: hard -"fflate@npm:^0.8.2": +"fflate@npm:0.8.2, fflate@npm:^0.8.2": version: 0.8.2 resolution: "fflate@npm:0.8.2" checksum: 10/2bd26ba6d235d428de793c6a0cd1aaa96a06269ebd4e21b46c8fd1bd136abc631acf27e188d47c3936db090bf3e1ede11d15ce9eae9bffdc4bfe1b9dc66ca9cb @@ -4487,13 +4615,13 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.16.0": - version: 1.16.0 - resolution: "follow-redirects@npm:1.16.0" +"follow-redirects@npm:^1.15.4, follow-redirects@npm:^1.15.6": + version: 1.15.11 + resolution: "follow-redirects@npm:1.15.11" peerDependenciesMeta: debug: optional: true - checksum: 10/3fbe3d80b3b544c22705d837aa5d4a0d07a740d913534a2620b0a004c610af4148e3b58723536dd099aaa1c9d3a155964bde9665d6e5cb331460809a1fc572fd + checksum: 10/07372fd74b98c78cf4d417d68d41fdaa0be4dcacafffb9e67b1e3cf090bc4771515e65020651528faab238f10f9b9c0d9707d6c1574a6c0387c5de1042cde9ba languageName: node linkType: hard @@ -4507,7 +4635,7 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^4.0.5": +"form-data@npm:^4.0.4": version: 4.0.5 resolution: "form-data@npm:4.0.5" dependencies: @@ -4638,6 +4766,13 @@ __metadata: languageName: node linkType: hard +"get-port@npm:5.1.1": + version: 5.1.1 + resolution: "get-port@npm:5.1.1" + checksum: 10/0162663ffe5c09e748cd79d97b74cd70e5a5c84b760a475ce5767b357fb2a57cb821cee412d646aa8a156ed39b78aab88974eddaa9e5ee926173c036c0713787 + languageName: node + linkType: hard + "get-proto@npm:^1.0.1": version: 1.0.1 resolution: "get-proto@npm:1.0.1" @@ -4802,7 +4937,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 @@ -4819,8 +4954,8 @@ __metadata: linkType: hard "handlebars@npm:^4.7.7": - version: 4.7.9 - resolution: "handlebars@npm:4.7.9" + version: 4.7.8 + resolution: "handlebars@npm:4.7.8" dependencies: minimist: "npm:^1.2.5" neo-async: "npm:^2.6.2" @@ -4832,7 +4967,7 @@ __metadata: optional: true bin: handlebars: bin/handlebars - checksum: 10/e755433d652e8a15fc02f83d7478e652359e7a4d354c4328818853ed4f8a39d4a09e1d22dad3c7213c5240864a65b3c840970b8b181745575dd957dd258f2b8d + checksum: 10/bd528f4dd150adf67f3f857118ef0fa43ff79a153b1d943fa0a770f2599e38b25a7a0dbac1a3611a4ec86970fd2325a81310fb788b5c892308c9f8743bd02e11 languageName: node linkType: hard @@ -4939,7 +5074,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^7.0.0": +"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" dependencies: @@ -4949,7 +5084,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1": +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.6": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" dependencies: @@ -5210,7 +5345,7 @@ __metadata: languageName: node linkType: hard -"is-plain-obj@npm:^1.1.0": +"is-plain-obj@npm:^1.0.0, is-plain-obj@npm:^1.1.0": version: 1.1.0 resolution: "is-plain-obj@npm:1.1.0" checksum: 10/0ee04807797aad50859652a7467481816cbb57e5cc97d813a7dcd8915da8195dc68c436010bf39d195226cde6a2d352f4b815f16f26b7bf486a5754290629931 @@ -5240,6 +5375,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:2.0.0": + version: 2.0.0 + resolution: "is-stream@npm:2.0.0" + checksum: 10/4dc47738e26bc4f1b3be9070b6b9e39631144f204fc6f87db56961220add87c10a999ba26cf81699f9ef9610426f69cb08a4713feff8deb7d8cadac907826935 + languageName: node + linkType: hard + "is-stream@npm:^2.0.0": version: 2.0.1 resolution: "is-stream@npm:2.0.1" @@ -5378,37 +5520,36 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:29.0.2": - version: 29.0.2 - resolution: "jsdom@npm:29.0.2" +"jsdom@npm:27.4.0": + version: 27.4.0 + resolution: "jsdom@npm:27.4.0" dependencies: - "@asamuzakjp/css-color": "npm:^5.1.5" - "@asamuzakjp/dom-selector": "npm:^7.0.6" - "@bramus/specificity": "npm:^2.4.2" - "@csstools/css-syntax-patches-for-csstree": "npm:^1.1.1" - "@exodus/bytes": "npm:^1.15.0" - css-tree: "npm:^3.2.1" - data-urls: "npm:^7.0.0" + "@acemir/cssom": "npm:^0.9.28" + "@asamuzakjp/dom-selector": "npm:^6.7.6" + "@exodus/bytes": "npm:^1.6.0" + cssstyle: "npm:^5.3.4" + data-urls: "npm:^6.0.0" decimal.js: "npm:^10.6.0" html-encoding-sniffer: "npm:^6.0.0" + http-proxy-agent: "npm:^7.0.2" + https-proxy-agent: "npm:^7.0.6" is-potential-custom-element-name: "npm:^1.0.1" - lru-cache: "npm:^11.2.7" parse5: "npm:^8.0.0" saxes: "npm:^6.0.0" symbol-tree: "npm:^3.2.4" - tough-cookie: "npm:^6.0.1" - undici: "npm:^7.24.5" + tough-cookie: "npm:^6.0.0" w3c-xmlserializer: "npm:^5.0.0" - webidl-conversions: "npm:^8.0.1" - whatwg-mimetype: "npm:^5.0.0" - whatwg-url: "npm:^16.0.1" + webidl-conversions: "npm:^8.0.0" + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^15.1.0" + ws: "npm:^8.18.3" xml-name-validator: "npm:^5.0.0" peerDependencies: canvas: ^3.0.0 peerDependenciesMeta: canvas: optional: true - checksum: 10/3ad1d9a5b6aba067427bc43be98e1c51fab489bf689a6530e596278c6326fe053c94fc47a9c133f126fbe914f421283ae723fb92214dfe4959ca6cf2ee1666f6 + checksum: 10/7c6db85ab91183b95204648e086cfc09ecee36d9e8fee0bb5d68e27543eca632de0af6d43de461176a7823820543d5c53561778af5f712b1a1cd28bfac084d51 languageName: node linkType: hard @@ -5525,10 +5666,11 @@ __metadata: languageName: node linkType: hard -"lerna@npm:9.0.7": - version: 9.0.7 - resolution: "lerna@npm:9.0.7" +"lerna@npm:9.0.5": + version: 9.0.5 + resolution: "lerna@npm:9.0.5" dependencies: + "@lerna/create": "npm:9.0.5" "@npmcli/arborist": "npm:9.1.6" "@npmcli/package-json": "npm:7.0.2" "@npmcli/run-script": "npm:10.0.3" @@ -5538,7 +5680,6 @@ __metadata: aproba: "npm:2.0.0" byte-size: "npm:8.1.1" chalk: "npm:4.1.0" - ci-info: "npm:4.3.1" cmd-shim: "npm:6.0.3" color-support: "npm:1.1.3" columnify: "npm:1.6.0" @@ -5551,6 +5692,7 @@ __metadata: envinfo: "npm:7.13.0" execa: "npm:5.0.0" fs-extra: "npm:^11.2.0" + get-port: "npm:5.1.1" get-stream: "npm:6.0.0" git-url-parse: "npm:14.0.0" glob-parent: "npm:6.0.2" @@ -5560,13 +5702,16 @@ __metadata: init-package-json: "npm:8.2.2" inquirer: "npm:12.9.6" is-ci: "npm:3.0.1" + is-stream: "npm:2.0.0" jest-diff: "npm:>=30.0.0 < 31" js-yaml: "npm:4.1.1" libnpmaccess: "npm:10.0.3" libnpmpublish: "npm:11.1.2" load-json-file: "npm:6.2.0" + make-dir: "npm:4.0.0" make-fetch-happen: "npm:15.0.2" minimatch: "npm:3.1.4" + multimatch: "npm:5.0.0" npm-package-arg: "npm:13.0.1" npm-packlist: "npm:10.0.3" npm-registry-fetch: "npm:19.1.0" @@ -5578,26 +5723,33 @@ __metadata: p-reduce: "npm:2.1.0" p-waterfall: "npm:2.1.1" pacote: "npm:21.0.1" + pify: "npm:5.0.0" read-cmd-shim: "npm:4.0.0" + resolve-from: "npm:5.0.0" + rimraf: "npm:^6.1.2" semver: "npm:7.7.2" + set-blocking: "npm:^2.0.0" signal-exit: "npm:3.0.7" slash: "npm:3.0.0" ssri: "npm:12.0.0" string-width: "npm:^4.2.3" - tar: "npm:7.5.11" + tar: "npm:7.5.8" + temp-dir: "npm:1.0.0" through: "npm:2.3.8" tinyglobby: "npm:0.2.12" typescript: "npm:>=3 < 6" upath: "npm:2.0.1" + uuid: "npm:^11.1.0" validate-npm-package-license: "npm:3.0.4" validate-npm-package-name: "npm:6.0.2" wide-align: "npm:1.1.5" write-file-atomic: "npm:5.0.1" + write-pkg: "npm:4.0.0" yargs: "npm:17.7.2" yargs-parser: "npm:21.1.1" bin: lerna: dist/cli.js - checksum: 10/71d0e92e8c2622ff401ee562cfa29c32af8434b43ae4976dbad65dd5e83d164810eb867f3282f0292e586df7e9496c6cc59f061363a200ce3481aeb74f31f078 + checksum: 10/c25b213edcee7267322acbad458c2a8eceb2c560fc37a5c5c8085483d945ae77ba9817223e7ab4bcef9ee57f9491de5ed891a4033eaa938e49cd9bb0e299aebb languageName: node linkType: hard @@ -5627,126 +5779,6 @@ __metadata: languageName: node linkType: hard -"lightningcss-android-arm64@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-android-arm64@npm:1.32.0" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"lightningcss-darwin-arm64@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-darwin-arm64@npm:1.32.0" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"lightningcss-darwin-x64@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-darwin-x64@npm:1.32.0" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"lightningcss-freebsd-x64@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-freebsd-x64@npm:1.32.0" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"lightningcss-linux-arm-gnueabihf@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-linux-arm-gnueabihf@npm:1.32.0" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"lightningcss-linux-arm64-gnu@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-linux-arm64-gnu@npm:1.32.0" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"lightningcss-linux-arm64-musl@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-linux-arm64-musl@npm:1.32.0" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"lightningcss-linux-x64-gnu@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-linux-x64-gnu@npm:1.32.0" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"lightningcss-linux-x64-musl@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-linux-x64-musl@npm:1.32.0" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"lightningcss-win32-arm64-msvc@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-win32-arm64-msvc@npm:1.32.0" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"lightningcss-win32-x64-msvc@npm:1.32.0": - version: 1.32.0 - resolution: "lightningcss-win32-x64-msvc@npm:1.32.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"lightningcss@npm:^1.32.0": - version: 1.32.0 - resolution: "lightningcss@npm:1.32.0" - dependencies: - detect-libc: "npm:^2.0.3" - lightningcss-android-arm64: "npm:1.32.0" - lightningcss-darwin-arm64: "npm:1.32.0" - lightningcss-darwin-x64: "npm:1.32.0" - lightningcss-freebsd-x64: "npm:1.32.0" - lightningcss-linux-arm-gnueabihf: "npm:1.32.0" - lightningcss-linux-arm64-gnu: "npm:1.32.0" - lightningcss-linux-arm64-musl: "npm:1.32.0" - lightningcss-linux-x64-gnu: "npm:1.32.0" - lightningcss-linux-x64-musl: "npm:1.32.0" - lightningcss-win32-arm64-msvc: "npm:1.32.0" - lightningcss-win32-x64-msvc: "npm:1.32.0" - dependenciesMeta: - lightningcss-android-arm64: - optional: true - lightningcss-darwin-arm64: - optional: true - lightningcss-darwin-x64: - optional: true - lightningcss-freebsd-x64: - optional: true - lightningcss-linux-arm-gnueabihf: - optional: true - lightningcss-linux-arm64-gnu: - optional: true - lightningcss-linux-arm64-musl: - optional: true - lightningcss-linux-x64-gnu: - optional: true - lightningcss-linux-x64-musl: - optional: true - lightningcss-win32-arm64-msvc: - optional: true - lightningcss-win32-x64-msvc: - optional: true - checksum: 10/098e61007f0d0ec8b5c50884e33b543b551d1ff21bc7b062434b6638fd0b8596858f823b60dfc2a4aa756f3cb120ad79f2b7f4a55b1bda2c0269ab8cf476f114 - languageName: node - linkType: hard - "lilconfig@npm:^3.1.1": version: 3.1.3 resolution: "lilconfig@npm:3.1.3" @@ -5849,20 +5881,13 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^11.0.0, lru-cache@npm:^11.0.1, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1": +"lru-cache@npm:^11.0.0, lru-cache@npm:^11.0.1, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1, lru-cache@npm:^11.2.4": version: 11.2.4 resolution: "lru-cache@npm:11.2.4" checksum: 10/3b2da74c0b6653767f8164c38c4c4f4d7f0cc10c62bfa512663d94a830191ae6a5af742a8d88a8b30d5f9974652d3adae53931f32069139ad24fa2a18a199aca languageName: node linkType: hard -"lru-cache@npm:^11.2.7": - version: 11.2.7 - resolution: "lru-cache@npm:11.2.7" - checksum: 10/fbff4b8dee8189dde9b52cdfb3ea89b4c9cec094c1538cd30d1f47299477ff312efdb35f7994477ec72328f8e754e232b26a143feda1bd1f79ff22da6664d2c5 - languageName: node - linkType: hard - "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -5881,6 +5906,25 @@ __metadata: languageName: node linkType: hard +"make-dir@npm:4.0.0": + version: 4.0.0 + resolution: "make-dir@npm:4.0.0" + dependencies: + semver: "npm:^7.5.3" + checksum: 10/bf0731a2dd3aab4db6f3de1585cea0b746bb73eb5a02e3d8d72757e376e64e6ada190b1eddcde5b2f24a81b688a9897efd5018737d05e02e2a671dda9cff8a8a + languageName: node + linkType: hard + +"make-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "make-dir@npm:2.1.0" + dependencies: + pify: "npm:^4.0.1" + semver: "npm:^5.6.0" + checksum: 10/043548886bfaf1820323c6a2997e6d2fa51ccc2586ac14e6f14634f7458b4db2daf15f8c310e2a0abd3e0cddc64df1890d8fc7263033602c47bb12cbfcf86aab + languageName: node + linkType: hard + "make-error@npm:^1.1.1": version: 1.3.6 resolution: "make-error@npm:1.3.6" @@ -5973,10 +6017,10 @@ __metadata: languageName: node linkType: hard -"mdn-data@npm:2.27.1": - version: 2.27.1 - resolution: "mdn-data@npm:2.27.1" - checksum: 10/5046dc83a961b8ea82a5d6d8331d07df6b15faec61519ce2f83e49766702358e7e6af96413be977ff89080534be6762c1d5963b5dd1180c208a47c0a663226b2 +"mdn-data@npm:2.12.2": + version: 2.12.2 + resolution: "mdn-data@npm:2.12.2" + checksum: 10/854e41715a9358e69f9a530117cd6ca7e71d06176469de8d70b1e629753b6827f5bd730995c16ad3750f3c9bad92230f8e4e178de2b34926b05f5205d27d76af languageName: node linkType: hard @@ -6045,19 +6089,19 @@ __metadata: languageName: node linkType: hard -"miniflare@npm:4.20260424.0": - version: 4.20260424.0 - resolution: "miniflare@npm:4.20260424.0" +"miniflare@npm:4.20260301.1": + version: 4.20260301.1 + resolution: "miniflare@npm:4.20260301.1" dependencies: "@cspotcode/source-map-support": "npm:0.8.1" sharp: "npm:^0.34.5" - undici: "npm:7.24.8" - workerd: "npm:1.20260424.1" + undici: "npm:7.18.2" + workerd: "npm:1.20260301.1" ws: "npm:8.18.0" youch: "npm:4.1.0-beta.10" bin: miniflare: bootstrap.js - checksum: 10/42738f7ff5d2679faecb5c70ea2604fd6bab4a5cb0df5a18ca3c078bcefe990a307de21ef7e7349818fda045b98157ca39b6ab1f81ee737ccccad138dc7fb2e7 + checksum: 10/0807a85823f524b46d77eca2ef8a95d13dc10291bc06d3339dcc0abba9905a2a0c54e5b7d84b09a7ec14d5a9feae4574144915d1f7d77d3a46d6a7a6d4243a6b languageName: node linkType: hard @@ -6088,7 +6132,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.1.1": +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -6248,6 +6292,19 @@ __metadata: languageName: node linkType: hard +"multimatch@npm:5.0.0": + version: 5.0.0 + resolution: "multimatch@npm:5.0.0" + dependencies: + "@types/minimatch": "npm:^3.0.3" + array-differ: "npm:^3.0.0" + array-union: "npm:^2.1.0" + arrify: "npm:^2.0.1" + minimatch: "npm:^3.0.4" + checksum: 10/82c8030a53af965cab48da22f1b0f894ef99e16ee680dabdfbd38d2dfacc3c8208c475203d747afd9e26db44118ed0221d5a0d65268c864f06d6efc7ac6df812 + languageName: node + linkType: hard + "mute-stream@npm:^2.0.0": version: 2.0.0 resolution: "mute-stream@npm:2.0.0" @@ -6289,14 +6346,14 @@ __metadata: languageName: node linkType: hard -"nock@npm:14.0.13": - version: 14.0.13 - resolution: "nock@npm:14.0.13" +"nock@npm:14.0.11": + version: 14.0.11 + resolution: "nock@npm:14.0.11" dependencies: "@mswjs/interceptors": "npm:^0.41.0" json-stringify-safe: "npm:^5.0.1" propagate: "npm:^2.0.0" - checksum: 10/302d65e7408ac3aea660cc5881caf303235e67f76c712b07e3b7db1d46dbd968515ed2bbbbefd44765bfa1178380f7ee4d409bae2ca79a7cc2cde02d46869e45 + checksum: 10/2fc579f3bee5148ebfacdfc7588a1f45205b139dcc6e32a5bef436f74f479383c7445a9812f433908600f62a0e142ff4bbbe7da7d5e9ed1781bad278b792cf98 languageName: node linkType: hard @@ -6811,7 +6868,7 @@ __metadata: languageName: node linkType: hard -"p-reduce@npm:2.1.0, p-reduce@npm:^2.0.0": +"p-reduce@npm:2.1.0, p-reduce@npm:^2.0.0, p-reduce@npm:^2.1.0": version: 2.1.0 resolution: "p-reduce@npm:2.1.0" checksum: 10/99b26d36066a921982f25c575e78355824da0787c486e3dd9fc867460e8bf17d5fb3ce98d006b41bdc81ffc0aa99edf5faee53d11fe282a20291fb721b0cb1c7 @@ -6850,7 +6907,7 @@ __metadata: languageName: node linkType: hard -"package-json-from-dist@npm:^1.0.0": +"package-json-from-dist@npm:^1.0.0, package-json-from-dist@npm:^1.0.1": version: 1.0.1 resolution: "package-json-from-dist@npm:1.0.1" checksum: 10/58ee9538f2f762988433da00e26acc788036914d57c71c246bf0be1b60cdbd77dd60b6a3e1a30465f0b248aeb80079e0b34cb6050b1dfa18c06953bb1cbc7602 @@ -7106,10 +7163,10 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^4.0.4": - version: 4.0.4 - resolution: "picomatch@npm:4.0.4" - checksum: 10/f6ef80a3590827ce20378ae110ac78209cc4f74d39236370f1780f957b7ee41c12acde0e4651b90f39983506fd2f5e449994716f516db2e9752924aff8de93ce +"pify@npm:5.0.0": + version: 5.0.0 + resolution: "pify@npm:5.0.0" + checksum: 10/443e3e198ad6bfa8c0c533764cf75c9d5bc976387a163792fb553ffe6ce923887cf14eebf5aea9b7caa8eab930da8c33612990ae85bd8c2bc18bedb9eae94ecb languageName: node linkType: hard @@ -7127,6 +7184,13 @@ __metadata: languageName: node linkType: hard +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 10/8b97cbf9dc6d4c1320cc238a2db0fc67547f9dc77011729ff353faf34f1936ea1a4d7f3c63b2f4980b253be77bcc72ea1e9e76ee3fd53cce2aafb6a8854d07ec + languageName: node + linkType: hard + "pirates@npm:^4.0.1": version: 4.0.7 resolution: "pirates@npm:4.0.7" @@ -7187,14 +7251,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.5.8": - version: 8.5.12 - resolution: "postcss@npm:8.5.12" +"postcss@npm:^8.5.6": + version: 8.5.6 + resolution: "postcss@npm:8.5.6" dependencies: nanoid: "npm:^3.3.11" picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10/ec6b79b68c363eca3c8ffceb134a4ab637274aee6ac0857614bf7c18d40ce4ce5f9036edec57b7e0be99895724d2599d0ec7328dbd7f407204e7548697b322f1 + checksum: 10/9e4fbe97574091e9736d0e82a591e29aa100a0bf60276a926308f8c57249698935f35c5d2f4e80de778d0cbb8dcffab4f383d85fd50c5649aca421c3df729b86 languageName: node linkType: hard @@ -7300,10 +7364,10 @@ __metadata: languageName: node linkType: hard -"proxy-from-env@npm:^2.1.0": - version: 2.1.0 - resolution: "proxy-from-env@npm:2.1.0" - checksum: 10/fbbaf4dab2a6231dc9e394903a5f66f20475e36b734335790b46feb9da07c37d6b32e2c02e3e2ea4d4b23774c53d8562e5b7cc73282cb43f4a597b7eacaee2ee +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10/f0bb4a87cfd18f77bc2fba23ae49c3b378fb35143af16cc478171c623eebe181678f09439707ad80081d340d1593cd54a33a0113f3ccb3f4bc9451488780ee23 languageName: node linkType: hard @@ -7491,6 +7555,13 @@ __metadata: languageName: node linkType: hard +"resolve-from@npm:5.0.0, resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10/be18a5e4d76dd711778664829841cde690971d02b6cbae277735a09c1c28f407b99ef6ef3cd585a1e6546d4097b28df40ed32c4a287b9699dcf6d7f208495e23 + languageName: node + linkType: hard + "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -7498,13 +7569,6 @@ __metadata: languageName: node linkType: hard -"resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: 10/be18a5e4d76dd711778664829841cde690971d02b6cbae277735a09c1c28f407b99ef6ef3cd585a1e6546d4097b28df40ed32c4a287b9699dcf6d7f208495e23 - languageName: node - linkType: hard - "resolve.exports@npm:2.0.3": version: 2.0.3 resolution: "resolve.exports@npm:2.0.3" @@ -7555,93 +7619,137 @@ __metadata: languageName: node linkType: hard -"rolldown@npm:1.0.0-rc.12": - version: 1.0.0-rc.12 - resolution: "rolldown@npm:1.0.0-rc.12" - dependencies: - "@oxc-project/types": "npm:=0.122.0" - "@rolldown/binding-android-arm64": "npm:1.0.0-rc.12" - "@rolldown/binding-darwin-arm64": "npm:1.0.0-rc.12" - "@rolldown/binding-darwin-x64": "npm:1.0.0-rc.12" - "@rolldown/binding-freebsd-x64": "npm:1.0.0-rc.12" - "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.0-rc.12" - "@rolldown/binding-linux-arm64-gnu": "npm:1.0.0-rc.12" - "@rolldown/binding-linux-arm64-musl": "npm:1.0.0-rc.12" - "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.0-rc.12" - "@rolldown/binding-linux-s390x-gnu": "npm:1.0.0-rc.12" - "@rolldown/binding-linux-x64-gnu": "npm:1.0.0-rc.12" - "@rolldown/binding-linux-x64-musl": "npm:1.0.0-rc.12" - "@rolldown/binding-openharmony-arm64": "npm:1.0.0-rc.12" - "@rolldown/binding-wasm32-wasi": "npm:1.0.0-rc.12" - "@rolldown/binding-win32-arm64-msvc": "npm:1.0.0-rc.12" - "@rolldown/binding-win32-x64-msvc": "npm:1.0.0-rc.12" - "@rolldown/pluginutils": "npm:1.0.0-rc.12" +"rimraf@npm:^6.1.2": + version: 6.1.2 + resolution: "rimraf@npm:6.1.2" + dependencies: + glob: "npm:^13.0.0" + package-json-from-dist: "npm:^1.0.1" + bin: + rimraf: dist/esm/bin.mjs + checksum: 10/add8e566fe903f59d7b55c6c2382320c48302778640d1951baf247b3b451af496c2dee7195c204a8c646fd6327feadd1f5b61ce68c1362d4898075a726d83cc6 + languageName: node + linkType: hard + +"rollup@npm:4.58.0": + version: 4.58.0 + resolution: "rollup@npm:4.58.0" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.58.0" + "@rollup/rollup-android-arm64": "npm:4.58.0" + "@rollup/rollup-darwin-arm64": "npm:4.58.0" + "@rollup/rollup-darwin-x64": "npm:4.58.0" + "@rollup/rollup-freebsd-arm64": "npm:4.58.0" + "@rollup/rollup-freebsd-x64": "npm:4.58.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.58.0" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.58.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.58.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.58.0" + "@rollup/rollup-linux-loong64-gnu": "npm:4.58.0" + "@rollup/rollup-linux-loong64-musl": "npm:4.58.0" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.58.0" + "@rollup/rollup-linux-ppc64-musl": "npm:4.58.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.58.0" + "@rollup/rollup-linux-riscv64-musl": "npm:4.58.0" + "@rollup/rollup-linux-s390x-gnu": "npm:4.58.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.58.0" + "@rollup/rollup-linux-x64-musl": "npm:4.58.0" + "@rollup/rollup-openbsd-x64": "npm:4.58.0" + "@rollup/rollup-openharmony-arm64": "npm:4.58.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.58.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.58.0" + "@rollup/rollup-win32-x64-gnu": "npm:4.58.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.58.0" + "@types/estree": "npm:1.0.8" + fsevents: "npm:~2.3.2" dependenciesMeta: - "@rolldown/binding-android-arm64": + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-loong64-gnu": + optional: true + "@rollup/rollup-linux-loong64-musl": optional: true - "@rolldown/binding-darwin-arm64": + "@rollup/rollup-linux-ppc64-gnu": optional: true - "@rolldown/binding-darwin-x64": + "@rollup/rollup-linux-ppc64-musl": optional: true - "@rolldown/binding-freebsd-x64": + "@rollup/rollup-linux-riscv64-gnu": optional: true - "@rolldown/binding-linux-arm-gnueabihf": + "@rollup/rollup-linux-riscv64-musl": optional: true - "@rolldown/binding-linux-arm64-gnu": + "@rollup/rollup-linux-s390x-gnu": optional: true - "@rolldown/binding-linux-arm64-musl": + "@rollup/rollup-linux-x64-gnu": optional: true - "@rolldown/binding-linux-ppc64-gnu": + "@rollup/rollup-linux-x64-musl": optional: true - "@rolldown/binding-linux-s390x-gnu": + "@rollup/rollup-openbsd-x64": optional: true - "@rolldown/binding-linux-x64-gnu": + "@rollup/rollup-openharmony-arm64": optional: true - "@rolldown/binding-linux-x64-musl": + "@rollup/rollup-win32-arm64-msvc": optional: true - "@rolldown/binding-openharmony-arm64": + "@rollup/rollup-win32-ia32-msvc": optional: true - "@rolldown/binding-wasm32-wasi": + "@rollup/rollup-win32-x64-gnu": optional: true - "@rolldown/binding-win32-arm64-msvc": + "@rollup/rollup-win32-x64-msvc": optional: true - "@rolldown/binding-win32-x64-msvc": + fsevents: optional: true bin: - rolldown: bin/cli.mjs - checksum: 10/b8cc0d9df80b495a57b63d69a16a5566c600162046edd407f335a6d27e5b6618a2d88d63e82c4e77a1447d18edcc6900696e041c33236ef38ab51d33cf5da2fe - languageName: node - linkType: hard - -"rollup@npm:4.59.0, rollup@npm:^4.34.8": - version: 4.59.0 - resolution: "rollup@npm:4.59.0" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.59.0" - "@rollup/rollup-android-arm64": "npm:4.59.0" - "@rollup/rollup-darwin-arm64": "npm:4.59.0" - "@rollup/rollup-darwin-x64": "npm:4.59.0" - "@rollup/rollup-freebsd-arm64": "npm:4.59.0" - "@rollup/rollup-freebsd-x64": "npm:4.59.0" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.59.0" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.59.0" - "@rollup/rollup-linux-arm64-gnu": "npm:4.59.0" - "@rollup/rollup-linux-arm64-musl": "npm:4.59.0" - "@rollup/rollup-linux-loong64-gnu": "npm:4.59.0" - "@rollup/rollup-linux-loong64-musl": "npm:4.59.0" - "@rollup/rollup-linux-ppc64-gnu": "npm:4.59.0" - "@rollup/rollup-linux-ppc64-musl": "npm:4.59.0" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.59.0" - "@rollup/rollup-linux-riscv64-musl": "npm:4.59.0" - "@rollup/rollup-linux-s390x-gnu": "npm:4.59.0" - "@rollup/rollup-linux-x64-gnu": "npm:4.59.0" - "@rollup/rollup-linux-x64-musl": "npm:4.59.0" - "@rollup/rollup-openbsd-x64": "npm:4.59.0" - "@rollup/rollup-openharmony-arm64": "npm:4.59.0" - "@rollup/rollup-win32-arm64-msvc": "npm:4.59.0" - "@rollup/rollup-win32-ia32-msvc": "npm:4.59.0" - "@rollup/rollup-win32-x64-gnu": "npm:4.59.0" - "@rollup/rollup-win32-x64-msvc": "npm:4.59.0" + rollup: dist/bin/rollup + checksum: 10/99896aec798bfb0382f28d0d9cad39f505f7cd91f5f8ea58786eae008b81183487ddce15517db74bd5341fdb31c7bc9bb8681b371f3b450d93239d6252cff3b8 + languageName: node + linkType: hard + +"rollup@npm:^4.34.8, rollup@npm:^4.43.0": + version: 4.55.1 + resolution: "rollup@npm:4.55.1" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.55.1" + "@rollup/rollup-android-arm64": "npm:4.55.1" + "@rollup/rollup-darwin-arm64": "npm:4.55.1" + "@rollup/rollup-darwin-x64": "npm:4.55.1" + "@rollup/rollup-freebsd-arm64": "npm:4.55.1" + "@rollup/rollup-freebsd-x64": "npm:4.55.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.55.1" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.55.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.55.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.55.1" + "@rollup/rollup-linux-loong64-gnu": "npm:4.55.1" + "@rollup/rollup-linux-loong64-musl": "npm:4.55.1" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.55.1" + "@rollup/rollup-linux-ppc64-musl": "npm:4.55.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.55.1" + "@rollup/rollup-linux-riscv64-musl": "npm:4.55.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.55.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.55.1" + "@rollup/rollup-linux-x64-musl": "npm:4.55.1" + "@rollup/rollup-openbsd-x64": "npm:4.55.1" + "@rollup/rollup-openharmony-arm64": "npm:4.55.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.55.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.55.1" + "@rollup/rollup-win32-x64-gnu": "npm:4.55.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.55.1" "@types/estree": "npm:1.0.8" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -7699,7 +7807,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10/728237932aad7022c0640cd126b9fe5285f2578099f22a0542229a17785320a6553b74582fa5977877541c1faf27de65ed2750bc89dbb55b525405244a46d9f1 + checksum: 10/392a8bb68ce492d5f8f59d9420b448e76b2550152482a61688617c1c9c52f8f61162478cfe44f2c6a647e82b0a5e7d61e1ac1f2701ca4d48f4acd231df7bd84a languageName: node linkType: hard @@ -7758,7 +7866,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.6.0": version: 5.7.2 resolution: "semver@npm:5.7.2" bin: @@ -7785,6 +7893,13 @@ __metadata: languageName: node linkType: hard +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 10/8980ebf7ae9eb945bb036b6e283c547ee783a1ad557a82babf758a065e2fb6ea337fd82cac30dd565c1e606e423f30024a19fff7afbf4977d784720c4026a8ef + languageName: node + linkType: hard + "sharp@npm:^0.34.5": version: 0.34.5 resolution: "sharp@npm:0.34.5" @@ -7977,7 +8092,7 @@ __metadata: languageName: node linkType: hard -"slash@npm:3.0.0": +"slash@npm:3.0.0, slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" checksum: 10/94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c @@ -8012,7 +8127,16 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:^1.2.1": +"sort-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "sort-keys@npm:2.0.0" + dependencies: + is-plain-obj: "npm:^1.0.0" + checksum: 10/255f9fb393ef60a3db508e0cc5b18ef401127dbb2376b205ae27d168e245fc0d6b35267dde98fab6410dde684c9321f7fc8bf71f2b051761973231617753380d + languageName: node + linkType: hard + +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3 @@ -8117,10 +8241,10 @@ __metadata: languageName: node linkType: hard -"std-env@npm:^4.0.0-rc.1": - version: 4.0.0 - resolution: "std-env@npm:4.0.0" - checksum: 10/19ef21cd85da52dc1178288d1b69e242b6579c0a76ddba2374f859aa58678797ec4a34c4f1fe6b9007a032e04d6fd3fca4e27349c88809265a9cbd90d924203f +"std-env@npm:^3.10.0": + version: 3.10.0 + resolution: "std-env@npm:3.10.0" + checksum: 10/19c9cda4f370b1ffae2b8b08c72167d8c3e5cfa972aaf5c6873f85d0ed2faa729407f5abb194dc33380708c00315002febb6f1e1b484736bfcf9361ad366013a languageName: node linkType: hard @@ -8297,16 +8421,36 @@ __metadata: languageName: node linkType: hard -"tar@npm:7.5.11, tar@npm:^7.4.3, tar@npm:^7.5.2": - version: 7.5.11 - resolution: "tar@npm:7.5.11" +"tar@npm:7.5.8": + version: 7.5.8 + resolution: "tar@npm:7.5.8" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.1.0" + yallist: "npm:^5.0.0" + checksum: 10/5fddc22e0fd03e73d5e9e922e71d8681f85443dee4f21403059a757e186ae4004abc9a709cdc7f4143d7d75758a2935f7306b3cc193123d46b6f786dd2b99c2a + languageName: node + linkType: hard + +"tar@npm:^7.4.3, tar@npm:^7.5.2": + version: 7.5.2 + resolution: "tar@npm:7.5.2" dependencies: "@isaacs/fs-minipass": "npm:^4.0.0" chownr: "npm:^3.0.0" minipass: "npm:^7.1.2" minizlib: "npm:^3.1.0" yallist: "npm:^5.0.0" - checksum: 10/fb2e77ee858a73936c68e066f4a602d428d6f812e6da0cc1e14a41f99498e4f7fd3535e355fa15157240a5538aa416026cfa6306bb0d1d1c1abf314b1f878e9a + checksum: 10/dbad9c9a07863cd1bdf8801d563b3280aa7dd0f4a6cead779ff7516d148dc80b4c04639ba732d47f91f04002f57e8c3c6573a717d649daecaac74ce71daa7ad3 + languageName: node + linkType: hard + +"temp-dir@npm:1.0.0": + version: 1.0.0 + resolution: "temp-dir@npm:1.0.0" + checksum: 10/cb2b58ddfb12efa83e939091386ad73b425c9a8487ea0095fe4653192a40d49184a771a1beba99045fbd011e389fd563122d79f54f82be86a55620667e08a6b2 languageName: node linkType: hard @@ -8393,10 +8537,10 @@ __metadata: languageName: node linkType: hard -"tinyrainbow@npm:^3.1.0": - version: 3.1.0 - resolution: "tinyrainbow@npm:3.1.0" - checksum: 10/4c2c01dde1e5bb9a74973daaae141d4d733d246280b2f9a7f6a9e7dd8e940d48b2580a6086125278777897bc44635d6ccec5f9f563c2179dd2129f4542d0ec05 +"tinyrainbow@npm:^3.0.3": + version: 3.0.3 + resolution: "tinyrainbow@npm:3.0.3" + checksum: 10/169cc63c15e1378674180f3207c82c05bfa58fc79992e48792e8d97b4b759012f48e95297900ede24a81f0087cf329a0d85bb81109739eacf03c650127b3f6c1 languageName: node linkType: hard @@ -8425,12 +8569,12 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^6.0.1": - version: 6.0.1 - resolution: "tough-cookie@npm:6.0.1" +"tough-cookie@npm:^6.0.0": + version: 6.0.0 + resolution: "tough-cookie@npm:6.0.0" dependencies: tldts: "npm:^7.0.5" - checksum: 10/915b1167e0630598eb0644e8bc089ddc28a23bf05f3c329a4a0d879c6b9801a2603be65acb06b5d2dd0f589cabb06bb638837f8222dd82a7023655f07269451a + checksum: 10/1b0592241655912eb972e1c284ccf975af154576b8e9912cad4ed7b4b408a60ccfdad1bc53eef10d376f6a5ef9d84e2f8ea0b46c92263d52de855247ff100e27 languageName: node linkType: hard @@ -8596,6 +8740,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^0.4.1": + version: 0.4.1 + resolution: "type-fest@npm:0.4.1" + checksum: 10/ee6c77378ab0e5b1cb5a408671b03e3edda52bbba6976dc10daf966e5919adbf9553eb597dd23ff3cdfbed7370e9641441a579369d9de94fe9cc12b14b29ccaf + languageName: node + linkType: hard + "type-fest@npm:^0.6.0": version: 0.6.0 resolution: "type-fest@npm:0.6.0" @@ -8680,17 +8831,10 @@ __metadata: languageName: node linkType: hard -"undici@npm:7.24.8": - version: 7.24.8 - resolution: "undici@npm:7.24.8" - checksum: 10/99c11a4022f8f0a70bc88701169d3588b19312b835c57e186fd29158b55284e2b5689e7586bf16038f675bff2ab08a5a1ca4ef4c55d144fbb69ea43df170ade6 - languageName: node - linkType: hard - -"undici@npm:^7.24.5": - version: 7.24.5 - resolution: "undici@npm:7.24.5" - checksum: 10/1eef66817e5bd1ee6ba908553452e8e23c6b743221f8435e838a87fcec84db901ad9bca5853e7a6e123520abd8d3dd03215b19bf57c2ffb114bfeb0b7c206027 +"undici@npm:7.18.2": + version: 7.18.2 + resolution: "undici@npm:7.18.2" + checksum: 10/7d8b921717f5a11fe7e3631dd46ea6dbd80173bdbd454c0115d2c52595352b4a620a3e48c02c40e8f32a416b8bd0028b027cbc8ddebc2d9cdc7a283d50399e3c languageName: node linkType: hard @@ -8773,6 +8917,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^11.1.0": + version: 11.1.0 + resolution: "uuid@npm:11.1.0" + bin: + uuid: dist/esm/bin/uuid + checksum: 10/d2da43b49b154d154574891ced66d0c83fc70caaad87e043400cf644423b067542d6f3eb641b7c819224a7cd3b4c2f21906acbedd6ec9c6a05887aa9115a9cf5 + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -8811,22 +8964,22 @@ __metadata: languageName: node linkType: hard -"vite@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.0.5 - resolution: "vite@npm:8.0.5" +"vite@npm:^6.0.0 || ^7.0.0": + version: 7.3.1 + resolution: "vite@npm:7.3.1" dependencies: + esbuild: "npm:^0.27.0" + fdir: "npm:^6.5.0" fsevents: "npm:~2.3.3" - lightningcss: "npm:^1.32.0" - picomatch: "npm:^4.0.4" - postcss: "npm:^8.5.8" - rolldown: "npm:1.0.0-rc.12" + picomatch: "npm:^4.0.3" + postcss: "npm:^8.5.6" + rollup: "npm:^4.43.0" tinyglobby: "npm:^0.2.15" peerDependencies: "@types/node": ^20.19.0 || >=22.12.0 - "@vitejs/devtools": ^0.1.0 - esbuild: ^0.27.0 || ^0.28.0 jiti: ">=1.21.0" less: ^4.0.0 + lightningcss: ^1.21.0 sass: ^1.70.0 sass-embedded: ^1.70.0 stylus: ">=0.54.8" @@ -8840,14 +8993,12 @@ __metadata: peerDependenciesMeta: "@types/node": optional: true - "@vitejs/devtools": - optional: true - esbuild: - optional: true jiti: optional: true less: optional: true + lightningcss: + optional: true sass: optional: true sass-embedded: @@ -8864,47 +9015,44 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10/eca1ddd6309193a80a8c82607e672df3fecff88d3639382c6eaaf4c3094accd0412c16e2f1cc4a25c835f055133325eaa0355e484d4c253ffb015a7d83d68250 + checksum: 10/62e48ffa4283b688f0049005405a004447ad38ffc99a0efea4c3aa9b7eed739f7402b43f00668c0ee5a895b684dc953d62f0722d8a92c5b2f6c95f051bceb208 languageName: node linkType: hard -"vitest@npm:4.1.5": - version: 4.1.5 - resolution: "vitest@npm:4.1.5" - dependencies: - "@vitest/expect": "npm:4.1.5" - "@vitest/mocker": "npm:4.1.5" - "@vitest/pretty-format": "npm:4.1.5" - "@vitest/runner": "npm:4.1.5" - "@vitest/snapshot": "npm:4.1.5" - "@vitest/spy": "npm:4.1.5" - "@vitest/utils": "npm:4.1.5" - es-module-lexer: "npm:^2.0.0" - expect-type: "npm:^1.3.0" +"vitest@npm:4.0.18": + version: 4.0.18 + resolution: "vitest@npm:4.0.18" + dependencies: + "@vitest/expect": "npm:4.0.18" + "@vitest/mocker": "npm:4.0.18" + "@vitest/pretty-format": "npm:4.0.18" + "@vitest/runner": "npm:4.0.18" + "@vitest/snapshot": "npm:4.0.18" + "@vitest/spy": "npm:4.0.18" + "@vitest/utils": "npm:4.0.18" + es-module-lexer: "npm:^1.7.0" + expect-type: "npm:^1.2.2" magic-string: "npm:^0.30.21" obug: "npm:^2.1.1" pathe: "npm:^2.0.3" picomatch: "npm:^4.0.3" - std-env: "npm:^4.0.0-rc.1" + std-env: "npm:^3.10.0" tinybench: "npm:^2.9.0" tinyexec: "npm:^1.0.2" tinyglobby: "npm:^0.2.15" - tinyrainbow: "npm:^3.1.0" - vite: "npm:^6.0.0 || ^7.0.0 || ^8.0.0" + tinyrainbow: "npm:^3.0.3" + vite: "npm:^6.0.0 || ^7.0.0" why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" "@opentelemetry/api": ^1.9.0 "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 - "@vitest/browser-playwright": 4.1.5 - "@vitest/browser-preview": 4.1.5 - "@vitest/browser-webdriverio": 4.1.5 - "@vitest/coverage-istanbul": 4.1.5 - "@vitest/coverage-v8": 4.1.5 - "@vitest/ui": 4.1.5 + "@vitest/browser-playwright": 4.0.18 + "@vitest/browser-preview": 4.0.18 + "@vitest/browser-webdriverio": 4.0.18 + "@vitest/ui": 4.0.18 happy-dom: "*" jsdom: "*" - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: "@edge-runtime/vm": optional: true @@ -8918,21 +9066,15 @@ __metadata: optional: true "@vitest/browser-webdriverio": optional: true - "@vitest/coverage-istanbul": - optional: true - "@vitest/coverage-v8": - optional: true "@vitest/ui": optional: true happy-dom: optional: true jsdom: optional: true - vite: - optional: false bin: vitest: vitest.mjs - checksum: 10/8b768514993d8908fc9b5f2d619943d23b81aaba9443132583bd58aeb441bf76d152961326de9ca328ff0efcddbf8a58f4568a7b66a4391202542ed772613d81 + checksum: 10/6c6464ebcf3af83546862896fd1b5f10cb6607261bffce39df60033a288b8c1687ae1dd20002b6e4997a7a05303376d1eb58ce20afe63be052529a4378a8c165 languageName: node linkType: hard @@ -8968,28 +9110,27 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^8.0.1": +"webidl-conversions@npm:^8.0.0": version: 8.0.1 resolution: "webidl-conversions@npm:8.0.1" checksum: 10/0f7007311f1fc257a8e406dd236f13b61fb57cf0fddb476aec33457d2d0add2d012d6df0eeb00934399238e3f3b9dad30f59dc6ac83024ae0ebd5a518bf365e8 languageName: node linkType: hard -"whatwg-mimetype@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-mimetype@npm:5.0.0" - checksum: 10/a2d5da445f671ed34010b45283ffb9ba3c68c695b8ec91f7400cfc9149c35eb2bc47bd2c39bbe8e026786b955ace03402ba2e5cfde4955434a3ec3c511a85d0a +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: 10/894a618e2d90bf444b6f309f3ceb6e58cf21b2beaa00c8b333696958c4076f0c7b30b9d33413c9ffff7c5832a0a0c8569e5bb347ef44beded72aeefd0acd62e8 languageName: node linkType: hard -"whatwg-url@npm:^16.0.0, whatwg-url@npm:^16.0.1": - version: 16.0.1 - resolution: "whatwg-url@npm:16.0.1" +"whatwg-url@npm:^15.0.0, whatwg-url@npm:^15.1.0": + version: 15.1.0 + resolution: "whatwg-url@npm:15.1.0" dependencies: - "@exodus/bytes": "npm:^1.11.0" tr46: "npm:^6.0.0" - webidl-conversions: "npm:^8.0.1" - checksum: 10/221cc15ef89288dc1fafdb409352c62ab12ba9ff7f0753e925d8799c87b20371f3bc762dc0a8a5b9c23cddc4b1860537fc6c1bcc9d816ace9b3d3c47212cd163 + webidl-conversions: "npm:^8.0.0" + checksum: 10/9ae5ce70060f2a9ea73799062af6e796ec2477f44bf1a886953b405700e3ab11d15aa0fe7088c4215f839e56a845d5d1c44584ed292a832837a8c8549c566886 languageName: node linkType: hard @@ -9064,15 +9205,15 @@ __metadata: languageName: node linkType: hard -"workerd@npm:1.20260424.1": - version: 1.20260424.1 - resolution: "workerd@npm:1.20260424.1" +"workerd@npm:1.20260301.1": + version: 1.20260301.1 + resolution: "workerd@npm:1.20260301.1" dependencies: - "@cloudflare/workerd-darwin-64": "npm:1.20260424.1" - "@cloudflare/workerd-darwin-arm64": "npm:1.20260424.1" - "@cloudflare/workerd-linux-64": "npm:1.20260424.1" - "@cloudflare/workerd-linux-arm64": "npm:1.20260424.1" - "@cloudflare/workerd-windows-64": "npm:1.20260424.1" + "@cloudflare/workerd-darwin-64": "npm:1.20260301.1" + "@cloudflare/workerd-darwin-arm64": "npm:1.20260301.1" + "@cloudflare/workerd-linux-64": "npm:1.20260301.1" + "@cloudflare/workerd-linux-arm64": "npm:1.20260301.1" + "@cloudflare/workerd-windows-64": "npm:1.20260301.1" dependenciesMeta: "@cloudflare/workerd-darwin-64": optional: true @@ -9086,25 +9227,25 @@ __metadata: optional: true bin: workerd: bin/workerd - checksum: 10/8a99ef13d8d569b69131f27186d75b444b05e51b6500536f3f4267c3f3bfe76a507a5d6f4cf5ecb7dd5ab7d8f3c968a2ed3c3709a554214125669b05c681bc2d + checksum: 10/1c3f678fc591996ebca5f02d6e677f6000967b27cf1260b7ff051d9c99927f504f6a5c2f4d06202d1e26a36d452a38c382d6b68df51c226947a59a7af6de0723 languageName: node linkType: hard -"wrangler@npm:4.85.0": - version: 4.85.0 - resolution: "wrangler@npm:4.85.0" +"wrangler@npm:4.71.0": + version: 4.71.0 + resolution: "wrangler@npm:4.71.0" dependencies: "@cloudflare/kv-asset-handler": "npm:0.4.2" - "@cloudflare/unenv-preset": "npm:2.16.1" + "@cloudflare/unenv-preset": "npm:2.15.0" blake3-wasm: "npm:2.1.5" esbuild: "npm:0.27.3" fsevents: "npm:~2.3.2" - miniflare: "npm:4.20260424.0" + miniflare: "npm:4.20260301.1" path-to-regexp: "npm:6.3.0" unenv: "npm:2.0.0-rc.24" - workerd: "npm:1.20260424.1" + workerd: "npm:1.20260301.1" peerDependencies: - "@cloudflare/workers-types": ^4.20260424.1 + "@cloudflare/workers-types": ^4.20260226.1 dependenciesMeta: fsevents: optional: true @@ -9114,7 +9255,7 @@ __metadata: bin: wrangler: bin/wrangler.js wrangler2: bin/wrangler.js - checksum: 10/c255e7c0ada305f507cc2ce4daf71167e486fb6a6f619ca1df96ff75e02ea2d588721feea60495c1887f7d32421f9e14e2fb72656146900ed4a790f82220ada2 + checksum: 10/1ff158734307465b7b9b2b610426f6163f4a184c5b8c0c2d06f011f3a663e45dcc1dd37142f45c69c0254ad0da11b391307efa6acba1e68135012329d247e9b2 languageName: node linkType: hard @@ -9168,6 +9309,17 @@ __metadata: languageName: node linkType: hard +"write-file-atomic@npm:^2.4.2": + version: 2.4.3 + resolution: "write-file-atomic@npm:2.4.3" + dependencies: + graceful-fs: "npm:^4.1.11" + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^3.0.2" + checksum: 10/15ce863dce07075d0decedd7c9094f4461e46139d28a758c53162f24c0791c16cd2e7a76baa5b47b1a851fbb51e16f2fab739afb156929b22628f3225437135c + languageName: node + linkType: hard + "write-file-atomic@npm:^6.0.0": version: 6.0.0 resolution: "write-file-atomic@npm:6.0.0" @@ -9178,6 +9330,31 @@ __metadata: languageName: node linkType: hard +"write-json-file@npm:^3.2.0": + version: 3.2.0 + resolution: "write-json-file@npm:3.2.0" + dependencies: + detect-indent: "npm:^5.0.0" + graceful-fs: "npm:^4.1.15" + make-dir: "npm:^2.1.0" + pify: "npm:^4.0.1" + sort-keys: "npm:^2.0.0" + write-file-atomic: "npm:^2.4.2" + checksum: 10/2b97ce2027d53c28a33e4a8e7b0d565faf785988b3776f9e0c68d36477c1fb12639fd0d70877d92a861820707966c62ea9c5f7a36a165d615fd47ca8e24c8371 + languageName: node + linkType: hard + +"write-pkg@npm:4.0.0": + version: 4.0.0 + resolution: "write-pkg@npm:4.0.0" + dependencies: + sort-keys: "npm:^2.0.0" + type-fest: "npm:^0.4.1" + write-json-file: "npm:^3.2.0" + checksum: 10/7864d44370f42a6761f6898d07ee2818c7a2faad45116580cf779f3adaf94e4bea5557612533a6c421c32323253ecb63b50615094960a637aeaef5df0fd2d6cd + languageName: node + linkType: hard + "ws@npm:8.18.0": version: 8.18.0 resolution: "ws@npm:8.18.0" @@ -9193,6 +9370,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.18.3": + version: 8.19.0 + resolution: "ws@npm:8.19.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10/26e4901e93abaf73af9f26a93707c95b4845e91a7a347ec8c569e6e9be7f9df066f6c2b817b2d685544e208207898a750b78461e6e8d810c11a370771450c31b + languageName: node + linkType: hard + "xhr-mock@npm:2.5.1": version: 2.5.1 resolution: "xhr-mock@npm:2.5.1" @@ -9341,10 +9533,3 @@ __metadata: checksum: 10/147912bd424e2f5266606890c8600717cc0b06e255704b78fa03d42c2ef217492b705d74d7cfffed45ecd5b800b719cf67300e8d11bc9041416c08cc72a0f254 languageName: node linkType: hard - -"zod@npm:^3.25.76": - version: 3.25.76 - resolution: "zod@npm:3.25.76" - checksum: 10/f0c963ec40cd96858451d1690404d603d36507c1fc9682f2dae59ab38b578687d542708a7fdbf645f77926f78c9ed558f57c3d3aa226c285f798df0c4da16995 - languageName: node - linkType: hard diff --git a/clients/algoliasearch-client-python/algoliasearch/http/api_response.py b/clients/algoliasearch-client-python/algoliasearch/http/api_response.py index aa7c7de7bb2..ed19413aa69 100644 --- a/clients/algoliasearch-client-python/algoliasearch/http/api_response.py +++ b/clients/algoliasearch-client-python/algoliasearch/http/api_response.py @@ -65,9 +65,14 @@ def deserialize(klass: Any = None, data: Any = None) -> Any: if hasattr(klass, "__origin__") and klass.__origin__ is list: sub_kls = klass.__args__[0] - arr = json.loads(data) + arr = json.loads(data) if isinstance(data, str) else data return [ApiResponse.deserialize(sub_kls, sub_data) for sub_data in arr] + if hasattr(klass, "__origin__") and klass.__origin__ is dict: + sub_kls = klass.__args__[1] + obj = json.loads(data) if isinstance(data, str) else data + return {k: ApiResponse.deserialize(sub_kls, v) for k, v in obj.items()} + if isinstance(klass, str): if klass.startswith("List["): sub_kls = match(r"List\[(.*)]", klass) diff --git a/clients/algoliasearch-client-scala/src/main/scala/algoliasearch/config/HttpRequest.scala b/clients/algoliasearch-client-scala/src/main/scala/algoliasearch/config/HttpRequest.scala index 7236f1179aa..93e4c045368 100644 --- a/clients/algoliasearch-client-scala/src/main/scala/algoliasearch/config/HttpRequest.scala +++ b/clients/algoliasearch-client-scala/src/main/scala/algoliasearch/config/HttpRequest.scala @@ -100,6 +100,13 @@ object HttpRequest { this } + def withHeader(key: String, value: Option[Any]): HttpRequest.Builder = { + value match { + case Some(param) => withHeader(key, param) + case None => this + } + } + def withHeaders(headers: Map[String, Any]): HttpRequest.Builder = { for ((key, value) <- headers) withHeader(key, value) diff --git a/config/clients.config.json b/config/clients.config.json index 024770a5304..2a5c27a0410 100644 --- a/config/clients.config.json +++ b/config/clients.config.json @@ -4,6 +4,7 @@ "clients": [ "abtesting", "abtesting-v3", + "agent-studio", "analytics", "composition", "ingestion", @@ -80,6 +81,7 @@ "clients": [ "abtesting", "abtesting-v3", + "agent-studio", "analytics", "composition", "ingestion", @@ -114,6 +116,7 @@ "clients": [ "abtesting", "abtesting-v3", + "agent-studio", "analytics", "composition", "ingestion", @@ -201,6 +204,11 @@ { "name": "search", "output": "clients/algoliasearch-client-javascript/packages/client-search" + }, + { + "name": "agent-studio", + "output": "clients/algoliasearch-client-javascript/packages/agent-studio", + "isStandaloneClient": true } ], "folder": "clients/algoliasearch-client-javascript", @@ -221,6 +229,7 @@ "clients": [ "abtesting", "abtesting-v3", + "agent-studio", "analytics", "composition", "ingestion", @@ -250,6 +259,7 @@ "clients": [ "abtesting", "abtesting-v3", + "agent-studio", "analytics", "composition", "ingestion", @@ -284,6 +294,7 @@ "clients": [ "abtesting", "abtesting-v3", + "agent-studio", "analytics", "composition", "ingestion", @@ -320,6 +331,7 @@ "clients": [ "abtesting", "abtesting-v3", + "agent-studio", "analytics", "composition", "ingestion", @@ -353,6 +365,7 @@ "clients": [ "abtesting", "abtesting-v3", + "agent-studio", "analytics", "composition", "ingestion", @@ -382,6 +395,7 @@ "clients": [ "abtesting", "abtesting-v3", + "agent-studio", "analytics", "composition", "ingestion", diff --git a/config/clients.schema.json b/config/clients.schema.json index 8d68968aa8a..dc896048117 100644 --- a/config/clients.schema.json +++ b/config/clients.schema.json @@ -13,6 +13,7 @@ "enum": [ "abtesting", "abtesting-v3", + "agent-studio", "analytics", "composition", "ingestion", @@ -37,6 +38,7 @@ "algoliasearch", "abtesting", "abtesting-v3", + "agent-studio", "analytics", "composition", "ingestion", diff --git a/config/generation.config.mjs b/config/generation.config.mjs index c2f950db91e..beee2e7c9f0 100644 --- a/config/generation.config.mjs +++ b/config/generation.config.mjs @@ -28,6 +28,7 @@ export const patterns = [ 'tests/output/csharp/src/Algolia.Search.Tests.csproj', '!tests/output/csharp/src/TimeoutIntegrationTests.cs', + '!tests/output/csharp/src/Utils/**', // Dart '!clients/algoliasearch-client-dart/**', @@ -64,6 +65,7 @@ export const patterns = [ 'tests/output/java/build.gradle', '!tests/output/java/src/test/java/com/algolia/manual/**', + '!tests/output/java/src/test/java/com/algolia/utils/**', // JavaScript '!clients/algoliasearch-client-javascript/*', @@ -92,6 +94,8 @@ export const patterns = [ 'clients/algoliasearch-client-kotlin/client/src/commonMain/kotlin/com/algolia/client/api/**', 'clients/algoliasearch-client-kotlin/client/src/commonMain/kotlin/com/algolia/client/model/**', + '!tests/output/kotlin/src/commonTest/kotlin/com/algolia/utils/TestHelpers.kt', + // PHP '!clients/algoliasearch-client-php/**', 'clients/algoliasearch-client-php/lib/Api/*', diff --git a/playground/csharp/Playground/Playgrounds/AgentStudio.cs b/playground/csharp/Playground/Playgrounds/AgentStudio.cs new file mode 100644 index 00000000000..68eef341f96 --- /dev/null +++ b/playground/csharp/Playground/Playgrounds/AgentStudio.cs @@ -0,0 +1,36 @@ +using Algolia.Search.Clients; +using Algolia.Utils; +using Microsoft.Extensions.Logging; + +namespace Algolia.Playgrounds; + +public class AgentStudioPlayground : IPlayground +{ + private readonly AgentStudioClient _client; + + public AgentStudioPlayground(Configuration configuration) + { + var loggerFactory = LoggerFactory.Create(i => i.AddFilter("Algolia", LogLevel.Information) + .AddConsole()); + var config = new AgentStudioConfig(configuration.AppId, configuration.AdminApiKey, "us"); + _client = new AgentStudioClient(config, loggerFactory); + } + + public async Task Run() + { + PlaygroundHelper.Hello("Starting Agent Studio API playground"); + try + { + var response = await _client.ListAgentsAsync().ConfigureAwait(false); + Console.WriteLine("List of agents:"); + foreach (var agent in response.Data) + { + Console.WriteLine($"- {agent.Name} (ID: {agent.Id})"); + } + } + catch (Exception e) + { + Console.WriteLine($"Error: {e.Message}"); + } + } +} diff --git a/playground/csharp/Playground/Program.cs b/playground/csharp/Playground/Program.cs index 0855389aebd..3294ecda34e 100644 --- a/playground/csharp/Playground/Program.cs +++ b/playground/csharp/Playground/Program.cs @@ -55,6 +55,10 @@ async Task StartPlayground(string s, Configuration configuration) var ingestion = new IngestionPlayground(configuration); await ingestion.Run(); break; + case "agent-studio": + var agentStudio = new AgentStudioPlayground(configuration); + await agentStudio.Run(); + break; case "all": await StartPlayground("abtesting", configuration); await StartPlayground("analytics", configuration); @@ -65,6 +69,7 @@ async Task StartPlayground(string s, Configuration configuration) await StartPlayground("recommend", configuration); await StartPlayground("search", configuration); await StartPlayground("ingestion", configuration); + await StartPlayground("agent-studio", configuration); break; } } diff --git a/playground/go/agent-studio.go b/playground/go/agent-studio.go new file mode 100644 index 00000000000..cafea0c7821 --- /dev/null +++ b/playground/go/agent-studio.go @@ -0,0 +1,28 @@ +package main + +import ( + "fmt" + + agentStudio "github.com/algolia/algoliasearch-client-go/v4/algolia/agent-studio" +) + +func testAgentStudio(appID, apiKey string) int { + client, err := agentStudio.NewClient(appID, apiKey, agentStudio.US) + if err != nil { + panic(err) + } + + response, err := client.ListAgents(client.NewApiListAgentsRequest()) + if err != nil { + fmt.Printf("request error: %v\n", err) + + return 1 + } + + fmt.Println("List of agents:") + for _, agent := range response.Data { + fmt.Printf("- %s (ID: %s)\n", agent.Name, agent.Id) + } + + return 0 +} diff --git a/playground/java/src/main/java/com/algolia/playground/AgentStudio.java b/playground/java/src/main/java/com/algolia/playground/AgentStudio.java new file mode 100644 index 00000000000..5555d64f6d4 --- /dev/null +++ b/playground/java/src/main/java/com/algolia/playground/AgentStudio.java @@ -0,0 +1,25 @@ +package com.algolia.playground; + +import com.algolia.api.AgentStudioClient; +import io.github.cdimascio.dotenv.Dotenv; + +public class AgentStudio { + + public static void main(String[] args) throws Exception { + var dotenv = Dotenv.configure().directory("../").load(); + var appId = dotenv.get("ALGOLIA_APPLICATION_ID"); + var apiKey = dotenv.get("ALGOLIA_ADMIN_KEY"); + + var client = new AgentStudioClient(appId, apiKey, "us"); + + try { + var response = client.listAgents(); + System.out.println("List of agents:"); + for (var agent : response.getData()) { + System.out.println("- " + agent.getName() + " (ID: " + agent.getId() + ")"); + } + } finally { + client.close(); + } + } +} diff --git a/playground/javascript/node/agentStudio.ts b/playground/javascript/node/agentStudio.ts new file mode 100644 index 00000000000..4df895583a4 --- /dev/null +++ b/playground/javascript/node/agentStudio.ts @@ -0,0 +1,27 @@ +import { ApiError } from '@algolia/client-common'; +import { agentStudioClient } from '@algolia/agent-studio'; + +const appId = process.env.ALGOLIA_APPLICATION_ID || '**** APP_ID *****'; +const apiKey = process.env.ALGOLIA_ADMIN_KEY || '**** ADMIN_KEY *****'; + +// Init client with appId and apiKey +const client = agentStudioClient(appId, apiKey, 'us'); + +async function testAgentStudio() { + try { + const response = await client.listAgents(); + + console.log('List of agents:'); + for (const agent of response.data) { + console.log(`- ${agent.name} (ID: ${agent.id})`); + } + } catch (e) { + if (e instanceof ApiError) { + return console.log(`[${e.status}] ${e.message}`, e.stackTrace); + } + + console.log('[ERROR]', e); + } +} + +testAgentStudio(); diff --git a/playground/javascript/node/package.json b/playground/javascript/node/package.json index 55e5c20104c..b87b6ae6da0 100644 --- a/playground/javascript/node/package.json +++ b/playground/javascript/node/package.json @@ -9,6 +9,7 @@ "dependencies": { "@algolia/abtesting": "link:../../../clients/algoliasearch-client-javascript/packages/abtesting", "@algolia/advanced-personalization": "link:../../../clients/algoliasearch-client-javascript/packages/advanced-personalization", + "@algolia/agent-studio": "link:../../../clients/algoliasearch-client-javascript/packages/agent-studio", "@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", diff --git a/playground/kotlin/src/main/kotlin/com/algolia/playground/AgentStudio.kt b/playground/kotlin/src/main/kotlin/com/algolia/playground/AgentStudio.kt new file mode 100644 index 00000000000..12fcd4a2d52 --- /dev/null +++ b/playground/kotlin/src/main/kotlin/com/algolia/playground/AgentStudio.kt @@ -0,0 +1,23 @@ +package com.algolia.playground + +import com.algolia.client.api.AgentStudioClient +import io.github.cdimascio.dotenv.Dotenv +import kotlin.system.exitProcess + +suspend fun main() { + val dotenv = Dotenv.configure().directory("../").load() + + val client = AgentStudioClient( + appId = dotenv["ALGOLIA_APPLICATION_ID"], + apiKey = dotenv["ALGOLIA_ADMIN_KEY"], + region = "us", + ) + + val response = client.listAgents() + println("List of agents:") + for (agent in response.data) { + println("- ${agent.name} (ID: ${agent.id})") + } + + exitProcess(0) +} diff --git a/playground/php/src/agent-studio.php b/playground/php/src/agent-studio.php new file mode 100644 index 00000000000..e25496d21ae --- /dev/null +++ b/playground/php/src/agent-studio.php @@ -0,0 +1,18 @@ +listAgents(); + +echo 'List of agents:' . PHP_EOL; +foreach ($response['agents'] as $agent) { + echo '- ' . $agent['name'] . ' (ID: ' . $agent['id'] . ')' . PHP_EOL; +} diff --git a/playground/python/app/agent_studio.py b/playground/python/app/agent_studio.py new file mode 100644 index 00000000000..f2baa2526e3 --- /dev/null +++ b/playground/python/app/agent_studio.py @@ -0,0 +1,29 @@ +from os import environ +from asyncio import run + +from algoliasearch.agent_studio.client import AgentStudioClient +from dotenv import load_dotenv + +load_dotenv("../.env") + + +async def main(): + client = AgentStudioClient( + environ.get("ALGOLIA_APPLICATION_ID"), environ.get("ALGOLIA_ADMIN_KEY"), "us" + ) + + print("client initialized", client) + + try: + response = await client.list_agents() + + print("List of agents:") + for agent in response.data: + print(f"- {agent.name} (ID: {agent.id})") + finally: + await client.close() + + print("client closed", client) + + +run(main()) diff --git a/playground/python/poetry.lock b/playground/python/poetry.lock index cd6810847e7..81522189402 100644 --- a/playground/python/poetry.lock +++ b/playground/python/poetry.lock @@ -142,7 +142,7 @@ frozenlist = ">=1.1.0" [[package]] name = "algoliasearch" -version = "4.29.1" +version = "4.37.0" description = "A fully-featured and blazing-fast Python API client to interact with Algolia." optional = false python-versions = ">= 3.8.1" diff --git a/playground/ruby/agent-studio.rb b/playground/ruby/agent-studio.rb new file mode 100644 index 00000000000..a5e81e3671c --- /dev/null +++ b/playground/ruby/agent-studio.rb @@ -0,0 +1,12 @@ +require 'dotenv' +require 'algolia' + +Dotenv.load('../.env') + +client = Algolia::AgentStudioClient.create(ENV['ALGOLIA_APPLICATION_ID'], ENV['ALGOLIA_ADMIN_KEY'], 'us') + +response = client.list_agents +puts 'List of agents:' +response.agents.each do |agent| + puts "- #{agent.name} (ID: #{agent.id})" +end diff --git a/playground/scala/src/main/scala/AgentStudio.scala b/playground/scala/src/main/scala/AgentStudio.scala new file mode 100644 index 00000000000..4e0d2d8163e --- /dev/null +++ b/playground/scala/src/main/scala/AgentStudio.scala @@ -0,0 +1,32 @@ +import algoliasearch.api.AgentStudioClient +import algoliasearch.agentstudio.JsonSupport +import io.github.cdimascio.dotenv.Dotenv +import org.json4s.Formats + +import scala.concurrent.duration.Duration +import scala.concurrent.{Await, ExecutionContextExecutor} + +object AgentStudio { + def main(args: Array[String]): Unit = { + implicit val ec: ExecutionContextExecutor = scala.concurrent.ExecutionContext.global + implicit val formats: Formats = JsonSupport.format + + val dotenv = Dotenv.configure.directory("../").load + val appId = dotenv.get("ALGOLIA_APPLICATION_ID") + val apiKey = dotenv.get("ALGOLIA_ADMIN_KEY") + + val client = AgentStudioClient( + appId = appId, + apiKey = apiKey, + region = "us", + ) + + val res = client.listAgents() + val response = Await.result(res, Duration(100, "sec")) + + println("List of agents:") + for (agent <- response.data) { + println(s"- ${agent.name} (ID: ${agent.id})") + } + } +} diff --git a/playground/swift/Sources/AgentStudio/main.swift b/playground/swift/Sources/AgentStudio/main.swift new file mode 100644 index 00000000000..8a5da76d58b --- /dev/null +++ b/playground/swift/Sources/AgentStudio/main.swift @@ -0,0 +1,54 @@ +// The Swift Programming Language +// https://docs.swift.org/swift-book + +import Foundation + +import DotEnv + +import AlgoliaCore +@preconcurrency import AlgoliaAgentStudio + +do { + guard let currentFileURL = URL(string: #file) else { + fatalError("Unable to get current file URL") + } + + let packageDirectoryURL = currentFileURL + .deletingLastPathComponent() + .deletingLastPathComponent() + .deletingLastPathComponent() + .deletingLastPathComponent() + + let dotEnvURL = packageDirectoryURL + .appendingPathComponent(".env") + try DotEnv.load(path: dotEnvURL.absoluteString, encoding: .utf8, overwrite: true) +} catch { + fatalError("Unable to load .env file from playground folder") +} + +let env = ProcessInfo.processInfo.environment + +guard let applicationID = env["ALGOLIA_APPLICATION_ID"] else { + fatalError("Application ID not found in env") +} + +guard let apiKey = env["ALGOLIA_ADMIN_KEY"] else { + fatalError("Admin API key not found in env") +} + +guard applicationID != "" && apiKey != "" else { + fatalError("AppID and ApiKey must be filled in your .env file") +} + +do { + let client = try AgentStudioClient(appID: applicationID, apiKey: apiKey, region: .us) + + let response = try await client.listAgents() + + print("List of agents:") + for agent in response.data { + print("- \(agent.name) (ID: \(agent.id))") + } +} catch { + dump(error.localizedDescription) +} diff --git a/redocly.yaml b/redocly.yaml index b902318c16d..779198aa33d 100644 --- a/redocly.yaml +++ b/redocly.yaml @@ -5,6 +5,8 @@ apis: root: specs/abtesting-v3/spec.yml advanced-personalization: root: specs/advanced-personalization/spec.yml + agent-studio: + root: specs/agent-studio/spec.yml analytics: root: specs/analytics/spec.yml composition: diff --git a/renovate.json b/renovate.json index ea51695293e..11de1c8f0ab 100644 --- a/renovate.json +++ b/renovate.json @@ -274,6 +274,7 @@ "ignorePaths": [ "**/algoliasearch/**", "**/client-abtesting/**", + "**/client-agent-studio/**", "**/client-analytics/**", "**/client-insights/**", "**/client_insights/**", diff --git a/specs/agent-studio/common/parameters.yml b/specs/agent-studio/common/parameters.yml new file mode 100644 index 00000000000..2cecc9af1bd --- /dev/null +++ b/specs/agent-studio/common/parameters.yml @@ -0,0 +1,55 @@ +agentId: + name: agentId + in: path + required: true + description: Unique identifier of the agent. + schema: + type: string +conversationId: + name: conversationId + in: path + required: true + description: Unique identifier of the conversation. + schema: + type: string +providerId: + name: providerId + in: path + required: true + description: Unique identifier of the provider authentication. + schema: + type: string +userToken: + name: userToken + in: path + required: true + description: Unique token identifying the user. + schema: + type: string +page: + name: page + in: query + required: false + description: Page number for pagination (0-indexed). + schema: + type: integer + minimum: 0 + default: 0 +hitsPerPage: + name: hitsPerPage + in: query + required: false + description: Number of items per page. + schema: + type: integer + minimum: 1 + maximum: 100 + default: 20 +stream: + name: stream + in: query + required: false + description: Whether to stream the response using Server-Sent Events. + schema: + type: boolean + default: false diff --git a/specs/agent-studio/common/schemas/Actual_instanceUnion.yml b/specs/agent-studio/common/schemas/Actual_instanceUnion.yml new file mode 100644 index 00000000000..576e4b1ac8e --- /dev/null +++ b/specs/agent-studio/common/schemas/Actual_instanceUnion.yml @@ -0,0 +1,7 @@ +Actual_instanceUnion: + oneOf: + - items: + $ref: 'FacetFilters-Input.yml#/FacetFilters-Input' + type: array + - type: string + - type: 'null' diff --git a/specs/agent-studio/common/schemas/AdvancedSyntaxFeatures.yml b/specs/agent-studio/common/schemas/AdvancedSyntaxFeatures.yml new file mode 100644 index 00000000000..48bac18076f --- /dev/null +++ b/specs/agent-studio/common/schemas/AdvancedSyntaxFeatures.yml @@ -0,0 +1,7 @@ +AdvancedSyntaxFeatures: + type: string + enum: + - exactPhrase + - excludeWords + title: advancedSyntaxFeatures + description: AdvancedSyntaxFeatures. diff --git a/specs/agent-studio/common/schemas/AdvancedSyntaxFeaturesUnion.yml b/specs/agent-studio/common/schemas/AdvancedSyntaxFeaturesUnion.yml new file mode 100644 index 00000000000..87da3c69557 --- /dev/null +++ b/specs/agent-studio/common/schemas/AdvancedSyntaxFeaturesUnion.yml @@ -0,0 +1,6 @@ +AdvancedSyntaxFeaturesUnion: + oneOf: + - items: + $ref: 'AdvancedSyntaxFeatures.yml#/AdvancedSyntaxFeatures' + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/AgentCompletionAlgoliaParams.yml b/specs/agent-studio/common/schemas/AgentCompletionAlgoliaParams.yml new file mode 100644 index 00000000000..327f3aece62 --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentCompletionAlgoliaParams.yml @@ -0,0 +1,17 @@ +AgentCompletionAlgoliaParams: + properties: + mcpServers: + oneOf: + - additionalProperties: + additionalProperties: + additionalProperties: + type: string + type: object + type: object + type: object + - type: 'null' + title: mcpservers + searchParameters: + $ref: 'SearchParametersUnion.yml#/SearchParametersUnion' + type: object + title: agentCompletionAlgoliaParams diff --git a/specs/agent-studio/common/schemas/AgentCompletionRequest.yml b/specs/agent-studio/common/schemas/AgentCompletionRequest.yml new file mode 100644 index 00000000000..3291713f8db --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentCompletionRequest.yml @@ -0,0 +1,18 @@ +AgentCompletionRequest: + properties: + configuration: + $ref: 'ConfigurationUnion.yml#/ConfigurationUnion' + messages: + $ref: 'MessagesUnion.yml#/MessagesUnion' + id: + oneOf: + - type: string + - type: 'null' + title: id + algolia: + $ref: 'AlgoliaUnion.yml#/AlgoliaUnion' + type: object + required: + - messages + title: agentCompletionRequest + description: Request model for creating a completion for an assistant. diff --git a/specs/agent-studio/common/schemas/AgentCompletionResponse.yml b/specs/agent-studio/common/schemas/AgentCompletionResponse.yml new file mode 100644 index 00000000000..04efbbc028a --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentCompletionResponse.yml @@ -0,0 +1,4 @@ +AgentCompletionResponse: + oneOf: + - $ref: 'AssistantMessageV4Response.yml#/AssistantMessageV4Response' + - $ref: 'AssistantMessageV5Response.yml#/AssistantMessageV5Response' diff --git a/specs/agent-studio/common/schemas/AgentConfigCreate.yml b/specs/agent-studio/common/schemas/AgentConfigCreate.yml new file mode 100644 index 00000000000..f38ab74fc08 --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentConfigCreate.yml @@ -0,0 +1,45 @@ +AgentConfigCreate: + properties: + name: + type: string + title: name + description: + oneOf: + - type: string + - type: 'null' + title: description + providerId: + oneOf: + - type: string + - type: 'null' + title: providerid + model: + oneOf: + - type: string + - type: 'null' + title: model + instructions: + type: string + title: instructions + config: + additionalProperties: true + type: object + title: config + default: {} + example: + sendUsage: true + sendReasoning: true + temperature: 0.7 + max_tokens: 1500 + reasoning: '{summary: auto}' + features: '[memory]' + tools: + items: + $ref: 'ItemsUnion.yml#/ItemsUnion' + type: array + title: tools + type: object + required: + - name + - instructions + title: agentConfigCreate diff --git a/specs/agent-studio/common/schemas/AgentConfigUpdate.yml b/specs/agent-studio/common/schemas/AgentConfigUpdate.yml new file mode 100644 index 00000000000..011ee8f5ebd --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentConfigUpdate.yml @@ -0,0 +1,42 @@ +AgentConfigUpdate: + properties: + name: + oneOf: + - type: string + - type: 'null' + title: name + description: + oneOf: + - type: string + - type: 'null' + title: description + providerId: + oneOf: + - type: string + - type: 'null' + title: providerid + model: + oneOf: + - type: string + - type: 'null' + title: model + instructions: + oneOf: + - type: string + - type: 'null' + title: instructions + config: + oneOf: + - additionalProperties: true + type: object + - type: 'null' + title: config + tools: + oneOf: + - items: + $ref: 'ItemsUnion.yml#/ItemsUnion' + type: array + - type: 'null' + title: tools + type: object + title: agentConfigUpdate diff --git a/specs/agent-studio/common/schemas/AgentConsolidateRequest.yml b/specs/agent-studio/common/schemas/AgentConsolidateRequest.yml new file mode 100644 index 00000000000..884f0c85b16 --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentConsolidateRequest.yml @@ -0,0 +1,47 @@ +AgentConsolidateRequest: + properties: + providerID: + type: string + title: providerid + description: Provider UUID for LLM credentials. + model: + type: string + title: model + description: Model name (e.g., gpt-4o-mini). + messages: + $ref: 'MessagesUnion.yml#/MessagesUnion' + targetMemories: + type: integer + maximum: 50.0 + minimum: 1.0 + title: targetmemories + description: Maximum memories to extract/consolidate in this operation. + default: 5 + instructions: + oneOf: + - type: string + maxLength: 50000 + - type: 'null' + title: instructions + description: Optional domain-specific instructions to guide extraction or consolidation. + wait: + type: boolean + title: wait + description: Wait for Algolia indexing to complete before returning. + default: false + memoryType: + $ref: 'MemoryType.yml#/MemoryType' + maxExisting: + type: integer + maximum: 500.0 + minimum: 1.0 + title: maxexisting + description: Maximum number of existing memories to load for consolidation. + default: 50 + type: object + required: + - providerID + - model + - messages + title: agentConsolidateRequest + description: Agent endpoint request for automatic memory consolidation. diff --git a/specs/agent-studio/common/schemas/AgentConsolidateResponse.yml b/specs/agent-studio/common/schemas/AgentConsolidateResponse.yml new file mode 100644 index 00000000000..e54e95298d0 --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentConsolidateResponse.yml @@ -0,0 +1,35 @@ +AgentConsolidateResponse: + properties: + savedMemories: + items: + $ref: 'MemoryRecord.yml#/MemoryRecord' + type: array + title: savedmemories + description: Memories saved/updated. + deletedIds: + items: + type: string + type: array + title: deletedids + description: Memory object IDs deleted during consolidation. + saveTaskId: + oneOf: + - type: string + - type: 'null' + title: savetaskid + description: Algolia task ID for save batch. + deleteTaskIds: + items: + type: string + type: array + title: deletetaskids + description: Algolia task IDs for deletes. + message: + type: string + title: message + description: Summary message of consolidation results. + type: object + required: + - message + title: agentConsolidateResponse + description: Response model for agent consolidate endpoint. diff --git a/specs/agent-studio/common/schemas/AgentIdUnion.yml b/specs/agent-studio/common/schemas/AgentIdUnion.yml new file mode 100644 index 00000000000..3d0a48982aa --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentIdUnion.yml @@ -0,0 +1,2 @@ +AgentIdUnion: + type: string diff --git a/specs/agent-studio/common/schemas/AgentMemorizeRequest.yml b/specs/agent-studio/common/schemas/AgentMemorizeRequest.yml new file mode 100644 index 00000000000..ce44168b122 --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentMemorizeRequest.yml @@ -0,0 +1,38 @@ +AgentMemorizeRequest: + properties: + providerID: + type: string + title: providerid + description: Provider UUID for LLM credentials. + model: + type: string + title: model + description: Model name (e.g., gpt-4o-mini). + messages: + $ref: 'MessagesUnion.yml#/MessagesUnion' + targetMemories: + type: integer + maximum: 50.0 + minimum: 1.0 + title: targetmemories + description: Maximum memories to extract/consolidate in this operation. + default: 5 + instructions: + oneOf: + - type: string + maxLength: 50000 + - type: 'null' + title: instructions + description: Optional domain-specific instructions to guide extraction or consolidation. + wait: + type: boolean + title: wait + description: Wait for Algolia indexing to complete before returning. + default: false + type: object + required: + - providerID + - model + - messages + title: agentMemorizeRequest + description: Agent endpoint request that extracts and saves semantic memories. diff --git a/specs/agent-studio/common/schemas/AgentMemorizeResponse.yml b/specs/agent-studio/common/schemas/AgentMemorizeResponse.yml new file mode 100644 index 00000000000..204cd0ac295 --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentMemorizeResponse.yml @@ -0,0 +1,23 @@ +AgentMemorizeResponse: + properties: + savedMemories: + items: + $ref: 'MemoryRecord.yml#/MemoryRecord' + type: array + title: savedmemories + description: Memories saved to Algolia. + taskId: + oneOf: + - type: string + - type: 'null' + title: taskid + description: Algolia task ID for the save operation. + message: + type: string + title: message + description: Summary of the operation outcome. + type: object + required: + - message + title: agentMemorizeResponse + description: Response model for agent memorize endpoint. diff --git a/specs/agent-studio/common/schemas/AgentPonderRequest.yml b/specs/agent-studio/common/schemas/AgentPonderRequest.yml new file mode 100644 index 00000000000..3c5895ec011 --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentPonderRequest.yml @@ -0,0 +1,38 @@ +AgentPonderRequest: + properties: + providerID: + type: string + title: providerid + description: Provider UUID for LLM credentials. + model: + type: string + title: model + description: Model name (e.g., gpt-4o-mini). + messages: + $ref: 'MessagesUnion.yml#/MessagesUnion' + targetMemories: + type: integer + maximum: 5.0 + minimum: 1.0 + title: targetmemories + description: Maximum episodic memories to extract. + default: 1 + instructions: + oneOf: + - type: string + maxLength: 50000 + - type: 'null' + title: instructions + description: Optional domain-specific instructions to guide extraction or consolidation. + wait: + type: boolean + title: wait + description: Wait for Algolia indexing to complete before returning. + default: false + type: object + required: + - providerID + - model + - messages + title: agentPonderRequest + description: Agent endpoint request that extracts and saves episodic memories. diff --git a/specs/agent-studio/common/schemas/AgentPonderResponse.yml b/specs/agent-studio/common/schemas/AgentPonderResponse.yml new file mode 100644 index 00000000000..f46a02a689a --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentPonderResponse.yml @@ -0,0 +1,23 @@ +AgentPonderResponse: + properties: + savedMemories: + items: + $ref: 'MemoryRecord.yml#/MemoryRecord' + type: array + title: savedmemories + description: Memories saved to Algolia. + taskId: + oneOf: + - type: string + - type: 'null' + title: taskid + description: Algolia task ID for the save operation. + message: + type: string + title: message + description: Summary of the operation outcome. + type: object + required: + - message + title: agentPonderResponse + description: Response model for agent ponder endpoint (episodic save). diff --git a/specs/agent-studio/common/schemas/AgentStatus.yml b/specs/agent-studio/common/schemas/AgentStatus.yml new file mode 100644 index 00000000000..8b38e7aa4da --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentStatus.yml @@ -0,0 +1,5 @@ +AgentStatus: + type: string + enum: + - draft + - published diff --git a/specs/agent-studio/common/schemas/AgentTestConfiguration.yml b/specs/agent-studio/common/schemas/AgentTestConfiguration.yml new file mode 100644 index 00000000000..3531aa6bbb5 --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentTestConfiguration.yml @@ -0,0 +1,36 @@ +AgentTestConfiguration: + properties: + id: + oneOf: + - type: string + - type: 'null' + title: id + providerId: + oneOf: + - type: string + - type: 'null' + title: providerid + model: + oneOf: + - type: string + - type: 'null' + title: model + instructions: + type: string + title: instructions + config: + additionalProperties: true + type: object + title: config + tools: + items: + $ref: 'ItemsUnion.yml#/ItemsUnion' + type: array + title: tools + type: object + required: + - instructions + - config + - tools + title: agentTestConfiguration + description: Dynamic configuration for testing agents. diff --git a/specs/agent-studio/common/schemas/AgentWithVersionResponse.yml b/specs/agent-studio/common/schemas/AgentWithVersionResponse.yml new file mode 100644 index 00000000000..19dd881fe2d --- /dev/null +++ b/specs/agent-studio/common/schemas/AgentWithVersionResponse.yml @@ -0,0 +1,63 @@ +AgentWithVersionResponse: + properties: + id: + type: string + title: id + name: + type: string + title: name + description: + oneOf: + - type: string + - type: 'null' + title: description + status: + $ref: 'AgentStatus.yml#/AgentStatus' + providerId: + oneOf: + - type: string + - type: 'null' + title: providerid + model: + oneOf: + - type: string + - type: 'null' + title: model + instructions: + type: string + title: instructions + config: + additionalProperties: true + type: object + title: config + tools: + items: + $ref: 'ItemsUnion.yml#/ItemsUnion' + type: array + title: tools + createdAt: + type: string + title: createdat + updatedAt: + oneOf: + - type: string + - type: 'null' + title: updatedat + lastUsedAt: + oneOf: + - type: string + - type: 'null' + title: lastusedat + type: object + required: + - id + - name + - description + - status + - providerId + - instructions + - config + - createdAt + - updatedAt + - lastUsedAt + title: agentWithVersionResponse diff --git a/specs/agent-studio/common/schemas/AlgoliaRecommendToolConfig-Input.yml b/specs/agent-studio/common/schemas/AlgoliaRecommendToolConfig-Input.yml new file mode 100644 index 00000000000..55562fcb195 --- /dev/null +++ b/specs/agent-studio/common/schemas/AlgoliaRecommendToolConfig-Input.yml @@ -0,0 +1,29 @@ +AlgoliaRecommendToolConfig-Input: + properties: + name: + type: string + maxLength: 32 + minLength: 3 + title: name + type: + type: string + const: algolia_recommend + title: type + default: algolia_recommend + allowedConfigs: + items: + $ref: 'AlgoliaRecommendToolIndexConfig.yml#/AlgoliaRecommendToolIndexConfig' + type: array + title: allowedconfigs + default: [] + predefinedRecommendParameters: + additionalProperties: true + type: object + title: predefinedrecommendparameters + type: object + required: + - name + title: algoliaRecommendToolConfig + description: |- + Configuration for the Algolia Recommend tool. + Allows specifying recommend models and related parameters. diff --git a/specs/agent-studio/common/schemas/AlgoliaRecommendToolConfig-Output.yml b/specs/agent-studio/common/schemas/AlgoliaRecommendToolConfig-Output.yml new file mode 100644 index 00000000000..8ca277b9154 --- /dev/null +++ b/specs/agent-studio/common/schemas/AlgoliaRecommendToolConfig-Output.yml @@ -0,0 +1,34 @@ +AlgoliaRecommendToolConfig-Output: + properties: + name: + type: string + maxLength: 32 + minLength: 3 + title: name + type: + type: string + const: algolia_recommend + title: type + default: algolia_recommend + allowedConfigs: + items: + $ref: 'AlgoliaRecommendToolIndexConfig.yml#/AlgoliaRecommendToolIndexConfig' + type: array + title: allowedconfigs + default: [] + predefinedRecommendParameters: + additionalProperties: true + type: object + title: predefinedrecommendparameters + description: + type: string + title: description + readOnly: true + type: object + required: + - name + - description + title: algoliaRecommendToolConfig + description: |- + Configuration for the Algolia Recommend tool. + Allows specifying recommend models and related parameters. diff --git a/specs/agent-studio/common/schemas/AlgoliaRecommendToolIndexConfig.yml b/specs/agent-studio/common/schemas/AlgoliaRecommendToolIndexConfig.yml new file mode 100644 index 00000000000..af334c2c01d --- /dev/null +++ b/specs/agent-studio/common/schemas/AlgoliaRecommendToolIndexConfig.yml @@ -0,0 +1,21 @@ +AlgoliaRecommendToolIndexConfig: + properties: + index: + type: string + maxLength: 100 + minLength: 1 + title: index + modelName: + type: string + maxLength: 100 + minLength: 1 + title: modelname + description: + type: string + title: description + default: '' + type: object + required: + - index + - modelName + title: algoliaRecommendToolIndexConfig diff --git a/specs/agent-studio/common/schemas/AlgoliaSearchToolConfig-Input.yml b/specs/agent-studio/common/schemas/AlgoliaSearchToolConfig-Input.yml new file mode 100644 index 00000000000..8e5ad33ace8 --- /dev/null +++ b/specs/agent-studio/common/schemas/AlgoliaSearchToolConfig-Input.yml @@ -0,0 +1,22 @@ +AlgoliaSearchToolConfig-Input: + properties: + name: + type: string + maxLength: 32 + minLength: 3 + title: name + type: + type: string + const: algolia_search_index + title: type + default: algolia_search_index + indices: + items: + $ref: 'AlgoliaSearchToolIndexConfig-Input.yml#/AlgoliaSearchToolIndexConfig-Input' + type: array + title: indices + type: object + required: + - name + - indices + title: algoliaSearchToolConfig diff --git a/specs/agent-studio/common/schemas/AlgoliaSearchToolConfig-Output.yml b/specs/agent-studio/common/schemas/AlgoliaSearchToolConfig-Output.yml new file mode 100644 index 00000000000..cc1c3c84fd0 --- /dev/null +++ b/specs/agent-studio/common/schemas/AlgoliaSearchToolConfig-Output.yml @@ -0,0 +1,27 @@ +AlgoliaSearchToolConfig-Output: + properties: + name: + type: string + maxLength: 32 + minLength: 3 + title: name + type: + type: string + const: algolia_search_index + title: type + default: algolia_search_index + indices: + items: + $ref: 'AlgoliaSearchToolIndexConfig-Output.yml#/AlgoliaSearchToolIndexConfig-Output' + type: array + title: indices + description: + type: string + title: description + readOnly: true + type: object + required: + - name + - indices + - description + title: algoliaSearchToolConfig diff --git a/specs/agent-studio/common/schemas/AlgoliaSearchToolIndexConfig-Input.yml b/specs/agent-studio/common/schemas/AlgoliaSearchToolIndexConfig-Input.yml new file mode 100644 index 00000000000..4a866f4d66b --- /dev/null +++ b/specs/agent-studio/common/schemas/AlgoliaSearchToolIndexConfig-Input.yml @@ -0,0 +1,23 @@ +AlgoliaSearchToolIndexConfig-Input: + properties: + index: + type: string + maxLength: 100 + minLength: 1 + title: index + description: + type: string + maxLength: 200 + minLength: 1 + title: description + enhancedDescription: + type: string + title: enhanceddescription + default: '' + searchParameters: + $ref: 'SearchParametersUnion.yml#/SearchParametersUnion' + type: object + required: + - index + - description + title: algoliaSearchToolIndexConfig diff --git a/specs/agent-studio/common/schemas/AlgoliaSearchToolIndexConfig-Output.yml b/specs/agent-studio/common/schemas/AlgoliaSearchToolIndexConfig-Output.yml new file mode 100644 index 00000000000..4e4defe1e8c --- /dev/null +++ b/specs/agent-studio/common/schemas/AlgoliaSearchToolIndexConfig-Output.yml @@ -0,0 +1,23 @@ +AlgoliaSearchToolIndexConfig-Output: + properties: + index: + type: string + maxLength: 100 + minLength: 1 + title: index + description: + type: string + maxLength: 200 + minLength: 1 + title: description + enhancedDescription: + type: string + title: enhanceddescription + default: '' + searchParameters: + $ref: 'SearchParametersUnion.yml#/SearchParametersUnion' + type: object + required: + - index + - description + title: algoliaSearchToolIndexConfig diff --git a/specs/agent-studio/common/schemas/AlgoliaUnion.yml b/specs/agent-studio/common/schemas/AlgoliaUnion.yml new file mode 100644 index 00000000000..a2582d4961a --- /dev/null +++ b/specs/agent-studio/common/schemas/AlgoliaUnion.yml @@ -0,0 +1,4 @@ +AlgoliaUnion: + oneOf: + - $ref: 'AgentCompletionAlgoliaParams.yml#/AgentCompletionAlgoliaParams' + - type: 'null' diff --git a/specs/agent-studio/common/schemas/AllowedToolsUnion.yml b/specs/agent-studio/common/schemas/AllowedToolsUnion.yml new file mode 100644 index 00000000000..6c94b553958 --- /dev/null +++ b/specs/agent-studio/common/schemas/AllowedToolsUnion.yml @@ -0,0 +1,6 @@ +AllowedToolsUnion: + oneOf: + - additionalProperties: + $ref: 'ToolConfig.yml#/ToolConfig' + type: object + - type: 'null' diff --git a/specs/agent-studio/common/schemas/AlternativesAsExact.yml b/specs/agent-studio/common/schemas/AlternativesAsExact.yml new file mode 100644 index 00000000000..5443b4f83fd --- /dev/null +++ b/specs/agent-studio/common/schemas/AlternativesAsExact.yml @@ -0,0 +1,9 @@ +AlternativesAsExact: + type: string + enum: + - ignorePlurals + - singleWordSynonym + - multiWordsSynonym + - ignoreConjugations + title: alternativesAsExact + description: AlternativesAsExact. diff --git a/specs/agent-studio/common/schemas/AlternativesAsExactUnion.yml b/specs/agent-studio/common/schemas/AlternativesAsExactUnion.yml new file mode 100644 index 00000000000..c4e601c7788 --- /dev/null +++ b/specs/agent-studio/common/schemas/AlternativesAsExactUnion.yml @@ -0,0 +1,6 @@ +AlternativesAsExactUnion: + oneOf: + - items: + $ref: 'AlternativesAsExact.yml#/AlternativesAsExact' + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/AnthropicProviderInput.yml b/specs/agent-studio/common/schemas/AnthropicProviderInput.yml new file mode 100644 index 00000000000..72c6bfa654e --- /dev/null +++ b/specs/agent-studio/common/schemas/AnthropicProviderInput.yml @@ -0,0 +1,17 @@ +AnthropicProviderInput: + properties: + apiKey: + type: string + title: apikey + baseUrl: + oneOf: + - type: string + maxLength: 2083 + minLength: 1 + - type: 'null' + title: baseurl + type: object + required: + - apiKey + title: anthropicProviderInput + description: Anthropic-specific provider input. diff --git a/specs/agent-studio/common/schemas/ApplicationConfigPatch.yml b/specs/agent-studio/common/schemas/ApplicationConfigPatch.yml new file mode 100644 index 00000000000..484c7e5a306 --- /dev/null +++ b/specs/agent-studio/common/schemas/ApplicationConfigPatch.yml @@ -0,0 +1,12 @@ +ApplicationConfigPatch: + properties: + maxRetentionDays: + oneOf: + - type: integer + - type: 'null' + title: maxretentiondays + description: 'Maximum number of days to retain data. Valid values: [0, 30, 60, + 90].' + default: 90 + type: object + title: applicationConfigPatch diff --git a/specs/agent-studio/common/schemas/ApplicationConfigResponse.yml b/specs/agent-studio/common/schemas/ApplicationConfigResponse.yml new file mode 100644 index 00000000000..33e93ea30e5 --- /dev/null +++ b/specs/agent-studio/common/schemas/ApplicationConfigResponse.yml @@ -0,0 +1,9 @@ +ApplicationConfigResponse: + properties: + maxRetentionDays: + type: integer + title: maxretentiondays + type: object + required: + - maxRetentionDays + title: applicationConfigResponse diff --git a/specs/agent-studio/common/schemas/AroundPrecisionUnion.yml b/specs/agent-studio/common/schemas/AroundPrecisionUnion.yml new file mode 100644 index 00000000000..4fa11a9ad84 --- /dev/null +++ b/specs/agent-studio/common/schemas/AroundPrecisionUnion.yml @@ -0,0 +1,9 @@ +AroundPrecisionUnion: + oneOf: + - type: integer + - items: + additionalProperties: + type: integer + type: object + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/AroundRadiusUnion.yml b/specs/agent-studio/common/schemas/AroundRadiusUnion.yml new file mode 100644 index 00000000000..64dfccf9e1b --- /dev/null +++ b/specs/agent-studio/common/schemas/AroundRadiusUnion.yml @@ -0,0 +1,5 @@ +AroundRadiusUnion: + oneOf: + - type: integer + - type: string + - type: 'null' diff --git a/specs/agent-studio/common/schemas/AssistantMessageV4.yml b/specs/agent-studio/common/schemas/AssistantMessageV4.yml new file mode 100644 index 00000000000..4ce3e03d9be --- /dev/null +++ b/specs/agent-studio/common/schemas/AssistantMessageV4.yml @@ -0,0 +1,26 @@ +AssistantMessageV4: + properties: + id: + oneOf: + - type: string + - type: 'null' + title: id + role: + type: string + const: assistant + title: role + default: assistant + content: + type: string + title: content + parts: + items: + $ref: 'AssistantPartV4.yml#/AssistantPartV4' + type: array + title: parts + toolInvocations: + $ref: 'ToolInvocationsUnion.yml#/ToolInvocationsUnion' + type: object + required: + - content + title: assistantMessageV4 diff --git a/specs/agent-studio/common/schemas/AssistantMessageV4Response.yml b/specs/agent-studio/common/schemas/AssistantMessageV4Response.yml new file mode 100644 index 00000000000..0e907349127 --- /dev/null +++ b/specs/agent-studio/common/schemas/AssistantMessageV4Response.yml @@ -0,0 +1,37 @@ +AssistantMessageV4Response: + properties: + id: + oneOf: + - type: string + - type: 'null' + title: id + role: + type: string + const: assistant + title: role + default: assistant + content: + type: string + title: content + parts: + items: + $ref: 'AssistantPartV4.yml#/AssistantPartV4' + type: array + title: parts + toolInvocations: + $ref: 'ToolInvocationsUnion.yml#/ToolInvocationsUnion' + usage: + oneOf: + - $ref: 'UsageV4.yml#/UsageV4' + - type: 'null' + stepsUsages: + oneOf: + - items: + $ref: 'UsageV4.yml#/UsageV4' + type: array + - type: 'null' + type: object + required: + - content + title: assistantMessageV4Response + description: Non-streaming completion response for AI SDK v4 compatibility mode. diff --git a/specs/agent-studio/common/schemas/AssistantMessageV5.yml b/specs/agent-studio/common/schemas/AssistantMessageV5.yml new file mode 100644 index 00000000000..f219a120ee3 --- /dev/null +++ b/specs/agent-studio/common/schemas/AssistantMessageV5.yml @@ -0,0 +1,19 @@ +AssistantMessageV5: + properties: + id: + oneOf: + - type: string + - type: 'null' + title: id + role: + type: string + const: assistant + title: role + default: assistant + parts: + items: + $ref: 'ItemsUnion.yml#/ItemsUnion' + type: array + title: parts + type: object + title: assistantMessageV5 diff --git a/specs/agent-studio/common/schemas/AssistantMessageV5Response.yml b/specs/agent-studio/common/schemas/AssistantMessageV5Response.yml new file mode 100644 index 00000000000..ec3b820f031 --- /dev/null +++ b/specs/agent-studio/common/schemas/AssistantMessageV5Response.yml @@ -0,0 +1,30 @@ +AssistantMessageV5Response: + properties: + id: + oneOf: + - type: string + - type: 'null' + title: id + role: + type: string + const: assistant + title: role + default: assistant + parts: + items: + $ref: 'ItemsUnion.yml#/ItemsUnion' + type: array + title: parts + usage: + oneOf: + - $ref: 'UsageV5.yml#/UsageV5' + - type: 'null' + stepsUsages: + oneOf: + - items: + $ref: 'UsageV5.yml#/UsageV5' + type: array + - type: 'null' + type: object + title: assistantMessageV5Response + description: Non-streaming completion response for AI SDK v5 compatibility mode. diff --git a/specs/agent-studio/common/schemas/AssistantPartV4.yml b/specs/agent-studio/common/schemas/AssistantPartV4.yml new file mode 100644 index 00000000000..76b75a93884 --- /dev/null +++ b/specs/agent-studio/common/schemas/AssistantPartV4.yml @@ -0,0 +1,6 @@ +AssistantPartV4: + oneOf: + - $ref: 'StepStartPartV4.yml#/StepStartPartV4' + - $ref: 'ReasoningPartV4.yml#/ReasoningPartV4' + - $ref: 'TextPartV4.yml#/TextPartV4' + - $ref: 'ToolInvocationPartV4.yml#/ToolInvocationPartV4' diff --git a/specs/agent-studio/common/schemas/AzureOpenAIProviderInput.yml b/specs/agent-studio/common/schemas/AzureOpenAIProviderInput.yml new file mode 100644 index 00000000000..51ad623afb0 --- /dev/null +++ b/specs/agent-studio/common/schemas/AzureOpenAIProviderInput.yml @@ -0,0 +1,28 @@ +AzureOpenAIProviderInput: + properties: + apiKey: + type: string + title: apikey + azureEndpoint: + type: string + maxLength: 2083 + minLength: 1 + title: azureendpoint + azureDeployment: + type: string + minLength: 1 + title: azuredeployment + description: Azure model deployment name is required. + apiVersion: + oneOf: + - type: string + - type: 'null' + title: apiversion + default: 2024-12-01-preview + type: object + required: + - apiKey + - azureEndpoint + - azureDeployment + title: azureOpenAIProviderInput + description: Azure OpenAI-specific provider input. diff --git a/specs/agent-studio/common/schemas/BaseProviderInput.yml b/specs/agent-studio/common/schemas/BaseProviderInput.yml new file mode 100644 index 00000000000..bc40b9e3142 --- /dev/null +++ b/specs/agent-studio/common/schemas/BaseProviderInput.yml @@ -0,0 +1,10 @@ +BaseProviderInput: + properties: + apiKey: + type: string + title: apikey + type: object + required: + - apiKey + title: baseProviderInput + description: Base input that all providers must have. diff --git a/specs/agent-studio/common/schemas/ClientSideToolConfig.yml b/specs/agent-studio/common/schemas/ClientSideToolConfig.yml new file mode 100644 index 00000000000..eb9c84e5baa --- /dev/null +++ b/specs/agent-studio/common/schemas/ClientSideToolConfig.yml @@ -0,0 +1,25 @@ +ClientSideToolConfig: + properties: + name: + type: string + maxLength: 32 + minLength: 3 + title: name + type: + type: string + const: client_side + title: type + default: client_side + description: + type: string + maxLength: 200 + minLength: 1 + title: description + inputSchema: + $ref: 'ClientToolsArgsSchema.yml#/ClientToolsArgsSchema' + type: object + required: + - name + - description + - inputSchema + title: clientSideToolConfig diff --git a/specs/agent-studio/common/schemas/ClientToolsArgsSchema.yml b/specs/agent-studio/common/schemas/ClientToolsArgsSchema.yml new file mode 100644 index 00000000000..1f879764090 --- /dev/null +++ b/specs/agent-studio/common/schemas/ClientToolsArgsSchema.yml @@ -0,0 +1,18 @@ +ClientToolsArgsSchema: + properties: + type: + type: string + const: object + title: type + default: object + properties: + additionalProperties: true + type: object + title: properties + required: + items: + type: string + type: array + title: required + type: object + title: clientToolsArgsSchema diff --git a/specs/agent-studio/common/schemas/CompatibilityMode.yml b/specs/agent-studio/common/schemas/CompatibilityMode.yml new file mode 100644 index 00000000000..ae95739c964 --- /dev/null +++ b/specs/agent-studio/common/schemas/CompatibilityMode.yml @@ -0,0 +1,7 @@ +CompatibilityMode: + type: string + enum: + - ai-sdk-4 + - ai-sdk-5 + title: compatibilityMode + description: Support Compatibility modes for the completion API. diff --git a/specs/agent-studio/common/schemas/ConfigurationUnion.yml b/specs/agent-studio/common/schemas/ConfigurationUnion.yml new file mode 100644 index 00000000000..64b611e6dc7 --- /dev/null +++ b/specs/agent-studio/common/schemas/ConfigurationUnion.yml @@ -0,0 +1,4 @@ +ConfigurationUnion: + oneOf: + - $ref: 'AgentTestConfiguration.yml#/AgentTestConfiguration' + - type: 'null' diff --git a/specs/agent-studio/common/schemas/ConversationBaseResponse.yml b/specs/agent-studio/common/schemas/ConversationBaseResponse.yml new file mode 100644 index 00000000000..8264a88af9b --- /dev/null +++ b/specs/agent-studio/common/schemas/ConversationBaseResponse.yml @@ -0,0 +1,53 @@ +ConversationBaseResponse: + properties: + id: + type: string + title: id + agentId: + type: string + title: agentid + title: + oneOf: + - type: string + - type: 'null' + title: title + createdAt: + type: string + title: createdat + updatedAt: + type: string + title: updatedat + lastActivityAt: + oneOf: + - type: string + - type: 'null' + title: lastactivityat + userToken: + oneOf: + - type: string + - type: 'null' + title: usertoken + messageCount: + type: integer + title: messagecount + default: 0 + totalInputTokens: + type: integer + title: totalinputtokens + default: 0 + totalOutputTokens: + type: integer + title: totaloutputtokens + default: 0 + totalTokens: + type: integer + title: totaltokens + default: 0 + type: object + required: + - id + - agentId + - createdAt + - updatedAt + title: conversationBaseResponse + description: Lightweight response model without its messages. diff --git a/specs/agent-studio/common/schemas/ConversationFullResponse.yml b/specs/agent-studio/common/schemas/ConversationFullResponse.yml new file mode 100644 index 00000000000..6b23f4e5e4e --- /dev/null +++ b/specs/agent-studio/common/schemas/ConversationFullResponse.yml @@ -0,0 +1,59 @@ +ConversationFullResponse: + properties: + id: + type: string + title: id + agentId: + type: string + title: agentid + title: + oneOf: + - type: string + - type: 'null' + title: title + createdAt: + type: string + title: createdat + updatedAt: + type: string + title: updatedat + lastActivityAt: + oneOf: + - type: string + - type: 'null' + title: lastactivityat + userToken: + oneOf: + - type: string + - type: 'null' + title: usertoken + messageCount: + type: integer + title: messagecount + default: 0 + totalInputTokens: + type: integer + title: totalinputtokens + default: 0 + totalOutputTokens: + type: integer + title: totaloutputtokens + default: 0 + totalTokens: + type: integer + title: totaltokens + default: 0 + messages: + items: + $ref: 'MessageResponse-Output.yml#/MessageResponse-Output' + type: array + title: messages + type: object + required: + - id + - agentId + - createdAt + - updatedAt + - messages + title: conversationFullResponse + description: Response model for a conversation with all its messages. diff --git a/specs/agent-studio/common/schemas/DataSourceCreateRequest.yml b/specs/agent-studio/common/schemas/DataSourceCreateRequest.yml new file mode 100644 index 00000000000..e49e98e9ea5 --- /dev/null +++ b/specs/agent-studio/common/schemas/DataSourceCreateRequest.yml @@ -0,0 +1,23 @@ +DataSourceCreateRequest: + properties: + name: + type: string + title: name + source: + type: string + title: source + filters: + oneOf: + - type: string + - type: 'null' + title: filters + objectID: + oneOf: + - type: string + - type: 'null' + title: objectid + type: object + required: + - name + - source + title: dataSourceCreateRequest diff --git a/specs/agent-studio/common/schemas/DataSourceUpdateRequest.yml b/specs/agent-studio/common/schemas/DataSourceUpdateRequest.yml new file mode 100644 index 00000000000..c3b4c05eadd --- /dev/null +++ b/specs/agent-studio/common/schemas/DataSourceUpdateRequest.yml @@ -0,0 +1,24 @@ +DataSourceUpdateRequest: + properties: + name: + oneOf: + - type: string + - type: 'null' + title: name + source: + oneOf: + - type: string + - type: 'null' + title: source + filters: + oneOf: + - type: string + - type: 'null' + title: filters + objectID: + type: string + title: objectid + type: object + required: + - objectID + title: dataSourceUpdateRequest diff --git a/specs/agent-studio/common/schemas/DeleteRequest.yml b/specs/agent-studio/common/schemas/DeleteRequest.yml new file mode 100644 index 00000000000..cff729a8bfd --- /dev/null +++ b/specs/agent-studio/common/schemas/DeleteRequest.yml @@ -0,0 +1,17 @@ +DeleteRequest: + properties: + objectIDs: + items: + type: string + type: array + title: objectids + deleteLinkedResponses: + oneOf: + - type: boolean + - type: 'null' + title: deletelinkedresponses + default: false + type: object + required: + - objectIDs + title: deleteRequest diff --git a/specs/agent-studio/common/schemas/DistinctUnion.yml b/specs/agent-studio/common/schemas/DistinctUnion.yml new file mode 100644 index 00000000000..5b1a35e04f7 --- /dev/null +++ b/specs/agent-studio/common/schemas/DistinctUnion.yml @@ -0,0 +1,5 @@ +DistinctUnion: + oneOf: + - type: boolean + - type: integer + - type: 'null' diff --git a/specs/agent-studio/common/schemas/Episode.yml b/specs/agent-studio/common/schemas/Episode.yml new file mode 100644 index 00000000000..26fb40edaaa --- /dev/null +++ b/specs/agent-studio/common/schemas/Episode.yml @@ -0,0 +1,47 @@ +Episode: + properties: + observation: + type: string + maxLength: 5000 + minLength: 1 + title: observation + description: What user wanted + key context (1-2 sentences). Include prior failed + attempts if they informed the approach. + thoughts: + type: string + maxLength: 5000 + minLength: 1 + title: thoughts + description: WHY this approach was chosen, which constraints/preferences drove + decisions (1-3 sentences). Capture reasoning that applies to similar future + scenarios. + action: + type: string + maxLength: 5000 + minLength: 1 + title: action + description: 'What was done with PRECISE details (1-3 sentences). WITH tool + calls: use arrow notation `tool(param:value) → feedback → tool(refined_param:new_value)`. + WITHOUT tool calls: capture communication/workflow pattern.' + result: + type: string + maxLength: 5000 + minLength: 1 + title: result + description: 'Learned pattern + effectiveness (1-3 sentences). What worked and + WHY it''s replicable. Note efficiency: multi-turn refinements, which results + were relevant, what made final attempt succeed. Use strict `param:value` syntax + for learnings. Format: ''For [context], use [param:value] because [reason]''.' + type: object + required: + - observation + - thoughts + - action + - result + title: episode + description: |- + Episodic memory schema following LangMem's OTAR pattern: + Observation → Thoughts → Action → Result + + Captures complete interaction experiences for agent learning. + See https://langchain-ai.github.io/langmem/concepts/conceptual_guide/#episodic-memory-past-experiences. diff --git a/specs/agent-studio/common/schemas/EpisodeUnion.yml b/specs/agent-studio/common/schemas/EpisodeUnion.yml new file mode 100644 index 00000000000..c8b5644a38f --- /dev/null +++ b/specs/agent-studio/common/schemas/EpisodeUnion.yml @@ -0,0 +1,4 @@ +EpisodeUnion: + oneOf: + - $ref: 'Episode.yml#/Episode' + - type: 'null' diff --git a/specs/agent-studio/common/schemas/ExactOnSingleWordQuery.yml b/specs/agent-studio/common/schemas/ExactOnSingleWordQuery.yml new file mode 100644 index 00000000000..7349a8d3a10 --- /dev/null +++ b/specs/agent-studio/common/schemas/ExactOnSingleWordQuery.yml @@ -0,0 +1,15 @@ +ExactOnSingleWordQuery: + type: string + enum: + - attribute + - none + - word + title: exactOnSingleWordQuery + description: 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. diff --git a/specs/agent-studio/common/schemas/ExactOnSingleWordQueryUnion.yml b/specs/agent-studio/common/schemas/ExactOnSingleWordQueryUnion.yml new file mode 100644 index 00000000000..0a01d36c793 --- /dev/null +++ b/specs/agent-studio/common/schemas/ExactOnSingleWordQueryUnion.yml @@ -0,0 +1,4 @@ +ExactOnSingleWordQueryUnion: + oneOf: + - $ref: 'ExactOnSingleWordQuery.yml#/ExactOnSingleWordQuery' + - type: 'null' diff --git a/specs/agent-studio/common/schemas/FacetFilters-Input.yml b/specs/agent-studio/common/schemas/FacetFilters-Input.yml new file mode 100644 index 00000000000..48a9796ce6a --- /dev/null +++ b/specs/agent-studio/common/schemas/FacetFilters-Input.yml @@ -0,0 +1,29 @@ +FacetFilters-Input: + properties: + oneof_schema_1_validator: + $ref: 'Oneof_schema_1_validatorUnion.yml#/Oneof_schema_1_validatorUnion' + oneof_schema_2_validator: + oneOf: + - type: string + - type: 'null' + title: oneofSchema2Validator + actual_instance: + $ref: 'Actual_instanceUnion.yml#/Actual_instanceUnion' + one_of_schemas: + items: + type: string + type: array + uniqueItems: true + title: oneOfSchemas + default: + - List[FacetFilters] + - str + type: object + title: facetFilters + description: '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`.' diff --git a/specs/agent-studio/common/schemas/FacetFilters-Output.yml b/specs/agent-studio/common/schemas/FacetFilters-Output.yml new file mode 100644 index 00000000000..8d315636303 --- /dev/null +++ b/specs/agent-studio/common/schemas/FacetFilters-Output.yml @@ -0,0 +1,2 @@ +FacetFilters-Output: + $ref: 'FacetFilters-OutputUnion.yml#/FacetFilters-OutputUnion' diff --git a/specs/agent-studio/common/schemas/FacetFilters-OutputUnion.yml b/specs/agent-studio/common/schemas/FacetFilters-OutputUnion.yml new file mode 100644 index 00000000000..19b88a1315e --- /dev/null +++ b/specs/agent-studio/common/schemas/FacetFilters-OutputUnion.yml @@ -0,0 +1,8 @@ +FacetFilters-OutputUnion: + oneOf: + - items: + $ref: 'FacetFilters-Output.yml#/FacetFilters-Output' + type: array + - type: string + - $ref: 'FacetFilters-Output.yml#/FacetFilters-Output' + - type: 'null' diff --git a/specs/agent-studio/common/schemas/FacetFiltersUnion.yml b/specs/agent-studio/common/schemas/FacetFiltersUnion.yml new file mode 100644 index 00000000000..997fe791d2b --- /dev/null +++ b/specs/agent-studio/common/schemas/FacetFiltersUnion.yml @@ -0,0 +1,4 @@ +FacetFiltersUnion: + oneOf: + - $ref: 'FacetFilters-Output.yml#/FacetFilters-Output' + - type: 'null' diff --git a/specs/agent-studio/common/schemas/Facets.yml b/specs/agent-studio/common/schemas/Facets.yml new file mode 100644 index 00000000000..17dc1da8f54 --- /dev/null +++ b/specs/agent-studio/common/schemas/Facets.yml @@ -0,0 +1,13 @@ +Facets: + properties: + order: + oneOf: + - type: array + items: + type: string + - type: 'null' + title: order + additionalProperties: true + type: object + title: facets + description: Order of facet names. diff --git a/specs/agent-studio/common/schemas/FacetsUnion.yml b/specs/agent-studio/common/schemas/FacetsUnion.yml new file mode 100644 index 00000000000..a8e89916aab --- /dev/null +++ b/specs/agent-studio/common/schemas/FacetsUnion.yml @@ -0,0 +1,7 @@ +FacetsUnion: + oneOf: + - type: array + items: + type: string + - $ref: 'Facets.yml#/Facets' + - type: 'null' diff --git a/specs/agent-studio/common/schemas/GenerateAPIResponse.yml b/specs/agent-studio/common/schemas/GenerateAPIResponse.yml new file mode 100644 index 00000000000..106fae0b574 --- /dev/null +++ b/specs/agent-studio/common/schemas/GenerateAPIResponse.yml @@ -0,0 +1,57 @@ +GenerateAPIResponse: + properties: + objectID: + type: string + title: objectid + response: + type: string + title: response + query: + type: string + title: query + dataSourceID: + type: string + title: datasourceid + promptID: + type: string + title: promptid + conversationID: + oneOf: + - type: string + - type: 'null' + title: conversationid + createdAt: + type: string + title: createdat + additionalFilters: + type: string + title: additionalfilters + context: + items: + additionalProperties: true + type: object + type: array + title: context + reasoning: + oneOf: + - type: string + - type: 'null' + title: reasoning + default: '' + metadata: + oneOf: + - additionalProperties: true + type: object + - type: 'null' + title: metadata + type: object + required: + - objectID + - response + - query + - dataSourceID + - promptID + - createdAt + - additionalFilters + - context + title: generateAPIResponse diff --git a/specs/agent-studio/common/schemas/GenerateRequest.yml b/specs/agent-studio/common/schemas/GenerateRequest.yml new file mode 100644 index 00000000000..86b0ab0990f --- /dev/null +++ b/specs/agent-studio/common/schemas/GenerateRequest.yml @@ -0,0 +1,97 @@ +GenerateRequest: + properties: + query: + type: string + title: query + dataSourceId: + type: string + title: datasourceid + promptId: + type: string + title: promptid + additionalFilters: + oneOf: + - type: string + - type: 'null' + title: additionalfilters + default: '' + save: + oneOf: + - type: boolean + - type: 'null' + title: save + default: true + useCache: + oneOf: + - type: boolean + - type: 'null' + title: usecache + default: false + stream: + oneOf: + - type: boolean + - type: 'null' + title: stream + default: false + origin: + type: string + title: origin + default: api + objectID: + oneOf: + - type: string + - type: 'null' + title: objectid + nbHits: + oneOf: + - type: integer + maximum: 100.0 + minimum: 1.0 + - type: 'null' + title: nbhits + default: 10 + attributesToRetrieve: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: attributestoretrieve + highlighting: + type: boolean + title: highlighting + default: false + attributesToHighlight: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: attributestohighlight + withObjectIds: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: withobjectids + conversationId: + oneOf: + - type: string + - type: 'null' + title: conversationid + logRegion: + oneOf: + - type: string + - type: 'null' + title: logregion + description: 'Deprecated: please set the region at URL-level now, targeting + either generative-us.algolia.com for US, or generative-eu.algolia.com for + Europe.' + deprecated: true + type: object + required: + - query + - dataSourceId + - promptId + title: generateRequest diff --git a/specs/agent-studio/common/schemas/HTTPValidationError.yml b/specs/agent-studio/common/schemas/HTTPValidationError.yml new file mode 100644 index 00000000000..fb1e608e667 --- /dev/null +++ b/specs/agent-studio/common/schemas/HTTPValidationError.yml @@ -0,0 +1,9 @@ +HTTPValidationError: + properties: + detail: + items: + $ref: 'ValidationErrorItem.yml#/ValidationErrorItem' + type: array + title: detail + type: object + title: hTTPValidationError diff --git a/specs/agent-studio/common/schemas/IgnorePluralsUnion.yml b/specs/agent-studio/common/schemas/IgnorePluralsUnion.yml new file mode 100644 index 00000000000..8fd6598dde5 --- /dev/null +++ b/specs/agent-studio/common/schemas/IgnorePluralsUnion.yml @@ -0,0 +1,7 @@ +IgnorePluralsUnion: + oneOf: + - type: boolean + - items: + $ref: 'SupportedLanguage.yml#/SupportedLanguage' + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/InsideBoundingBoxUnion.yml b/specs/agent-studio/common/schemas/InsideBoundingBoxUnion.yml new file mode 100644 index 00000000000..6fa5a3be93f --- /dev/null +++ b/specs/agent-studio/common/schemas/InsideBoundingBoxUnion.yml @@ -0,0 +1,9 @@ +InsideBoundingBoxUnion: + oneOf: + - type: string + - items: + items: + type: number + type: array + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/InsidePolygonUnion.yml b/specs/agent-studio/common/schemas/InsidePolygonUnion.yml new file mode 100644 index 00000000000..905afeeaa2c --- /dev/null +++ b/specs/agent-studio/common/schemas/InsidePolygonUnion.yml @@ -0,0 +1,9 @@ +InsidePolygonUnion: + oneOf: + - type: string + - items: + items: + type: number + type: array + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/ItemsUnion.yml b/specs/agent-studio/common/schemas/ItemsUnion.yml new file mode 100644 index 00000000000..805505bbe1e --- /dev/null +++ b/specs/agent-studio/common/schemas/ItemsUnion.yml @@ -0,0 +1,8 @@ +ItemsUnion: + oneOf: + - $ref: 'TextPart.yml#/TextPart' + - $ref: 'ToolCallPart.yml#/ToolCallPart' + - $ref: 'ToolResultPart-Output.yml#/ToolResultPart-Output' + - $ref: 'StartPart.yml#/StartPart' + - $ref: 'StartStepPart.yml#/StartStepPart' + - $ref: 'ReasoningPart.yml#/ReasoningPart' diff --git a/specs/agent-studio/common/schemas/LocationItemUnion.yml b/specs/agent-studio/common/schemas/LocationItemUnion.yml new file mode 100644 index 00000000000..c46ed0c5aad --- /dev/null +++ b/specs/agent-studio/common/schemas/LocationItemUnion.yml @@ -0,0 +1,4 @@ +LocationItemUnion: + oneOf: + - type: string + - type: integer diff --git a/specs/agent-studio/common/schemas/McpServerToolConfig-Input.yml b/specs/agent-studio/common/schemas/McpServerToolConfig-Input.yml new file mode 100644 index 00000000000..d0043179bd7 --- /dev/null +++ b/specs/agent-studio/common/schemas/McpServerToolConfig-Input.yml @@ -0,0 +1,41 @@ +McpServerToolConfig-Input: + properties: + url: + type: string + maxLength: 512 + minLength: 1 + title: url + transport: + type: string + const: streamable_http + title: transport + default: streamable_http + headers: + additionalProperties: + type: string + type: object + title: headers + name: + type: string + maxLength: 32 + minLength: 3 + title: name + type: + type: string + const: mcp_tools + title: type + default: mcp_tools + id: + oneOf: + - type: string + - type: 'null' + title: id + description: Stable unique identifier for this MCP tool. + allowedTools: + $ref: 'AllowedToolsUnion.yml#/AllowedToolsUnion' + type: object + required: + - url + - headers + - name + title: mcpServerToolConfig diff --git a/specs/agent-studio/common/schemas/McpServerToolConfig-Output.yml b/specs/agent-studio/common/schemas/McpServerToolConfig-Output.yml new file mode 100644 index 00000000000..e285cb9086c --- /dev/null +++ b/specs/agent-studio/common/schemas/McpServerToolConfig-Output.yml @@ -0,0 +1,41 @@ +McpServerToolConfig-Output: + properties: + url: + type: string + maxLength: 512 + minLength: 1 + title: url + transport: + type: string + const: streamable_http + title: transport + default: streamable_http + headers: + additionalProperties: + type: string + type: object + title: headers + name: + type: string + maxLength: 32 + minLength: 3 + title: name + type: + type: string + const: mcp_tools + title: type + default: mcp_tools + id: + oneOf: + - type: string + - type: 'null' + title: id + description: Stable unique identifier for this MCP tool. + allowedTools: + $ref: 'AllowedToolsUnion.yml#/AllowedToolsUnion' + type: object + required: + - url + - headers + - name + title: mcpServerToolConfig diff --git a/specs/agent-studio/common/schemas/McpToolConfig.yml b/specs/agent-studio/common/schemas/McpToolConfig.yml new file mode 100644 index 00000000000..464d82a868f --- /dev/null +++ b/specs/agent-studio/common/schemas/McpToolConfig.yml @@ -0,0 +1,17 @@ +McpToolConfig: + properties: + requiresApproval: + oneOf: + - type: boolean + - type: 'null' + title: requiresapproval + default: false + alias: + oneOf: + - type: string + maxLength: 32 + minLength: 3 + - type: 'null' + title: alias + type: object + title: mcpToolConfig diff --git a/specs/agent-studio/common/schemas/MemoryRecord.yml b/specs/agent-studio/common/schemas/MemoryRecord.yml new file mode 100644 index 00000000000..7f200101cd1 --- /dev/null +++ b/specs/agent-studio/common/schemas/MemoryRecord.yml @@ -0,0 +1,91 @@ +MemoryRecord: + properties: + memoryType: + $ref: 'MemoryType.yml#/MemoryType' + episode: + $ref: 'EpisodeUnion.yml#/EpisodeUnion' + text: + type: string + maxLength: 2000 + minLength: 1 + title: text + description: Self-contained, first-person memory for long-term recall. + rawExtract: + type: string + maxLength: 5000 + minLength: 1 + title: rawextract + description: Verbatim conversation extract, not paraphrased. + keywords: + items: + type: string + type: array + title: keywords + description: '5-20 free-form keywords: entities, context, search terms (any + words).' + topics: + items: + type: string + type: array + title: topics + description: '2-4 topics ONLY from this list: [complaints, entertainment, family, + feedback, finance, food, goals, health, history, hobbies, learning, praise, + preferences, schedule, shopping, technical, travel, work].' + _tags: + items: + type: string + type: array + title: tags + description: Arbitrary labels/themes for flexible categorization (e.g., 'Q1-goals', + 'paris-trip', 'vip-customer'). + recallTriggers: + items: + type: string + type: array + title: recalltriggers + description: 3-5 natural phrases that should trigger this memory. + objectID: + oneOf: + - type: string + - type: 'null' + title: objectid + description: ObjectID of existing memory to update. Leave empty for new memory. + appId: + type: string + title: appid + description: Application ID. + default: '' + agentIDs: + items: + type: string + type: array + title: agentids + description: 'Agent IDs with access: [''agent1''], [''*''] for all, [''*'', + ''-agent1''] to exclude.' + userID: + type: string + title: userid + description: User ID. + default: '' + createdAt: + type: integer + title: createdat + description: Epoch seconds. + default: 0 + updatedAt: + type: integer + title: updatedat + description: Epoch seconds. + default: 0 + type: object + required: + - text + - rawExtract + title: memoryRecord + description: |- + Universal storage model for all memory types (semantic, episodic). + + This is the ONLY model that touches storage (Algolia). Domain models (SemanticMemory, EpisodicMemory) + are used for LLM extraction and converted to MemoryRecord before saving. + + See https://langchain-ai.github.io/langmem/concepts/conceptual_guide/#memory-types for memory type definitions. diff --git a/specs/agent-studio/common/schemas/MemoryType.yml b/specs/agent-studio/common/schemas/MemoryType.yml new file mode 100644 index 00000000000..29a131db9a8 --- /dev/null +++ b/specs/agent-studio/common/schemas/MemoryType.yml @@ -0,0 +1,9 @@ +MemoryType: + type: string + enum: + - semantic + - episodic + title: memoryType + description: |- + Memory types implemented so far. + Follows LangMem's ontology: https://langchain-ai.github.io/langmem/concepts/conceptual_guide/#memory-types. diff --git a/specs/agent-studio/common/schemas/MessageResponse-Input.yml b/specs/agent-studio/common/schemas/MessageResponse-Input.yml new file mode 100644 index 00000000000..eb9955ebe63 --- /dev/null +++ b/specs/agent-studio/common/schemas/MessageResponse-Input.yml @@ -0,0 +1,46 @@ +MessageResponse-Input: + properties: + id: + type: string + title: id + conversationId: + type: string + title: conversationid + role: + $ref: 'MessageRole.yml#/MessageRole' + parts: + items: + $ref: 'ItemsUnion.yml#/ItemsUnion' + type: array + title: parts + createdAt: + type: string + title: createdat + updatedAt: + type: string + title: updatedat + model: + oneOf: + - type: string + - type: 'null' + title: model + inputTokens: + oneOf: + - type: integer + - type: 'null' + title: inputtokens + outputTokens: + oneOf: + - type: integer + - type: 'null' + title: outputtokens + type: object + required: + - id + - conversationId + - role + - parts + - createdAt + - updatedAt + title: messageResponse + description: Response model for a message. diff --git a/specs/agent-studio/common/schemas/MessageResponse-Output.yml b/specs/agent-studio/common/schemas/MessageResponse-Output.yml new file mode 100644 index 00000000000..ae00e9352cf --- /dev/null +++ b/specs/agent-studio/common/schemas/MessageResponse-Output.yml @@ -0,0 +1,46 @@ +MessageResponse-Output: + properties: + id: + type: string + title: id + conversationId: + type: string + title: conversationid + role: + $ref: 'MessageRole.yml#/MessageRole' + parts: + items: + $ref: 'ItemsUnion.yml#/ItemsUnion' + type: array + title: parts + createdAt: + type: string + title: createdat + updatedAt: + type: string + title: updatedat + model: + oneOf: + - type: string + - type: 'null' + title: model + inputTokens: + oneOf: + - type: integer + - type: 'null' + title: inputtokens + outputTokens: + oneOf: + - type: integer + - type: 'null' + title: outputtokens + type: object + required: + - id + - conversationId + - role + - parts + - createdAt + - updatedAt + title: messageResponse + description: Response model for a message. diff --git a/specs/agent-studio/common/schemas/MessageRole.yml b/specs/agent-studio/common/schemas/MessageRole.yml new file mode 100644 index 00000000000..71bd5eef970 --- /dev/null +++ b/specs/agent-studio/common/schemas/MessageRole.yml @@ -0,0 +1,7 @@ +MessageRole: + type: string + enum: + - user + - assistant + title: messageRole + description: Role of a message in the conversation. diff --git a/specs/agent-studio/common/schemas/MessageV4.yml b/specs/agent-studio/common/schemas/MessageV4.yml new file mode 100644 index 00000000000..ad726a257ce --- /dev/null +++ b/specs/agent-studio/common/schemas/MessageV4.yml @@ -0,0 +1,4 @@ +MessageV4: + oneOf: + - $ref: 'UserMessageV4.yml#/UserMessageV4' + - $ref: 'AssistantMessageV4.yml#/AssistantMessageV4' diff --git a/specs/agent-studio/common/schemas/MessageV5.yml b/specs/agent-studio/common/schemas/MessageV5.yml new file mode 100644 index 00000000000..d1ed577f29c --- /dev/null +++ b/specs/agent-studio/common/schemas/MessageV5.yml @@ -0,0 +1,4 @@ +MessageV5: + oneOf: + - $ref: 'UserMessageV5.yml#/UserMessageV5' + - $ref: 'AssistantMessageV5.yml#/AssistantMessageV5' diff --git a/specs/agent-studio/common/schemas/MessagesUnion.yml b/specs/agent-studio/common/schemas/MessagesUnion.yml new file mode 100644 index 00000000000..79f117cbbc9 --- /dev/null +++ b/specs/agent-studio/common/schemas/MessagesUnion.yml @@ -0,0 +1,8 @@ +MessagesUnion: + oneOf: + - items: + $ref: 'MessageV4.yml#/MessageV4' + type: array + - items: + $ref: 'MessageV5.yml#/MessageV5' + type: array diff --git a/specs/agent-studio/common/schemas/NaturalLanguagesUnion.yml b/specs/agent-studio/common/schemas/NaturalLanguagesUnion.yml new file mode 100644 index 00000000000..1db1c1068a2 --- /dev/null +++ b/specs/agent-studio/common/schemas/NaturalLanguagesUnion.yml @@ -0,0 +1,6 @@ +NaturalLanguagesUnion: + oneOf: + - items: + $ref: 'SupportedLanguage.yml#/SupportedLanguage' + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/NumericFiltersUnion.yml b/specs/agent-studio/common/schemas/NumericFiltersUnion.yml new file mode 100644 index 00000000000..664858717c1 --- /dev/null +++ b/specs/agent-studio/common/schemas/NumericFiltersUnion.yml @@ -0,0 +1,7 @@ +NumericFiltersUnion: + oneOf: + - type: string + - items: + type: object + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/Oneof_schema_1_validatorUnion.yml b/specs/agent-studio/common/schemas/Oneof_schema_1_validatorUnion.yml new file mode 100644 index 00000000000..6909d94623f --- /dev/null +++ b/specs/agent-studio/common/schemas/Oneof_schema_1_validatorUnion.yml @@ -0,0 +1,6 @@ +Oneof_schema_1_validatorUnion: + oneOf: + - items: + $ref: 'FacetFilters-Input.yml#/FacetFilters-Input' + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/OpenAICompatibleProviderInput.yml b/specs/agent-studio/common/schemas/OpenAICompatibleProviderInput.yml new file mode 100644 index 00000000000..699dc97a4df --- /dev/null +++ b/specs/agent-studio/common/schemas/OpenAICompatibleProviderInput.yml @@ -0,0 +1,27 @@ +OpenAICompatibleProviderInput: + properties: + apiKey: + type: string + title: apikey + baseUrl: + type: string + maxLength: 2083 + minLength: 1 + title: baseurl + defaultModel: + type: string + minLength: 1 + title: defaultmodel + description: Default model for this provider. Used for validation and as fallback + when no model is specified at agent level. + type: object + required: + - apiKey + - baseUrl + - defaultModel + title: openAICompatibleProviderInput + description: |- + OpenAI-compatible provider input. + Contrary to the OpenAIProviderInput, the base_url is required. + A model is required to verify connectivity and get saved as the default model. + This can later be changed at the Agent level. diff --git a/specs/agent-studio/common/schemas/OpenAIProviderInput.yml b/specs/agent-studio/common/schemas/OpenAIProviderInput.yml new file mode 100644 index 00000000000..511a77972ab --- /dev/null +++ b/specs/agent-studio/common/schemas/OpenAIProviderInput.yml @@ -0,0 +1,17 @@ +OpenAIProviderInput: + properties: + apiKey: + type: string + title: apikey + baseUrl: + oneOf: + - type: string + maxLength: 2083 + minLength: 1 + - type: 'null' + title: baseurl + type: object + required: + - apiKey + title: openAIProviderInput + description: OpenAI-specific provider input. diff --git a/specs/agent-studio/common/schemas/OptionalFiltersUnion.yml b/specs/agent-studio/common/schemas/OptionalFiltersUnion.yml new file mode 100644 index 00000000000..97fa53ffb02 --- /dev/null +++ b/specs/agent-studio/common/schemas/OptionalFiltersUnion.yml @@ -0,0 +1,7 @@ +OptionalFiltersUnion: + oneOf: + - type: string + - items: + type: object + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/OptionalWordsUnion.yml b/specs/agent-studio/common/schemas/OptionalWordsUnion.yml new file mode 100644 index 00000000000..2328430f4a9 --- /dev/null +++ b/specs/agent-studio/common/schemas/OptionalWordsUnion.yml @@ -0,0 +1,7 @@ +OptionalWordsUnion: + oneOf: + - type: string + - items: + type: string + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/PaginatedAgentsResponse.yml b/specs/agent-studio/common/schemas/PaginatedAgentsResponse.yml new file mode 100644 index 00000000000..a69437bc96a --- /dev/null +++ b/specs/agent-studio/common/schemas/PaginatedAgentsResponse.yml @@ -0,0 +1,14 @@ +PaginatedAgentsResponse: + properties: + data: + items: + $ref: 'AgentWithVersionResponse.yml#/AgentWithVersionResponse' + type: array + title: data + pagination: + $ref: 'PaginationMetadata.yml#/PaginationMetadata' + type: object + required: + - data + - pagination + title: paginatedAgentsResponse diff --git a/specs/agent-studio/common/schemas/PaginatedConversationsResponse.yml b/specs/agent-studio/common/schemas/PaginatedConversationsResponse.yml new file mode 100644 index 00000000000..78bb4807a8d --- /dev/null +++ b/specs/agent-studio/common/schemas/PaginatedConversationsResponse.yml @@ -0,0 +1,14 @@ +PaginatedConversationsResponse: + properties: + data: + items: + $ref: 'ConversationBaseResponse.yml#/ConversationBaseResponse' + type: array + title: data + pagination: + $ref: 'PaginationMetadata.yml#/PaginationMetadata' + type: object + required: + - data + - pagination + title: paginatedConversationsResponse diff --git a/specs/agent-studio/common/schemas/PaginatedProviderAuthenticationsResponse.yml b/specs/agent-studio/common/schemas/PaginatedProviderAuthenticationsResponse.yml new file mode 100644 index 00000000000..06b4a8ae169 --- /dev/null +++ b/specs/agent-studio/common/schemas/PaginatedProviderAuthenticationsResponse.yml @@ -0,0 +1,14 @@ +PaginatedProviderAuthenticationsResponse: + properties: + data: + items: + $ref: 'ProviderAuthenticationResponse.yml#/ProviderAuthenticationResponse' + type: array + title: data + pagination: + $ref: 'PaginationMetadata.yml#/PaginationMetadata' + type: object + required: + - data + - pagination + title: paginatedProviders diff --git a/specs/agent-studio/common/schemas/PaginationMetadata.yml b/specs/agent-studio/common/schemas/PaginationMetadata.yml new file mode 100644 index 00000000000..dc34475f6e8 --- /dev/null +++ b/specs/agent-studio/common/schemas/PaginationMetadata.yml @@ -0,0 +1,21 @@ +PaginationMetadata: + properties: + page: + type: integer + title: page + limit: + type: integer + title: limit + totalCount: + type: integer + title: totalcount + totalPages: + type: integer + title: totalpages + type: object + required: + - page + - limit + - totalCount + - totalPages + title: paginationMetadata diff --git a/specs/agent-studio/common/schemas/PromptCreateRequest.yml b/specs/agent-studio/common/schemas/PromptCreateRequest.yml new file mode 100644 index 00000000000..8ede8f080c3 --- /dev/null +++ b/specs/agent-studio/common/schemas/PromptCreateRequest.yml @@ -0,0 +1,20 @@ +PromptCreateRequest: + properties: + name: + type: string + title: name + instructions: + type: string + title: instructions + tone: + $ref: 'Tone.yml#/Tone' + objectID: + oneOf: + - type: string + - type: 'null' + title: objectid + type: object + required: + - name + - instructions + title: promptCreateRequest diff --git a/specs/agent-studio/common/schemas/PromptUpdateRequest.yml b/specs/agent-studio/common/schemas/PromptUpdateRequest.yml new file mode 100644 index 00000000000..f83453df763 --- /dev/null +++ b/specs/agent-studio/common/schemas/PromptUpdateRequest.yml @@ -0,0 +1,21 @@ +PromptUpdateRequest: + properties: + name: + oneOf: + - type: string + - type: 'null' + title: name + instructions: + oneOf: + - type: string + - type: 'null' + title: instructions + tone: + $ref: 'ToneUnion.yml#/ToneUnion' + objectID: + type: string + title: objectid + type: object + required: + - objectID + title: promptUpdateRequest diff --git a/specs/agent-studio/common/schemas/ProviderAuthenticationCreate.yml b/specs/agent-studio/common/schemas/ProviderAuthenticationCreate.yml new file mode 100644 index 00000000000..c5d2bfafdb5 --- /dev/null +++ b/specs/agent-studio/common/schemas/ProviderAuthenticationCreate.yml @@ -0,0 +1,18 @@ +ProviderAuthenticationCreate: + properties: + name: + type: string + maxLength: 128 + minLength: 1 + title: name + providerName: + $ref: 'ProviderName.yml#/ProviderName' + input: + $ref: 'ProviderInput.yml#/ProviderInput' + additionalProperties: false + type: object + required: + - name + - providerName + - input + title: providerAuthenticationCreate diff --git a/specs/agent-studio/common/schemas/ProviderAuthenticationPatch.yml b/specs/agent-studio/common/schemas/ProviderAuthenticationPatch.yml new file mode 100644 index 00000000000..450ce69a31e --- /dev/null +++ b/specs/agent-studio/common/schemas/ProviderAuthenticationPatch.yml @@ -0,0 +1,14 @@ +ProviderAuthenticationPatch: + properties: + name: + oneOf: + - type: string + maxLength: 128 + minLength: 1 + - type: 'null' + title: name + input: + $ref: 'ProviderInput.yml#/ProviderInput' + additionalProperties: false + type: object + title: providerPatch diff --git a/specs/agent-studio/common/schemas/ProviderAuthenticationResponse.yml b/specs/agent-studio/common/schemas/ProviderAuthenticationResponse.yml new file mode 100644 index 00000000000..f091714e6e5 --- /dev/null +++ b/specs/agent-studio/common/schemas/ProviderAuthenticationResponse.yml @@ -0,0 +1,33 @@ +ProviderAuthenticationResponse: + properties: + id: + type: string + title: id + name: + type: string + title: name + providerName: + type: string + title: providername + input: + $ref: 'ProviderInput.yml#/ProviderInput' + createdAt: + type: string + title: createdat + updatedAt: + type: string + title: updatedat + lastUsedAt: + oneOf: + - type: string + - type: 'null' + title: lastusedat + type: object + required: + - id + - name + - providerName + - input + - createdAt + - updatedAt + title: provider diff --git a/specs/agent-studio/common/schemas/ProviderInput.yml b/specs/agent-studio/common/schemas/ProviderInput.yml new file mode 100644 index 00000000000..5c7002d9418 --- /dev/null +++ b/specs/agent-studio/common/schemas/ProviderInput.yml @@ -0,0 +1,7 @@ +ProviderInput: + oneOf: + - $ref: 'OpenAIProviderInput.yml#/OpenAIProviderInput' + - $ref: 'AzureOpenAIProviderInput.yml#/AzureOpenAIProviderInput' + - $ref: 'OpenAICompatibleProviderInput.yml#/OpenAICompatibleProviderInput' + - $ref: 'BaseProviderInput.yml#/BaseProviderInput' + - $ref: 'AnthropicProviderInput.yml#/AnthropicProviderInput' diff --git a/specs/agent-studio/common/schemas/ProviderName.yml b/specs/agent-studio/common/schemas/ProviderName.yml new file mode 100644 index 00000000000..147b96b9f39 --- /dev/null +++ b/specs/agent-studio/common/schemas/ProviderName.yml @@ -0,0 +1,10 @@ +ProviderName: + type: string + enum: + - openai + - azure_openai + - google_genai + - deepseek + - openai_compatible + - anthropic + title: providerName diff --git a/specs/agent-studio/common/schemas/QueryLanguagesUnion.yml b/specs/agent-studio/common/schemas/QueryLanguagesUnion.yml new file mode 100644 index 00000000000..75560405c27 --- /dev/null +++ b/specs/agent-studio/common/schemas/QueryLanguagesUnion.yml @@ -0,0 +1,6 @@ +QueryLanguagesUnion: + oneOf: + - items: + $ref: 'SupportedLanguage.yml#/SupportedLanguage' + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/QueryType.yml b/specs/agent-studio/common/schemas/QueryType.yml new file mode 100644 index 00000000000..d7870591e58 --- /dev/null +++ b/specs/agent-studio/common/schemas/QueryType.yml @@ -0,0 +1,12 @@ +QueryType: + type: string + enum: + - prefixLast + - prefixAll + - prefixNone + title: queryType + description: 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). diff --git a/specs/agent-studio/common/schemas/QueryTypeUnion.yml b/specs/agent-studio/common/schemas/QueryTypeUnion.yml new file mode 100644 index 00000000000..8731b0dfdfb --- /dev/null +++ b/specs/agent-studio/common/schemas/QueryTypeUnion.yml @@ -0,0 +1,4 @@ +QueryTypeUnion: + oneOf: + - $ref: 'QueryType.yml#/QueryType' + - type: 'null' diff --git a/specs/agent-studio/common/schemas/ReRankingApplyFilterUnion.yml b/specs/agent-studio/common/schemas/ReRankingApplyFilterUnion.yml new file mode 100644 index 00000000000..950b4e025ce --- /dev/null +++ b/specs/agent-studio/common/schemas/ReRankingApplyFilterUnion.yml @@ -0,0 +1,7 @@ +ReRankingApplyFilterUnion: + oneOf: + - type: string + - items: + type: object + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/ReasoningPart.yml b/specs/agent-studio/common/schemas/ReasoningPart.yml new file mode 100644 index 00000000000..93b30bdedf5 --- /dev/null +++ b/specs/agent-studio/common/schemas/ReasoningPart.yml @@ -0,0 +1,14 @@ +ReasoningPart: + properties: + type: + type: string + const: reasoning + title: type + default: reasoning + text: + type: string + title: text + type: object + required: + - text + title: reasoningPart diff --git a/specs/agent-studio/common/schemas/ReasoningPartV4.yml b/specs/agent-studio/common/schemas/ReasoningPartV4.yml new file mode 100644 index 00000000000..03dd1ee1c0e --- /dev/null +++ b/specs/agent-studio/common/schemas/ReasoningPartV4.yml @@ -0,0 +1,14 @@ +ReasoningPartV4: + properties: + type: + type: string + const: reasoning + title: type + default: reasoning + reasoning: + type: string + title: reasoning + type: object + required: + - reasoning + title: reasoningPartV4 diff --git a/specs/agent-studio/common/schemas/ReasoningPartV5.yml b/specs/agent-studio/common/schemas/ReasoningPartV5.yml new file mode 100644 index 00000000000..60457e071c5 --- /dev/null +++ b/specs/agent-studio/common/schemas/ReasoningPartV5.yml @@ -0,0 +1,14 @@ +ReasoningPartV5: + properties: + type: + type: string + const: reasoning + title: type + default: reasoning + text: + type: string + title: text + type: object + required: + - text + title: reasoningPartV5 diff --git a/specs/agent-studio/common/schemas/RemoveStopWordsUnion.yml b/specs/agent-studio/common/schemas/RemoveStopWordsUnion.yml new file mode 100644 index 00000000000..e3643892bec --- /dev/null +++ b/specs/agent-studio/common/schemas/RemoveStopWordsUnion.yml @@ -0,0 +1,7 @@ +RemoveStopWordsUnion: + oneOf: + - type: boolean + - items: + $ref: 'SupportedLanguage.yml#/SupportedLanguage' + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/RemoveWordsIfNoResults.yml b/specs/agent-studio/common/schemas/RemoveWordsIfNoResults.yml new file mode 100644 index 00000000000..dde4f71eddd --- /dev/null +++ b/specs/agent-studio/common/schemas/RemoveWordsIfNoResults.yml @@ -0,0 +1,16 @@ +RemoveWordsIfNoResults: + type: string + enum: + - none + - lastWords + - firstWords + - allOptional + title: removeWordsIfNoResults + description: 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). diff --git a/specs/agent-studio/common/schemas/RemoveWordsIfNoResultsUnion.yml b/specs/agent-studio/common/schemas/RemoveWordsIfNoResultsUnion.yml new file mode 100644 index 00000000000..202300f88d3 --- /dev/null +++ b/specs/agent-studio/common/schemas/RemoveWordsIfNoResultsUnion.yml @@ -0,0 +1,4 @@ +RemoveWordsIfNoResultsUnion: + oneOf: + - $ref: 'RemoveWordsIfNoResults.yml#/RemoveWordsIfNoResults' + - type: 'null' diff --git a/specs/agent-studio/common/schemas/SearchParameters-Input.yml b/specs/agent-studio/common/schemas/SearchParameters-Input.yml new file mode 100644 index 00000000000..62dd2f31b3e --- /dev/null +++ b/specs/agent-studio/common/schemas/SearchParameters-Input.yml @@ -0,0 +1,290 @@ +SearchParameters-Input: + properties: + queryType: + $ref: 'QueryTypeUnion.yml#/QueryTypeUnion' + similarQuery: + oneOf: + - type: string + - type: 'null' + title: similarquery + queryLanguages: + $ref: 'QueryLanguagesUnion.yml#/QueryLanguagesUnion' + advancedSyntax: + oneOf: + - type: boolean + - type: 'null' + title: advancedsyntax + advancedSyntaxFeatures: + $ref: 'AdvancedSyntaxFeaturesUnion.yml#/AdvancedSyntaxFeaturesUnion' + alternativesAsExact: + $ref: 'AlternativesAsExactUnion.yml#/AlternativesAsExactUnion' + decompoundQuery: + oneOf: + - type: boolean + - type: 'null' + title: decompoundquery + typoTolerance: + $ref: 'TypoToleranceUnion.yml#/TypoToleranceUnion' + allowTyposOnNumericTokens: + oneOf: + - type: boolean + - type: 'null' + title: allowtyposonnumerictokens + minWordSizeFor1Typo: + oneOf: + - type: integer + - type: 'null' + title: minwordsizefor1Typo + minWordSizeFor2Typos: + oneOf: + - type: integer + - type: 'null' + title: minwordsizefor2Typos + disableTypoToleranceOnAttributes: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: disabletypotoleranceonattributes + filters: + oneOf: + - type: string + - type: 'null' + title: filters + facetFilters: + $ref: 'FacetFiltersUnion.yml#/FacetFiltersUnion' + facets: + $ref: 'FacetsUnion.yml#/FacetsUnion' + maxValuesPerFacet: + oneOf: + - type: integer + - type: 'null' + title: maxvaluesperfacet + maxFacetHits: + oneOf: + - type: integer + - type: 'null' + title: maxfacethits + facetingAfterDistinct: + oneOf: + - type: boolean + - type: 'null' + title: facetingafterdistinct + sortFacetValuesBy: + oneOf: + - type: string + - type: 'null' + title: sortfacetvaluesby + numericFilters: + $ref: 'NumericFiltersUnion.yml#/NumericFiltersUnion' + tagFilters: + $ref: 'TagFiltersUnion.yml#/TagFiltersUnion' + sumOrFiltersScores: + oneOf: + - type: boolean + - type: 'null' + title: sumorfiltersscores + aroundLatLng: + oneOf: + - type: string + - type: 'null' + title: aroundlatlng + aroundLatLngViaIp: + oneOf: + - type: boolean + - type: 'null' + title: aroundlatlngviaip + aroundRadius: + $ref: 'AroundRadiusUnion.yml#/AroundRadiusUnion' + aroundPrecision: + $ref: 'AroundPrecisionUnion.yml#/AroundPrecisionUnion' + minimumAroundRadius: + oneOf: + - type: integer + - type: 'null' + title: minimumaroundradius + insideBoundingBox: + $ref: 'InsideBoundingBoxUnion.yml#/InsideBoundingBoxUnion' + insidePolygon: + $ref: 'InsidePolygonUnion.yml#/InsidePolygonUnion' + attributesToRetrieve: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: attributestoretrieve + attributesToSnippet: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: attributestosnippet + snippetEllipsisText: + oneOf: + - type: string + - type: 'null' + title: snippetellipsistext + restrictHighlightAndSnippetArrays: + oneOf: + - type: boolean + - type: 'null' + title: restricthighlightandsnippetarrays + page: + oneOf: + - type: integer + - type: 'null' + title: page + offset: + oneOf: + - type: integer + - type: 'null' + title: offset + hitsPerPage: + oneOf: + - type: integer + - type: 'null' + title: hitsperpage + length: + oneOf: + - type: integer + - type: 'null' + title: length + getRankingInfo: + oneOf: + - type: boolean + - type: 'null' + title: getrankinginfo + relevancyStrictness: + oneOf: + - type: integer + - type: 'null' + title: relevancystrictness + minProximity: + oneOf: + - type: integer + - type: 'null' + title: minproximity + attributeCriteriaComputedByMinProximity: + oneOf: + - type: boolean + - type: 'null' + title: attributecriteriacomputedbyminproximity + distinct: + $ref: 'DistinctUnion.yml#/DistinctUnion' + enableRules: + oneOf: + - type: boolean + - type: 'null' + title: enablerules + enablePersonalization: + oneOf: + - type: boolean + - type: 'null' + title: enablepersonalization + personalizationImpact: + oneOf: + - type: integer + - type: 'null' + title: personalizationimpact + enableAbTest: + oneOf: + - type: boolean + - type: 'null' + title: enableabtest + enableReRanking: + oneOf: + - type: boolean + - type: 'null' + title: enablereranking + reRankingApplyFilter: + $ref: 'ReRankingApplyFilterUnion.yml#/ReRankingApplyFilterUnion' + ruleContexts: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: rulecontexts + removeStopWords: + $ref: 'RemoveStopWordsUnion.yml#/RemoveStopWordsUnion' + ignorePlurals: + $ref: 'IgnorePluralsUnion.yml#/IgnorePluralsUnion' + removeWordsIfNoResults: + $ref: 'RemoveWordsIfNoResultsUnion.yml#/RemoveWordsIfNoResultsUnion' + optionalWords: + $ref: 'OptionalWordsUnion.yml#/OptionalWordsUnion' + optionalFilters: + $ref: 'OptionalFiltersUnion.yml#/OptionalFiltersUnion' + synonyms: + oneOf: + - type: boolean + - type: 'null' + title: synonyms + replaceSynonymsInHighlight: + oneOf: + - type: boolean + - type: 'null' + title: replacesynonymsinhighlight + analytics: + oneOf: + - type: boolean + - type: 'null' + title: analytics + analyticsTags: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: analyticstags + clickAnalytics: + oneOf: + - type: boolean + - type: 'null' + title: clickanalytics + userToken: + oneOf: + - type: string + - type: 'null' + title: usertoken + restrictSearchableAttributes: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: restrictsearchableattributes + disableExactOnAttributes: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: disableexactonattributes + exactOnSingleWordQuery: + $ref: 'ExactOnSingleWordQueryUnion.yml#/ExactOnSingleWordQueryUnion' + naturalLanguages: + $ref: 'NaturalLanguagesUnion.yml#/NaturalLanguagesUnion' + percentileComputation: + oneOf: + - type: boolean + - type: 'null' + title: percentilecomputation + explain: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: explain + type: object + title: searchParameters + description: |- + Algolia Search API parameters that can be predefined for the search tool. + Reference: https://www.algolia.com/doc/api-reference/search-api-parameters/ + + The parameters that seemed irrelevant for the search tool have been commented out. + Uses types from algoliasearch.search.models for better type safety. diff --git a/specs/agent-studio/common/schemas/SearchParameters-Output.yml b/specs/agent-studio/common/schemas/SearchParameters-Output.yml new file mode 100644 index 00000000000..71a54870860 --- /dev/null +++ b/specs/agent-studio/common/schemas/SearchParameters-Output.yml @@ -0,0 +1,290 @@ +SearchParameters-Output: + properties: + queryType: + $ref: 'QueryTypeUnion.yml#/QueryTypeUnion' + similarQuery: + oneOf: + - type: string + - type: 'null' + title: similarquery + queryLanguages: + $ref: 'QueryLanguagesUnion.yml#/QueryLanguagesUnion' + advancedSyntax: + oneOf: + - type: boolean + - type: 'null' + title: advancedsyntax + advancedSyntaxFeatures: + $ref: 'AdvancedSyntaxFeaturesUnion.yml#/AdvancedSyntaxFeaturesUnion' + alternativesAsExact: + $ref: 'AlternativesAsExactUnion.yml#/AlternativesAsExactUnion' + decompoundQuery: + oneOf: + - type: boolean + - type: 'null' + title: decompoundquery + typoTolerance: + $ref: 'TypoToleranceUnion.yml#/TypoToleranceUnion' + allowTyposOnNumericTokens: + oneOf: + - type: boolean + - type: 'null' + title: allowtyposonnumerictokens + minWordSizeFor1Typo: + oneOf: + - type: integer + - type: 'null' + title: minwordsizefor1Typo + minWordSizeFor2Typos: + oneOf: + - type: integer + - type: 'null' + title: minwordsizefor2Typos + disableTypoToleranceOnAttributes: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: disabletypotoleranceonattributes + filters: + oneOf: + - type: string + - type: 'null' + title: filters + facetFilters: + $ref: 'FacetFiltersUnion.yml#/FacetFiltersUnion' + facets: + $ref: 'FacetsUnion.yml#/FacetsUnion' + maxValuesPerFacet: + oneOf: + - type: integer + - type: 'null' + title: maxvaluesperfacet + maxFacetHits: + oneOf: + - type: integer + - type: 'null' + title: maxfacethits + facetingAfterDistinct: + oneOf: + - type: boolean + - type: 'null' + title: facetingafterdistinct + sortFacetValuesBy: + oneOf: + - type: string + - type: 'null' + title: sortfacetvaluesby + numericFilters: + $ref: 'NumericFiltersUnion.yml#/NumericFiltersUnion' + tagFilters: + $ref: 'TagFiltersUnion.yml#/TagFiltersUnion' + sumOrFiltersScores: + oneOf: + - type: boolean + - type: 'null' + title: sumorfiltersscores + aroundLatLng: + oneOf: + - type: string + - type: 'null' + title: aroundlatlng + aroundLatLngViaIp: + oneOf: + - type: boolean + - type: 'null' + title: aroundlatlngviaip + aroundRadius: + $ref: 'AroundRadiusUnion.yml#/AroundRadiusUnion' + aroundPrecision: + $ref: 'AroundPrecisionUnion.yml#/AroundPrecisionUnion' + minimumAroundRadius: + oneOf: + - type: integer + - type: 'null' + title: minimumaroundradius + insideBoundingBox: + $ref: 'InsideBoundingBoxUnion.yml#/InsideBoundingBoxUnion' + insidePolygon: + $ref: 'InsidePolygonUnion.yml#/InsidePolygonUnion' + attributesToRetrieve: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: attributestoretrieve + attributesToSnippet: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: attributestosnippet + snippetEllipsisText: + oneOf: + - type: string + - type: 'null' + title: snippetellipsistext + restrictHighlightAndSnippetArrays: + oneOf: + - type: boolean + - type: 'null' + title: restricthighlightandsnippetarrays + page: + oneOf: + - type: integer + - type: 'null' + title: page + offset: + oneOf: + - type: integer + - type: 'null' + title: offset + hitsPerPage: + oneOf: + - type: integer + - type: 'null' + title: hitsperpage + length: + oneOf: + - type: integer + - type: 'null' + title: length + getRankingInfo: + oneOf: + - type: boolean + - type: 'null' + title: getrankinginfo + relevancyStrictness: + oneOf: + - type: integer + - type: 'null' + title: relevancystrictness + minProximity: + oneOf: + - type: integer + - type: 'null' + title: minproximity + attributeCriteriaComputedByMinProximity: + oneOf: + - type: boolean + - type: 'null' + title: attributecriteriacomputedbyminproximity + distinct: + $ref: 'DistinctUnion.yml#/DistinctUnion' + enableRules: + oneOf: + - type: boolean + - type: 'null' + title: enablerules + enablePersonalization: + oneOf: + - type: boolean + - type: 'null' + title: enablepersonalization + personalizationImpact: + oneOf: + - type: integer + - type: 'null' + title: personalizationimpact + enableAbTest: + oneOf: + - type: boolean + - type: 'null' + title: enableabtest + enableReRanking: + oneOf: + - type: boolean + - type: 'null' + title: enablereranking + reRankingApplyFilter: + $ref: 'ReRankingApplyFilterUnion.yml#/ReRankingApplyFilterUnion' + ruleContexts: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: rulecontexts + removeStopWords: + $ref: 'RemoveStopWordsUnion.yml#/RemoveStopWordsUnion' + ignorePlurals: + $ref: 'IgnorePluralsUnion.yml#/IgnorePluralsUnion' + removeWordsIfNoResults: + $ref: 'RemoveWordsIfNoResultsUnion.yml#/RemoveWordsIfNoResultsUnion' + optionalWords: + $ref: 'OptionalWordsUnion.yml#/OptionalWordsUnion' + optionalFilters: + $ref: 'OptionalFiltersUnion.yml#/OptionalFiltersUnion' + synonyms: + oneOf: + - type: boolean + - type: 'null' + title: synonyms + replaceSynonymsInHighlight: + oneOf: + - type: boolean + - type: 'null' + title: replacesynonymsinhighlight + analytics: + oneOf: + - type: boolean + - type: 'null' + title: analytics + analyticsTags: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: analyticstags + clickAnalytics: + oneOf: + - type: boolean + - type: 'null' + title: clickanalytics + userToken: + oneOf: + - type: string + - type: 'null' + title: usertoken + restrictSearchableAttributes: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: restrictsearchableattributes + disableExactOnAttributes: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: disableexactonattributes + exactOnSingleWordQuery: + $ref: 'ExactOnSingleWordQueryUnion.yml#/ExactOnSingleWordQueryUnion' + naturalLanguages: + $ref: 'NaturalLanguagesUnion.yml#/NaturalLanguagesUnion' + percentileComputation: + oneOf: + - type: boolean + - type: 'null' + title: percentilecomputation + explain: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: explain + type: object + title: searchParameters + description: |- + Algolia Search API parameters that can be predefined for the search tool. + Reference: https://www.algolia.com/doc/api-reference/search-api-parameters/ + + The parameters that seemed irrelevant for the search tool have been commented out. + Uses types from algoliasearch.search.models for better type safety. diff --git a/specs/agent-studio/common/schemas/SearchParametersOverrides.yml b/specs/agent-studio/common/schemas/SearchParametersOverrides.yml new file mode 100644 index 00000000000..4d698eee48c --- /dev/null +++ b/specs/agent-studio/common/schemas/SearchParametersOverrides.yml @@ -0,0 +1,31 @@ +SearchParametersOverrides: + properties: + filters: + oneOf: + - type: string + - type: 'null' + title: filters + attributesToRetrieve: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: attributestoretrieve + restrictSearchableAttributes: + oneOf: + - items: + type: string + type: array + - type: 'null' + title: restrictsearchableattributes + distinct: + $ref: 'DistinctUnion.yml#/DistinctUnion' + additionalProperties: false + type: object + title: searchParametersOverrides + description: |- + Algolia Search API parameters that can be predefined for the search tool. + Reference: https://www.algolia.com/doc/api-reference/search-api-parameters/ + + A subset of SearchParameters of specific params we allow for runtime override. diff --git a/specs/agent-studio/common/schemas/SearchParametersUnion.yml b/specs/agent-studio/common/schemas/SearchParametersUnion.yml new file mode 100644 index 00000000000..ce266a9a898 --- /dev/null +++ b/specs/agent-studio/common/schemas/SearchParametersUnion.yml @@ -0,0 +1,4 @@ +SearchParametersUnion: + oneOf: + - $ref: 'SearchParameters-Output.yml#/SearchParameters-Output' + - type: 'null' diff --git a/specs/agent-studio/common/schemas/StartPart.yml b/specs/agent-studio/common/schemas/StartPart.yml new file mode 100644 index 00000000000..6998fb4842f --- /dev/null +++ b/specs/agent-studio/common/schemas/StartPart.yml @@ -0,0 +1,9 @@ +StartPart: + properties: + type: + type: string + const: start + title: type + default: start + type: object + title: startPart diff --git a/specs/agent-studio/common/schemas/StartStepPart.yml b/specs/agent-studio/common/schemas/StartStepPart.yml new file mode 100644 index 00000000000..092b81f0428 --- /dev/null +++ b/specs/agent-studio/common/schemas/StartStepPart.yml @@ -0,0 +1,9 @@ +StartStepPart: + properties: + type: + type: string + const: start-step + title: type + default: start-step + type: object + title: startStepPart diff --git a/specs/agent-studio/common/schemas/StepStartPartV4.yml b/specs/agent-studio/common/schemas/StepStartPartV4.yml new file mode 100644 index 00000000000..0e54f608cf1 --- /dev/null +++ b/specs/agent-studio/common/schemas/StepStartPartV4.yml @@ -0,0 +1,9 @@ +StepStartPartV4: + properties: + type: + type: string + const: step-start + title: type + default: step-start + type: object + title: stepStartPartV4 diff --git a/specs/agent-studio/common/schemas/StepStartPartV5.yml b/specs/agent-studio/common/schemas/StepStartPartV5.yml new file mode 100644 index 00000000000..34a97634146 --- /dev/null +++ b/specs/agent-studio/common/schemas/StepStartPartV5.yml @@ -0,0 +1,9 @@ +StepStartPartV5: + properties: + type: + type: string + const: step-start + title: type + default: step-start + type: object + title: stepStartPartV5 diff --git a/specs/agent-studio/common/schemas/SupportedLanguage.yml b/specs/agent-studio/common/schemas/SupportedLanguage.yml new file mode 100644 index 00000000000..50c518c887d --- /dev/null +++ b/specs/agent-studio/common/schemas/SupportedLanguage.yml @@ -0,0 +1,73 @@ +SupportedLanguage: + type: string + enum: + - 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 + title: supportedLanguage + description: ISO code for a supported language. diff --git a/specs/agent-studio/common/schemas/TagFiltersUnion.yml b/specs/agent-studio/common/schemas/TagFiltersUnion.yml new file mode 100644 index 00000000000..bdfefa78fe1 --- /dev/null +++ b/specs/agent-studio/common/schemas/TagFiltersUnion.yml @@ -0,0 +1,7 @@ +TagFiltersUnion: + oneOf: + - type: string + - items: + type: object + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/TextPart.yml b/specs/agent-studio/common/schemas/TextPart.yml new file mode 100644 index 00000000000..6dc84aa0095 --- /dev/null +++ b/specs/agent-studio/common/schemas/TextPart.yml @@ -0,0 +1,14 @@ +TextPart: + properties: + type: + type: string + const: text + title: type + default: text + text: + type: string + title: text + type: object + required: + - text + title: textPart diff --git a/specs/agent-studio/common/schemas/TextPartV4.yml b/specs/agent-studio/common/schemas/TextPartV4.yml new file mode 100644 index 00000000000..6d539d2f1e5 --- /dev/null +++ b/specs/agent-studio/common/schemas/TextPartV4.yml @@ -0,0 +1,14 @@ +TextPartV4: + properties: + type: + type: string + const: text + title: type + default: text + text: + type: string + title: text + type: object + required: + - text + title: textPartV4 diff --git a/specs/agent-studio/common/schemas/TextPartV5.yml b/specs/agent-studio/common/schemas/TextPartV5.yml new file mode 100644 index 00000000000..70743550e8f --- /dev/null +++ b/specs/agent-studio/common/schemas/TextPartV5.yml @@ -0,0 +1,14 @@ +TextPartV5: + properties: + type: + type: string + const: text + title: type + default: text + text: + type: string + title: text + type: object + required: + - text + title: textPartV5 diff --git a/specs/agent-studio/common/schemas/Tone.yml b/specs/agent-studio/common/schemas/Tone.yml new file mode 100644 index 00000000000..f2c7b8b1c06 --- /dev/null +++ b/specs/agent-studio/common/schemas/Tone.yml @@ -0,0 +1,11 @@ +Tone: + type: string + enum: + - natural + - friendly + - professional + - pirate + - pirate + - enthusiastic + title: tone + description: A tone of voice supported by our generation pipeline. diff --git a/specs/agent-studio/common/schemas/ToneUnion.yml b/specs/agent-studio/common/schemas/ToneUnion.yml new file mode 100644 index 00000000000..243cccbc7c8 --- /dev/null +++ b/specs/agent-studio/common/schemas/ToneUnion.yml @@ -0,0 +1,4 @@ +ToneUnion: + oneOf: + - $ref: 'Tone.yml#/Tone' + - type: 'null' diff --git a/specs/agent-studio/common/schemas/ToolCallPart.yml b/specs/agent-studio/common/schemas/ToolCallPart.yml new file mode 100644 index 00000000000..4a62d93ecdb --- /dev/null +++ b/specs/agent-studio/common/schemas/ToolCallPart.yml @@ -0,0 +1,21 @@ +ToolCallPart: + properties: + type: + type: string + const: tool-call + title: type + default: tool-call + toolCallId: + type: string + title: toolcallid + toolName: + type: string + title: toolname + args: + title: args + type: object + required: + - toolCallId + - toolName + - args + title: toolCallPart diff --git a/specs/agent-studio/common/schemas/ToolConfig.yml b/specs/agent-studio/common/schemas/ToolConfig.yml new file mode 100644 index 00000000000..f9f224c76c7 --- /dev/null +++ b/specs/agent-studio/common/schemas/ToolConfig.yml @@ -0,0 +1,4 @@ +ToolConfig: + oneOf: + - $ref: 'McpToolConfig.yml#/McpToolConfig' + - type: boolean diff --git a/specs/agent-studio/common/schemas/ToolInvocationPartV4.yml b/specs/agent-studio/common/schemas/ToolInvocationPartV4.yml new file mode 100644 index 00000000000..033e659675e --- /dev/null +++ b/specs/agent-studio/common/schemas/ToolInvocationPartV4.yml @@ -0,0 +1,13 @@ +ToolInvocationPartV4: + properties: + type: + type: string + const: tool-invocation + title: type + default: tool-invocation + toolInvocation: + $ref: 'ToolInvocationV4.yml#/ToolInvocationV4' + type: object + required: + - toolInvocation + title: toolInvocationPartV4 diff --git a/specs/agent-studio/common/schemas/ToolInvocationV4.yml b/specs/agent-studio/common/schemas/ToolInvocationV4.yml new file mode 100644 index 00000000000..3fdbb043468 --- /dev/null +++ b/specs/agent-studio/common/schemas/ToolInvocationV4.yml @@ -0,0 +1,34 @@ +ToolInvocationV4: + properties: + toolCallId: + type: string + title: toolcallid + toolName: + type: string + title: toolname + args: + additionalProperties: true + type: object + title: args + result: + oneOf: + - type: object + additionalProperties: true + - type: 'null' + title: result + step: + oneOf: + - type: integer + - type: 'null' + title: step + state: + oneOf: + - type: string + - type: 'null' + title: state + type: object + required: + - toolCallId + - toolName + title: toolInvocationV4 + description: Model for tool invocation in a Message. diff --git a/specs/agent-studio/common/schemas/ToolInvocationsUnion.yml b/specs/agent-studio/common/schemas/ToolInvocationsUnion.yml new file mode 100644 index 00000000000..9fd93086cd8 --- /dev/null +++ b/specs/agent-studio/common/schemas/ToolInvocationsUnion.yml @@ -0,0 +1,6 @@ +ToolInvocationsUnion: + oneOf: + - items: + $ref: 'ToolInvocationV4.yml#/ToolInvocationV4' + type: array + - type: 'null' diff --git a/specs/agent-studio/common/schemas/ToolPartV5.yml b/specs/agent-studio/common/schemas/ToolPartV5.yml new file mode 100644 index 00000000000..8362657b234 --- /dev/null +++ b/specs/agent-studio/common/schemas/ToolPartV5.yml @@ -0,0 +1,31 @@ +ToolPartV5: + properties: + type: + type: string + title: type + toolCallId: + type: string + title: toolcallid + state: + $ref: 'ToolState.yml#/ToolState' + input: + additionalProperties: true + type: object + title: input + output: + oneOf: + - type: object + additionalProperties: true + - type: 'null' + title: output + errorText: + oneOf: + - type: string + - type: 'null' + title: errortext + type: object + required: + - type + - toolCallId + title: toolPartV5 + description: Model for tool invocation in a Message. diff --git a/specs/agent-studio/common/schemas/ToolResultOutput.yml b/specs/agent-studio/common/schemas/ToolResultOutput.yml new file mode 100644 index 00000000000..15c3049bee6 --- /dev/null +++ b/specs/agent-studio/common/schemas/ToolResultOutput.yml @@ -0,0 +1,11 @@ +ToolResultOutput: + properties: + type: + $ref: 'ToolResultOutputType.yml#/ToolResultOutputType' + value: + title: value + type: object + required: + - type + - value + title: toolResultOutput diff --git a/specs/agent-studio/common/schemas/ToolResultOutputType.yml b/specs/agent-studio/common/schemas/ToolResultOutputType.yml new file mode 100644 index 00000000000..9c4936e9367 --- /dev/null +++ b/specs/agent-studio/common/schemas/ToolResultOutputType.yml @@ -0,0 +1,10 @@ +ToolResultOutputType: + type: string + enum: + - text + - json + - error-text + - error-json + - content + title: toolResultOutputType + description: The valid 'type' of tool results. diff --git a/specs/agent-studio/common/schemas/ToolResultPart-Input.yml b/specs/agent-studio/common/schemas/ToolResultPart-Input.yml new file mode 100644 index 00000000000..6b2e19167a2 --- /dev/null +++ b/specs/agent-studio/common/schemas/ToolResultPart-Input.yml @@ -0,0 +1,27 @@ +ToolResultPart-Input: + properties: + type: + type: string + const: tool-result + title: type + default: tool-result + toolCallId: + type: string + title: toolcallid + toolName: + type: string + title: toolname + output: + $ref: 'ToolResultOutput.yml#/ToolResultOutput' + providerOptions: + oneOf: + - type: object + additionalProperties: true + - type: 'null' + title: provideroptions + type: object + required: + - toolCallId + - toolName + - output + title: toolResultPart diff --git a/specs/agent-studio/common/schemas/ToolResultPart-Output.yml b/specs/agent-studio/common/schemas/ToolResultPart-Output.yml new file mode 100644 index 00000000000..a386813a968 --- /dev/null +++ b/specs/agent-studio/common/schemas/ToolResultPart-Output.yml @@ -0,0 +1,27 @@ +ToolResultPart-Output: + properties: + type: + type: string + const: tool-result + title: type + default: tool-result + toolCallId: + type: string + title: toolcallid + toolName: + type: string + title: toolname + output: + $ref: 'ToolResultOutput.yml#/ToolResultOutput' + providerOptions: + oneOf: + - type: object + additionalProperties: true + - type: 'null' + title: provideroptions + type: object + required: + - toolCallId + - toolName + - output + title: toolResultPart diff --git a/specs/agent-studio/common/schemas/ToolState.yml b/specs/agent-studio/common/schemas/ToolState.yml new file mode 100644 index 00000000000..329562a2df8 --- /dev/null +++ b/specs/agent-studio/common/schemas/ToolState.yml @@ -0,0 +1,7 @@ +ToolState: + type: string + enum: + - input-streaming + - input-available + - output-available + - output-error diff --git a/specs/agent-studio/common/schemas/TypoToleranceEnum.yml b/specs/agent-studio/common/schemas/TypoToleranceEnum.yml new file mode 100644 index 00000000000..c4b5973551c --- /dev/null +++ b/specs/agent-studio/common/schemas/TypoToleranceEnum.yml @@ -0,0 +1,13 @@ +TypoToleranceEnum: + type: string + enum: + - min + - strict + - 'true' + - 'false' + title: typoToleranceEnum + description: '- `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.' diff --git a/specs/agent-studio/common/schemas/TypoToleranceUnion.yml b/specs/agent-studio/common/schemas/TypoToleranceUnion.yml new file mode 100644 index 00000000000..dd807888bc6 --- /dev/null +++ b/specs/agent-studio/common/schemas/TypoToleranceUnion.yml @@ -0,0 +1,5 @@ +TypoToleranceUnion: + oneOf: + - type: boolean + - $ref: 'TypoToleranceEnum.yml#/TypoToleranceEnum' + - type: 'null' diff --git a/specs/agent-studio/common/schemas/UnknownToolConfig.yml b/specs/agent-studio/common/schemas/UnknownToolConfig.yml new file mode 100644 index 00000000000..224564a8e7f --- /dev/null +++ b/specs/agent-studio/common/schemas/UnknownToolConfig.yml @@ -0,0 +1,19 @@ +UnknownToolConfig: + properties: + name: + type: string + maxLength: 32 + minLength: 3 + title: name + type: + type: string + const: unknown + title: type + default: unknown + additionalProperties: true + type: object + required: + - name + title: unknownToolConfig + description: Exists only to ensure that when you change branch from toolX to feat/toolY, + your config stays valid. diff --git a/specs/agent-studio/common/schemas/UsageV4.yml b/specs/agent-studio/common/schemas/UsageV4.yml new file mode 100644 index 00000000000..acbf30ced95 --- /dev/null +++ b/specs/agent-studio/common/schemas/UsageV4.yml @@ -0,0 +1,21 @@ +UsageV4: + properties: + promptTokens: + type: integer + title: prompttokens + default: 0 + completionTokens: + type: integer + title: completiontokens + default: 0 + reasoningTokens: + type: integer + title: reasoningtokens + default: 0 + totalTokens: + type: integer + title: totaltokens + default: 0 + type: object + title: usageV4 + description: Token usage statistics for AI SDK v4 compatibility mode. diff --git a/specs/agent-studio/common/schemas/UsageV5.yml b/specs/agent-studio/common/schemas/UsageV5.yml new file mode 100644 index 00000000000..c8d11ef399a --- /dev/null +++ b/specs/agent-studio/common/schemas/UsageV5.yml @@ -0,0 +1,21 @@ +UsageV5: + properties: + inputTokens: + type: integer + title: inputtokens + default: 0 + outputTokens: + type: integer + title: outputtokens + default: 0 + reasoningTokens: + type: integer + title: reasoningtokens + default: 0 + totalTokens: + type: integer + title: totaltokens + default: 0 + type: object + title: usageV5 + description: Token usage statistics for AI SDK v5 compatibility mode. diff --git a/specs/agent-studio/common/schemas/UserDataResponse.yml b/specs/agent-studio/common/schemas/UserDataResponse.yml new file mode 100644 index 00000000000..51d055d0dc1 --- /dev/null +++ b/specs/agent-studio/common/schemas/UserDataResponse.yml @@ -0,0 +1,17 @@ +UserDataResponse: + properties: + conversations: + items: + $ref: 'ConversationFullResponse.yml#/ConversationFullResponse' + type: array + title: conversations + memories: + items: + $ref: 'MemoryRecord.yml#/MemoryRecord' + type: array + title: memories + type: object + required: + - conversations + - memories + title: userDataResponse diff --git a/specs/agent-studio/common/schemas/UserMessageV4.yml b/specs/agent-studio/common/schemas/UserMessageV4.yml new file mode 100644 index 00000000000..1afd577c196 --- /dev/null +++ b/specs/agent-studio/common/schemas/UserMessageV4.yml @@ -0,0 +1,24 @@ +UserMessageV4: + properties: + id: + oneOf: + - type: string + - type: 'null' + title: id + role: + type: string + const: user + title: role + default: user + content: + type: string + title: content + parts: + items: + $ref: 'TextPartV4.yml#/TextPartV4' + type: array + title: parts + type: object + required: + - content + title: userMessageV4 diff --git a/specs/agent-studio/common/schemas/UserMessageV5.yml b/specs/agent-studio/common/schemas/UserMessageV5.yml new file mode 100644 index 00000000000..c6e69447b3f --- /dev/null +++ b/specs/agent-studio/common/schemas/UserMessageV5.yml @@ -0,0 +1,19 @@ +UserMessageV5: + properties: + id: + oneOf: + - type: string + - type: 'null' + title: id + role: + type: string + const: user + title: role + default: user + parts: + items: + $ref: 'TextPartV5.yml#/TextPartV5' + type: array + title: parts + type: object + title: userMessageV5 diff --git a/specs/agent-studio/common/schemas/ValidationErrorItem.yml b/specs/agent-studio/common/schemas/ValidationErrorItem.yml new file mode 100644 index 00000000000..053c927d3a5 --- /dev/null +++ b/specs/agent-studio/common/schemas/ValidationErrorItem.yml @@ -0,0 +1,19 @@ +ValidationErrorItem: + properties: + loc: + items: + $ref: 'LocationItemUnion.yml#/LocationItemUnion' + type: array + title: location + msg: + type: string + title: message + type: + type: string + title: errorType + type: object + required: + - loc + - msg + - type + title: validationErrorItem diff --git a/specs/agent-studio/paths/agents/agent.yml b/specs/agent-studio/paths/agents/agent.yml new file mode 100644 index 00000000000..4870b331ba0 --- /dev/null +++ b/specs/agent-studio/paths/agents/agent.yml @@ -0,0 +1,91 @@ +get: + tags: + - Agents + operationId: getAgent + x-acl: + - settings + summary: Get Agent + description: Retrieve details of the specified agent. + parameters: + - name: agentId + in: path + required: true + schema: + type: string + title: agentId + description: The agentId. + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/AgentWithVersionResponse.yml#/AgentWithVersionResponse' + '403': + $ref: '../../../common/responses/MethodNotAllowed.yml' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' +patch: + tags: + - Agents + operationId: updateAgent + x-acl: + - editSettings + summary: Update Agent + description: Update the specified agent. + parameters: + - name: agentId + in: path + required: true + schema: + type: string + title: agentId + description: The agentId. + requestBody: + required: true + content: + application/json: + schema: + $ref: '../../common/schemas/AgentConfigUpdate.yml#/AgentConfigUpdate' + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/AgentWithVersionResponse.yml#/AgentWithVersionResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' +delete: + tags: + - Agents + operationId: deleteAgent + x-acl: + - editSettings + summary: Delete Agent + description: Delete the specified agent. + parameters: + - name: agentId + in: path + required: true + schema: + type: string + title: agentId + description: The agentId. + responses: + '204': + description: Successful Response. + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/agents/agentCache.yml b/specs/agent-studio/paths/agents/agentCache.yml new file mode 100644 index 00000000000..2f867ef5f32 --- /dev/null +++ b/specs/agent-studio/paths/agents/agentCache.yml @@ -0,0 +1,36 @@ +delete: + tags: + - Agents + operationId: invalidateAgentCache + x-acl: + - editSettings + summary: Invalidate Agent Cache + description: Invalidate cached completions for this agent. Filter with `before` + (exclusive). + parameters: + - name: agentId + in: path + required: true + schema: + type: string + title: agentId + description: The agentId. + - name: before + in: query + required: false + schema: + oneOf: + - type: string + - type: 'null' + description: Delete entries strictly before this date (exclusive, YYYY-MM-DD). + title: before + description: Delete entries strictly before this date (exclusive, YYYY-MM-DD). + responses: + '204': + description: Successful Response. + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/agents/agentCompletions.yml b/specs/agent-studio/paths/agents/agentCompletions.yml new file mode 100644 index 00000000000..3da1a6ea2c6 --- /dev/null +++ b/specs/agent-studio/paths/agents/agentCompletions.yml @@ -0,0 +1,69 @@ +post: + tags: + - Completions + operationId: createAgentCompletion + x-acl: + - search + summary: Create Completion + description: Create a completion for the specified agent. + parameters: + - name: agentId + in: path + required: true + schema: + $ref: '../../common/schemas/AgentIdUnion.yml#/AgentIdUnion' + description: The agentId. + - name: compatibilityMode + in: query + required: true + schema: + $ref: '../../common/schemas/CompatibilityMode.yml#/CompatibilityMode' + description: Compatibility mode for the completion API. + - name: stream + in: query + required: false + schema: + type: boolean + description: Whether to stream the response or not. + default: true + title: stream + description: Whether to stream the response or not. + - name: cache + in: query + required: false + schema: + type: boolean + description: Use cached responses if available. + default: true + title: cache + description: Use cached responses if available. + - name: memory + in: query + required: false + schema: + oneOf: + - const: false + type: boolean + - type: 'null' + description: Whether to use memory or not. + title: memory + description: Whether to use memory or not. + requestBody: + required: true + content: + application/json: + schema: + $ref: '../../common/schemas/AgentCompletionRequest.yml#/AgentCompletionRequest' + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/AgentCompletionResponse.yml#/AgentCompletionResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/agents/agentPublish.yml b/specs/agent-studio/paths/agents/agentPublish.yml new file mode 100644 index 00000000000..407e2af72f3 --- /dev/null +++ b/specs/agent-studio/paths/agents/agentPublish.yml @@ -0,0 +1,29 @@ +post: + tags: + - Agents + operationId: publishAgent + x-acl: + - editSettings + summary: Publish Agent + description: Publish the specified agent. + parameters: + - name: agentId + in: path + required: true + schema: + type: string + title: agentId + description: The agentId. + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/AgentWithVersionResponse.yml#/AgentWithVersionResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/agents/agentUnpublish.yml b/specs/agent-studio/paths/agents/agentUnpublish.yml new file mode 100644 index 00000000000..77b25b2a80b --- /dev/null +++ b/specs/agent-studio/paths/agents/agentUnpublish.yml @@ -0,0 +1,29 @@ +post: + tags: + - Agents + operationId: unpublishAgent + x-acl: + - editSettings + summary: Unpublish Agent + description: Unpublish the specified agent. + parameters: + - name: agentId + in: path + required: true + schema: + type: string + title: agentId + description: The agentId. + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/AgentWithVersionResponse.yml#/AgentWithVersionResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/agents/agents.yml b/specs/agent-studio/paths/agents/agents.yml new file mode 100644 index 00000000000..4a057b5088c --- /dev/null +++ b/specs/agent-studio/paths/agents/agents.yml @@ -0,0 +1,79 @@ +get: + tags: + - Agents + operationId: listAgents + x-acl: + - settings + summary: List Agents + description: List all agents with pagination and filtering. + parameters: + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number. + default: 1 + title: page + description: Page number. + - name: limit + in: query + required: false + schema: + type: integer + minimum: 1 + description: Items per page. + default: 10 + title: limit + description: Items per page. + - name: providerId + in: query + required: false + schema: + oneOf: + - type: string + - type: 'null' + description: Filter by provider id. + title: providerid + description: Filter by provider id. + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/PaginatedAgentsResponse.yml#/PaginatedAgentsResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' +post: + tags: + - Agents + operationId: createAgent + x-acl: + - editSettings + summary: Create Agent + description: Create a new agent. + requestBody: + required: true + content: + application/json: + schema: + $ref: '../../common/schemas/AgentConfigCreate.yml#/AgentConfigCreate' + responses: + '201': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/AgentWithVersionResponse.yml#/AgentWithVersionResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/configuration/configuration.yml b/specs/agent-studio/paths/configuration/configuration.yml new file mode 100644 index 00000000000..ba3a733172f --- /dev/null +++ b/specs/agent-studio/paths/configuration/configuration.yml @@ -0,0 +1,48 @@ +get: + tags: + - Configurations + operationId: getApplicationConfiguration + x-acl: + - logs + summary: Get Configuration + description: Get Configuration. + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/ApplicationConfigResponse.yml#/ApplicationConfigResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' +patch: + tags: + - Configurations + operationId: updateConfiguration + x-acl: + - logs + summary: Patch Configuration + description: Patch Configuration. + requestBody: + required: true + content: + application/json: + schema: + $ref: '../../common/schemas/ApplicationConfigPatch.yml#/ApplicationConfigPatch' + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/ApplicationConfigResponse.yml#/ApplicationConfigResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/conversations/conversation.yml b/specs/agent-studio/paths/conversations/conversation.yml new file mode 100644 index 00000000000..014d2eeb1f9 --- /dev/null +++ b/specs/agent-studio/paths/conversations/conversation.yml @@ -0,0 +1,77 @@ +get: + tags: + - Conversations + operationId: getConversation + x-acl: + - logs + summary: Get Conversation + description: Retrieves the conversation and its messages for the given ID. + parameters: + - name: agentId + in: path + required: true + schema: + type: string + title: agentId + description: The agentId. + - name: conversationId + in: path + required: true + schema: + type: string + title: conversationId + description: The conversationId. + - name: X-Algolia-Secure-User-Token + in: header + required: false + schema: + oneOf: + - type: string + - type: 'null' + title: x-Algolia-Secure-User-Token + description: The X-Algolia-Secure-User-Token. + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/ConversationFullResponse.yml#/ConversationFullResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' +delete: + tags: + - Conversations + operationId: deleteConversation + x-acl: + - logs + summary: Delete Conversation + description: Deletes the conversation with the given ID. + parameters: + - name: agentId + in: path + required: true + schema: + type: string + title: agentId + description: The agentId. + - name: conversationId + in: path + required: true + schema: + type: string + title: conversationId + description: The conversationId. + responses: + '204': + description: Successful Response. + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/conversations/conversations.yml b/specs/agent-studio/paths/conversations/conversations.yml new file mode 100644 index 00000000000..0ec88e42c84 --- /dev/null +++ b/specs/agent-studio/paths/conversations/conversations.yml @@ -0,0 +1,124 @@ +get: + tags: + - Conversations + operationId: listAgentConversations + x-acl: + - logs + summary: List Conversations + description: Retrieves the conversations for the given agent ID. + parameters: + - name: agentId + in: path + required: true + schema: + type: string + title: agentId + description: The agentId. + - name: startDate + in: query + required: false + schema: + oneOf: + - type: string + - type: 'null' + description: 'Filter conversations created after this date (format: YYYY-MM-DD).' + title: startdate + description: 'Filter conversations created after this date (format: YYYY-MM-DD).' + - name: endDate + in: query + required: false + schema: + oneOf: + - type: string + - type: 'null' + description: 'Filter conversations created before this date (format: YYYY-MM-DD).' + title: enddate + description: 'Filter conversations created before this date (format: YYYY-MM-DD).' + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number. + default: 1 + title: page + description: Page number. + - name: limit + in: query + required: false + schema: + type: integer + maximum: 100 + minimum: 1 + description: Items per page. + default: 20 + title: limit + description: Items per page. + - name: X-Algolia-Secure-User-Token + in: header + required: false + schema: + oneOf: + - type: string + - type: 'null' + title: x-Algolia-Secure-User-Token + description: The X-Algolia-Secure-User-Token. + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/PaginatedConversationsResponse.yml#/PaginatedConversationsResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' +delete: + tags: + - Conversations + operationId: deleteAgentConversations + x-acl: + - logs + summary: Delete Conversations + description: Deletes the conversations matching the given filers. + parameters: + - name: agentId + in: path + required: true + schema: + type: string + title: agentId + description: The agentId. + - name: startDate + in: query + required: false + schema: + oneOf: + - type: string + - type: 'null' + description: 'Filter conversations created after this date (format: YYYY-MM-DD).' + title: startdate + description: 'Filter conversations created after this date (format: YYYY-MM-DD).' + - name: endDate + in: query + required: false + schema: + oneOf: + - type: string + - type: 'null' + description: 'Filter conversations created before this date (format: YYYY-MM-DD).' + title: enddate + description: 'Filter conversations created before this date (format: YYYY-MM-DD).' + responses: + '204': + description: Successful Response. + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/conversations/export.yml b/specs/agent-studio/paths/conversations/export.yml new file mode 100644 index 00000000000..0c8b6fce519 --- /dev/null +++ b/specs/agent-studio/paths/conversations/export.yml @@ -0,0 +1,51 @@ +get: + tags: + - Conversations + operationId: exportConversations + x-acl: + - logs + summary: Export Conversations + description: Exports all conversations based on the passed filters. + parameters: + - name: agentId + in: path + required: true + schema: + type: string + title: agentId + description: The agentId. + - name: startDate + in: query + required: false + schema: + oneOf: + - type: string + - type: 'null' + description: 'Filter conversations created after this date (format: YYYY-MM-DD).' + title: startdate + description: 'Filter conversations created after this date (format: YYYY-MM-DD).' + - name: endDate + in: query + required: false + schema: + oneOf: + - type: string + - type: 'null' + description: 'Filter conversations created before this date (format: YYYY-MM-DD).' + title: enddate + description: 'Filter conversations created before this date (format: YYYY-MM-DD).' + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + type: array + items: + $ref: '../../common/schemas/ConversationFullResponse.yml#/ConversationFullResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/providers/models.yml b/specs/agent-studio/paths/providers/models.yml new file mode 100644 index 00000000000..71e73ec3c23 --- /dev/null +++ b/specs/agent-studio/paths/providers/models.yml @@ -0,0 +1,26 @@ +get: + tags: + - Providers + operationId: listModels + x-acl: + - settings + summary: Get Provider Models + description: Get Provider Models. + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + type: object + additionalProperties: + type: array + items: + type: string + title: responseGetProviderModels1ProvidersModelsGet + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/providers/provider.yml b/specs/agent-studio/paths/providers/provider.yml new file mode 100644 index 00000000000..41cf8140dd4 --- /dev/null +++ b/specs/agent-studio/paths/providers/provider.yml @@ -0,0 +1,89 @@ +get: + tags: + - Providers + operationId: getProvider + x-acl: + - settings + summary: Get Provider + description: Get Provider. + parameters: + - name: providerId + in: path + required: true + schema: + type: string + title: providerId + description: The providerId. + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/ProviderAuthenticationResponse.yml#/ProviderAuthenticationResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' +patch: + tags: + - Providers + operationId: updateProvider + x-acl: + - editSettings + summary: Update Provider + description: Update Provider. + parameters: + - name: providerId + in: path + required: true + schema: + type: string + title: providerId + description: The providerId. + requestBody: + required: true + content: + application/json: + schema: + $ref: '../../common/schemas/ProviderAuthenticationPatch.yml#/ProviderAuthenticationPatch' + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/ProviderAuthenticationResponse.yml#/ProviderAuthenticationResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' +delete: + tags: + - Providers + operationId: deleteProvider + x-acl: + - editSettings + summary: Delete Provider + description: Delete Provider. + parameters: + - name: providerId + in: path + required: true + schema: + type: string + title: providerId + description: The providerId. + responses: + '204': + description: Successful Response. + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/providers/providerModels.yml b/specs/agent-studio/paths/providers/providerModels.yml new file mode 100644 index 00000000000..f38a35eed4d --- /dev/null +++ b/specs/agent-studio/paths/providers/providerModels.yml @@ -0,0 +1,32 @@ +get: + tags: + - Providers + operationId: listProviderModels + x-acl: + - settings + summary: Get Provider Models By Id + description: Get available models for a specific provider. + parameters: + - name: providerId + in: path + required: true + schema: + type: string + title: providerId + description: The providerId. + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + type: array + items: + type: string + title: responseGetProviderModelsById1ProvidersProviderIdModelsGet + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/providers/providers.yml b/specs/agent-studio/paths/providers/providers.yml new file mode 100644 index 00000000000..dfcf33a5f9d --- /dev/null +++ b/specs/agent-studio/paths/providers/providers.yml @@ -0,0 +1,69 @@ +get: + tags: + - Providers + operationId: listProviders + x-acl: + - settings + summary: List Providers + description: List Providers. + parameters: + - name: page + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number. + default: 1 + title: page + description: Page number. + - name: limit + in: query + required: false + schema: + type: integer + minimum: 1 + description: Items per page. + default: 10 + title: limit + description: Items per page. + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/PaginatedProviderAuthenticationsResponse.yml#/PaginatedProviderAuthenticationsResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' +post: + tags: + - Providers + operationId: createProvider + x-acl: + - editSettings + summary: Create Provider + description: Create Provider. + requestBody: + required: true + content: + application/json: + schema: + $ref: '../../common/schemas/ProviderAuthenticationCreate.yml#/ProviderAuthenticationCreate' + responses: + '201': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/ProviderAuthenticationResponse.yml#/ProviderAuthenticationResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/paths/user-data/user-data.yml b/specs/agent-studio/paths/user-data/user-data.yml new file mode 100644 index 00000000000..8c8ff12b2bc --- /dev/null +++ b/specs/agent-studio/paths/user-data/user-data.yml @@ -0,0 +1,56 @@ +get: + tags: + - User Data + operationId: getUserData + x-acl: + - logs + summary: Get Data By User Token + description: Retrieves all memories, conversations and their messages for the given + user token. + parameters: + - name: userToken + in: path + required: true + schema: + type: string + title: userToken + description: The userToken. + responses: + '200': + description: Successful Response. + content: + application/json: + schema: + $ref: '../../common/schemas/UserDataResponse.yml#/UserDataResponse' + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' +delete: + tags: + - User Data + operationId: deleteUserData + x-acl: + - logs + summary: Delete Data By User Token + description: Permanently deletes all messages for the given user token. Does not + delete conversations. + parameters: + - name: userToken + in: path + required: true + schema: + type: string + title: userToken + description: The userToken. + responses: + '204': + description: Successful Response. + '422': + description: Validation Error. + content: + application/json: + schema: + $ref: '../../common/schemas/HTTPValidationError.yml#/HTTPValidationError' diff --git a/specs/agent-studio/spec.yml b/specs/agent-studio/spec.yml new file mode 100644 index 00000000000..229820267b7 --- /dev/null +++ b/specs/agent-studio/spec.yml @@ -0,0 +1,92 @@ +openapi: 3.0.2 +info: + title: ragApi + description: |- + Algolia's GenAI Toolkit API, building blocks for your dynamic LLM-enabled experiences. + + Build generative AI experiences with your Algolia data. Combine large language models with Algolia’s Search API using Retrieval Augmented Generation (RAG) techniques. + version: 0.1.0 +components: + securitySchemes: + appId: + $ref: '../common/securitySchemes.yml#/appId' + apiKey: + $ref: '../common/securitySchemes.yml#/apiKey' +servers: + - url: https://agent-studio.{region}.algolia.com + variables: + region: + description: The region where your Algolia Agent Studio is hosted. + enum: + - eu + - us + default: us +security: + - appId: [] + apiKey: [] +x-timeouts: + server: + read: 30000 + write: 30000 + connect: 30000 +tags: + - name: Agents + description: Create, configure, and manage AI agents. + - name: Completions + description: Generate responses from your agents. + - name: Configurations + description: Application-level settings. + - name: Conversations + description: Manage conversations between users and agents. + - name: Internal + description: Endpoints that are needed for internal or integration logic. + - name: Legacy RAG + description: The deprecated GenAI Toolkit API. + - name: Providers + description: Manage LLM provider configurations. + - name: Secret Keys + description: Manage secret keys used to authenticate requests. + - name: User Data + description: Manage user-specific data, such as conversation history or preferences. +paths: + # ###################### + # ### Custom request ### + # ###################### + /{path}: + $ref: '../common/paths/customRequest.yml' + /1/agents: + $ref: 'paths/agents/agents.yml' + /1/agents/{agentId}: + $ref: 'paths/agents/agent.yml' + /1/agents/{agentId}/cache: + $ref: 'paths/agents/agentCache.yml' + /1/agents/{agentId}/completions: + $ref: 'paths/agents/agentCompletions.yml' + /1/agents/{agentId}/conversations: + $ref: 'paths/conversations/conversations.yml' + /1/agents/{agentId}/conversations/export: + $ref: 'paths/conversations/export.yml' + /1/agents/{agentId}/conversations/{conversationId}: + $ref: 'paths/conversations/conversation.yml' + /1/agents/{agentId}/publish: + $ref: 'paths/agents/agentPublish.yml' + /1/agents/{agentId}/unpublish: + $ref: 'paths/agents/agentUnpublish.yml' + /1/configuration: + $ref: 'paths/configuration/configuration.yml' + /1/providers: + $ref: 'paths/providers/providers.yml' + /1/providers/models: + $ref: 'paths/providers/models.yml' + /1/providers/{providerId}: + $ref: 'paths/providers/provider.yml' + /1/providers/{providerId}/models: + $ref: 'paths/providers/providerModels.yml' + /1/user-data/{userToken}: + $ref: 'paths/user-data/user-data.yml' + + # ############### + # ### Helpers ### + # ############### + /setClientApiKey: + $ref: '../common/helpers/setClientApiKey.yml#/method' diff --git a/specs/major-breaking-changes-rename.json b/specs/major-breaking-changes-rename.json index 015b71b6cab..4d5137a4da7 100644 --- a/specs/major-breaking-changes-rename.json +++ b/specs/major-breaking-changes-rename.json @@ -1,5 +1,6 @@ { "abtesting": {}, + "agent-studio": {}, "analytics": {}, "ingestion": {}, "insights": {}, diff --git a/templates/Bug_report.yml b/templates/Bug_report.yml index d01e1b39053..a97c314ede3 100644 --- a/templates/Bug_report.yml +++ b/templates/Bug_report.yml @@ -31,6 +31,7 @@ body: options: - All - AB testing + - Agent Studio - Analytics - Ingestion - Insights diff --git a/templates/csharp/tests/e2e/e2e.mustache b/templates/csharp/tests/e2e/e2e.mustache index 1b443e5a7ca..f1638ddd362 100644 --- a/templates/csharp/tests/e2e/e2e.mustache +++ b/templates/csharp/tests/e2e/e2e.mustache @@ -6,7 +6,6 @@ using Algolia.Search.Serializer; using Algolia.Search.Tests.Utils; using Xunit; using System.Text.Json; -using Quibble.Xunit; using dotenv.net; {{#isSearchClient}} using Action = Algolia.Search.Models.Search.Action; @@ -50,6 +49,7 @@ public class {{client}}RequestTestsE2E } + {{#blocksE2E}} {{#tests}} [Fact(DisplayName = "{{{testName}}}")] @@ -64,7 +64,7 @@ public class {{client}}RequestTestsE2E {{/statusCode}} {{#body}} - JsonAssert.EqualOverrideDefault("{{#lambda.escapeQuotes}}{{{.}}}{{/lambda.escapeQuotes}}", JsonSerializer.Serialize(resp, JsonConfig.Options), new JsonDiffConfig(true)); + TestHelpers.LenientJsonAssert("{{#lambda.escapeQuotes}}{{{.}}}{{/lambda.escapeQuotes}}", JsonSerializer.Serialize(resp, JsonConfig.Options)); {{/body}} } catch (Exception e) { diff --git a/templates/go/api.mustache b/templates/go/api.mustache index 6c6371a4cb2..4fe7dd0259c 100644 --- a/templates/go/api.mustache +++ b/templates/go/api.mustache @@ -386,11 +386,11 @@ func (c *APIClient) NewApi{{{nickname}}}Request({{#requiredParams}} {{paramName} {{#allParams}} {{^required}} -// With{{#lambda.titlecase}}{{baseName}}{{/lambda.titlecase}} adds the {{paramName}} to the {{#structPrefix}}{{&classname}}{{/structPrefix}}{{^structPrefix}}Api{{/structPrefix}}{{operationId}}Request and returns the request for chaining. +// With{{#nameInPascalCase}}{{nameInPascalCase}}{{/nameInPascalCase}}{{^nameInPascalCase}}{{#lambda.titlecase}}{{baseName}}{{/lambda.titlecase}}{{/nameInPascalCase}} adds the {{paramName}} to the {{#structPrefix}}{{&classname}}{{/structPrefix}}{{^structPrefix}}Api{{/structPrefix}}{{operationId}}Request and returns the request for chaining. {{#isDeprecated}} // Deprecated {{/isDeprecated}} -func (r {{#structPrefix}}{{&classname}}{{/structPrefix}}{{^structPrefix}}Api{{/structPrefix}}{{operationId}}Request) With{{#lambda.titlecase}}{{baseName}}{{/lambda.titlecase}}({{paramName}} {{^isFreeFormObject}}{{^isArray}}{{^isMap}}{{^isPrimitiveType}}{{^isEnumRef}}*{{/isEnumRef}}{{/isPrimitiveType}}{{/isMap}}{{/isArray}}{{/isFreeFormObject}}{{{dataType}}}) {{#structPrefix}}{{&classname}}{{/structPrefix}}{{^structPrefix}}Api{{/structPrefix}}{{operationId}}Request { +func (r {{#structPrefix}}{{&classname}}{{/structPrefix}}{{^structPrefix}}Api{{/structPrefix}}{{operationId}}Request) With{{#nameInPascalCase}}{{nameInPascalCase}}{{/nameInPascalCase}}{{^nameInPascalCase}}{{#lambda.titlecase}}{{baseName}}{{/lambda.titlecase}}{{/nameInPascalCase}}({{paramName}} {{^isFreeFormObject}}{{^isArray}}{{^isMap}}{{^isPrimitiveType}}{{^isEnumRef}}*{{/isEnumRef}}{{/isPrimitiveType}}{{/isMap}}{{/isArray}}{{/isFreeFormObject}}{{{dataType}}}) {{#structPrefix}}{{&classname}}{{/structPrefix}}{{^structPrefix}}Api{{/structPrefix}}{{operationId}}Request { r.{{paramName}} = {{#isPrimitiveType}}{{^isMap}}&{{/isMap}}{{/isPrimitiveType}}{{paramName}} return r } diff --git a/templates/go/search_helpers.mustache b/templates/go/search_helpers.mustache index a297bec029f..67b2618cee3 100644 --- a/templates/go/search_helpers.mustache +++ b/templates/go/search_helpers.mustache @@ -802,7 +802,13 @@ func (c *APIClient) SaveObjectsWithTransformation(indexName string, objects []ma return nil, reportError("`region` must be provided at client instantiation before calling this method.") } - return c.ingestionTransporter.ChunkedPush(indexName, objects, ingestion.Action(ACTION_ADD_OBJECT), nil, toIngestionChunkedBatchOptions(opts)...) //nolint:wrapcheck + //nolint:wrapcheck + return c.ingestionTransporter.ChunkedPush( + indexName, + objects, + ingestion.Action(ACTION_ADD_OBJECT), + nil, + toIngestionChunkedBatchOptions(opts)...) } /* @@ -836,5 +842,11 @@ func (c *APIClient) PartialUpdateObjectsWithTransformation(indexName string, obj action = ACTION_PARTIAL_UPDATE_OBJECT_NO_CREATE } - return c.ingestionTransporter.ChunkedPush(indexName, objects, ingestion.Action(action), nil, toIngestionChunkedBatchOptions(partialUpdateObjectsToChunkedBatchOptions(opts))...) //nolint:wrapcheck + //nolint:wrapcheck + return c.ingestionTransporter.ChunkedPush( + indexName, + objects, + ingestion.Action(action), + nil, + toIngestionChunkedBatchOptions(partialUpdateObjectsToChunkedBatchOptions(opts))...) } \ No newline at end of file diff --git a/templates/go/tests/method.mustache b/templates/go/tests/method.mustache index d2819805aef..2231a58f529 100644 --- a/templates/go/tests/method.mustache +++ b/templates/go/tests/method.mustache @@ -1,2 +1,2 @@ client.{{#lambda.titlecase}}{{method}}{{/lambda.titlecase}}({{#hasParams}}{{^isHelper}}client.NewApi{{#lambda.titlecase}}{{method}}{{/lambda.titlecase}}Request({{/isHelper}} - {{#parametersWithDataType}}{{#required}}{{> tests/generateParams}},{{/required}}{{/parametersWithDataType}} {{^isHelper}}){{#parametersWithDataType}}{{^required}}.With{{#lambda.pascalcase}}{{{key}}}{{/lambda.pascalcase}}({{> tests/generateParams}}){{#-last}},{{/-last}}{{/required}}{{/parametersWithDataType}}{{/isHelper}}{{#isHelper}}{{#parametersWithDataType}}{{^required}}{{> tests/generateParams}},{{/required}}{{/parametersWithDataType}}{{/isHelper}}{{/hasParams}}{{#requestOptions}}{{#queryParameters.parametersWithDataType}}{{clientPrefix}}.WithQueryParam("{{{key}}}", {{> tests/generateInnerParams}}),{{/queryParameters.parametersWithDataType}}{{#headers.parametersWithDataType}}{{clientPrefix}}.WithHeaderParam("{{{key}}}", {{> tests/generateInnerParams}}),{{/headers.parametersWithDataType}} {{#timeouts.read}} ,{{clientPrefix}}.WithReadTimeout({{.}} * time.Millisecond), {{/timeouts.read}} {{#timeouts.write}} ,{{clientPrefix}}.WithWriteTimeout({{.}} * time.Millisecond), {{/timeouts.write}} {{#timeouts.connect}} ,{{clientPrefix}}.WithConnectTimeout({{.}} * time.Millisecond), {{/timeouts.connect}} {{/requestOptions}}) \ No newline at end of file + {{#parametersWithDataType}}{{#required}}{{> tests/generateParams}},{{/required}}{{/parametersWithDataType}} {{^isHelper}}){{#parametersWithDataType}}{{^required}}{{^isNull}}.With{{#lambda.pascalcase}}{{{key}}}{{/lambda.pascalcase}}({{> tests/generateParams}}){{/isNull}}{{#-last}},{{/-last}}{{/required}}{{/parametersWithDataType}}{{/isHelper}}{{#isHelper}}{{#parametersWithDataType}}{{^required}}{{> tests/generateParams}},{{/required}}{{/parametersWithDataType}}{{/isHelper}}{{/hasParams}}{{#requestOptions}}{{#queryParameters.parametersWithDataType}}{{clientPrefix}}.WithQueryParam("{{{key}}}", {{> tests/generateInnerParams}}),{{/queryParameters.parametersWithDataType}}{{#headers.parametersWithDataType}}{{clientPrefix}}.WithHeaderParam("{{{key}}}", {{> tests/generateInnerParams}}),{{/headers.parametersWithDataType}} {{#timeouts.read}} ,{{clientPrefix}}.WithReadTimeout({{.}} * time.Millisecond), {{/timeouts.read}} {{#timeouts.write}} ,{{clientPrefix}}.WithWriteTimeout({{.}} * time.Millisecond), {{/timeouts.write}} {{#timeouts.connect}} ,{{clientPrefix}}.WithConnectTimeout({{.}} * time.Millisecond), {{/timeouts.connect}} {{/requestOptions}}) \ No newline at end of file diff --git a/templates/java/tests/e2e/e2e.mustache b/templates/java/tests/e2e/e2e.mustache index 3ef00c05013..196647c9e12 100644 --- a/templates/java/tests/e2e/e2e.mustache +++ b/templates/java/tests/e2e/e2e.mustache @@ -12,8 +12,7 @@ import io.github.cdimascio.dotenv.Dotenv; import java.util.*; import java.time.Duration; import org.junit.jupiter.api.*; -import org.skyscreamer.jsonassert.JSONAssert; -import org.skyscreamer.jsonassert.JSONCompareMode; +import com.algolia.utils.TestHelpers; @TestInstance(TestInstance.Lifecycle.PER_CLASS) class {{client}}RequestsTestsE2E { @@ -45,7 +44,7 @@ class {{client}}RequestsTestsE2E { {{returnType}} res = {{> tests/method}}; {{#response}} {{#body}} - assertDoesNotThrow(() -> JSONAssert.assertEquals("{{#lambda.escapeQuotes}}{{{body}}}{{/lambda.escapeQuotes}}", json.writeValueAsString(res), JSONCompareMode.LENIENT)); + assertDoesNotThrow(() -> TestHelpers.lenientJsonAssert("{{#lambda.escapeQuotes}}{{{body}}}{{/lambda.escapeQuotes}}", json.writeValueAsString(res))); {{/body}} {{/response}} } diff --git a/templates/javascript/tests/e2e/e2e.mustache b/templates/javascript/tests/e2e/e2e.mustache index f38e417eed2..7da8f5c3be6 100644 --- a/templates/javascript/tests/e2e/e2e.mustache +++ b/templates/javascript/tests/e2e/e2e.mustache @@ -14,7 +14,7 @@ if (!process.env.{{e2eApiKey}}) { throw new Error("please provide an `{{e2eApiKey}}` env var for e2e tests"); } -const client = {{{clientName}}}(process.env.{{e2eAppID}}, process.env.{{e2eApiKey}}){{^isStandaloneClient}}.{{{initMethod}}}({{#hasRegionalHost}} {region:'{{{defaultRegion}}}'} {{/hasRegionalHost}}){{/isStandaloneClient}}; +const client = {{{clientName}}}(process.env.{{e2eAppID}}, process.env.{{e2eApiKey}}{{#isStandaloneClient}}{{#hasRegionalHost}}, '{{{defaultRegion}}}'{{/hasRegionalHost}}{{/isStandaloneClient}}){{^isStandaloneClient}}.{{{initMethod}}}({{#hasRegionalHost}} {region:'{{{defaultRegion}}}'} {{/hasRegionalHost}}){{/isStandaloneClient}}; {{#blocksE2E}} describe('{{operationId}}', () => { diff --git a/templates/kotlin/builder_function.mustache b/templates/kotlin/builder_function.mustache index 67056984cd9..c5edebc751f 100644 --- a/templates/kotlin/builder_function.mustache +++ b/templates/kotlin/builder_function.mustache @@ -8,7 +8,7 @@ */ public fun {{vendorExtensions.x-one-of-explicit-name}}( {{#vars}} - {{{name}}}: {{> data_class_field_type}}{{^required}}? = null{{/required}}, + {{{name}}}: {{> data_class_field_type}}{{#required}}{{#isNullable}}? = null{{/isNullable}}{{/required}}{{^required}}? = null{{/required}}, {{/vars}} ): {{classname}} = {{vendorExtensions.x-fully-qualified-classname}} ( {{#vars}} diff --git a/templates/kotlin/data_class_field.mustache b/templates/kotlin/data_class_field.mustache index 5a4a65f2f6a..70336d084fc 100644 --- a/templates/kotlin/data_class_field.mustache +++ b/templates/kotlin/data_class_field.mustache @@ -4,4 +4,4 @@ {{#deprecated}} @Deprecated(message = "This property is deprecated.") {{/deprecated}} - @SerialName(value = "{{{vendorExtensions.x-base-name-literal}}}") {{#isInherited}}override {{/isInherited}}val {{{name}}}: {{> data_class_field_type}}{{^required}}? = null{{/required}} + @SerialName(value = "{{{vendorExtensions.x-base-name-literal}}}") {{#isInherited}}override {{/isInherited}}val {{{name}}}: {{> data_class_field_type}}{{#required}}{{#isNullable}}? = null{{/isNullable}}{{/required}}{{^required}}? = null{{/required}} diff --git a/templates/kotlin/json_object_field.mustache b/templates/kotlin/json_object_field.mustache index fcced575c14..99d08309c14 100644 --- a/templates/kotlin/json_object_field.mustache +++ b/templates/kotlin/json_object_field.mustache @@ -4,4 +4,4 @@ {{#deprecated}} @Deprecated(message = "This property is deprecated.") {{/deprecated}} - {{#isInherited}}override {{/isInherited}}val {{{name}}}: {{> data_class_field_type}}{{^required}}? = null{{/required}} + {{#isInherited}}override {{/isInherited}}val {{{name}}}: {{> data_class_field_type}}{{#required}}{{#isNullable}}? = null{{/isNullable}}{{/required}}{{^required}}? = null{{/required}} diff --git a/templates/kotlin/tests/e2e/e2e.mustache b/templates/kotlin/tests/e2e/e2e.mustache index 1d02f27f596..1d95fbf0ac2 100644 --- a/templates/kotlin/tests/e2e/e2e.mustache +++ b/templates/kotlin/tests/e2e/e2e.mustache @@ -6,8 +6,6 @@ import com.algolia.client.model.{{import}}.* import com.algolia.client.configuration.* import com.algolia.client.transport.* import com.algolia.utils.* -import org.skyscreamer.jsonassert.JSONAssert; -import org.skyscreamer.jsonassert.JSONCompareMode; import io.ktor.http.* import io.github.cdimascio.dotenv.Dotenv import kotlinx.coroutines.test.* @@ -44,7 +42,7 @@ class {{clientPrefix}}Test { {{#response}} {{#body}} response = { - JSONAssert.assertEquals("{{#lambda.escapeQuotes}}{{{body}}}{{/lambda.escapeQuotes}}", Json.encodeToString(it), JSONCompareMode.LENIENT) + lenientJsonAssert("{{#lambda.escapeQuotes}}{{{body}}}{{/lambda.escapeQuotes}}", Json.encodeToString(it)) }, {{/body}} {{/response}} diff --git a/templates/kotlin/tests/request_param.mustache b/templates/kotlin/tests/request_param.mustache index 0146bf2f787..de0f8367fa4 100644 --- a/templates/kotlin/tests/request_param.mustache +++ b/templates/kotlin/tests/request_param.mustache @@ -1 +1 @@ -{{^hasAdditionalProperties}}{{#lambda.camelcase}}{{{key}}}{{/lambda.camelcase}} = {{> tests/param_value}},{{/hasAdditionalProperties}}{{#hasAdditionalProperties}}{{> tests/param_value}},{{/hasAdditionalProperties}} \ No newline at end of file +{{^isNull}}{{^hasAdditionalProperties}}{{#lambda.camelcase}}{{{key}}}{{/lambda.camelcase}} = {{> tests/param_value}},{{/hasAdditionalProperties}}{{#hasAdditionalProperties}}{{> tests/param_value}},{{/hasAdditionalProperties}}{{/isNull}}{{#isNull}}{{#required}}{{^hasAdditionalProperties}}{{#lambda.camelcase}}{{{key}}}{{/lambda.camelcase}} = {{> tests/param_value}},{{/hasAdditionalProperties}}{{#hasAdditionalProperties}}{{> tests/param_value}},{{/hasAdditionalProperties}}{{/required}}{{/isNull}} \ No newline at end of file diff --git a/templates/scala/tests/request_param.mustache b/templates/scala/tests/request_param.mustache index 0c5bacece1f..31030d474f4 100644 --- a/templates/scala/tests/request_param.mustache +++ b/templates/scala/tests/request_param.mustache @@ -1 +1 @@ -{{^hasAdditionalProperties}}{{#lambda.identifier}}{{key}}{{/lambda.identifier}} = {{> tests/param_optional}}{{/hasAdditionalProperties}}{{#hasAdditionalProperties}}{{> tests/param_value}}{{/hasAdditionalProperties}} \ No newline at end of file +{{^hasAdditionalProperties}}{{#isNull}}{{^required}}{{#lambda.identifier}}{{key}}{{/lambda.identifier}} = None{{/required}}{{#required}}{{#lambda.identifier}}{{key}}{{/lambda.identifier}} = {{> tests/param_optional}}{{/required}}{{/isNull}}{{^isNull}}{{#lambda.identifier}}{{key}}{{/lambda.identifier}} = {{> tests/param_optional}}{{/isNull}}{{/hasAdditionalProperties}}{{#hasAdditionalProperties}}{{> tests/param_value}}{{/hasAdditionalProperties}} \ No newline at end of file diff --git a/templates/swift/tests/paramValue.mustache b/templates/swift/tests/paramValue.mustache index 90462b8d176..27fe45cdaa4 100644 --- a/templates/swift/tests/paramValue.mustache +++ b/templates/swift/tests/paramValue.mustache @@ -1 +1 @@ -{{#isVerbatim}}{{{value}}}{{/isVerbatim}}{{#isObject}}{{objectName}}({{^hasAdditionalProperties}}{{#value}}{{> tests/generateParams}}{{^-last}}, {{/-last}}{{/value}}{{/hasAdditionalProperties}}{{#hasAdditionalProperties}}from: [{{#value}}"{{key}}": AnyCodable({{> tests/paramValue }}){{^-last}}, {{/-last}}{{/value}}]{{/hasAdditionalProperties}}){{/isObject}}{{#isString}}{{#isAnyType}}AnyCodable({{/isAnyType}}"{{#lambda.escapeQuotes}}{{{value}}}{{/lambda.escapeQuotes}}"{{#isAnyType}}){{/isAnyType}}{{/isString}}{{#isNumber}}{{#isLong}}Int64({{/isLong}}{{{value}}}{{#isLong}}){{/isLong}}{{/isNumber}}{{#isBoolean}}{{{value}}}{{/isBoolean}}{{#isEnum}}{{objectName}}.{{#lambda.identifier}}{{#lambda.camelcase}}{{value}}{{/lambda.camelcase}}{{/lambda.identifier}}{{/isEnum}}{{#isArray}}[{{#value}}{{> tests/generateParams}}{{^-last}}, {{/-last}}{{/value}}]{{/isArray}}{{#isMap}}Map[{{{.}}}]{{/isMap}}{{#isFreeFormObject}}{{#isAnyType}}[{{#value}}{{#entrySet}}"{{key}}": "{{{value}}}"{{/entrySet}}{{/value}}]{{/isAnyType}}{{^isAnyType}}{{^value}}[String: AnyCodable](){{/value}}{{#value}}{{#-first}}[{{/-first}}{{> tests/generateParams}}{{^-last}}, {{/-last}}{{#-last}}]{{/-last}}{{/value}}{{/isAnyType}}{{/isFreeFormObject}}{{#isNull}}{{#inClientTest}}TestNull{{{objectName}}}(){{/inClientTest}}{{/isNull}} \ No newline at end of file +{{#isVerbatim}}{{{value}}}{{/isVerbatim}}{{#isObject}}{{objectName}}({{^hasAdditionalProperties}}{{#value}}{{> tests/generateParams}}{{^-last}}, {{/-last}}{{/value}}{{/hasAdditionalProperties}}{{#hasAdditionalProperties}}from: [{{#value}}"{{key}}": AnyCodable({{> tests/paramValue }}){{^-last}}, {{/-last}}{{/value}}]{{/hasAdditionalProperties}}){{/isObject}}{{#isString}}{{#isAnyType}}AnyCodable({{/isAnyType}}"{{#lambda.escapeQuotes}}{{{value}}}{{/lambda.escapeQuotes}}"{{#isAnyType}}){{/isAnyType}}{{/isString}}{{#isNumber}}{{#isLong}}Int64({{/isLong}}{{{value}}}{{#isLong}}){{/isLong}}{{/isNumber}}{{#isBoolean}}{{{value}}}{{/isBoolean}}{{#isEnum}}{{objectName}}.{{#lambda.identifier}}{{#lambda.camelcase}}{{value}}{{/lambda.camelcase}}{{/lambda.identifier}}{{/isEnum}}{{#isArray}}[{{#value}}{{> tests/generateParams}}{{^-last}}, {{/-last}}{{/value}}]{{/isArray}}{{#isMap}}Map[{{{.}}}]{{/isMap}}{{#isFreeFormObject}}{{#isAnyType}}[{{#value}}{{#entrySet}}"{{key}}": "{{{value}}}"{{/entrySet}}{{/value}}]{{/isAnyType}}{{^isAnyType}}{{^value}}[String: AnyCodable](){{/value}}{{#value}}{{#-first}}[{{/-first}}{{> tests/generateParams}}{{^-last}}, {{/-last}}{{#-last}}]{{/-last}}{{/value}}{{/isAnyType}}{{/isFreeFormObject}}{{#isNull}}{{#inClientTest}}TestNull{{{objectName}}}(){{/inClientTest}}{{^inClientTest}}nil{{/inClientTest}}{{/isNull}} \ No newline at end of file diff --git a/tests/CTS/client/agent-studio/api.json b/tests/CTS/client/agent-studio/api.json new file mode 100644 index 00000000000..1c7cffd6186 --- /dev/null +++ b/tests/CTS/client/agent-studio/api.json @@ -0,0 +1,39 @@ +[ + { + "testName": "calls api with default read timeouts", + "steps": [ + { + "type": "method", + "method": "listAgents", + "parameters": {}, + "expected": { + "type": "timeouts", + "match": { + "connectTimeout": 30000, + "responseTimeout": 30000 + } + } + } + ] + }, + { + "testName": "calls api with default write timeouts", + "steps": [ + { + "type": "method", + "method": "createAgent", + "parameters": { + "name": "test-agent", + "instructions": "test instructions" + }, + "expected": { + "type": "timeouts", + "match": { + "connectTimeout": 30000, + "responseTimeout": 30000 + } + } + } + ] + } +] diff --git a/tests/CTS/client/agent-studio/parameters.json b/tests/CTS/client/agent-studio/parameters.json new file mode 100644 index 00000000000..ac19c730cd1 --- /dev/null +++ b/tests/CTS/client/agent-studio/parameters.json @@ -0,0 +1,69 @@ +[ + { + "testName": "uses the correct EU region", + "autoCreateClient": false, + "steps": [ + { + "type": "createClient", + "parameters": { + "appId": "my-app-id", + "apiKey": "my-api-key", + "region": "eu" + } + }, + { + "type": "method", + "method": "customGet", + "parameters": { + "path": "test" + }, + "expected": { + "type": "host", + "match": "agent-studio.eu.algolia.com" + } + } + ] + }, + { + "testName": "uses the correct US region", + "autoCreateClient": false, + "steps": [ + { + "type": "createClient", + "parameters": { + "appId": "my-app-id", + "apiKey": "my-api-key", + "region": "us" + } + }, + { + "type": "method", + "method": "customGet", + "parameters": { + "path": "test" + }, + "expected": { + "type": "host", + "match": "agent-studio.us.algolia.com" + } + } + ] + }, + { + "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/agent-studio/createAgent.json b/tests/CTS/requests/agent-studio/createAgent.json new file mode 100644 index 00000000000..20a5e6a7d2c --- /dev/null +++ b/tests/CTS/requests/agent-studio/createAgent.json @@ -0,0 +1,54 @@ +[ + { + "testName": "createAgent with minimal parameters", + "parameters": { + "name": "test-agent", + "instructions": "You are a helpful assistant." + }, + "request": { + "path": "/1/agents", + "method": "POST", + "body": { + "name": "test-agent", + "instructions": "You are a helpful assistant." + } + } + }, + { + "testName": "createAgent with all parameters", + "parameters": { + "name": "test-agent", + "description": "A test agent for CTS", + "providerId": "5e33d805-7892-4329-bda7-b524dc3fd04a", + "model": "gpt-4", + "instructions": "You are a helpful assistant.", + "config": { + "sendUsage": true, + "sendReasoning": true, + "temperature": 0.7, + "max_tokens": 1500 + }, + "tools": [{ + "type": "start" + }] + }, + "request": { + "path": "/1/agents", + "method": "POST", + "body": { + "name": "test-agent", + "description": "A test agent for CTS", + "providerId": "5e33d805-7892-4329-bda7-b524dc3fd04a", + "model": "gpt-4", + "instructions": "You are a helpful assistant.", + "config": { + "sendUsage": true, + "sendReasoning": true, + "temperature": 0.7, + "max_tokens": 1500 + }, + "tools": [{ "type": "start" }] + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/createAgentCompletion.json b/tests/CTS/requests/agent-studio/createAgentCompletion.json new file mode 100644 index 00000000000..4ebdabf66c0 --- /dev/null +++ b/tests/CTS/requests/agent-studio/createAgentCompletion.json @@ -0,0 +1,124 @@ +[ + { + "testName": "createAgentCompletion with v4 messages", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "compatibilityMode": "ai-sdk-4", + "agentCompletionRequest": { + "messages": [ + { + "role": "user", + "content": "Hello, how are you?" + } + ] + } + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/completions", + "method": "POST", + "queryParameters": { + "compatibilityMode": "ai-sdk-4" + }, + "body": { + "messages": [ + { + "role": "user", + "content": "Hello, how are you?" + } + ] + } + } + }, + { + "testName": "createAgentCompletion with v5 messages and all query params", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "compatibilityMode": "ai-sdk-5", + "agentCompletionRequest": { + "messages": [ + { + "role": "user", + "parts": [ + { + "type": "text", + "text": "What is Algolia?" + } + ] + } + ], + "id": "test-conversation-id" + }, + "stream": false, + "cache": false, + "memory": false + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/completions", + "method": "POST", + "queryParameters": { + "compatibilityMode": "ai-sdk-5", + "stream": "false", + "cache": "false", + "memory": "false" + }, + "body": { + "messages": [ + { + "role": "user", + "parts": [ + { + "type": "text", + "text": "What is Algolia?" + } + ] + } + ], + "id": "test-conversation-id" + } + } + }, + { + "testName": "createAgentCompletion with test configuration", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "compatibilityMode": "ai-sdk-4", + "agentCompletionRequest": { + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "configuration": { + "instructions": "Test instructions override", + "config": { + "temperature": 0.2 + }, + "tools": [{ "type": "start" }] + } + } + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/completions", + "method": "POST", + "queryParameters": { + "compatibilityMode": "ai-sdk-4" + }, + "body": { + "messages": [ + { + "role": "user", + "content": "Hello" + } + ], + "configuration": { + "instructions": "Test instructions override", + "config": { + "temperature": 0.2 + }, + "tools": [{ "type": "start" }] + } + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/createProvider.json b/tests/CTS/requests/agent-studio/createProvider.json new file mode 100644 index 00000000000..aa4a01b0c38 --- /dev/null +++ b/tests/CTS/requests/agent-studio/createProvider.json @@ -0,0 +1,48 @@ +[ + { + "testName": "createProvider with OpenAI", + "parameters": { + "name": "My OpenAI Provider", + "providerName": "openai", + "input": { + "apiKey": "sk-test-key-1234" + } + }, + "request": { + "path": "/1/providers", + "method": "POST", + "body": { + "name": "My OpenAI Provider", + "providerName": "openai", + "input": { + "apiKey": "sk-test-key-1234" + } + } + } + }, + { + "testName": "createProvider with Azure OpenAI", + "parameters": { + "name": "My Azure Provider", + "providerName": "azure_openai", + "input": { + "apiKey": "az-test-key-5678", + "azureEndpoint": "https://my-resource.openai.azure.com", + "azureDeployment": "gpt-4o" + } + }, + "request": { + "path": "/1/providers", + "method": "POST", + "body": { + "name": "My Azure Provider", + "providerName": "azure_openai", + "input": { + "apiKey": "az-test-key-5678", + "azureEndpoint": "https://my-resource.openai.azure.com", + "azureDeployment": "gpt-4o" + } + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/deleteAgent.json b/tests/CTS/requests/agent-studio/deleteAgent.json new file mode 100644 index 00000000000..1da574a4c91 --- /dev/null +++ b/tests/CTS/requests/agent-studio/deleteAgent.json @@ -0,0 +1,12 @@ +[ + { + "testName": "deleteAgent", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "method": "DELETE" + } + } +] diff --git a/tests/CTS/requests/agent-studio/deleteAgentConversations.json b/tests/CTS/requests/agent-studio/deleteAgentConversations.json new file mode 100644 index 00000000000..0729d1d04d9 --- /dev/null +++ b/tests/CTS/requests/agent-studio/deleteAgentConversations.json @@ -0,0 +1,28 @@ +[ + { + "testName": "deleteAgentConversations without filters", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/conversations", + "method": "DELETE" + } + }, + { + "testName": "deleteAgentConversations with date filters", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "startDate": "2024-01-01", + "endDate": "2024-06-30" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/conversations", + "method": "DELETE", + "queryParameters": { + "startDate": "2024-01-01", + "endDate": "2024-06-30" + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/deleteConversation.json b/tests/CTS/requests/agent-studio/deleteConversation.json new file mode 100644 index 00000000000..704af6b1ad4 --- /dev/null +++ b/tests/CTS/requests/agent-studio/deleteConversation.json @@ -0,0 +1,13 @@ +[ + { + "testName": "deleteConversation", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "conversationId": "test-conversation-id" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/conversations/test-conversation-id", + "method": "DELETE" + } + } +] diff --git a/tests/CTS/requests/agent-studio/deleteProvider.json b/tests/CTS/requests/agent-studio/deleteProvider.json new file mode 100644 index 00000000000..31c79d0f799 --- /dev/null +++ b/tests/CTS/requests/agent-studio/deleteProvider.json @@ -0,0 +1,12 @@ +[ + { + "testName": "deleteProvider", + "parameters": { + "providerId": "5e33d805-7892-4329-bda7-b524dc3fd04a" + }, + "request": { + "path": "/1/providers/5e33d805-7892-4329-bda7-b524dc3fd04a", + "method": "DELETE" + } + } +] diff --git a/tests/CTS/requests/agent-studio/deleteUserData.json b/tests/CTS/requests/agent-studio/deleteUserData.json new file mode 100644 index 00000000000..108ded1d9a8 --- /dev/null +++ b/tests/CTS/requests/agent-studio/deleteUserData.json @@ -0,0 +1,12 @@ +[ + { + "testName": "deleteUserData", + "parameters": { + "userToken": "test-user-token" + }, + "request": { + "path": "/1/user-data/test-user-token", + "method": "DELETE" + } + } +] diff --git a/tests/CTS/requests/agent-studio/exportConversations.json b/tests/CTS/requests/agent-studio/exportConversations.json new file mode 100644 index 00000000000..4da0099e871 --- /dev/null +++ b/tests/CTS/requests/agent-studio/exportConversations.json @@ -0,0 +1,28 @@ +[ + { + "testName": "exportConversations without filters", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/conversations/export", + "method": "GET" + } + }, + { + "testName": "exportConversations with date filters", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "startDate": "2024-01-01", + "endDate": "2024-12-31" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/conversations/export", + "method": "GET", + "queryParameters": { + "startDate": "2024-01-01", + "endDate": "2024-12-31" + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/getAgent.json b/tests/CTS/requests/agent-studio/getAgent.json new file mode 100644 index 00000000000..e86fe665a41 --- /dev/null +++ b/tests/CTS/requests/agent-studio/getAgent.json @@ -0,0 +1,31 @@ +[ + { + "testName": "getAgent", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "method": "GET" + } + }, + { + "testName": "e2e get agent", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "method": "GET" + }, + "response": { + "statusCode": 200, + "body": { + "id": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "name": "cts_e2e_agent", + "status": "published", + "instructions": "You are a helpful assistant for CTS e2e testing." + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/getApplicationConfiguration.json b/tests/CTS/requests/agent-studio/getApplicationConfiguration.json new file mode 100644 index 00000000000..9dc3a2fdb6e --- /dev/null +++ b/tests/CTS/requests/agent-studio/getApplicationConfiguration.json @@ -0,0 +1,23 @@ +[ + { + "parameters": {}, + "request": { + "path": "/1/configuration", + "method": "GET" + } + }, + { + "testName": "e2e getApplicationConfiguration", + "parameters": {}, + "request": { + "path": "/1/configuration", + "method": "GET" + }, + "response": { + "statusCode": 200, + "body": { + "maxRetentionDays": 90 + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/getConversation.json b/tests/CTS/requests/agent-studio/getConversation.json new file mode 100644 index 00000000000..dd70b3339ca --- /dev/null +++ b/tests/CTS/requests/agent-studio/getConversation.json @@ -0,0 +1,13 @@ +[ + { + "testName": "getConversation", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "conversationId": "test-conversation-id" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/conversations/test-conversation-id", + "method": "GET" + } + } +] diff --git a/tests/CTS/requests/agent-studio/getProvider.json b/tests/CTS/requests/agent-studio/getProvider.json new file mode 100644 index 00000000000..4510dc1bc9d --- /dev/null +++ b/tests/CTS/requests/agent-studio/getProvider.json @@ -0,0 +1,30 @@ +[ + { + "testName": "getProvider", + "parameters": { + "providerId": "5e33d805-7892-4329-bda7-b524dc3fd04a" + }, + "request": { + "path": "/1/providers/5e33d805-7892-4329-bda7-b524dc3fd04a", + "method": "GET" + } + }, + { + "testName": "e2e get provider", + "parameters": { + "providerId": "5e33d805-7892-4329-bda7-b524dc3fd04a" + }, + "request": { + "path": "/1/providers/5e33d805-7892-4329-bda7-b524dc3fd04a", + "method": "GET" + }, + "response": { + "statusCode": 200, + "body": { + "id": "5e33d805-7892-4329-bda7-b524dc3fd04a", + "name": "cts_e2e_provider", + "providerName": "openai" + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/getUserData.json b/tests/CTS/requests/agent-studio/getUserData.json new file mode 100644 index 00000000000..e6413dbf80f --- /dev/null +++ b/tests/CTS/requests/agent-studio/getUserData.json @@ -0,0 +1,12 @@ +[ + { + "testName": "getUserData", + "parameters": { + "userToken": "test-user-token" + }, + "request": { + "path": "/1/user-data/test-user-token", + "method": "GET" + } + } +] diff --git a/tests/CTS/requests/agent-studio/invalidateAgentCache.json b/tests/CTS/requests/agent-studio/invalidateAgentCache.json new file mode 100644 index 00000000000..872d10807bd --- /dev/null +++ b/tests/CTS/requests/agent-studio/invalidateAgentCache.json @@ -0,0 +1,26 @@ +[ + { + "testName": "invalidateAgentCache without before", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/cache", + "method": "DELETE" + } + }, + { + "testName": "invalidateAgentCache with before date", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "before": "2024-12-01" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/cache", + "method": "DELETE", + "queryParameters": { + "before": "2024-12-01" + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/listAgentConversations.json b/tests/CTS/requests/agent-studio/listAgentConversations.json new file mode 100644 index 00000000000..132f982f9e7 --- /dev/null +++ b/tests/CTS/requests/agent-studio/listAgentConversations.json @@ -0,0 +1,45 @@ +[ + { + "testName": "listAgentConversations with minimal parameters", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/conversations", + "method": "GET" + } + }, + { + "testName": "listAgentConversations with all parameters", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "startDate": "2024-01-01", + "endDate": "2024-12-31", + "page": 2, + "limit": 10, + "xAlgoliaSecureUserToken": null + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/conversations", + "method": "GET", + "queryParameters": { + "startDate": "2024-01-01", + "endDate": "2024-12-31", + "page": "2", + "limit": "10" + } + }, + "response": { + "statusCode": 200, + "body": { + "data": [], + "pagination": { + "page": 2, + "limit": 10, + "totalCount": 0, + "totalPages": 0 + } + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/listAgents.json b/tests/CTS/requests/agent-studio/listAgents.json new file mode 100644 index 00000000000..d063eefc7bc --- /dev/null +++ b/tests/CTS/requests/agent-studio/listAgents.json @@ -0,0 +1,58 @@ +[ + { + "testName": "list agents with no params", + "parameters": {}, + "request": { + "path": "/1/agents", + "method": "GET" + } + }, + { + "testName": "list agents with all parameters", + "parameters": { + "page": 2, + "limit": 5, + "providerId": "5e33d805-7892-4329-bda7-b524dc3fd04a" + }, + "request": { + "path": "/1/agents", + "method": "GET", + "queryParameters": { + "page": "2", + "limit": "5", + "providerId": "5e33d805-7892-4329-bda7-b524dc3fd04a" + } + } + }, + { + "testName": "e2e list agents", + "parameters": { + "page": 1, + "limit": 2, + "providerId": null + }, + "request": { + "path": "/1/agents", + "method": "GET", + "queryParameters": { + "page": "1", + "limit": "2" + } + }, + "response": { + "statusCode": 200, + "body": { + "data": [ + { + "name": "cts_e2e_agent", + "status": "published" + } + ], + "pagination": { + "page": 1, + "limit": 2 + } + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/listModels.json b/tests/CTS/requests/agent-studio/listModels.json new file mode 100644 index 00000000000..209ce630f01 --- /dev/null +++ b/tests/CTS/requests/agent-studio/listModels.json @@ -0,0 +1,23 @@ +[ + { + "parameters": {}, + "request": { + "path": "/1/providers/models", + "method": "GET" + } + }, + { + "testName": "e2e list models", + "parameters": {}, + "request": { + "path": "/1/providers/models", + "method": "GET" + }, + "response": { + "statusCode": 200, + "body": { + "openai": ["gpt-4"] + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/listProviderModels.json b/tests/CTS/requests/agent-studio/listProviderModels.json new file mode 100644 index 00000000000..1d4f2f5e2c9 --- /dev/null +++ b/tests/CTS/requests/agent-studio/listProviderModels.json @@ -0,0 +1,12 @@ +[ + { + "testName": "listProviderModels", + "parameters": { + "providerId": "5e33d805-7892-4329-bda7-b524dc3fd04a" + }, + "request": { + "path": "/1/providers/5e33d805-7892-4329-bda7-b524dc3fd04a/models", + "method": "GET" + } + } +] diff --git a/tests/CTS/requests/agent-studio/listProviders.json b/tests/CTS/requests/agent-studio/listProviders.json new file mode 100644 index 00000000000..9e7feb0927f --- /dev/null +++ b/tests/CTS/requests/agent-studio/listProviders.json @@ -0,0 +1,54 @@ +[ + { + "testName": "listProviders with no params", + "parameters": {}, + "request": { + "path": "/1/providers", + "method": "GET" + } + }, + { + "testName": "listProviders with pagination", + "parameters": { + "page": 2, + "limit": 5 + }, + "request": { + "path": "/1/providers", + "method": "GET", + "queryParameters": { + "page": "2", + "limit": "5" + } + } + }, + { + "testName": "e2e list providers", + "parameters": { + "page": 1, + "limit": 2 + }, + "request": { + "path": "/1/providers", + "method": "GET", + "queryParameters": { + "page": "1", + "limit": "2" + } + }, + "response": { + "statusCode": 200, + "body": { + "data": [ + { + "name": "cts_e2e_provider" + } + ], + "pagination": { + "page": 1, + "limit": 2 + } + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/publishAgent.json b/tests/CTS/requests/agent-studio/publishAgent.json new file mode 100644 index 00000000000..cc6692793f2 --- /dev/null +++ b/tests/CTS/requests/agent-studio/publishAgent.json @@ -0,0 +1,12 @@ +[ + { + "testName": "publishAgent", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/publish", + "method": "POST" + } + } +] diff --git a/tests/CTS/requests/agent-studio/unpublishAgent.json b/tests/CTS/requests/agent-studio/unpublishAgent.json new file mode 100644 index 00000000000..4a045321432 --- /dev/null +++ b/tests/CTS/requests/agent-studio/unpublishAgent.json @@ -0,0 +1,12 @@ +[ + { + "testName": "unpublishAgent", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff" + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff/unpublish", + "method": "POST" + } + } +] diff --git a/tests/CTS/requests/agent-studio/updateAgent.json b/tests/CTS/requests/agent-studio/updateAgent.json new file mode 100644 index 00000000000..0635b445388 --- /dev/null +++ b/tests/CTS/requests/agent-studio/updateAgent.json @@ -0,0 +1,50 @@ +[ + { + "testName": "updateAgent with minimal parameters", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "agentConfigUpdate": { + "name": "updated-agent-name" + } + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "method": "PATCH", + "body": { + "name": "updated-agent-name" + } + } + }, + { + "testName": "updateAgent with all parameters", + "parameters": { + "agentId": "785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "agentConfigUpdate": { + "name": "updated-agent", + "description": "Updated description", + "providerId": "new-provider-id", + "model": "gpt-4o", + "instructions": "Updated instructions.", + "config": { + "temperature": 0.5 + }, + "tools": [{ "type": "start" }] + } + }, + "request": { + "path": "/1/agents/785b14e4-61a8-4c03-8028-bf2ba3ae85ff", + "method": "PATCH", + "body": { + "name": "updated-agent", + "description": "Updated description", + "providerId": "new-provider-id", + "model": "gpt-4o", + "instructions": "Updated instructions.", + "config": { + "temperature": 0.5 + }, + "tools": [{ "type": "start" }] + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/updateConfiguration.json b/tests/CTS/requests/agent-studio/updateConfiguration.json new file mode 100644 index 00000000000..91930a1770e --- /dev/null +++ b/tests/CTS/requests/agent-studio/updateConfiguration.json @@ -0,0 +1,15 @@ +[ + { + "testName": "updateConfiguration", + "parameters": { + "maxRetentionDays": 30 + }, + "request": { + "path": "/1/configuration", + "method": "PATCH", + "body": { + "maxRetentionDays": 30 + } + } + } +] diff --git a/tests/CTS/requests/agent-studio/updateProvider.json b/tests/CTS/requests/agent-studio/updateProvider.json new file mode 100644 index 00000000000..92e1546b425 --- /dev/null +++ b/tests/CTS/requests/agent-studio/updateProvider.json @@ -0,0 +1,40 @@ +[ + { + "testName": "updateProvider", + "parameters": { + "providerId": "5e33d805-7892-4329-bda7-b524dc3fd04a", + "providerAuthenticationPatch": { + "name": "Updated Provider Name" + } + }, + "request": { + "path": "/1/providers/5e33d805-7892-4329-bda7-b524dc3fd04a", + "method": "PATCH", + "body": { + "name": "Updated Provider Name" + } + } + }, + { + "testName": "updateProvider with input", + "parameters": { + "providerId": "5e33d805-7892-4329-bda7-b524dc3fd04a", + "providerAuthenticationPatch": { + "name": "Updated Provider", + "input": { + "apiKey": "sk-new-key-5678" + } + } + }, + "request": { + "path": "/1/providers/5e33d805-7892-4329-bda7-b524dc3fd04a", + "method": "PATCH", + "body": { + "name": "Updated Provider", + "input": { + "apiKey": "sk-new-key-5678" + } + } + } + } +] diff --git a/tests/output/csharp/src/Utils/TestHelpers.cs b/tests/output/csharp/src/Utils/TestHelpers.cs new file mode 100644 index 00000000000..7264da6a005 --- /dev/null +++ b/tests/output/csharp/src/Utils/TestHelpers.cs @@ -0,0 +1,54 @@ +using System.Text.Json; +using System.Text.Json.Nodes; +using Quibble.Xunit; + +namespace Algolia.Search.Tests.Utils; + +public static class TestHelpers +{ + /// + /// Asserts that the serialized response contains at least the expected JSON structure. + /// Extra keys in objects and extra elements in arrays (beyond expected indices) are ignored. + /// Mirrors the union-based e2e assertion used by JS, Python, Ruby, PHP, Go, and Swift clients. + /// + public static void LenientJsonAssert(string expected, string actual) + { + var expectedNode = JsonNode.Parse(expected); + var actualNode = JsonNode.Parse(actual); + var unionNode = Union(expectedNode, actualNode); + var unionJson = JsonSerializer.Serialize(unionNode); + JsonAssert.EqualOverrideDefault(expected, unionJson, new JsonDiffConfig(true)); + } + + /// + /// Recursively intersects the structure of with the values of + /// . Only keys/indices present in expected are kept. + /// + private static JsonNode Union(JsonNode expected, JsonNode received) + { + if (expected is JsonObject expectedObj && received is JsonObject receivedObj) + { + var result = new JsonObject(); + foreach (var prop in expectedObj) + { + if (receivedObj[prop.Key] != null) + { + result[prop.Key] = Union(prop.Value, receivedObj[prop.Key]); + } + } + return result; + } + + if (expected is JsonArray expectedArr && received is JsonArray receivedArr) + { + var result = new JsonArray(); + for (int i = 0; i < expectedArr.Count && i < receivedArr.Count; i++) + { + result.Add(Union(expectedArr[i], receivedArr[i])); + } + return result; + } + + return received.DeepClone(); + } +} diff --git a/tests/output/java/src/test/java/com/algolia/utils/TestHelpers.java b/tests/output/java/src/test/java/com/algolia/utils/TestHelpers.java new file mode 100644 index 00000000000..9b214fde036 --- /dev/null +++ b/tests/output/java/src/test/java/com/algolia/utils/TestHelpers.java @@ -0,0 +1,54 @@ +package com.algolia.utils; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import org.skyscreamer.jsonassert.JSONAssert; +import org.skyscreamer.jsonassert.JSONCompareMode; + +public class TestHelpers { + + private static final ObjectMapper mapper = new ObjectMapper(); + + /** + * Asserts that the serialized response contains at least the expected JSON structure. Extra keys + * in objects and extra elements in arrays (beyond expected indices) are ignored. Mirrors the + * union-based e2e assertion used by JS, Python, Ruby, PHP, Go, Swift, and C# clients. + */ + public static void lenientJsonAssert(String expected, String actual) throws Exception { + JsonNode expectedNode = mapper.readTree(expected); + JsonNode actualNode = mapper.readTree(actual); + JsonNode unionNode = union(expectedNode, actualNode); + String unionJson = mapper.writeValueAsString(unionNode); + JSONAssert.assertEquals(expected, unionJson, JSONCompareMode.LENIENT); + } + + /** + * Recursively intersects the structure of {@code expected} with the values of {@code received}. + * Only keys/indices present in expected are kept. + */ + private static JsonNode union(JsonNode expected, JsonNode received) { + if (expected.isObject() && received.isObject()) { + ObjectNode result = mapper.createObjectNode(); + expected + .fieldNames() + .forEachRemaining(key -> { + if (received.has(key)) { + result.set(key, union(expected.get(key), received.get(key))); + } + }); + return result; + } + + if (expected.isArray() && received.isArray()) { + ArrayNode result = mapper.createArrayNode(); + for (int i = 0; i < expected.size() && i < received.size(); i++) { + result.add(union(expected.get(i), received.get(i))); + } + return result; + } + + return received.deepCopy(); + } +} diff --git a/tests/output/kotlin/src/commonTest/kotlin/com/algolia/utils/TestHelpers.kt b/tests/output/kotlin/src/commonTest/kotlin/com/algolia/utils/TestHelpers.kt new file mode 100644 index 00000000000..47ddbf160bf --- /dev/null +++ b/tests/output/kotlin/src/commonTest/kotlin/com/algolia/utils/TestHelpers.kt @@ -0,0 +1,46 @@ +package com.algolia.utils + +import kotlinx.serialization.json.* +import org.skyscreamer.jsonassert.JSONAssert +import org.skyscreamer.jsonassert.JSONCompareMode + +/** + * Asserts that the serialized response contains at least the expected JSON structure. Extra keys in + * objects and extra elements in arrays (beyond expected indices) are ignored. Mirrors the + * union-based e2e assertion used by JS, Python, Ruby, PHP, Go, Swift, and C# clients. + */ +public fun lenientJsonAssert(expected: String, actual: String) { + val expectedNode = Json.parseToJsonElement(expected) + val actualNode = Json.parseToJsonElement(actual) + val unionNode = union(expectedNode, actualNode) + val unionJson = Json.encodeToString(JsonElement.serializer(), unionNode) + JSONAssert.assertEquals(expected, unionJson, JSONCompareMode.LENIENT) +} + +/** + * Recursively intersects the structure of [expected] with the values of [received]. Only + * keys/indices present in expected are kept. + */ +private fun union(expected: JsonElement, received: JsonElement): JsonElement { + if (expected is JsonObject && received is JsonObject) { + return buildJsonObject { + for ((key, value) in expected) { + if (key in received) { + put(key, union(value, received[key]!!)) + } + } + } + } + + if (expected is JsonArray && received is JsonArray) { + return buildJsonArray { + for (i in expected.indices) { + if (i < received.size) { + add(union(expected[i], received[i])) + } + } + } + } + + return received +} diff --git a/yarn.lock b/yarn.lock index aaf69b9014b..1b201085b0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,6 +122,12 @@ __metadata: languageName: node linkType: soft +"@algolia/agent-studio@link:../../../clients/algoliasearch-client-javascript/packages/agent-studio::locator=javascript-playground%40workspace%3Aplayground%2Fjavascript%2Fnode": + version: 0.0.0-use.local + resolution: "@algolia/agent-studio@link:../../../clients/algoliasearch-client-javascript/packages/agent-studio::locator=javascript-playground%40workspace%3Aplayground%2Fjavascript%2Fnode" + languageName: node + linkType: soft + "@algolia/api-client-automation@workspace:.": version: 0.0.0-use.local resolution: "@algolia/api-client-automation@workspace:." @@ -6257,6 +6263,7 @@ __metadata: dependencies: "@algolia/abtesting": "link:../../../clients/algoliasearch-client-javascript/packages/abtesting" "@algolia/advanced-personalization": "link:../../../clients/algoliasearch-client-javascript/packages/advanced-personalization" + "@algolia/agent-studio": "link:../../../clients/algoliasearch-client-javascript/packages/agent-studio" "@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"