UNPKG

recoder-shared

Version:

Shared types, utilities, and configurations for Recoder

94 lines 3.58 kB
/** * Recoder.xyz Unified SDK * Cross-platform SDK for all Recoder platforms */ import { EventEmitter } from 'events'; import { AuthClient } from './auth-client'; import { WebSocketClient } from './websocket-client'; import { SyncClient } from './sync-client'; import { AIClient } from './ai-client'; export interface RecoderSDKConfig { baseURL?: string; webSocketURL?: string; platform: 'cli' | 'web' | 'mobile' | 'extension' | 'desktop'; deviceName?: string; enableWebSocket?: boolean; enableAutoSync?: boolean; apiKey?: string; debug?: boolean; } export interface AIProvider { name: string; status: 'healthy' | 'degraded' | 'offline' | 'error'; responseTime?: number; errorRate?: number; uptime?: number; } export interface AIProviderRecommendation { taskType: string; recommended: { provider: string; name: string; reason: string; status: string; }; fallbacks: Array<{ provider: string; name: string; status: string; }>; } export interface AnalyticsData { eventType: 'api_call' | 'code_generation' | 'authentication' | 'sync' | 'ai_request'; provider?: string; tokens?: number; cost?: number; duration?: number; success?: boolean; metadata?: any; } export declare class RecoderSDK extends EventEmitter { private config; private api; auth: AuthClient; websocket?: WebSocketClient; sync?: SyncClient; ai: AIClient; constructor(config: RecoderSDKConfig); private setupAPIInterceptors; private initializeClients; private setupEventForwarding; private onAuthenticated; private onLogout; initialize(): Promise<void>; connect(): Promise<void>; disconnect(): void; getAIProviderStatus(): Promise<AIProvider[]>; healthCheckAIProviders(): Promise<{ providers: any; overall: any; }>; getAIProviderRecommendation(taskType: 'coding' | 'blockchain' | 'security' | 'analysis' | 'chat' | 'generation', priority?: 'speed' | 'cost' | 'quality'): Promise<AIProviderRecommendation>; getAIProviderCosts(timeframe?: 'hour' | 'day' | 'week' | 'month'): Promise<any>; trackAnalytics(data: AnalyticsData): Promise<void>; getAnalyticsDashboard(timeframe?: 'hour' | 'day' | 'week' | 'month'): Promise<any>; getPerformanceMetrics(): Promise<any>; getRealTimeAnalytics(): Promise<any>; sendNotification(type: 'info' | 'success' | 'warning' | 'error' | 'system', title: string, message: string, data?: any): Promise<void>; broadcastNotification(channel: string, event: string, type: 'info' | 'success' | 'warning' | 'error' | 'system', title: string, message: string, data?: any): Promise<void>; isReady(): boolean; getStatus(): any; switchToPlatform(targetPlatform: string, context?: any): Promise<void>; startCollaboration(projectId: string): Promise<void>; stopCollaboration(projectId: string): Promise<void>; private getVersion; private getPlatformDetails; private handleError; } export declare function createWebSDK(config?: Partial<RecoderSDKConfig>): RecoderSDK; export declare function createCLISDK(config?: Partial<RecoderSDKConfig>): RecoderSDK; export declare function createMobileSDK(config?: Partial<RecoderSDKConfig>): RecoderSDK; export declare function createDesktopSDK(config?: Partial<RecoderSDKConfig>): RecoderSDK; export declare function createExtensionSDK(config?: Partial<RecoderSDKConfig>): RecoderSDK; export default RecoderSDK; //# sourceMappingURL=recoder-sdk.d.ts.map