From 8a68b2f89fa43123e21c3f9e6294cfe273b1fc96 Mon Sep 17 00:00:00 2001 From: Roo Code Date: Sat, 7 Mar 2026 14:11:05 +0000 Subject: [PATCH] fix: bump qdrant client to v1.17.0 and disable version compatibility check - Bumps @qdrant/js-client-rest from ^1.14.0 to ^1.17.0 to support Qdrant server v1.16.x+ - Sets checkCompatibility: false in QdrantClient constructor to prevent future client/server version mismatch errors when users run newer Qdrant server versions Closes #11885 --- pnpm-lock.yaml | 18 +++++-------- src/package.json | 2 +- .../__tests__/qdrant-client.spec.ts | 26 +++++++++++++++++++ .../code-index/vector-store/qdrant-client.ts | 2 ++ 4 files changed, 35 insertions(+), 13 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d95c2f02346..b5af9105d18 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -798,8 +798,8 @@ importers: specifier: 1.12.0 version: 1.12.0 '@qdrant/js-client-rest': - specifier: ^1.14.0 - version: 1.14.0(typescript@5.8.3) + specifier: ^1.17.0 + version: 1.17.0(typescript@5.8.3) '@roo-code/cloud': specifier: workspace:^ version: link:../packages/cloud @@ -3018,9 +3018,9 @@ packages: engines: {node: '>=18'} hasBin: true - '@qdrant/js-client-rest@1.14.0': - resolution: {integrity: sha512-2sM2g17FSkN2sNCSeAfqxHRr+SPEVnUQLXBjVv/whm4YQ4JjZ53Jiy1iShk95G+xBf3hKBhJdj8itRnor03IYw==} - engines: {node: '>=18.0.0', pnpm: '>=8'} + '@qdrant/js-client-rest@1.17.0': + resolution: {integrity: sha512-aZFQeirWVqWAa1a8vJ957LMzcXkFHGbsoRhzc8AkGfg6V0jtK8PlG8/eyyc2xhYsR961FDDx1Tx6nyE0K7lS+A==} + engines: {node: '>=18.17.0', pnpm: '>=8'} peerDependencies: typescript: '>=4.7' @@ -3856,9 +3856,6 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@sevinf/maybe@0.5.0': - resolution: {integrity: sha512-ARhyoYDnY1LES3vYI0fiG6e9esWfTNcXcO6+MPJJXcnyMV3bim4lnFt45VXouV7y82F4x3YH8nOQ6VztuvUiWg==} - '@shikijs/core@3.4.1': resolution: {integrity: sha512-GCqSd3KXRTKX1sViP7fIyyyf6do2QVg+fTd4IT00ucYCVSKiSN8HbFbfyjGsoZePNKWcQqXe4U4rrz2IVldG5A==} @@ -13052,10 +13049,9 @@ snapshots: - bare-buffer - supports-color - '@qdrant/js-client-rest@1.14.0(typescript@5.8.3)': + '@qdrant/js-client-rest@1.17.0(typescript@5.8.3)': dependencies: '@qdrant/openapi-typescript-fetch': 1.2.6 - '@sevinf/maybe': 0.5.0 typescript: 5.8.3 undici: 6.21.3 @@ -13869,8 +13865,6 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@sevinf/maybe@0.5.0': {} - '@shikijs/core@3.4.1': dependencies: '@shikijs/types': 3.4.1 diff --git a/src/package.json b/src/package.json index 7c1ed56cd86..a7ac19cc41e 100644 --- a/src/package.json +++ b/src/package.json @@ -464,7 +464,7 @@ "@lmstudio/sdk": "^1.1.1", "@mistralai/mistralai": "^1.9.18", "@modelcontextprotocol/sdk": "1.12.0", - "@qdrant/js-client-rest": "^1.14.0", + "@qdrant/js-client-rest": "^1.17.0", "@roo-code/cloud": "workspace:^", "@roo-code/core": "workspace:^", "@roo-code/ipc": "workspace:^", diff --git a/src/services/code-index/vector-store/__tests__/qdrant-client.spec.ts b/src/services/code-index/vector-store/__tests__/qdrant-client.spec.ts index ab7b15783e3..c5943415cfd 100644 --- a/src/services/code-index/vector-store/__tests__/qdrant-client.spec.ts +++ b/src/services/code-index/vector-store/__tests__/qdrant-client.spec.ts @@ -78,6 +78,7 @@ describe("QdrantVectorStore", () => { https: false, port: 6333, apiKey: mockApiKey, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -97,6 +98,7 @@ describe("QdrantVectorStore", () => { https: false, port: 6333, apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -111,6 +113,7 @@ describe("QdrantVectorStore", () => { https: false, port: 6333, apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -131,6 +134,7 @@ describe("QdrantVectorStore", () => { port: 443, prefix: undefined, // No prefix for root path apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -146,6 +150,7 @@ describe("QdrantVectorStore", () => { port: 9000, prefix: undefined, // No prefix for root path apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -165,6 +170,7 @@ describe("QdrantVectorStore", () => { port: 443, prefix: "/api/v1", // Should have prefix apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -182,6 +188,7 @@ describe("QdrantVectorStore", () => { port: 80, prefix: undefined, // No prefix for root path apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -197,6 +204,7 @@ describe("QdrantVectorStore", () => { port: 8080, prefix: undefined, // No prefix for root path apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -216,6 +224,7 @@ describe("QdrantVectorStore", () => { port: 80, prefix: "/api/v1", // Should have prefix apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -232,6 +241,7 @@ describe("QdrantVectorStore", () => { https: false, port: 80, apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -246,6 +256,7 @@ describe("QdrantVectorStore", () => { https: false, port: 6333, apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -260,6 +271,7 @@ describe("QdrantVectorStore", () => { https: false, port: 9000, apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -276,6 +288,7 @@ describe("QdrantVectorStore", () => { https: false, port: 80, apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -290,6 +303,7 @@ describe("QdrantVectorStore", () => { https: false, port: 6333, apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -306,6 +320,7 @@ describe("QdrantVectorStore", () => { https: false, port: 6333, apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -320,6 +335,7 @@ describe("QdrantVectorStore", () => { https: false, port: 6333, apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -334,6 +350,7 @@ describe("QdrantVectorStore", () => { https: false, port: 6333, apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -350,6 +367,7 @@ describe("QdrantVectorStore", () => { https: false, port: 80, apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -372,6 +390,7 @@ describe("QdrantVectorStore", () => { port: 6333, prefix: "/some/path", apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -391,6 +410,7 @@ describe("QdrantVectorStore", () => { port: 6333, prefix: undefined, apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -410,6 +430,7 @@ describe("QdrantVectorStore", () => { port: 443, prefix: "/api", apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -429,6 +450,7 @@ describe("QdrantVectorStore", () => { port: 6333, prefix: "/api", // Trailing slash should be removed apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -448,6 +470,7 @@ describe("QdrantVectorStore", () => { port: 6333, prefix: "/api", // All trailing slashes should be removed apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -467,6 +490,7 @@ describe("QdrantVectorStore", () => { port: 6333, prefix: "/api/v1/qdrant", apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -483,6 +507,7 @@ describe("QdrantVectorStore", () => { port: 443, prefix: "/ollama/api/v1", // Trailing slash removed, query/fragment ignored apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -502,6 +527,7 @@ describe("QdrantVectorStore", () => { port: 6333, prefix: "/api/path", // Query params and fragment should be ignored apiKey: undefined, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, diff --git a/src/services/code-index/vector-store/qdrant-client.ts b/src/services/code-index/vector-store/qdrant-client.ts index ba62afc5f81..3f392661598 100644 --- a/src/services/code-index/vector-store/qdrant-client.ts +++ b/src/services/code-index/vector-store/qdrant-client.ts @@ -61,6 +61,7 @@ export class QdrantVectorStore implements IVectorStore { port: port, prefix: urlObj.pathname === "/" ? undefined : urlObj.pathname.replace(/\/+$/, ""), apiKey, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", }, @@ -71,6 +72,7 @@ export class QdrantVectorStore implements IVectorStore { this.client = new QdrantClient({ url: parsedUrl, apiKey, + checkCompatibility: false, headers: { "User-Agent": "Roo-Code", },