feat(vscode) Agent Manager (#87)

* Add Agent Manager

* Basic Mock UP

* Fix Comand naming Ctrl+P Uses Category to group

* Move the UI in views

* Agent Manager Landing Page

* Fix attachment buig

* Change Session Name for multi run to incoporate groupSlug

* First running UI

* Fix Max Model Multi Run

* Rework Agent Group detection

* ignore false positives with ' ' in it

* Simplify Logic

* remove unused dropdowns

* Clean up

* Update Changelog
This commit is contained in:
wienans
2026-01-03 23:11:16 +02:00
committed by GitHub
parent 9887b25864
commit 0bccf71996
25 changed files with 2417 additions and 730 deletions
+4
View File
@@ -125,6 +125,10 @@ export async function stopSseProxy(options: { streamId: string }): Promise<{ sto
return sendBridgeMessage<{ stopped: boolean }>('api:sse:stop', options);
}
export async function executeVSCodeCommand(command: string, args?: unknown[]): Promise<{ result?: unknown }> {
return sendBridgeMessage<{ result?: unknown }>('vscode:command', { command, args });
}
type CommandHandler = (payload: unknown) => void;
const commandHandlers = new Map<string, CommandHandler>();
+2
View File
@@ -5,6 +5,7 @@ import { createVSCodePermissionsAPI } from './permissions';
import { createVSCodeToolsAPI } from './tools';
import { createVSCodeEditorAPI } from './editor';
import { createVSCodeGitAPI } from './git';
import { createVSCodeActionsAPI } from './vscode';
// Stub APIs return sensible defaults instead of throwing
const createStubTerminalAPI = (): TerminalAPI => ({
@@ -30,4 +31,5 @@ export const createVSCodeAPIs = (): RuntimeAPIs => ({
notifications: createStubNotificationsAPI(),
tools: createVSCodeToolsAPI(),
editor: createVSCodeEditorAPI(),
vscode: createVSCodeActionsAPI(),
});
+13
View File
@@ -0,0 +1,13 @@
import type { VSCodeAPI } from '../../../ui/src/lib/api/types';
import { executeVSCodeCommand } from './bridge';
export const createVSCodeActionsAPI = (): VSCodeAPI => ({
async executeCommand(command: string, ...args: unknown[]): Promise<unknown> {
const result = await executeVSCodeCommand(command, args);
return result.result;
},
async openAgentManager(): Promise<void> {
await executeVSCodeCommand('openchamber.openAgentManager');
},
});