Skip to content

Commit 7fa8ce1

Browse files
authored
Merge pull request #1055 from unsync/feature/openrouter-usage
feat: support openrouter usage in api
2 parents 64f8dc3 + 15618ea commit 7fa8ce1

1 file changed

Lines changed: 23 additions & 15 deletions

File tree

src/providers/openrouter/chatComplete.ts

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ export const OpenrouterChatCompleteConfig: ProviderConfig = {
6969
models: {
7070
param: 'models',
7171
},
72+
usage: {
73+
param: 'usage',
74+
},
7275
stream: {
7376
param: 'stream',
7477
default: false,
@@ -78,16 +81,29 @@ export const OpenrouterChatCompleteConfig: ProviderConfig = {
7881
},
7982
};
8083

84+
interface OpenrouterUsageDetails {
85+
prompt_tokens: number;
86+
completion_tokens: number;
87+
total_tokens: number;
88+
prompt_tokens_details?: {
89+
cached_tokens: number;
90+
audio_tokens: number;
91+
};
92+
completion_tokens_details?: {
93+
reasoning_tokens: number;
94+
audio_tokens: number;
95+
accepted_prediction_tokens: number;
96+
rejected_prediction_tokens: number;
97+
};
98+
cost?: number;
99+
}
100+
81101
interface OpenrouterChatCompleteResponse extends ChatCompletionResponse {
82102
id: string;
83103
object: string;
84104
created: number;
85105
model: string;
86-
usage: {
87-
prompt_tokens: number;
88-
completion_tokens: number;
89-
total_tokens: number;
90-
};
106+
usage: OpenrouterUsageDetails;
91107
}
92108

93109
export interface OpenrouterErrorResponse {
@@ -103,11 +119,7 @@ interface OpenrouterStreamChunk {
103119
object: string;
104120
created: number;
105121
model: string;
106-
usage?: {
107-
prompt_tokens: number;
108-
completion_tokens: number;
109-
total_tokens: number;
110-
};
122+
usage?: OpenrouterUsageDetails;
111123
choices: {
112124
delta: {
113125
role?: string | null;
@@ -149,11 +161,7 @@ export const OpenrouterChatCompleteResponseTransform: (
149161
},
150162
finish_reason: c.finish_reason,
151163
})),
152-
usage: {
153-
prompt_tokens: response.usage?.prompt_tokens,
154-
completion_tokens: response.usage?.completion_tokens,
155-
total_tokens: response.usage?.total_tokens,
156-
},
164+
usage: response.usage,
157165
};
158166
}
159167

0 commit comments

Comments
 (0)