(
model: string,
tokens: {
inputTokens: number
outputTokens: number
cacheReadInputTokens: number
cacheCreationInputTokens: number
},
)
| 184 | * Useful for side queries (e.g. classifier) that track token counts independently. |
| 185 | */ |
| 186 | export function calculateCostFromTokens( |
| 187 | model: string, |
| 188 | tokens: { |
| 189 | inputTokens: number |
| 190 | outputTokens: number |
| 191 | cacheReadInputTokens: number |
| 192 | cacheCreationInputTokens: number |
| 193 | }, |
| 194 | ): number { |
| 195 | const usage: Usage = { |
| 196 | input_tokens: tokens.inputTokens, |
| 197 | output_tokens: tokens.outputTokens, |
| 198 | cache_read_input_tokens: tokens.cacheReadInputTokens, |
| 199 | cache_creation_input_tokens: tokens.cacheCreationInputTokens, |
| 200 | } as Usage |
| 201 | return calculateUSDCost(model, usage) |
| 202 | } |
| 203 | |
| 204 | function formatPrice(price: number): string { |
| 205 | // Format price: integers without decimals, others with 2 decimal places |
no test coverage detected