UNPKG

capsule-ai-cli

Version:

The AI Model Orchestrator - Intelligent multi-model workflows with device-locked licensing

117 lines 3 kB
export interface AnalyticsEvent { event: string; properties?: Record<string, any>; timestamp: Date; sessionId: string; } export interface AnalyticsInsights { totalSessions: number; totalQueries: number; modelUsage: Record<string, number>; averageResponseTime: number; errorRate: number; dailyStats: Array<{ date: string; queries: number; tokens: number; cost: number; }>; } export interface IAnalyticsService { track(event: AnalyticsEvent): Promise<void>; getInsights(timeframe?: 'day' | 'week' | 'month'): Promise<AnalyticsInsights>; exportData(): Promise<any>; } export interface IModelRouter { route(request: ModelRequest): Promise<ModelResponse>; listAvailableModels(): Promise<ModelInfo[]>; estimateCost(request: ModelRequest): Promise<CostEstimate>; } export interface ModelRequest { model: string; messages: Array<{ role: 'system' | 'user' | 'assistant'; content: string; }>; temperature?: number; maxTokens?: number; stream?: boolean; useCloud?: boolean; } export interface ModelResponse { content: string; model: string; usage: { promptTokens: number; completionTokens: number; totalTokens: number; }; provider: string; } export interface ModelInfo { id: string; name: string; provider: string; contextWindow: number; supportsStreaming: boolean; supportsTools: boolean; pricing?: { prompt: number; completion: number; }; } export interface CostEstimate { estimatedTokens: number; estimatedCost: number; model: string; provider: string; } export interface ILicenseService { activate(licenseKey: string): Promise<{ success: boolean; error?: string; }>; validate(): Promise<{ valid: boolean; license?: LicenseInfo; }>; deactivate(): Promise<void>; } export interface LicenseInfo { key: string; email?: string; activatedAt: Date; expiresAt?: Date; tier: 'free' | 'pro' | 'cloud'; features: string[]; } export interface IConfigService { get<T>(key: string): T | undefined; set(key: string, value: any): Promise<void>; getAll(): Record<string, any>; reset(): Promise<void>; } export interface IFeatureFlags { isEnabled(feature: string): boolean; getAllFlags(): Record<string, boolean>; refresh?(): Promise<void>; } export interface IHealthCheckable { checkHealth(): Promise<{ healthy: boolean; message?: string; }>; } export interface ICollaborationService { shareSession(sessionId: string, email: string): Promise<void>; listSharedSessions(): Promise<SharedSession[]>; joinSession(inviteCode: string): Promise<void>; } export interface SharedSession { id: string; owner: string; participants: string[]; createdAt: Date; lastActive: Date; } //# sourceMappingURL=interfaces.d.ts.map