From b887bd25e636436a93d782cc22abb6d7e3d0dc48 Mon Sep 17 00:00:00 2001 From: Roo Code Date: Fri, 12 Sep 2025 05:59:59 +0000 Subject: [PATCH] fix: add missing type definitions for workspace indexing toggle --- packages/types/src/codebase-index.ts | 1 + src/core/webview/webviewMessageHandler.ts | 6 ++++-- src/shared/ExtensionMessage.ts | 1 + src/shared/WebviewMessage.ts | 3 +++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/types/src/codebase-index.ts b/packages/types/src/codebase-index.ts index be7778f538..bda80b978a 100644 --- a/packages/types/src/codebase-index.ts +++ b/packages/types/src/codebase-index.ts @@ -20,6 +20,7 @@ export const CODEBASE_INDEX_DEFAULTS = { export const codebaseIndexConfigSchema = z.object({ codebaseIndexEnabled: z.boolean().optional(), + workspaceIndexEnabled: z.boolean().optional(), // Workspace-specific indexing toggle codebaseIndexQdrantUrl: z.string().optional(), codebaseIndexEmbedderProvider: z .enum(["openai", "ollama", "openai-compatible", "gemini", "mistral", "vercel-ai-gateway"]) diff --git a/src/core/webview/webviewMessageHandler.ts b/src/core/webview/webviewMessageHandler.ts index 33843de532..bf334b6d11 100644 --- a/src/core/webview/webviewMessageHandler.ts +++ b/src/core/webview/webviewMessageHandler.ts @@ -18,6 +18,7 @@ import { TelemetryService } from "@roo-code/telemetry" import { type ApiMessage } from "../task-persistence/apiMessages" import { saveTaskMessages } from "../task-persistence" +import { type IndexingStatus } from "../../shared/ExtensionMessage" import { ClineProvider } from "./ClineProvider" import { handleCheckpointRestoreOperation } from "./checkpointRestoreHandler" @@ -2547,7 +2548,7 @@ export const webviewMessageHandler = async ( return } - const status = manager + const baseStatus = manager ? manager.getCurrentStatus() : { systemStatus: "Standby", @@ -2558,7 +2559,8 @@ export const webviewMessageHandler = async ( workspacePath: undefined, } - // Add workspace-specific indexing enabled state + // Create a new status object with workspace-specific indexing enabled state + let status: IndexingStatus = { ...baseStatus } if (manager && provider.cwd) { const workspaceEnabled = manager.configManager?.getWorkspaceIndexEnabled(provider.cwd) if (workspaceEnabled !== undefined) { diff --git a/src/shared/ExtensionMessage.ts b/src/shared/ExtensionMessage.ts index aaddc520cb..a5446d4894 100644 --- a/src/shared/ExtensionMessage.ts +++ b/src/shared/ExtensionMessage.ts @@ -44,6 +44,7 @@ export interface IndexingStatus { totalItems: number currentItemUnit?: string workspacePath?: string + workspaceIndexEnabled?: boolean } export interface IndexingStatusUpdateMessage { diff --git a/src/shared/WebviewMessage.ts b/src/shared/WebviewMessage.ts index 93d0b9bc45..7943c996cf 100644 --- a/src/shared/WebviewMessage.ts +++ b/src/shared/WebviewMessage.ts @@ -290,6 +290,9 @@ export interface WebviewMessage { codebaseIndexSearchMaxResults?: number codebaseIndexSearchMinScore?: number + // Workspace-specific settings + workspaceIndexEnabled?: boolean + // Secret settings codeIndexOpenAiKey?: string codeIndexQdrantApiKey?: string