UNPKG

@callmedayz/ai-prompt-toolkit

Version:

Professional AI prompt engineering toolkit with advanced template features, real-time dashboards, conditional logic, template inheritance, live monitoring, OpenRouter integration, and 310+ model support

108 lines 3.47 kB
import { OpenRouterAPIConfig, OpenRouterCompletionRequest, OpenRouterCompletionResponse, OpenRouterTokenizeRequest, OpenRouterTokenizeResponse } from './types'; import { RetryConfig } from './error-handling'; import { RateLimitConfig, QuotaConfig } from './rate-limiting'; /** * OpenRouter API client for making authenticated requests */ export declare class OpenRouterClient { private config; private retryConfig; private circuitBreaker; private rateLimiter?; private quotaManager?; constructor(config: OpenRouterAPIConfig, retryConfig?: Partial<RetryConfig>, rateLimitConfig?: RateLimitConfig, quotaConfig?: QuotaConfig); /** * Make a completion request to OpenRouter */ completion(request: OpenRouterCompletionRequest): Promise<OpenRouterCompletionResponse>; /** * Make a streaming completion request to OpenRouter */ completionStream(request: OpenRouterCompletionRequest): Promise<ReadableStream<string>>; /** * Get token count for text using OpenRouter's completion API * This makes a minimal completion request to get accurate token counts */ tokenize(request: OpenRouterTokenizeRequest): Promise<OpenRouterTokenizeResponse>; /** * Get available models from OpenRouter */ getModels(): Promise<any>; /** * Get generation details including native token counts */ getGeneration(id: string): Promise<any>; /** * Make an authenticated request to OpenRouter API with enhanced error handling */ private makeRequest; /** * Parse Server-Sent Events stream from OpenRouter */ private createStreamParser; /** * Test the API connection and authentication */ testConnection(): Promise<boolean>; /** * Get API key from environment or throw error */ static getApiKeyFromEnv(): string; /** * Get circuit breaker status */ getCircuitBreakerStatus(): { state: string; failures: number; lastFailureTime: number; }; /** * Update retry configuration */ updateRetryConfig(config: Partial<RetryConfig>): void; /** * Get current retry configuration */ getRetryConfig(): RetryConfig; /** * Estimate tokens for a request (rough estimation) */ private estimateTokens; /** * Estimate cost for a request (very rough estimation) */ private estimateCost; /** * Calculate actual cost from response */ private calculateActualCost; /** * Record usage in rate limiter and quota manager */ private recordUsage; /** * Get rate limiting status */ getRateLimitStatus(): import("./rate-limiting").UsageStats | undefined; /** * Get quota status */ getQuotaStatus(): import("./rate-limiting").QuotaUsage | undefined; /** * Get quota alerts */ getQuotaAlerts(): import("./rate-limiting").QuotaAlert[]; /** * Enable rate limiting */ enableRateLimiting(config: RateLimitConfig): void; /** * Enable quota management */ enableQuotaManagement(config: QuotaConfig): void; /** * Create a client instance using environment variables */ static fromEnv(config?: Partial<OpenRouterAPIConfig>, retryConfig?: Partial<RetryConfig>, rateLimitConfig?: RateLimitConfig, quotaConfig?: QuotaConfig): OpenRouterClient; } //# sourceMappingURL=openrouter-client.d.ts.map