Skip to content

Commit a922ad0

Browse files
committed
feat: Add support for local vector store configuration in Code Index settings.
- Updated WebviewMessage interface to include optional fields for local vector store provider and directory. - Implemented synchronous storage path retrieval for local vector store. - Enhanced CodeIndexPopover component to allow selection between Qdrant and local vector store providers. - Added new input fields for local vector store directory settings in the UI. - Updated validation tests to cover new vector store settings. - Translated new settings labels and descriptions into multiple languages.
1 parent de13d8a commit a922ad0

36 files changed

+1007
-152
lines changed

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v20.19.2
1+
22.15.1

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "roo-code",
33
"packageManager": "[email protected]",
44
"engines": {
5-
"node": "20.19.2"
5+
"node": ">=22.14.0"
66
},
77
"scripts": {
88
"preinstall": "node scripts/bootstrap.mjs",

packages/types/src/codebase-index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ export const codebaseIndexConfigSchema = z.object({
2222
codebaseIndexEnabled: z.boolean().optional(),
2323
codebaseIndexQdrantUrl: z.string().optional(),
2424
codebaseIndexEmbedderProvider: z.enum(["openai", "ollama", "openai-compatible", "gemini", "mistral"]).optional(),
25+
codebaseIndexVectorStoreProvider: z.enum(["local", "qdrant"]).optional(),
26+
codebaseIndexLocalVectorStoreDirectory: z.string().optional(),
2527
codebaseIndexEmbedderBaseUrl: z.string().optional(),
2628
codebaseIndexEmbedderModelId: z.string().optional(),
2729
codebaseIndexEmbedderModelDimension: z.number().optional(),

pnpm-lock.yaml

Lines changed: 9 additions & 105 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/core/webview/ClineProvider.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1546,6 +1546,8 @@ export class ClineProvider
15461546
codebaseIndexConfig: {
15471547
codebaseIndexEnabled: codebaseIndexConfig?.codebaseIndexEnabled ?? true,
15481548
codebaseIndexQdrantUrl: codebaseIndexConfig?.codebaseIndexQdrantUrl ?? "http://localhost:6333",
1549+
codebaseIndexVectorStoreProvider: codebaseIndexConfig?.codebaseIndexVectorStoreProvider ?? "qdrant",
1550+
codebaseIndexLocalVectorStoreDirectory: codebaseIndexConfig?.codebaseIndexLocalVectorStoreDirectory,
15491551
codebaseIndexEmbedderProvider: codebaseIndexConfig?.codebaseIndexEmbedderProvider ?? "openai",
15501552
codebaseIndexEmbedderBaseUrl: codebaseIndexConfig?.codebaseIndexEmbedderBaseUrl ?? "",
15511553
codebaseIndexEmbedderModelId: codebaseIndexConfig?.codebaseIndexEmbedderModelId ?? "",
@@ -1716,6 +1718,10 @@ export class ClineProvider
17161718
stateValues.codebaseIndexConfig?.codebaseIndexQdrantUrl ?? "http://localhost:6333",
17171719
codebaseIndexEmbedderProvider:
17181720
stateValues.codebaseIndexConfig?.codebaseIndexEmbedderProvider ?? "openai",
1721+
codebaseIndexVectorStoreProvider:
1722+
stateValues.codebaseIndexConfig?.codebaseIndexVectorStoreProvider ?? "qdrant",
1723+
codebaseIndexLocalVectorStoreDirectory:
1724+
stateValues.codebaseIndexConfig?.codebaseIndexLocalVectorStoreDirectory,
17191725
codebaseIndexEmbedderBaseUrl: stateValues.codebaseIndexConfig?.codebaseIndexEmbedderBaseUrl ?? "",
17201726
codebaseIndexEmbedderModelId: stateValues.codebaseIndexConfig?.codebaseIndexEmbedderModelId ?? "",
17211727
codebaseIndexEmbedderModelDimension:

src/core/webview/webviewMessageHandler.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1966,6 +1966,8 @@ export const webviewMessageHandler = async (
19661966
codebaseIndexEnabled: settings.codebaseIndexEnabled,
19671967
codebaseIndexQdrantUrl: settings.codebaseIndexQdrantUrl,
19681968
codebaseIndexEmbedderProvider: settings.codebaseIndexEmbedderProvider,
1969+
codebaseIndexVectorStoreProvider: settings.codebaseIndexVectorStoreProvider,
1970+
codebaseIndexLocalVectorStoreDirectory: settings.codebaseIndexLocalVectorStoreDirectory,
19691971
codebaseIndexEmbedderBaseUrl: settings.codebaseIndexEmbedderBaseUrl,
19701972
codebaseIndexEmbedderModelId: settings.codebaseIndexEmbedderModelId,
19711973
codebaseIndexEmbedderModelDimension: settings.codebaseIndexEmbedderModelDimension, // Generic dimension

src/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
},
1212
"engines": {
1313
"vscode": "^1.84.0",
14-
"node": "20.19.2"
14+
"node": ">=22.14.0"
1515
},
1616
"author": {
1717
"name": "Roo Code"
@@ -487,7 +487,7 @@
487487
"@types/diff-match-patch": "^1.0.36",
488488
"@types/glob": "^8.1.0",
489489
"@types/mocha": "^10.0.10",
490-
"@types/node": "20.x",
490+
"@types/node": "~22.15.29",
491491
"@types/node-cache": "^4.1.3",
492492
"@types/node-ipc": "^9.2.3",
493493
"@types/proper-lockfile": "^4.1.4",

src/services/code-index/__tests__/config-manager.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1300,6 +1300,7 @@ describe("CodeIndexConfigManager", () => {
13001300
qdrantApiKey: "test-qdrant-key",
13011301
searchMinScore: 0.4,
13021302
searchMaxResults: 50,
1303+
vectorStoreProvider: "qdrant",
13031304
})
13041305
})
13051306

0 commit comments

Comments
 (0)