export interface Tool

{ id: string; name: string; description: string; version: string; params: { [key: string]: { type: string; required?: boolean; description?: string; default?: any; }; }; request: { url: string | ((params: P) => string); method: string; headers: (params: P) => Record; body?: (params: P) => Record; }; transformResponse: (response: any) => R; transformError: (error: any) => string; } export interface ToolRegistry { [key: string]: Tool; } export interface ExecutionContext { workflowId: string; blockStates: Map; input?: Record; metadata?: Record; } export interface ExecutionResult { success: boolean; data: Record; error?: string; metadata?: { duration: number; startTime: string; endTime: string; }; }