From 3b565a1e193cc23edf0fb143e752325bb3f5e689 Mon Sep 17 00:00:00 2001 From: nang-dev Date: Fri, 4 Apr 2025 15:24:34 -0400 Subject: [PATCH 1/2] Progress --- src/api/providers/pearai.ts | 2 ++ src/core/webview/ClineProvider.ts | 1 + src/extension.ts | 22 ++++++++++++++++++++++ src/services/mcp/McpHub.ts | 2 +- 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/api/providers/pearai.ts b/src/api/providers/pearai.ts index fb14ba6bd3a..8e264599394 100644 --- a/src/api/providers/pearai.ts +++ b/src/api/providers/pearai.ts @@ -35,6 +35,8 @@ export class PearAiHandler extends BaseProvider implements SingleCompletionHandl } }) throw new Error("PearAI API key not found. Please login to PearAI.") + } else { + vscode.commands.executeCommand("pearai.checkPearAITokens", undefined) } this.handler = new OpenRouterHandler({ diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index 865a336bf39..4026f1632a2 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -565,6 +565,7 @@ export class ClineProvider extends EventEmitter implements private async getHMRHtmlContent(webview: vscode.Webview): Promise { const localPort = "5173" + // const localPort = "5174" for devving at the same time as submodule const localServerUrl = `localhost:${localPort}` // Check if local dev server is running. diff --git a/src/extension.ts b/src/extension.ts index 41cd1f305a3..f90dcf8ab4e 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -112,6 +112,28 @@ export function activate(context: vscode.ExtensionContext) { }), ) + context.subscriptions.push( + vscode.commands.registerCommand("pearai-roo-cline.updatePearAITokens", async (data) => { + console.dir("Updated PearAI tokens:") + console.dir(data) + context.secrets.store("pearaiApiKey", data.accessToken) + context.secrets.store("pearaiRefreshKey", data.refreshToken) + const provider = await ClineProvider.getInstance() + if (provider) { + // Update the API configuration to clear the PearAI key + await provider.setValues({ + pearaiApiKey: data.accessToken, + }) + await provider.postStateToWebview() + // Update MCP server with new token + const mcpHub = provider.getMcpHub() + if (mcpHub) { + await mcpHub.updatePearAiApiKey(data.accessToken) + } + } + }), + ) + context.subscriptions.push( vscode.commands.registerCommand("pearai-roo-cline.pearaiLogout", async () => { console.dir("Logged out of PearAI:") diff --git a/src/services/mcp/McpHub.ts b/src/services/mcp/McpHub.ts index d7ad0af8719..2919d69ff6c 100644 --- a/src/services/mcp/McpHub.ts +++ b/src/services/mcp/McpHub.ts @@ -1043,7 +1043,7 @@ export class McpHub { await fs.writeFile(settingsPath, JSON.stringify(config, null, 2)) await this.updateServerConnections(config.mcpServers) - vscode.window.showInformationMessage("PearAI API key updated successfully") + // vscode.window.showInformationMessage("PearAI API key updated successfully") } } catch (error) { console.error("Failed to update PearAI API key:", error) From 43914165c2699390c9227869b290c2277de17b7d Mon Sep 17 00:00:00 2001 From: nang-dev Date: Fri, 4 Apr 2025 16:16:42 -0400 Subject: [PATCH 2/2] Progress --- package.json | 2 +- src/core/webview/ClineProvider.ts | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 5591e198123..6a25b04f128 100644 --- a/package.json +++ b/package.json @@ -327,7 +327,7 @@ "check-types:benchmark": "cd benchmark && npm run check-types", "package": "npm-run-all -p build:webview build:esbuild check-types lint", "pretest": "npm run compile", - "dev": "cd webview-ui && npm run dev", + "dev": "cd webview-ui && npm run dev -- --port 5174", "test": "npm-run-all -p test:*", "test:extension": "jest", "test:webview": "cd webview-ui && npm run test", diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index 4026f1632a2..abb0cb073ef 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -564,8 +564,7 @@ export class ClineProvider extends EventEmitter implements } private async getHMRHtmlContent(webview: vscode.Webview): Promise { - const localPort = "5173" - // const localPort = "5174" for devving at the same time as submodule + const localPort = "5174" const localServerUrl = `localhost:${localPort}` // Check if local dev server is running.