import type { VSCodeAPI } from '@openchamber/ui/lib/api/types'; import { executeVSCodeCommand, openVSCodeExternalUrl, sendBridgeMessage } from './bridge'; export const createVSCodeActionsAPI = (): VSCodeAPI => ({ async executeCommand(command: string, ...args: unknown[]): Promise { const result = await executeVSCodeCommand(command, args); return result.result; }, async openAgentManager(): Promise { await executeVSCodeCommand('openchamber.openAgentManager'); }, async openExternalUrl(url: string): Promise { await openVSCodeExternalUrl(url); }, async addWorkspaceFolder(path: string): Promise> { const result = await sendBridgeMessage<{ workspaceFolders: Array<{ name: string; path: string }> }>( 'api:workspace:addFolder', { path }, ); return Array.isArray(result?.workspaceFolders) ? result.workspaceFolders : []; }, async pickFiles(options): Promise { return sendBridgeMessage('api:files/pick', options); }, async saveImage(payload: unknown): Promise { return sendBridgeMessage('api:files/save-image', payload); }, async saveMarkdown(payload: unknown): Promise { return sendBridgeMessage('api:files/save-markdown', payload); }, });