import { z } from 'zod'; export interface MCPServerConfig { name: string; version?: string; description?: string; tools?: MCPTool[]; resources?: MCPResource[]; handlers?: MCPHandlers; assignedAgents?: string[]; assignedWorkflows?: string[]; } export interface MCPTool { name: string; description: string; inputSchema: z.ZodSchema; handler: (params: any) => Promise; } export interface MCPResource { uri: string; name: string; description?: string; mimeType?: string; } export interface MCPHandlers { onRequest?: (request: any) => Promise; onNotification?: (notification: any) => Promise; } export interface AgentConfig { id: string; name: string; description?: string; model?: string; temperature?: number; maxTokens?: number; systemPrompt?: string; tools?: AgentTool[]; mcpServers?: string[]; } export interface AgentTool { name: string; description: string; parameters: z.ZodSchema; handler: (params: any, context?: AgentContext) => Promise; } export interface AgentContext { agentId: string; sessionId?: string; metadata?: Record; } export interface AgentMessage { role: 'user' | 'assistant' | 'system'; content: string; timestamp?: Date; metadata?: Record; } export interface AgentResponse { content: string; toolCalls?: Array<{ name: string; arguments: any; }>; metadata?: Record; } export interface OrchestrationConfig { strategy?: 'sequential' | 'parallel' | 'workflow'; agents: string[]; workflow?: WorkflowStep[]; } export interface WorkflowStep { id: string; agentId: string; condition?: (context: any) => boolean; next?: string[]; } export interface UIConfig { port?: number; theme?: 'light' | 'dark'; customRoutes?: Array<{ path: string; handler: (req: any, res: any) => void; }>; } export interface GovernanceConfig { maxInputLength?: number; allowedPatterns?: RegExp[]; blockedPatterns?: RegExp[]; requireInputValidation?: boolean; maxOutputLength?: number; contentModeration?: boolean; blockedKeywords?: string[]; allowedDomains?: string[]; rateLimit?: { maxRequests: number; windowMs: number; }; maxTokensPerRequest?: number; maxRequestsPerDay?: number; maxRequestsPerHour?: number; enableSafetyChecks?: boolean; safetyPrompt?: string; blockHarmfulContent?: boolean; enableAuditLog?: boolean; auditLogPath?: string; } //# sourceMappingURL=index.d.ts.map