UNPKG

@relayplane/sdk

Version:

RelayPlane SDK with zero-config AI access, intelligent model selection, built-in examples, and contextual error handling. The easiest way to add AI to your app with automatic optimization and fallback.

104 lines 3.43 kB
/** * Relay Optimize™ - Advanced routing with fallback, caching, and cost optimization * * This module implements the relay.optimize() function for paid tier users. * Provides intelligent model routing, automatic fallback, cost optimization, and caching. */ import { RelayRequest, RelayResponse, RelayConfig, OptimizeConfig } from '../types'; interface ModelMetrics { averageLatency: number; successRate: number; lastUpdated: number; requestCount: number; failureCount: number; costPerToken: number; } interface OptimizationTrace { strategy: string; modelAttempts: Array<{ model: string; reason: string; latency?: number; success: boolean; error?: string; cost?: number; }>; cacheHit: boolean; totalLatency: number; totalCost: number; fallbackUsed: boolean; } /** * Enhanced retry configuration for intelligent model switching */ interface SmartRetryConfig { maxRetries: number; baseDelayMs: number; maxDelayMs: number; jitterFactor: number; confidenceThreshold: number; retryOnFailureTypes: FailureType[]; backoffStrategy: 'exponential' | 'linear' | 'constant'; } /** * Failure type categorization for intelligent retry decisions */ declare enum FailureType { RATE_LIMIT = "rate_limit", TIMEOUT = "timeout", AUTH_ERROR = "auth_error", MODEL_UNAVAILABLE = "model_unavailable", QUOTA_EXCEEDED = "quota_exceeded", PROVIDER_ERROR = "provider_error", NETWORK_ERROR = "network_error", VALIDATION_ERROR = "validation_error", UNKNOWN_ERROR = "unknown_error" } /** * Enhanced relay function with optimization strategies */ export declare function optimize<T = any>(request: RelayRequest, optimizeConfig?: OptimizeConfig, relayConfig?: Partial<RelayConfig>): Promise<RelayResponse<T>>; /** * Check if optimize features are available for the current configuration */ export declare function canOptimize(config?: Partial<RelayConfig>): boolean; /** * Get optimization capabilities for the current API key */ export declare function getOptimizeCapabilities(config?: Partial<RelayConfig>): Promise<{ tier: 'free' | 'maker' | 'pro'; features: { fallback: boolean; latencyRouting: boolean; costOptimization: boolean; caching: boolean; analytics: boolean; }; limits: { maxCallsPerMonth: number; maxRetries: number; cacheTtlMax: number; }; }>; /** * Clear optimization cache (useful for testing) */ export declare function clearOptimizeCache(): void; /** * Get current optimization metrics (useful for monitoring) */ export declare function getOptimizeMetrics(): { cacheSize: number; modelMetrics: Record<string, ModelMetrics>; }; /** * Intelligent retry function with automatic model switching * * This function implements smart retry logic that automatically switches models * based on failure types and confidence scoring. */ export declare function smartRetry<T = any>(request: RelayRequest, config?: Partial<SmartRetryConfig>, relayConfig?: Partial<RelayConfig>): Promise<RelayResponse<T> & { retryInfo: OptimizationTrace; }>; export { smartRelay, analyzeTaskCharacteristics, generateModelRecommendations, getAvailableModels, getModelCapabilities, clearSelectionHistory, getSelectionHistory } from './smart-selection'; //# sourceMappingURL=optimize.d.ts.map