feat: Add terminal UI control tools for MCP
- Add 5 terminal tools: open, close, toggle, move, resize - Create terminalHandlers.ts with UI control functions - Add terminal category to toolDefinitions and toolRegistry - Expose FloatingTerminal controls via defineExpose - Connect controls in App.vue via setTerminalControls - Fix ToolsDropdown missing terminal category
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
export type ToolCategory = 'global' | 'canvas' | 'component' | 'theme' | 'database' | 'source' | 'project'
|
||||
export type ToolCategory = 'global' | 'canvas' | 'component' | 'theme' | 'database' | 'source' | 'project' | 'terminal'
|
||||
|
||||
export interface ToolMeta {
|
||||
name: string
|
||||
@@ -57,7 +57,14 @@ export const ALL_TOOL_METAS: ToolMeta[] = [
|
||||
{ name: 'clone_canvas', description: 'Clona un canvas existente', category: 'project' },
|
||||
{ name: 'add_component_to_canvas', description: 'Agrega un componente a un canvas', category: 'project' },
|
||||
{ name: 'remove_component_from_canvas', description: 'Remueve un componente de un canvas', category: 'project' },
|
||||
{ name: 'get_canvas_components', description: 'Obtiene los componentes de un canvas', category: 'project' }
|
||||
{ name: 'get_canvas_components', description: 'Obtiene los componentes de un canvas', category: 'project' },
|
||||
|
||||
// Terminal UI tools
|
||||
{ name: 'terminal_open', description: 'Abre la ventana flotante del terminal', category: 'terminal' },
|
||||
{ name: 'terminal_close', description: 'Cierra la ventana flotante del terminal', category: 'terminal' },
|
||||
{ name: 'terminal_toggle', description: 'Alterna abrir/cerrar el terminal', category: 'terminal' },
|
||||
{ name: 'terminal_move', description: 'Mueve la ventana del terminal a una posicion', category: 'terminal' },
|
||||
{ name: 'terminal_resize', description: 'Cambia el tamano de la ventana del terminal', category: 'terminal' }
|
||||
]
|
||||
|
||||
// Get all tool names
|
||||
@@ -83,5 +90,6 @@ export const CATEGORY_INFO: Record<ToolCategory, { label: string; color: string;
|
||||
theme: { label: 'Theme', color: '#ec4899', icon: 'M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10' },
|
||||
database: { label: 'Database', color: '#3b82f6', icon: 'M12 2C7 2 3 3.5 3 5v14c0 1.5 4 3 9 3s9-1.5 9-3V5c0-1.5-4-3-9-3z' },
|
||||
source: { label: 'Source', color: '#8b5cf6', icon: 'M16 18l6-6-6-6M8 6l-6 6 6 6' },
|
||||
project: { label: 'Project', color: '#06b6d4', icon: 'M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z' }
|
||||
project: { label: 'Project', color: '#06b6d4', icon: 'M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z' },
|
||||
terminal: { label: 'Terminal', color: '#22c55e', icon: 'M4 17l6-6-6-6M12 19h8' }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user