UNPKG

contextual-agent-sdk

Version:

SDK for building AI agents with seamless voice-text context switching

69 lines 2.07 kB
import type { Tool } from './tools'; import type { ToolProvider } from './providers'; export interface ToolRegistry { registerProvider(provider: ToolProvider): void; unregisterProvider(providerId: string): void; getProvider(providerId: string): ToolProvider | undefined; getProviders(): ToolProvider[]; getAvailableTools(): Tool[]; getToolsByCategory(category: string): Tool[]; findTool(toolId: string): Tool | undefined; searchTools(query: string): Tool[]; getToolUsageStats(toolId: string, timeRange?: ToolUsageTimeRange): Promise<ToolUsageStats>; } export interface ToolUsageTimeRange { start: Date; end: Date; } export interface ToolUsageStats { toolId: string; timeRange: ToolUsageTimeRange; totalExecutions: number; successfulExecutions: number; failedExecutions: number; successRate: number; averageExecutionTime: number; totalCost?: number; dailyUsage: Array<{ date: string; executions: number; successRate: number; averageExecutionTime: number; }>; commonErrors: Array<{ error: string; count: number; percentage: number; }>; } export interface ToolDiscoveryOptions { category?: string; minimumTier?: string; premiumOnly?: boolean; includeEnterprise?: boolean; searchQuery?: string; limit?: number; sortBy?: 'name' | 'category' | 'popularity' | 'tier'; } export interface ToolRegistryStats { totalProviders: number; totalTools: number; toolsByCategory: Record<string, number>; toolsByTier: Record<string, number>; popularTools: Array<{ toolId: string; name: string; usageCount: number; }>; } export interface ToolRegistryHealth { status: 'healthy' | 'degraded' | 'unhealthy'; providerHealth: Record<string, 'healthy' | 'degraded' | 'unhealthy'>; metrics: { averageResponseTime: number; errorRate: number; activeInstances: number; }; lastHealthCheck: Date; } //# sourceMappingURL=registry.d.ts.map