/** * Type-safe OpenRouter extensions for the OpenAI SDK. * * OpenRouter extends the standard chat completion API with fields like `provider` * and `reasoning` that the official OpenAI types don't include. This module provides * augmented types to avoid `as any` casts across the codebase. */ import type OpenAI from 'openai'; import type { ChatCompletionCreateParamsNonStreaming } from 'openai/resources/chat/completions'; /** OpenRouter provider routing preferences. */ export interface OpenRouterProvider { /** Zero Data Retention mode. */ zdr?: boolean; /** Allow fallback providers. */ allow_fallbacks?: boolean; /** Required providers (whitelist). */ require_parameters?: boolean; /** Provider order preference. */ order?: string[]; /** Quantization preference. */ quantizations?: string[]; /** Additional provider preferences (model-specific). */ [key: string]: unknown; } /** OpenRouter reasoning configuration for extended thinking models. */ export interface OpenRouterReasoning { effort: 'none' | 'low' | 'medium' | 'high' | 'xhigh'; } /** Chat completion params extended with OpenRouter-specific fields. */ export type OpenRouterChatCompletionParams = ChatCompletionCreateParamsNonStreaming & { provider?: OpenRouterProvider; reasoning?: OpenRouterReasoning; }; /** * Create a chat completion with OpenRouter-specific fields. * Wraps `client.chat.completions.create()` with proper typing. */ export declare function createOpenRouterCompletion(client: OpenAI, params: OpenRouterChatCompletionParams, options?: { signal?: AbortSignal; }): Promise;