UNPKG

@ubiquity-os/plugin-sdk

Version:

SDK for plugin support.

60 lines (57 loc) 1.84 kB
type OpenRouterError = { error: { message: string; code: number; metadata?: { provider_name: string; raw: unknown; } | { reasons: string[]; flagged_input: string; provider_name: string; model_slug: string; }; }; }; type OpenRouterModel = { id: string; name: string; created: number; description: string; context_length: number; architecture: { modality: string; tokenizer: string; instruct_type?: string; }; top_provider: { context_length: number; /** `null` means it's the same as the context_length */ max_completion_tokens: number | null; is_moderated: boolean; }; pricing: { prompt: string; completion: string; image: string; request: string; input_cache_read: string; input_cache_write: string; web_search: string; internal_reasoning: string; }; per_request_limits?: Record<string, unknown>; }; declare function getOpenRouterModels(): Promise<OpenRouterModel[]>; declare function getOpenRouterModelTokenLimits(modelId: string): Promise<{ contextLength: number; maxCompletionTokens: number; } | null>; interface RetryOptions { maxRetries: number; onError?: (error: unknown) => Promise<void> | void; /** Return `false` to stop retrying, `true` to automatically delay the next retry, or a number to set the delay before the next retry */ isErrorRetryable?: (error: unknown) => Promise<boolean | number> | boolean | number; } declare function retry<T>(fn: () => Promise<T>, options: RetryOptions): Promise<T>; export { type OpenRouterError, type OpenRouterModel, getOpenRouterModelTokenLimits, getOpenRouterModels, retry };