|
|
@@ -127,6 +127,7 @@ type GlobalStateKey =
|
|
|
| "requestyModelInfo"
|
|
|
| "unboundModelInfo"
|
|
|
| "modelTemperature"
|
|
|
+ | "maxOpenTabsContext"
|
|
|
|
|
|
export const GlobalFileNames = {
|
|
|
apiConversationHistory: "api_conversation_history.json",
|
|
|
@@ -1207,6 +1208,11 @@ export class ClineProvider implements vscode.WebviewViewProvider {
|
|
|
await this.updateGlobalState("screenshotQuality", message.value)
|
|
|
await this.postStateToWebview()
|
|
|
break
|
|
|
+ case "maxOpenTabsContext":
|
|
|
+ const tabCount = Math.min(Math.max(0, message.value ?? 20), 500)
|
|
|
+ await this.updateGlobalState("maxOpenTabsContext", tabCount)
|
|
|
+ await this.postStateToWebview()
|
|
|
+ break
|
|
|
case "enhancementApiConfigId":
|
|
|
await this.updateGlobalState("enhancementApiConfigId", message.text)
|
|
|
await this.postStateToWebview()
|
|
|
@@ -2378,6 +2384,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
|
|
|
enhancementApiConfigId,
|
|
|
autoApprovalEnabled,
|
|
|
experiments,
|
|
|
+ maxOpenTabsContext,
|
|
|
} = await this.getState()
|
|
|
|
|
|
const allowedCommands = vscode.workspace.getConfiguration("roo-cline").get<string[]>("allowedCommands") || []
|
|
|
@@ -2427,6 +2434,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
|
|
|
customModes: await this.customModesManager.getCustomModes(),
|
|
|
experiments: experiments ?? experimentDefault,
|
|
|
mcpServers: this.mcpHub?.getAllServers() ?? [],
|
|
|
+ maxOpenTabsContext: maxOpenTabsContext ?? 20,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -2562,6 +2570,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
|
|
|
requestyModelId,
|
|
|
requestyModelInfo,
|
|
|
modelTemperature,
|
|
|
+ maxOpenTabsContext,
|
|
|
] = await Promise.all([
|
|
|
this.getGlobalState("apiProvider") as Promise<ApiProvider | undefined>,
|
|
|
this.getGlobalState("apiModelId") as Promise<string | undefined>,
|
|
|
@@ -2642,6 +2651,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
|
|
|
this.getGlobalState("requestyModelId") as Promise<string | undefined>,
|
|
|
this.getGlobalState("requestyModelInfo") as Promise<ModelInfo | undefined>,
|
|
|
this.getGlobalState("modelTemperature") as Promise<number | undefined>,
|
|
|
+ this.getGlobalState("maxOpenTabsContext") as Promise<number | undefined>,
|
|
|
])
|
|
|
|
|
|
let apiProvider: ApiProvider
|
|
|
@@ -2768,6 +2778,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
|
|
|
experiments: experiments ?? experimentDefault,
|
|
|
autoApprovalEnabled: autoApprovalEnabled ?? false,
|
|
|
customModes,
|
|
|
+ maxOpenTabsContext: maxOpenTabsContext ?? 20,
|
|
|
}
|
|
|
}
|
|
|
|