UNPKG

claritykit-svelte

Version:

A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility

208 lines 5.22 kB
import type { HTMLAttributes } from 'svelte/elements'; export type AgentType = 'oracle' | 'scribe' | 'architect' | 'librarian' | 'alchemist' | 'archivist' | 'scholar' | 'researcher' | 'loop-diagnostic' | 'custom'; export type AgentStatus = 'idle' | 'busy' | 'processing' | 'error' | 'offline'; export type MessageType = 'request' | 'response' | 'notification' | 'error' | 'system'; export type WorkflowStatus = 'ready' | 'running' | 'completed' | 'error' | 'cancelled'; export type StageStatus = 'pending' | 'active' | 'completed' | 'error' | 'skipped'; export interface Agent { id: string; name: string; type: AgentType; status: AgentStatus; description?: string; capabilities?: string[]; avatar?: string; color?: string; metadata?: { version?: string; lastActive?: Date; messageCount?: number; avgResponseTime?: number; successRate?: number; }; } export interface WorkflowStage { id: string; name: string; description?: string; agentId: string; status: StageStatus; input?: string; output?: any; dependencies?: string[]; config?: Record<string, any>; startTime?: Date; endTime?: Date; error?: string; } export interface WorkflowExecution { id: string; name: string; description?: string; status: WorkflowStatus; stages: WorkflowStage[]; createdAt: Date; startedAt?: Date; completedAt?: Date; metadata?: { priority?: number; tags?: string[]; source?: string; initiator?: string; }; } export interface AgentMessage { id: string; type: MessageType; content: string; timestamp: Date; fromAgent: string; toAgent: string; metadata?: { conversationId?: string; parentMessageId?: string; priority?: number; processingTime?: number; confidence?: number; stage?: string; workflowId?: string; }; } export interface AgentOrchestratorProps extends HTMLAttributes<HTMLDivElement> { /** * List of available agents */ agents: Agent[]; /** * Current workflow execution */ workflow?: WorkflowExecution | null; /** * Show message flow between agents * @default true */ showMessageFlow?: boolean; /** * Show agent performance metrics * @default true */ showAgentMetrics?: boolean; /** * Show workflow execution graph * @default true */ showExecutionGraph?: boolean; /** * Auto-scroll to latest messages * @default true */ autoScroll?: boolean; /** * Maximum messages to display * @default 100 */ maxMessages?: number; /** * Callback when workflow starts */ onWorkflowStart?: (workflowId: string) => void; /** * Callback when workflow completes */ onWorkflowComplete?: (workflowId: string, result: any) => void; /** * Callback when agent sends message */ onAgentMessage?: (message: AgentMessage) => void; /** * Callback when workflow encounters error */ onWorkflowError?: (workflowId: string, error: Error) => void; } export interface A2AMessage { id: string; from: string; to: string; type: 'request' | 'response' | 'notification' | 'delegation'; content: { action: string; data: any; metadata?: Record<string, any>; }; timestamp: Date; conversationId?: string; parentMessageId?: string; priority?: number; requiresResponse?: boolean; } export interface A2ACapability { name: string; description: string; inputSchema?: any; outputSchema?: any; examples?: Array<{ input: any; output: any; }>; } export interface A2AAgent { id: string; name: string; type: string; capabilities: A2ACapability[]; endpoint?: string; status: 'available' | 'busy' | 'offline'; metadata?: Record<string, any>; } export interface CrewAIWorkflow { id: string; name: string; crew: string; tasks: Array<{ id: string; description: string; agent: string; tools?: string[]; context?: any; }>; kickoff_inputs?: Record<string, any>; } export interface ThinkingAgentCollaboration { id: string; initiator: string; participants: string[]; topic: string; messages: A2AMessage[]; consensus?: { reached: boolean; summary: string; confidence: number; }; insights?: Array<{ agent: string; insight: string; relevance: number; }>; } export interface WorkflowTemplate { id: string; name: string; description: string; category: 'research' | 'planning' | 'analysis' | 'creation' | 'diagnostic'; stages: Array<{ name: string; agentType: AgentType; config?: Record<string, any>; }>; requiredInputs?: Array<{ name: string; type: string; description: string; }>; expectedOutputs?: Array<{ name: string; type: string; description: string; }>; } //# sourceMappingURL=types.d.ts.map