From 196828e40e2e6d63b969462d794c8b7dbd19fb6a Mon Sep 17 00:00:00 2001 From: Prasang Prajapati Date: Tue, 26 Aug 2025 15:27:41 -0400 Subject: [PATCH] allow any type to handle watsonx --- src/core/webview/ClineProvider.ts | 7 ++++++- src/extension.ts | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index 9abddc6d96..aa0918cc3d 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -2267,7 +2267,12 @@ export class ClineProvider return } - const userInfo = CloudService.instance.getUserInfo() + await ExtensionBridgeService.handleRemoteControlState( + userInfo, + enabled, + { ...bridgeConfig, provider: this as any, sessionId: vscode.env.sessionId }, + (message: string) => this.log(message), + ) if (!userInfo) { this.log("[ClineProvider#remoteControlEnabled] Failed to get user info, disconnecting") diff --git a/src/extension.ts b/src/extension.ts index dc96e282c4..ad02b42781 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -191,6 +191,29 @@ export async function activate(context: vscode.ExtensionContext) { ) } + const postStateListener = () => ClineProvider.getVisibleInstance()?.postStateToWebview() + + cloudService.on("auth-state-changed", postStateListener) + cloudService.on("settings-updated", postStateListener) + + cloudService.on("user-info", async ({ userInfo }) => { + postStateListener() + + const bridgeConfig = await cloudService.cloudAPI?.bridgeConfig().catch(() => undefined) + + if (!bridgeConfig) { + outputChannel.appendLine("[CloudService] Failed to get bridge config") + return + } + + ExtensionBridgeService.handleRemoteControlState( + userInfo, + contextProxy.getValue("remoteControlEnabled"), + { ...bridgeConfig, provider: provider as any, sessionId: vscode.env.sessionId }, + (message: string) => outputChannel.appendLine(message), + ) + }) + // Add to subscriptions for proper cleanup on deactivate. context.subscriptions.push(cloudService)