/** * Shared OpenAI Chat Completions wire format (`choices[]`) — response/stream DTOs and parsing, * used by every provider speaking that shape (OpenRouter, Ollama/openai-compat). Request building * (headers, path, payload) stays per-provider. */ import type { ChatStreamPieceDto, ChatResponseDto, ProviderResponseDto, ProviderStreamEventDto } from '../protocol.js'; import { AIProvider } from '../aiProvider.js'; export interface ChatCompletionsMessageDto { content: string; reasoning?: string; reasoning_content?: string; } export interface ChatCompletionsChoiceDto { message?: ChatCompletionsMessageDto; text?: string; } export interface ChatCompletionsResponseDto extends ProviderResponseDto { choices: ChatCompletionsChoiceDto[]; reasoning?: string; } export interface ChatCompletionsDeltaDto { content?: string; reasoning?: string; reasoning_content?: string; } export interface ChatCompletionsStreamChoiceDto { delta?: ChatCompletionsDeltaDto; message?: ChatCompletionsDeltaDto; } export interface ChatCompletionsStreamEventDto extends ProviderStreamEventDto { choices: ChatCompletionsStreamChoiceDto[]; } export declare abstract class ChatCompletionsProvider extends AIProvider { parseNonStreamingResponse(json: ProviderResponseDto): ChatResponseDto; protected parseProviderStreamChunk(json: ProviderStreamEventDto): ChatStreamPieceDto | null; private hasChoices; } //# sourceMappingURL=chatCompletions.d.ts.map