token-costs 3.2.1 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/npm/client.d.ts +2 -0
- package/dist/npm/client.d.ts.map +1 -1
- package/dist/npm/client.js +24 -15
- package/dist/npm/client.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,6 +23,9 @@ const cost = await client.calculateCost('anthropic', 'claude-sonnet-4', {
|
|
|
23
23
|
outputTokens: 800,
|
|
24
24
|
});
|
|
25
25
|
console.log(`Total cost: $${cost.totalCost.toFixed(6)}`);
|
|
26
|
+
|
|
27
|
+
// OpenRouter models use provider/model format
|
|
28
|
+
const orPricing = await client.getModelPricing('openrouter', 'anthropic/claude-3.5-sonnet');
|
|
26
29
|
```
|
|
27
30
|
|
|
28
31
|
Or fetch directly without dependencies:
|
|
@@ -92,7 +95,7 @@ token-costs/
|
|
|
92
95
|
- `api/v1/openai.json`
|
|
93
96
|
- `api/v1/anthropic.json`
|
|
94
97
|
- `api/v1/google.json`
|
|
95
|
-
- `api/v1/openrouter.json`
|
|
98
|
+
- `api/v1/openrouter/{provider}.json` - Per-provider files (anthropic, openai, google, deepseek, etc.)
|
|
96
99
|
|
|
97
100
|
## Contributing
|
|
98
101
|
|
package/dist/npm/client.d.ts
CHANGED
|
@@ -82,6 +82,8 @@ export declare class CostClient {
|
|
|
82
82
|
private mergeCustomData;
|
|
83
83
|
/**
|
|
84
84
|
* Fetch provider data, using cache if available and fresh
|
|
85
|
+
* @param provider - The provider to fetch
|
|
86
|
+
* @param modelId - Optional model ID, used to extract sub-provider for OpenRouter
|
|
85
87
|
*/
|
|
86
88
|
private fetchProvider;
|
|
87
89
|
/**
|
package/dist/npm/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/npm/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,QAAQ,EAER,YAAY,EAEZ,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EAGX,MAAM,YAAY,CAAC;AA4BpB;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAEzB,UAAU,EAAE,MAAM;aAClB,QAAQ,EAAE,MAAM;aAChB,QAAQ,EAAE,MAAM;gBAFhB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;CASnC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAqC;IAC3D,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,2BAA2B,CAAU;IAC7C,OAAO,CAAC,aAAa,CAAC,CAAsD;IAC5E,OAAO,CAAC,wBAAwB,CAA4B;gBAEhD,OAAO,GAAE,iBAAsB;IAW3C;;OAEG;IACH,OAAO,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/npm/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,QAAQ,EAER,YAAY,EAEZ,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EAGX,MAAM,YAAY,CAAC;AA4BpB;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;aAEzB,UAAU,EAAE,MAAM;aAClB,QAAQ,EAAE,MAAM;aAChB,QAAQ,EAAE,MAAM;gBAFhB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;CASnC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAqC;IAC3D,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,2BAA2B,CAAU;IAC7C,OAAO,CAAC,aAAa,CAAC,CAAsD;IAC5E,OAAO,CAAC,wBAAwB,CAA4B;gBAEhD,OAAO,GAAE,iBAAsB;IAW3C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAIhB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;YACW,qBAAqB;IAcnC;;OAEG;YACW,mBAAmB;IAUjC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;;;OAIG;YACW,aAAa;IA4F3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;;;;;;OAOG;IACG,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyBtF;;OAEG;IACG,qBAAqB,CACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAQpC;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAKlF;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKvD;;;;;;;;;OASG;IACG,aAAa,CACjB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,GACA,OAAO,CAAC,UAAU,CAAC;IAqCtB;;OAEG;IACG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IAInE;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI;IAKhD;;OAEG;IACH,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;CAOtC"}
|
package/dist/npm/client.js
CHANGED
|
@@ -84,7 +84,8 @@ export class CostClient {
|
|
|
84
84
|
* Check if a provider is a built-in provider with remote data
|
|
85
85
|
*/
|
|
86
86
|
isBuiltInProvider(provider) {
|
|
87
|
-
return ['openai', 'anthropic', 'google', 'openrouter'].includes(provider)
|
|
87
|
+
return ['openai', 'anthropic', 'google', 'openrouter'].includes(provider)
|
|
88
|
+
|| provider.startsWith('openrouter/');
|
|
88
89
|
}
|
|
89
90
|
/**
|
|
90
91
|
* Get today's date according to this client (with offset applied)
|
|
@@ -188,11 +189,19 @@ export class CostClient {
|
|
|
188
189
|
}
|
|
189
190
|
/**
|
|
190
191
|
* Fetch provider data, using cache if available and fresh
|
|
192
|
+
* @param provider - The provider to fetch
|
|
193
|
+
* @param modelId - Optional model ID, used to extract sub-provider for OpenRouter
|
|
191
194
|
*/
|
|
192
|
-
async fetchProvider(provider) {
|
|
195
|
+
async fetchProvider(provider, modelId) {
|
|
196
|
+
// For openrouter, extract sub-provider from model ID (e.g., 'anthropic/claude-3.5-sonnet' -> 'openrouter/anthropic')
|
|
197
|
+
let effectiveProvider = provider;
|
|
198
|
+
if (provider === 'openrouter' && modelId && modelId.includes('/')) {
|
|
199
|
+
const subProvider = modelId.split('/')[0];
|
|
200
|
+
effectiveProvider = `openrouter/${subProvider}`;
|
|
201
|
+
}
|
|
193
202
|
const today = this.getToday();
|
|
194
|
-
const isBuiltIn = this.isBuiltInProvider(
|
|
195
|
-
const hasCustomData =
|
|
203
|
+
const isBuiltIn = this.isBuiltInProvider(effectiveProvider);
|
|
204
|
+
const hasCustomData = effectiveProvider in this.customProviders;
|
|
196
205
|
// Offline mode: only use custom data
|
|
197
206
|
if (this.offline) {
|
|
198
207
|
const customFile = this.getCustomProviderFile(provider);
|
|
@@ -212,31 +221,31 @@ export class CostClient {
|
|
|
212
221
|
}
|
|
213
222
|
// Built-in provider: fetch from remote (with caching)
|
|
214
223
|
// Check in-memory cache first
|
|
215
|
-
let cached = this.cache.get(
|
|
224
|
+
let cached = this.cache.get(effectiveProvider);
|
|
216
225
|
// If no in-memory cache, try external cache
|
|
217
226
|
if (!cached && this.externalCache) {
|
|
218
|
-
const external = await this.loadFromExternalCache(
|
|
227
|
+
const external = await this.loadFromExternalCache(effectiveProvider);
|
|
219
228
|
if (external) {
|
|
220
229
|
cached = external;
|
|
221
230
|
// Populate in-memory cache from external
|
|
222
|
-
this.cache.set(
|
|
231
|
+
this.cache.set(effectiveProvider, external);
|
|
223
232
|
}
|
|
224
233
|
}
|
|
225
234
|
// If we have cached data from today, use it (don't fetch again)
|
|
226
235
|
if (cached && cached.fetchedDate === today) {
|
|
227
|
-
this.handleDeprecation(cached.data,
|
|
236
|
+
this.handleDeprecation(cached.data, effectiveProvider);
|
|
228
237
|
return this.mergeCustomData(cached.data, provider);
|
|
229
238
|
}
|
|
230
239
|
// Try to fetch fresh data
|
|
231
|
-
const url = `${this.baseUrl}/${
|
|
240
|
+
const url = `${this.baseUrl}/${effectiveProvider}.json`;
|
|
232
241
|
const response = await this.fetchFn(url);
|
|
233
242
|
if (!response.ok) {
|
|
234
243
|
// If fetch fails but we have cached data, use it
|
|
235
244
|
if (cached) {
|
|
236
|
-
this.handleDeprecation(cached.data,
|
|
245
|
+
this.handleDeprecation(cached.data, effectiveProvider);
|
|
237
246
|
return this.mergeCustomData(cached.data, provider);
|
|
238
247
|
}
|
|
239
|
-
throw new Error(`Failed to fetch pricing data for ${
|
|
248
|
+
throw new Error(`Failed to fetch pricing data for ${effectiveProvider}: ${response.status}`);
|
|
240
249
|
}
|
|
241
250
|
const data = (await response.json());
|
|
242
251
|
const daysDiff = daysDifference(today, data.current.date);
|
|
@@ -250,10 +259,10 @@ export class CostClient {
|
|
|
250
259
|
}
|
|
251
260
|
// Cache the data with today's date so we don't fetch again today
|
|
252
261
|
const entry = { data, fetchedDate: today };
|
|
253
|
-
this.cache.set(
|
|
254
|
-
await this.saveToExternalCache(
|
|
262
|
+
this.cache.set(effectiveProvider, entry);
|
|
263
|
+
await this.saveToExternalCache(effectiveProvider, entry);
|
|
255
264
|
// Check for deprecation and warn user
|
|
256
|
-
this.handleDeprecation(data,
|
|
265
|
+
this.handleDeprecation(data, effectiveProvider);
|
|
257
266
|
return this.mergeCustomData(data, provider);
|
|
258
267
|
}
|
|
259
268
|
/**
|
|
@@ -273,7 +282,7 @@ export class CostClient {
|
|
|
273
282
|
* @throws Error if model is not found
|
|
274
283
|
*/
|
|
275
284
|
async getModelPricing(provider, modelId) {
|
|
276
|
-
const file = await this.fetchProvider(provider);
|
|
285
|
+
const file = await this.fetchProvider(provider, modelId);
|
|
277
286
|
const data = this.getEffectiveData(file);
|
|
278
287
|
const pricing = data.models[modelId];
|
|
279
288
|
if (!pricing) {
|
package/dist/npm/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/npm/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,gGAAgG;AAChG,wEAAwE;AACxE,MAAM,gBAAgB,GACpB,8EAA8E,CAAC;AAOjF;;GAEG;AACH,SAAS,UAAU,CAAC,WAAmB,CAAC;IACtC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;IACnD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAEzB;IACA;IACA;IAHlB,YACkB,UAAkB,EAClB,QAAgB,EAChB,QAAgB;QAEhC,KAAK,CACH,+CAA+C,UAAU,4BAA4B,QAAQ,GAAG;YAChG,IAAI,QAAQ,mEAAmE;YAC/E,oEAAoE,CACrE,CAAC;QARc,eAAU,GAAV,UAAU,CAAQ;QAClB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAQ;QAOhC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,UAAU;IACb,OAAO,CAAS;IAChB,OAAO,CAA0B;IACjC,YAAY,CAAS;IACrB,KAAK,GAA8B,IAAI,GAAG,EAAE,CAAC;IAC7C,aAAa,CAAsC;IACnD,OAAO,CAAU;IACjB,eAAe,CAAuC;IACtD,2BAA2B,CAAU;IACrC,aAAa,CAAuD;IACpE,wBAAwB,GAAkB,IAAI,GAAG,EAAE,CAAC;IAE5D,YAAY,UAA6B,EAAE;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,IAAI,KAAK,CAAC;QAChF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC7C,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,QAAkB;QAC1C,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/npm/client.ts"],"names":[],"mappings":"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"}
|