Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | import type {
ChatCompletionChoice,
ChatCompletionResponseBody,
} from '@shared/types/api/routes/chat-completions-api';
import type { ChatCompletionMessage } from '@shared/types/api/routes/shared/messages';
interface OpenrouterUsageDetails {
prompt_tokens: number;
completion_tokens: number;
total_tokens: number;
prompt_tokens_details?: {
cached_tokens: number;
audio_tokens: number;
};
completion_tokens_details?: {
reasoning_tokens: number;
audio_tokens: number;
accepted_prediction_tokens: number;
rejected_prediction_tokens: number;
};
cost?: number;
}
export interface OpenrouterChatCompleteResponse
extends ChatCompletionResponseBody {
id: string;
created: number;
model: string;
choices: (ChatCompletionChoice & {
message: ChatCompletionMessage & { reasoning: string };
})[];
usage: OpenrouterUsageDetails;
}
export interface OpenrouterErrorResponse {
object: string;
message: string;
type: string;
param: string | null;
code: string;
}
export interface OpenrouterStreamChunk {
id: string;
object: string;
created: number;
model: string;
usage?: OpenrouterUsageDetails;
choices: {
delta: {
role?: string | null;
content?: string;
reasoning?: string;
};
index: number;
finish_reason: string | null;
}[];
}
|