diff --git a/packages/vscode/src/AgentManagerPanelProvider.ts b/packages/vscode/src/AgentManagerPanelProvider.ts index 5bacfbbc..657b4875 100644 --- a/packages/vscode/src/AgentManagerPanelProvider.ts +++ b/packages/vscode/src/AgentManagerPanelProvider.ts @@ -97,6 +97,10 @@ export class AgentManagerPanelProvider { context: this._context, }); this._panel?.webview.postMessage(response); + + if (message.type === 'api:config/settings:save' && response.success) { + void vscode.commands.executeCommand('openchamber.internal.settingsSynced', response.data); + } }, null, this._context.subscriptions); } @@ -121,6 +125,18 @@ export class AgentManagerPanelProvider { this._sendCachedState(); } + public notifySettingsSynced(settings: unknown): void { + if (!this._panel) { + return; + } + + this._panel.webview.postMessage({ + type: 'command', + command: 'settingsSynced', + payload: settings, + }); + } + private _sendCachedState() { if (!this._panel) { return; diff --git a/packages/vscode/src/extension.ts b/packages/vscode/src/extension.ts index c0a20662..9c903d98 100644 --- a/packages/vscode/src/extension.ts +++ b/packages/vscode/src/extension.ts @@ -193,6 +193,7 @@ export async function activate(context: vscode.ExtensionContext) { vscode.commands.registerCommand('openchamber.internal.settingsSynced', (settings: unknown) => { chatViewProvider?.notifySettingsSynced(settings); sessionEditorProvider?.notifySettingsSynced(settings); + agentManagerProvider?.notifySettingsSynced(settings); }) );