Add McpHub and sync with McpView

This commit is contained in:
Saoud Rizwan
2024-12-05 19:00:55 -08:00
parent fa62548b01
commit 17d481d4d1
10 changed files with 577 additions and 215 deletions

View File

@@ -751,6 +751,12 @@ export class Cline {
}
async *attemptApiRequest(previousApiReqIndex: number): ApiStream {
// Wait for MCP servers to be connected before generating system prompt
await pWaitFor(() => this.providerRef.deref()?.mcpHub?.isConnecting !== true, { timeout: 10_000 }).catch(() => {
console.error("MCP servers failed to connect in time")
})
const mcpServers = this.providerRef.deref()?.mcpHub?.connections.map((conn) => conn.server)
console.log("mcpServers for system prompt:", JSON.stringify(mcpServers, null, 2))
let systemPrompt = await SYSTEM_PROMPT(cwd, this.api.getModel().info.supportsComputerUse ?? false)
if (this.customInstructions && this.customInstructions.trim()) {
// altering the system prompt mid-task will break the prompt cache, but in the grand scheme this will not change often so it's better to not pollute user messages with it the way we have to with <potentially relevant details>