@agentproto/model-catalog 0.11.4 → 0.12.1

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.
Files changed (43) hide show
  1. package/README.md +7 -0
  2. package/dist/access/index.d.ts +3 -3
  3. package/dist/access/index.mjs +4 -4
  4. package/dist/{catalog-BAKSkM-q.d.ts → catalog-bHxCjKZP.d.ts} +404 -231
  5. package/dist/{chunk-TTIJME5T.mjs → chunk-7U7XGVHP.mjs} +12 -2
  6. package/dist/chunk-7U7XGVHP.mjs.map +1 -0
  7. package/dist/{chunk-PD7TZ6PJ.mjs → chunk-ARZ2NGZS.mjs} +4 -4
  8. package/dist/{chunk-PD7TZ6PJ.mjs.map → chunk-ARZ2NGZS.mjs.map} +1 -1
  9. package/dist/{chunk-WDIFBFY5.mjs → chunk-BOCXDO4T.mjs} +240 -155
  10. package/dist/chunk-BOCXDO4T.mjs.map +1 -0
  11. package/dist/{chunk-3YADNIR3.mjs → chunk-DDP4LWNM.mjs} +4 -4
  12. package/dist/{chunk-3YADNIR3.mjs.map → chunk-DDP4LWNM.mjs.map} +1 -1
  13. package/dist/{chunk-3MQVOHXC.mjs → chunk-HKPGUJ6C.mjs} +3 -3
  14. package/dist/{chunk-3MQVOHXC.mjs.map → chunk-HKPGUJ6C.mjs.map} +1 -1
  15. package/dist/{chunk-BTPINTV6.mjs → chunk-HOTSTCXF.mjs} +3 -3
  16. package/dist/{chunk-BTPINTV6.mjs.map → chunk-HOTSTCXF.mjs.map} +1 -1
  17. package/dist/{chunk-N23C5AL6.mjs → chunk-K5FVQ66Z.mjs} +34 -61
  18. package/dist/chunk-K5FVQ66Z.mjs.map +1 -0
  19. package/dist/{chunk-JTWZ2BXT.mjs → chunk-YGKXLIZQ.mjs} +5 -5
  20. package/dist/{chunk-JTWZ2BXT.mjs.map → chunk-YGKXLIZQ.mjs.map} +1 -1
  21. package/dist/{chunk-DR2AOQDW.mjs → chunk-ZFELFXSM.mjs} +3 -3
  22. package/dist/{chunk-DR2AOQDW.mjs.map → chunk-ZFELFXSM.mjs.map} +1 -1
  23. package/dist/cost/index.mjs +6 -6
  24. package/dist/curation/index.d.ts +2 -2
  25. package/dist/curation/index.mjs +6 -6
  26. package/dist/{evaluate-BCFSdYJh.d.ts → evaluate-ChQi1sh7.d.ts} +1 -1
  27. package/dist/{index-BG_DyoXP.d.ts → index-D75ALRM7.d.ts} +1 -1
  28. package/dist/{index-BLuu7OZP.d.ts → index-DigHyBLg.d.ts} +2 -2
  29. package/dist/index.d.ts +5 -5
  30. package/dist/index.mjs +11 -11
  31. package/dist/index.mjs.map +1 -1
  32. package/dist/llm/index.d.ts +1 -1
  33. package/dist/llm/index.mjs +2 -2
  34. package/dist/overlay/index.d.ts +1 -1
  35. package/dist/picker/index.d.ts +4 -4
  36. package/dist/route-identity/index.d.ts +1 -1
  37. package/dist/route-identity/index.mjs +2 -2
  38. package/dist/schema/index.d.ts +21 -0
  39. package/dist/schema/index.mjs +1 -1
  40. package/package.json +1 -1
  41. package/dist/chunk-N23C5AL6.mjs.map +0 -1
  42. package/dist/chunk-TTIJME5T.mjs.map +0 -1
  43. package/dist/chunk-WDIFBFY5.mjs.map +0 -1
@@ -72,6 +72,22 @@ interface LLMPricing {
72
72
  * BOTH sides like `cacheReadMultiplier`.
73
73
  */
74
74
  cacheWriteMultiplier?: number;
75
+ /**
76
+ * Prompt-length price tiers, ascending by `aboveInputTokens`. The flat
77
+ * fields above are the base tier (short prompts); a request whose prompt
78
+ * is LONGER than a tier's `aboveInputTokens` is billed at that tier's
79
+ * rates instead — for ALL of its tokens, output included, not just the
80
+ * part past the threshold. Example: Claude Haiku 5.5 is $0.10/$0.50 up to
81
+ * 100k prompt tokens and $0.50/$2.50 over it.
82
+ *
83
+ * "Prompt length" is the request's whole input: uncached + cache-read +
84
+ * cache-write tokens. Pick the tier with {@link selectPricingTier}; never
85
+ * read `inputPer1M` directly for a model that may carry tiers.
86
+ *
87
+ * Generator-owned: emitted from the source's `min_prompt_tokens`
88
+ * overrides (OpenRouter `pricing.overrides`).
89
+ */
90
+ tiers?: readonly LLMPricingTier[];
75
91
  /**
76
92
  * Router / SDK used to call the model. Same model can be reachable via
77
93
  * multiple providers — `claude-sonnet-4-5` is `provider: "anthropic"`
@@ -115,14 +131,21 @@ interface LLMPricing {
115
131
  * reading a sync diff can tell a first-party price change from a router's
116
132
  * passthrough rate drifting.
117
133
  *
118
- * Currently emitted only by `scripts/catalog-sync/sync-openai.mjs`, where
119
- * the two sources genuinely disagree on some rows:
120
- * - `"openai"` — OpenAI's own published pricing
121
- * (`platform.openai.com/docs/pricing.md`).
122
- * - `"openrouter"` — OpenRouter's passthrough rate, used where OpenAI's
123
- * page does not list the id.
134
+ * Emitted by the native syncs that read the vendor's own pricing page,
135
+ * where that page and OpenRouter genuinely disagree on some rows:
136
+ * - `"openai"` — `platform.openai.com/docs/pricing.md`
137
+ * (`scripts/catalog-sync/sync-openai.mjs`).
138
+ * - `"anthropic"` — `platform.claude.com/docs/en/about-claude/pricing.md`
139
+ * (`sync-anthropic.mjs`).
140
+ * - `"moonshot"` — `platform.kimi.ai/docs/pricing/chat.md`
141
+ * (`sync-moonshot.mjs`).
142
+ * - `"minimax"` — `platform.minimax.io/docs/guides/pricing-paygo.md`
143
+ * (`sync-minimax.mjs`).
144
+ * - `"openrouter"` — OpenRouter's rate, used where the vendor's page
145
+ * does not list the id. For Moonshot that is the price of whichever
146
+ * host OpenRouter routes to, not Moonshot's own.
124
147
  */
125
- priceSource?: "openai" | "openrouter";
148
+ priceSource?: "openai" | "anthropic" | "moonshot" | "minimax" | "openrouter";
126
149
  /**
127
150
  * Which list this row's ID came from. Also generator-owned and
128
151
  * informational. `"openrouter"` marks an id that the provider's own
@@ -134,551 +157,593 @@ interface LLMPricing {
134
157
  */
135
158
  idSource?: "openai" | "openrouter";
136
159
  }
160
+ /**
161
+ * One prompt-length price tier of an {@link LLMPricing}. Applies when the
162
+ * request's prompt is strictly longer than `aboveInputTokens`. Cache
163
+ * multipliers are relative to THIS tier's `inputPer1M`; absent = inherit
164
+ * the base tier's multiplier.
165
+ */
166
+ interface LLMPricingTier {
167
+ aboveInputTokens: number;
168
+ inputPer1M: number;
169
+ outputPer1M: number;
170
+ cacheReadMultiplier?: number;
171
+ cacheWriteMultiplier?: number;
172
+ }
173
+ /** The subset of {@link LLMPricing} {@link selectPricingTier} reads. */
174
+ interface TieredTokenPricing {
175
+ inputPer1M: number;
176
+ outputPer1M: number;
177
+ cacheReadMultiplier?: number;
178
+ cacheWriteMultiplier?: number;
179
+ tiers?: readonly LLMPricingTier[];
180
+ }
181
+ /**
182
+ * Flatten `pricing` to the rates that apply to a request whose prompt is
183
+ * `promptTokens` long (uncached + cache-read + cache-write input). Returns
184
+ * `pricing` unchanged when it has no tiers or the prompt is within the base
185
+ * tier; otherwise a copy with the highest tier whose `aboveInputTokens` the
186
+ * prompt exceeds spread over the base rates.
187
+ */
188
+ declare function selectPricingTier<T extends TieredTokenPricing>(pricing: T, promptTokens: number): T;
137
189
 
138
190
  declare const LLM_PRICING_CATALOG: {
139
191
  "grok-4.20": {
140
192
  readonly inputPer1M: 1.25;
141
193
  readonly outputPer1M: 2.5;
142
- readonly cachedInputPer1M: 0.2;
143
- readonly longContext: {
194
+ readonly cacheReadMultiplier: 0.16;
195
+ readonly tiers: readonly [{
196
+ readonly aboveInputTokens: 200000;
144
197
  readonly inputPer1M: 2.5;
145
198
  readonly outputPer1M: 5;
146
- readonly cachedInputPer1M: 0.4;
147
- readonly thresholdTokens: 200000;
148
- };
199
+ readonly cacheReadMultiplier: 0.16;
200
+ }];
149
201
  readonly vendor: "xai";
150
202
  readonly provider: "xai";
151
203
  };
152
204
  "grok-4.20-0309": {
153
205
  readonly inputPer1M: 1.25;
154
206
  readonly outputPer1M: 2.5;
155
- readonly cachedInputPer1M: 0.2;
156
- readonly longContext: {
207
+ readonly cacheReadMultiplier: 0.16;
208
+ readonly tiers: readonly [{
209
+ readonly aboveInputTokens: 200000;
157
210
  readonly inputPer1M: 2.5;
158
211
  readonly outputPer1M: 5;
159
- readonly cachedInputPer1M: 0.4;
160
- readonly thresholdTokens: 200000;
161
- };
212
+ readonly cacheReadMultiplier: 0.16;
213
+ }];
162
214
  readonly vendor: "xai";
163
215
  readonly provider: "xai";
164
216
  };
165
217
  "grok-4.20-0309-non-reasoning": {
166
218
  readonly inputPer1M: 1.25;
167
219
  readonly outputPer1M: 2.5;
168
- readonly cachedInputPer1M: 0.2;
169
- readonly longContext: {
220
+ readonly cacheReadMultiplier: 0.16;
221
+ readonly tiers: readonly [{
222
+ readonly aboveInputTokens: 200000;
170
223
  readonly inputPer1M: 2.5;
171
224
  readonly outputPer1M: 5;
172
- readonly cachedInputPer1M: 0.4;
173
- readonly thresholdTokens: 200000;
174
- };
225
+ readonly cacheReadMultiplier: 0.16;
226
+ }];
175
227
  readonly vendor: "xai";
176
228
  readonly provider: "xai";
177
229
  };
178
230
  "grok-4.20-0309-reasoning": {
179
231
  readonly inputPer1M: 1.25;
180
232
  readonly outputPer1M: 2.5;
181
- readonly cachedInputPer1M: 0.2;
182
- readonly longContext: {
233
+ readonly cacheReadMultiplier: 0.16;
234
+ readonly tiers: readonly [{
235
+ readonly aboveInputTokens: 200000;
183
236
  readonly inputPer1M: 2.5;
184
237
  readonly outputPer1M: 5;
185
- readonly cachedInputPer1M: 0.4;
186
- readonly thresholdTokens: 200000;
187
- };
238
+ readonly cacheReadMultiplier: 0.16;
239
+ }];
188
240
  readonly vendor: "xai";
189
241
  readonly provider: "xai";
190
242
  };
191
243
  "grok-4.20-beta": {
192
244
  readonly inputPer1M: 1.25;
193
245
  readonly outputPer1M: 2.5;
194
- readonly cachedInputPer1M: 0.2;
195
- readonly longContext: {
246
+ readonly cacheReadMultiplier: 0.16;
247
+ readonly tiers: readonly [{
248
+ readonly aboveInputTokens: 200000;
196
249
  readonly inputPer1M: 2.5;
197
250
  readonly outputPer1M: 5;
198
- readonly cachedInputPer1M: 0.4;
199
- readonly thresholdTokens: 200000;
200
- };
251
+ readonly cacheReadMultiplier: 0.16;
252
+ }];
201
253
  readonly vendor: "xai";
202
254
  readonly provider: "xai";
203
255
  };
204
256
  "grok-4.20-beta-0309": {
205
257
  readonly inputPer1M: 1.25;
206
258
  readonly outputPer1M: 2.5;
207
- readonly cachedInputPer1M: 0.2;
208
- readonly longContext: {
259
+ readonly cacheReadMultiplier: 0.16;
260
+ readonly tiers: readonly [{
261
+ readonly aboveInputTokens: 200000;
209
262
  readonly inputPer1M: 2.5;
210
263
  readonly outputPer1M: 5;
211
- readonly cachedInputPer1M: 0.4;
212
- readonly thresholdTokens: 200000;
213
- };
264
+ readonly cacheReadMultiplier: 0.16;
265
+ }];
214
266
  readonly vendor: "xai";
215
267
  readonly provider: "xai";
216
268
  };
217
269
  "grok-4.20-beta-0309-non-reasoning": {
218
270
  readonly inputPer1M: 1.25;
219
271
  readonly outputPer1M: 2.5;
220
- readonly cachedInputPer1M: 0.2;
221
- readonly longContext: {
272
+ readonly cacheReadMultiplier: 0.16;
273
+ readonly tiers: readonly [{
274
+ readonly aboveInputTokens: 200000;
222
275
  readonly inputPer1M: 2.5;
223
276
  readonly outputPer1M: 5;
224
- readonly cachedInputPer1M: 0.4;
225
- readonly thresholdTokens: 200000;
226
- };
277
+ readonly cacheReadMultiplier: 0.16;
278
+ }];
227
279
  readonly vendor: "xai";
228
280
  readonly provider: "xai";
229
281
  };
230
282
  "grok-4.20-beta-0309-reasoning": {
231
283
  readonly inputPer1M: 1.25;
232
284
  readonly outputPer1M: 2.5;
233
- readonly cachedInputPer1M: 0.2;
234
- readonly longContext: {
285
+ readonly cacheReadMultiplier: 0.16;
286
+ readonly tiers: readonly [{
287
+ readonly aboveInputTokens: 200000;
235
288
  readonly inputPer1M: 2.5;
236
289
  readonly outputPer1M: 5;
237
- readonly cachedInputPer1M: 0.4;
238
- readonly thresholdTokens: 200000;
239
- };
290
+ readonly cacheReadMultiplier: 0.16;
291
+ }];
240
292
  readonly vendor: "xai";
241
293
  readonly provider: "xai";
242
294
  };
243
295
  "grok-4.20-beta-latest": {
244
296
  readonly inputPer1M: 1.25;
245
297
  readonly outputPer1M: 2.5;
246
- readonly cachedInputPer1M: 0.2;
247
- readonly longContext: {
298
+ readonly cacheReadMultiplier: 0.16;
299
+ readonly tiers: readonly [{
300
+ readonly aboveInputTokens: 200000;
248
301
  readonly inputPer1M: 2.5;
249
302
  readonly outputPer1M: 5;
250
- readonly cachedInputPer1M: 0.4;
251
- readonly thresholdTokens: 200000;
252
- };
303
+ readonly cacheReadMultiplier: 0.16;
304
+ }];
253
305
  readonly vendor: "xai";
254
306
  readonly provider: "xai";
255
307
  };
256
308
  "grok-4.20-beta-latest-non-reasoning": {
257
309
  readonly inputPer1M: 1.25;
258
310
  readonly outputPer1M: 2.5;
259
- readonly cachedInputPer1M: 0.2;
260
- readonly longContext: {
311
+ readonly cacheReadMultiplier: 0.16;
312
+ readonly tiers: readonly [{
313
+ readonly aboveInputTokens: 200000;
261
314
  readonly inputPer1M: 2.5;
262
315
  readonly outputPer1M: 5;
263
- readonly cachedInputPer1M: 0.4;
264
- readonly thresholdTokens: 200000;
265
- };
316
+ readonly cacheReadMultiplier: 0.16;
317
+ }];
266
318
  readonly vendor: "xai";
267
319
  readonly provider: "xai";
268
320
  };
269
321
  "grok-4.20-beta-latest-reasoning": {
270
322
  readonly inputPer1M: 1.25;
271
323
  readonly outputPer1M: 2.5;
272
- readonly cachedInputPer1M: 0.2;
273
- readonly longContext: {
324
+ readonly cacheReadMultiplier: 0.16;
325
+ readonly tiers: readonly [{
326
+ readonly aboveInputTokens: 200000;
274
327
  readonly inputPer1M: 2.5;
275
328
  readonly outputPer1M: 5;
276
- readonly cachedInputPer1M: 0.4;
277
- readonly thresholdTokens: 200000;
278
- };
329
+ readonly cacheReadMultiplier: 0.16;
330
+ }];
279
331
  readonly vendor: "xai";
280
332
  readonly provider: "xai";
281
333
  };
282
334
  "grok-4.20-beta-non-reasoning": {
283
335
  readonly inputPer1M: 1.25;
284
336
  readonly outputPer1M: 2.5;
285
- readonly cachedInputPer1M: 0.2;
286
- readonly longContext: {
337
+ readonly cacheReadMultiplier: 0.16;
338
+ readonly tiers: readonly [{
339
+ readonly aboveInputTokens: 200000;
287
340
  readonly inputPer1M: 2.5;
288
341
  readonly outputPer1M: 5;
289
- readonly cachedInputPer1M: 0.4;
290
- readonly thresholdTokens: 200000;
291
- };
342
+ readonly cacheReadMultiplier: 0.16;
343
+ }];
292
344
  readonly vendor: "xai";
293
345
  readonly provider: "xai";
294
346
  };
295
347
  "grok-4.20-beta-reasoning": {
296
348
  readonly inputPer1M: 1.25;
297
349
  readonly outputPer1M: 2.5;
298
- readonly cachedInputPer1M: 0.2;
299
- readonly longContext: {
350
+ readonly cacheReadMultiplier: 0.16;
351
+ readonly tiers: readonly [{
352
+ readonly aboveInputTokens: 200000;
300
353
  readonly inputPer1M: 2.5;
301
354
  readonly outputPer1M: 5;
302
- readonly cachedInputPer1M: 0.4;
303
- readonly thresholdTokens: 200000;
304
- };
355
+ readonly cacheReadMultiplier: 0.16;
356
+ }];
305
357
  readonly vendor: "xai";
306
358
  readonly provider: "xai";
307
359
  };
308
360
  "grok-4.20-experimental-beta-0304": {
309
361
  readonly inputPer1M: 1.25;
310
362
  readonly outputPer1M: 2.5;
311
- readonly cachedInputPer1M: 0.2;
312
- readonly longContext: {
363
+ readonly cacheReadMultiplier: 0.16;
364
+ readonly tiers: readonly [{
365
+ readonly aboveInputTokens: 200000;
313
366
  readonly inputPer1M: 2.5;
314
367
  readonly outputPer1M: 5;
315
- readonly cachedInputPer1M: 0.4;
316
- readonly thresholdTokens: 200000;
317
- };
368
+ readonly cacheReadMultiplier: 0.16;
369
+ }];
318
370
  readonly vendor: "xai";
319
371
  readonly provider: "xai";
320
372
  };
321
373
  "grok-4.20-experimental-beta-0304-non-reasoning": {
322
374
  readonly inputPer1M: 1.25;
323
375
  readonly outputPer1M: 2.5;
324
- readonly cachedInputPer1M: 0.2;
325
- readonly longContext: {
376
+ readonly cacheReadMultiplier: 0.16;
377
+ readonly tiers: readonly [{
378
+ readonly aboveInputTokens: 200000;
326
379
  readonly inputPer1M: 2.5;
327
380
  readonly outputPer1M: 5;
328
- readonly cachedInputPer1M: 0.4;
329
- readonly thresholdTokens: 200000;
330
- };
381
+ readonly cacheReadMultiplier: 0.16;
382
+ }];
331
383
  readonly vendor: "xai";
332
384
  readonly provider: "xai";
333
385
  };
334
386
  "grok-4.20-experimental-beta-0304-reasoning": {
335
387
  readonly inputPer1M: 1.25;
336
388
  readonly outputPer1M: 2.5;
337
- readonly cachedInputPer1M: 0.2;
338
- readonly longContext: {
389
+ readonly cacheReadMultiplier: 0.16;
390
+ readonly tiers: readonly [{
391
+ readonly aboveInputTokens: 200000;
339
392
  readonly inputPer1M: 2.5;
340
393
  readonly outputPer1M: 5;
341
- readonly cachedInputPer1M: 0.4;
342
- readonly thresholdTokens: 200000;
343
- };
394
+ readonly cacheReadMultiplier: 0.16;
395
+ }];
344
396
  readonly vendor: "xai";
345
397
  readonly provider: "xai";
346
398
  };
347
399
  "grok-4.20-experimental-beta-latest": {
348
400
  readonly inputPer1M: 1.25;
349
401
  readonly outputPer1M: 2.5;
350
- readonly cachedInputPer1M: 0.2;
351
- readonly longContext: {
402
+ readonly cacheReadMultiplier: 0.16;
403
+ readonly tiers: readonly [{
404
+ readonly aboveInputTokens: 200000;
352
405
  readonly inputPer1M: 2.5;
353
406
  readonly outputPer1M: 5;
354
- readonly cachedInputPer1M: 0.4;
355
- readonly thresholdTokens: 200000;
356
- };
407
+ readonly cacheReadMultiplier: 0.16;
408
+ }];
357
409
  readonly vendor: "xai";
358
410
  readonly provider: "xai";
359
411
  };
360
412
  "grok-4.20-experimental-beta-non-reasoning-latest": {
361
413
  readonly inputPer1M: 1.25;
362
414
  readonly outputPer1M: 2.5;
363
- readonly cachedInputPer1M: 0.2;
364
- readonly longContext: {
415
+ readonly cacheReadMultiplier: 0.16;
416
+ readonly tiers: readonly [{
417
+ readonly aboveInputTokens: 200000;
365
418
  readonly inputPer1M: 2.5;
366
419
  readonly outputPer1M: 5;
367
- readonly cachedInputPer1M: 0.4;
368
- readonly thresholdTokens: 200000;
369
- };
420
+ readonly cacheReadMultiplier: 0.16;
421
+ }];
370
422
  readonly vendor: "xai";
371
423
  readonly provider: "xai";
372
424
  };
373
425
  "grok-4.20-experimental-beta-reasoning-latest": {
374
426
  readonly inputPer1M: 1.25;
375
427
  readonly outputPer1M: 2.5;
376
- readonly cachedInputPer1M: 0.2;
377
- readonly longContext: {
428
+ readonly cacheReadMultiplier: 0.16;
429
+ readonly tiers: readonly [{
430
+ readonly aboveInputTokens: 200000;
378
431
  readonly inputPer1M: 2.5;
379
432
  readonly outputPer1M: 5;
380
- readonly cachedInputPer1M: 0.4;
381
- readonly thresholdTokens: 200000;
382
- };
433
+ readonly cacheReadMultiplier: 0.16;
434
+ }];
383
435
  readonly vendor: "xai";
384
436
  readonly provider: "xai";
385
437
  };
386
438
  "grok-4.20-multi-agent": {
387
439
  readonly inputPer1M: 1.25;
388
440
  readonly outputPer1M: 2.5;
389
- readonly cachedInputPer1M: 0.2;
390
- readonly longContext: {
441
+ readonly cacheReadMultiplier: 0.16;
442
+ readonly tiers: readonly [{
443
+ readonly aboveInputTokens: 200000;
391
444
  readonly inputPer1M: 2.5;
392
445
  readonly outputPer1M: 5;
393
- readonly cachedInputPer1M: 0.4;
394
- readonly thresholdTokens: 200000;
395
- };
446
+ readonly cacheReadMultiplier: 0.16;
447
+ }];
396
448
  readonly vendor: "xai";
397
449
  readonly provider: "xai";
398
450
  };
399
451
  "grok-4.20-multi-agent-0309": {
400
452
  readonly inputPer1M: 1.25;
401
453
  readonly outputPer1M: 2.5;
402
- readonly cachedInputPer1M: 0.2;
403
- readonly longContext: {
454
+ readonly cacheReadMultiplier: 0.16;
455
+ readonly tiers: readonly [{
456
+ readonly aboveInputTokens: 200000;
404
457
  readonly inputPer1M: 2.5;
405
458
  readonly outputPer1M: 5;
406
- readonly cachedInputPer1M: 0.4;
407
- readonly thresholdTokens: 200000;
408
- };
459
+ readonly cacheReadMultiplier: 0.16;
460
+ }];
409
461
  readonly vendor: "xai";
410
462
  readonly provider: "xai";
411
463
  };
412
464
  "grok-4.20-multi-agent-beta-0309": {
413
465
  readonly inputPer1M: 1.25;
414
466
  readonly outputPer1M: 2.5;
415
- readonly cachedInputPer1M: 0.2;
416
- readonly longContext: {
467
+ readonly cacheReadMultiplier: 0.16;
468
+ readonly tiers: readonly [{
469
+ readonly aboveInputTokens: 200000;
417
470
  readonly inputPer1M: 2.5;
418
471
  readonly outputPer1M: 5;
419
- readonly cachedInputPer1M: 0.4;
420
- readonly thresholdTokens: 200000;
421
- };
472
+ readonly cacheReadMultiplier: 0.16;
473
+ }];
422
474
  readonly vendor: "xai";
423
475
  readonly provider: "xai";
424
476
  };
425
477
  "grok-4.20-multi-agent-beta-latest": {
426
478
  readonly inputPer1M: 1.25;
427
479
  readonly outputPer1M: 2.5;
428
- readonly cachedInputPer1M: 0.2;
429
- readonly longContext: {
480
+ readonly cacheReadMultiplier: 0.16;
481
+ readonly tiers: readonly [{
482
+ readonly aboveInputTokens: 200000;
430
483
  readonly inputPer1M: 2.5;
431
484
  readonly outputPer1M: 5;
432
- readonly cachedInputPer1M: 0.4;
433
- readonly thresholdTokens: 200000;
434
- };
485
+ readonly cacheReadMultiplier: 0.16;
486
+ }];
435
487
  readonly vendor: "xai";
436
488
  readonly provider: "xai";
437
489
  };
438
490
  "grok-4.20-multi-agent-experimental-beta-0304": {
439
491
  readonly inputPer1M: 1.25;
440
492
  readonly outputPer1M: 2.5;
441
- readonly cachedInputPer1M: 0.2;
442
- readonly longContext: {
493
+ readonly cacheReadMultiplier: 0.16;
494
+ readonly tiers: readonly [{
495
+ readonly aboveInputTokens: 200000;
443
496
  readonly inputPer1M: 2.5;
444
497
  readonly outputPer1M: 5;
445
- readonly cachedInputPer1M: 0.4;
446
- readonly thresholdTokens: 200000;
447
- };
498
+ readonly cacheReadMultiplier: 0.16;
499
+ }];
448
500
  readonly vendor: "xai";
449
501
  readonly provider: "xai";
450
502
  };
451
503
  "grok-4.20-multi-agent-experimental-beta-latest": {
452
504
  readonly inputPer1M: 1.25;
453
505
  readonly outputPer1M: 2.5;
454
- readonly cachedInputPer1M: 0.2;
455
- readonly longContext: {
506
+ readonly cacheReadMultiplier: 0.16;
507
+ readonly tiers: readonly [{
508
+ readonly aboveInputTokens: 200000;
456
509
  readonly inputPer1M: 2.5;
457
510
  readonly outputPer1M: 5;
458
- readonly cachedInputPer1M: 0.4;
459
- readonly thresholdTokens: 200000;
460
- };
511
+ readonly cacheReadMultiplier: 0.16;
512
+ }];
461
513
  readonly vendor: "xai";
462
514
  readonly provider: "xai";
463
515
  };
464
516
  "grok-4.20-multi-agent-latest": {
465
517
  readonly inputPer1M: 1.25;
466
518
  readonly outputPer1M: 2.5;
467
- readonly cachedInputPer1M: 0.2;
468
- readonly longContext: {
519
+ readonly cacheReadMultiplier: 0.16;
520
+ readonly tiers: readonly [{
521
+ readonly aboveInputTokens: 200000;
469
522
  readonly inputPer1M: 2.5;
470
523
  readonly outputPer1M: 5;
471
- readonly cachedInputPer1M: 0.4;
472
- readonly thresholdTokens: 200000;
473
- };
524
+ readonly cacheReadMultiplier: 0.16;
525
+ }];
474
526
  readonly vendor: "xai";
475
527
  readonly provider: "xai";
476
528
  };
477
529
  "grok-4.20-non-reasoning": {
478
530
  readonly inputPer1M: 1.25;
479
531
  readonly outputPer1M: 2.5;
480
- readonly cachedInputPer1M: 0.2;
481
- readonly longContext: {
532
+ readonly cacheReadMultiplier: 0.16;
533
+ readonly tiers: readonly [{
534
+ readonly aboveInputTokens: 200000;
482
535
  readonly inputPer1M: 2.5;
483
536
  readonly outputPer1M: 5;
484
- readonly cachedInputPer1M: 0.4;
485
- readonly thresholdTokens: 200000;
486
- };
537
+ readonly cacheReadMultiplier: 0.16;
538
+ }];
487
539
  readonly vendor: "xai";
488
540
  readonly provider: "xai";
489
541
  };
490
542
  "grok-4.20-non-reasoning-gv2": {
491
543
  readonly inputPer1M: 1.25;
492
544
  readonly outputPer1M: 2.5;
493
- readonly cachedInputPer1M: 0.2;
494
- readonly longContext: {
545
+ readonly cacheReadMultiplier: 0.16;
546
+ readonly tiers: readonly [{
547
+ readonly aboveInputTokens: 200000;
495
548
  readonly inputPer1M: 2.5;
496
549
  readonly outputPer1M: 5;
497
- readonly cachedInputPer1M: 0.4;
498
- readonly thresholdTokens: 200000;
499
- };
550
+ readonly cacheReadMultiplier: 0.16;
551
+ }];
500
552
  readonly vendor: "xai";
501
553
  readonly provider: "xai";
502
554
  };
503
555
  "grok-4.20-non-reasoning-latest": {
504
556
  readonly inputPer1M: 1.25;
505
557
  readonly outputPer1M: 2.5;
506
- readonly cachedInputPer1M: 0.2;
507
- readonly longContext: {
558
+ readonly cacheReadMultiplier: 0.16;
559
+ readonly tiers: readonly [{
560
+ readonly aboveInputTokens: 200000;
508
561
  readonly inputPer1M: 2.5;
509
562
  readonly outputPer1M: 5;
510
- readonly cachedInputPer1M: 0.4;
511
- readonly thresholdTokens: 200000;
512
- };
563
+ readonly cacheReadMultiplier: 0.16;
564
+ }];
513
565
  readonly vendor: "xai";
514
566
  readonly provider: "xai";
515
567
  };
516
568
  "grok-4.20-reasoning": {
517
569
  readonly inputPer1M: 1.25;
518
570
  readonly outputPer1M: 2.5;
519
- readonly cachedInputPer1M: 0.2;
520
- readonly longContext: {
571
+ readonly cacheReadMultiplier: 0.16;
572
+ readonly tiers: readonly [{
573
+ readonly aboveInputTokens: 200000;
521
574
  readonly inputPer1M: 2.5;
522
575
  readonly outputPer1M: 5;
523
- readonly cachedInputPer1M: 0.4;
524
- readonly thresholdTokens: 200000;
525
- };
576
+ readonly cacheReadMultiplier: 0.16;
577
+ }];
526
578
  readonly vendor: "xai";
527
579
  readonly provider: "xai";
528
580
  };
529
581
  "grok-4.20-reasoning-gv2": {
530
582
  readonly inputPer1M: 1.25;
531
583
  readonly outputPer1M: 2.5;
532
- readonly cachedInputPer1M: 0.2;
533
- readonly longContext: {
584
+ readonly cacheReadMultiplier: 0.16;
585
+ readonly tiers: readonly [{
586
+ readonly aboveInputTokens: 200000;
534
587
  readonly inputPer1M: 2.5;
535
588
  readonly outputPer1M: 5;
536
- readonly cachedInputPer1M: 0.4;
537
- readonly thresholdTokens: 200000;
538
- };
589
+ readonly cacheReadMultiplier: 0.16;
590
+ }];
539
591
  readonly vendor: "xai";
540
592
  readonly provider: "xai";
541
593
  };
542
594
  "grok-4.20-reasoning-latest": {
543
595
  readonly inputPer1M: 1.25;
544
596
  readonly outputPer1M: 2.5;
545
- readonly cachedInputPer1M: 0.2;
546
- readonly longContext: {
597
+ readonly cacheReadMultiplier: 0.16;
598
+ readonly tiers: readonly [{
599
+ readonly aboveInputTokens: 200000;
547
600
  readonly inputPer1M: 2.5;
548
601
  readonly outputPer1M: 5;
549
- readonly cachedInputPer1M: 0.4;
550
- readonly thresholdTokens: 200000;
551
- };
602
+ readonly cacheReadMultiplier: 0.16;
603
+ }];
552
604
  readonly vendor: "xai";
553
605
  readonly provider: "xai";
554
606
  };
555
607
  "grok-4.3": {
556
608
  readonly inputPer1M: 1.25;
557
609
  readonly outputPer1M: 2.5;
558
- readonly cachedInputPer1M: 0.2;
559
- readonly longContext: {
610
+ readonly cacheReadMultiplier: 0.16;
611
+ readonly tiers: readonly [{
612
+ readonly aboveInputTokens: 200000;
560
613
  readonly inputPer1M: 2.5;
561
614
  readonly outputPer1M: 5;
562
- readonly cachedInputPer1M: 0.4;
563
- readonly thresholdTokens: 200000;
564
- };
615
+ readonly cacheReadMultiplier: 0.16;
616
+ }];
565
617
  readonly vendor: "xai";
566
618
  readonly provider: "xai";
567
619
  };
568
620
  "grok-4.3-latest": {
569
621
  readonly inputPer1M: 1.25;
570
622
  readonly outputPer1M: 2.5;
571
- readonly cachedInputPer1M: 0.2;
572
- readonly longContext: {
623
+ readonly cacheReadMultiplier: 0.16;
624
+ readonly tiers: readonly [{
625
+ readonly aboveInputTokens: 200000;
573
626
  readonly inputPer1M: 2.5;
574
627
  readonly outputPer1M: 5;
575
- readonly cachedInputPer1M: 0.4;
576
- readonly thresholdTokens: 200000;
577
- };
628
+ readonly cacheReadMultiplier: 0.16;
629
+ }];
578
630
  readonly vendor: "xai";
579
631
  readonly provider: "xai";
580
632
  };
581
633
  "grok-4.5": {
582
634
  readonly inputPer1M: 2;
583
635
  readonly outputPer1M: 6;
584
- readonly cachedInputPer1M: 0.3;
585
- readonly longContext: {
636
+ readonly cacheReadMultiplier: 0.15;
637
+ readonly tiers: readonly [{
638
+ readonly aboveInputTokens: 200000;
586
639
  readonly inputPer1M: 4;
587
640
  readonly outputPer1M: 12;
588
- readonly cachedInputPer1M: 0.6;
589
- readonly thresholdTokens: 200000;
590
- };
641
+ readonly cacheReadMultiplier: 0.15;
642
+ }];
591
643
  readonly vendor: "xai";
592
644
  readonly provider: "xai";
593
645
  };
594
646
  "grok-4.5-latest": {
595
647
  readonly inputPer1M: 2;
596
648
  readonly outputPer1M: 6;
597
- readonly cachedInputPer1M: 0.3;
598
- readonly longContext: {
649
+ readonly cacheReadMultiplier: 0.15;
650
+ readonly tiers: readonly [{
651
+ readonly aboveInputTokens: 200000;
599
652
  readonly inputPer1M: 4;
600
653
  readonly outputPer1M: 12;
601
- readonly cachedInputPer1M: 0.6;
602
- readonly thresholdTokens: 200000;
603
- };
654
+ readonly cacheReadMultiplier: 0.15;
655
+ }];
604
656
  readonly vendor: "xai";
605
657
  readonly provider: "xai";
606
658
  };
607
659
  "grok-4.6": {
608
660
  readonly inputPer1M: 2;
609
661
  readonly outputPer1M: 6;
610
- readonly cachedInputPer1M: 0.5;
611
- readonly longContext: {
662
+ readonly cacheReadMultiplier: 0.25;
663
+ readonly tiers: readonly [{
664
+ readonly aboveInputTokens: 200000;
665
+ readonly inputPer1M: 4;
666
+ readonly outputPer1M: 12;
667
+ readonly cacheReadMultiplier: 0.25;
668
+ }];
669
+ readonly vendor: "xai";
670
+ readonly provider: "xai";
671
+ };
672
+ "grok-4.7": {
673
+ readonly inputPer1M: 2;
674
+ readonly outputPer1M: 6;
675
+ readonly cacheReadMultiplier: 0.25;
676
+ readonly tiers: readonly [{
677
+ readonly aboveInputTokens: 200000;
612
678
  readonly inputPer1M: 4;
613
679
  readonly outputPer1M: 12;
614
- readonly cachedInputPer1M: 1;
615
- readonly thresholdTokens: 200000;
616
- };
680
+ readonly cacheReadMultiplier: 0.25;
681
+ }];
617
682
  readonly vendor: "xai";
618
683
  readonly provider: "xai";
619
684
  };
620
685
  "grok-build-0.1": {
621
686
  readonly inputPer1M: 1;
622
687
  readonly outputPer1M: 2;
623
- readonly cachedInputPer1M: 0.2;
624
- readonly longContext: {
688
+ readonly cacheReadMultiplier: 0.2;
689
+ readonly tiers: readonly [{
690
+ readonly aboveInputTokens: 200000;
625
691
  readonly inputPer1M: 2;
626
692
  readonly outputPer1M: 4;
627
- readonly cachedInputPer1M: 0.4;
628
- readonly thresholdTokens: 200000;
629
- };
693
+ readonly cacheReadMultiplier: 0.2;
694
+ }];
630
695
  readonly vendor: "xai";
631
696
  readonly provider: "xai";
632
697
  };
633
698
  "grok-build-latest": {
634
699
  readonly inputPer1M: 2;
635
700
  readonly outputPer1M: 6;
636
- readonly cachedInputPer1M: 0.3;
637
- readonly longContext: {
701
+ readonly cacheReadMultiplier: 0.15;
702
+ readonly tiers: readonly [{
703
+ readonly aboveInputTokens: 200000;
638
704
  readonly inputPer1M: 4;
639
705
  readonly outputPer1M: 12;
640
- readonly cachedInputPer1M: 0.6;
641
- readonly thresholdTokens: 200000;
642
- };
706
+ readonly cacheReadMultiplier: 0.15;
707
+ }];
643
708
  readonly vendor: "xai";
644
709
  readonly provider: "xai";
645
710
  };
646
711
  "grok-code-fast": {
647
712
  readonly inputPer1M: 1;
648
713
  readonly outputPer1M: 2;
649
- readonly cachedInputPer1M: 0.2;
650
- readonly longContext: {
714
+ readonly cacheReadMultiplier: 0.2;
715
+ readonly tiers: readonly [{
716
+ readonly aboveInputTokens: 200000;
651
717
  readonly inputPer1M: 2;
652
718
  readonly outputPer1M: 4;
653
- readonly cachedInputPer1M: 0.4;
654
- readonly thresholdTokens: 200000;
655
- };
719
+ readonly cacheReadMultiplier: 0.2;
720
+ }];
656
721
  readonly vendor: "xai";
657
722
  readonly provider: "xai";
658
723
  };
659
724
  "grok-code-fast-1": {
660
725
  readonly inputPer1M: 1;
661
726
  readonly outputPer1M: 2;
662
- readonly cachedInputPer1M: 0.2;
663
- readonly longContext: {
727
+ readonly cacheReadMultiplier: 0.2;
728
+ readonly tiers: readonly [{
729
+ readonly aboveInputTokens: 200000;
664
730
  readonly inputPer1M: 2;
665
731
  readonly outputPer1M: 4;
666
- readonly cachedInputPer1M: 0.4;
667
- readonly thresholdTokens: 200000;
668
- };
732
+ readonly cacheReadMultiplier: 0.2;
733
+ }];
669
734
  readonly vendor: "xai";
670
735
  readonly provider: "xai";
671
736
  };
672
737
  "grok-code-fast-1-0825": {
673
738
  readonly inputPer1M: 1;
674
739
  readonly outputPer1M: 2;
675
- readonly cachedInputPer1M: 0.2;
676
- readonly longContext: {
740
+ readonly cacheReadMultiplier: 0.2;
741
+ readonly tiers: readonly [{
742
+ readonly aboveInputTokens: 200000;
677
743
  readonly inputPer1M: 2;
678
744
  readonly outputPer1M: 4;
679
- readonly cachedInputPer1M: 0.4;
680
- readonly thresholdTokens: 200000;
681
- };
745
+ readonly cacheReadMultiplier: 0.2;
746
+ }];
682
747
  readonly vendor: "xai";
683
748
  readonly provider: "xai";
684
749
  };
@@ -686,12 +751,16 @@ declare const LLM_PRICING_CATALOG: {
686
751
  readonly inputPer1M: 0.3;
687
752
  readonly outputPer1M: 1.2;
688
753
  readonly cacheReadMultiplier: 0.1;
754
+ readonly priceSource: "openrouter";
689
755
  readonly vendor: "minimax";
690
756
  readonly provider: "minimax";
691
757
  };
692
758
  "MiniMax-M2": {
693
759
  readonly inputPer1M: 0.3;
694
760
  readonly outputPer1M: 1.2;
761
+ readonly cacheReadMultiplier: 0.1;
762
+ readonly cacheWriteMultiplier: 1.25;
763
+ readonly priceSource: "minimax";
695
764
  readonly vendor: "minimax";
696
765
  readonly provider: "minimax";
697
766
  };
@@ -699,20 +768,67 @@ declare const LLM_PRICING_CATALOG: {
699
768
  readonly inputPer1M: 0.3;
700
769
  readonly outputPer1M: 1.2;
701
770
  readonly cacheReadMultiplier: 0.1;
771
+ readonly cacheWriteMultiplier: 1.25;
772
+ readonly priceSource: "minimax";
773
+ readonly vendor: "minimax";
774
+ readonly provider: "minimax";
775
+ };
776
+ "MiniMax-M2.1-highspeed": {
777
+ readonly inputPer1M: 0.6;
778
+ readonly outputPer1M: 2.4;
779
+ readonly cacheReadMultiplier: 0.05;
780
+ readonly cacheWriteMultiplier: 0.625;
781
+ readonly priceSource: "minimax";
702
782
  readonly vendor: "minimax";
703
783
  readonly provider: "minimax";
704
784
  };
705
785
  "MiniMax-M2.5": {
706
- readonly inputPer1M: 0.27;
707
- readonly outputPer1M: 1.08;
786
+ readonly inputPer1M: 0.3;
787
+ readonly outputPer1M: 1.2;
708
788
  readonly cacheReadMultiplier: 0.1;
789
+ readonly cacheWriteMultiplier: 1.25;
790
+ readonly priceSource: "minimax";
791
+ readonly vendor: "minimax";
792
+ readonly provider: "minimax";
793
+ };
794
+ "MiniMax-M2.5-highspeed": {
795
+ readonly inputPer1M: 0.6;
796
+ readonly outputPer1M: 2.4;
797
+ readonly cacheReadMultiplier: 0.05;
798
+ readonly cacheWriteMultiplier: 0.625;
799
+ readonly priceSource: "minimax";
709
800
  readonly vendor: "minimax";
710
801
  readonly provider: "minimax";
711
802
  };
712
803
  "MiniMax-M2.7": {
713
- readonly inputPer1M: 0.21;
714
- readonly outputPer1M: 0.84;
804
+ readonly inputPer1M: 0.3;
805
+ readonly outputPer1M: 1.2;
806
+ readonly cacheReadMultiplier: 0.2;
807
+ readonly cacheWriteMultiplier: 1.25;
808
+ readonly priceSource: "minimax";
809
+ readonly vendor: "minimax";
810
+ readonly provider: "minimax";
811
+ };
812
+ "MiniMax-M2.7-highspeed": {
813
+ readonly inputPer1M: 0.6;
814
+ readonly outputPer1M: 2.4;
815
+ readonly cacheReadMultiplier: 0.1;
816
+ readonly cacheWriteMultiplier: 0.625;
817
+ readonly priceSource: "minimax";
818
+ readonly vendor: "minimax";
819
+ readonly provider: "minimax";
820
+ };
821
+ "MiniMax-M3": {
822
+ readonly inputPer1M: 0.3;
823
+ readonly outputPer1M: 1.2;
715
824
  readonly cacheReadMultiplier: 0.2;
825
+ readonly tiers: readonly [{
826
+ readonly aboveInputTokens: 512000;
827
+ readonly inputPer1M: 0.6;
828
+ readonly outputPer1M: 2.4;
829
+ readonly cacheReadMultiplier: 0.2;
830
+ }];
831
+ readonly priceSource: "minimax";
716
832
  readonly vendor: "minimax";
717
833
  readonly provider: "minimax";
718
834
  };
@@ -1635,6 +1751,12 @@ declare const LLM_PRICING_CATALOG: {
1635
1751
  readonly inputPer1M: 1.25;
1636
1752
  readonly outputPer1M: 10;
1637
1753
  readonly cacheReadMultiplier: 0.1;
1754
+ readonly tiers: readonly [{
1755
+ readonly aboveInputTokens: 200000;
1756
+ readonly inputPer1M: 2.5;
1757
+ readonly outputPer1M: 15;
1758
+ readonly cacheReadMultiplier: 0.1;
1759
+ }];
1638
1760
  readonly vendor: "google";
1639
1761
  readonly provider: "google";
1640
1762
  };
@@ -1656,6 +1778,12 @@ declare const LLM_PRICING_CATALOG: {
1656
1778
  readonly inputPer1M: 2;
1657
1779
  readonly outputPer1M: 12;
1658
1780
  readonly cacheReadMultiplier: 0.1;
1781
+ readonly tiers: readonly [{
1782
+ readonly aboveInputTokens: 200000;
1783
+ readonly inputPer1M: 4;
1784
+ readonly outputPer1M: 18;
1785
+ readonly cacheReadMultiplier: 0.1;
1786
+ }];
1659
1787
  readonly vendor: "google";
1660
1788
  readonly provider: "google";
1661
1789
  };
@@ -1671,6 +1799,7 @@ declare const LLM_PRICING_CATALOG: {
1671
1799
  readonly outputPer1M: 50;
1672
1800
  readonly cacheReadMultiplier: 0.1;
1673
1801
  readonly cacheWriteMultiplier: 1.25;
1802
+ readonly priceSource: "anthropic";
1674
1803
  readonly vendor: "anthropic";
1675
1804
  readonly provider: "anthropic";
1676
1805
  };
@@ -1679,6 +1808,7 @@ declare const LLM_PRICING_CATALOG: {
1679
1808
  readonly outputPer1M: 50;
1680
1809
  readonly cacheReadMultiplier: 0.025;
1681
1810
  readonly cacheWriteMultiplier: 1.25;
1811
+ readonly priceSource: "anthropic";
1682
1812
  readonly vendor: "anthropic";
1683
1813
  readonly provider: "anthropic";
1684
1814
  };
@@ -1687,6 +1817,7 @@ declare const LLM_PRICING_CATALOG: {
1687
1817
  readonly outputPer1M: 5;
1688
1818
  readonly cacheReadMultiplier: 0.1;
1689
1819
  readonly cacheWriteMultiplier: 1.25;
1820
+ readonly priceSource: "anthropic";
1690
1821
  readonly vendor: "anthropic";
1691
1822
  readonly provider: "anthropic";
1692
1823
  };
@@ -1695,6 +1826,23 @@ declare const LLM_PRICING_CATALOG: {
1695
1826
  readonly outputPer1M: 5;
1696
1827
  readonly cacheReadMultiplier: 0.1;
1697
1828
  readonly cacheWriteMultiplier: 1.25;
1829
+ readonly priceSource: "anthropic";
1830
+ readonly vendor: "anthropic";
1831
+ readonly provider: "anthropic";
1832
+ };
1833
+ "claude-haiku-5-5": {
1834
+ readonly inputPer1M: 0.1;
1835
+ readonly outputPer1M: 0.5;
1836
+ readonly cacheReadMultiplier: 0.1;
1837
+ readonly cacheWriteMultiplier: 1.25;
1838
+ readonly tiers: readonly [{
1839
+ readonly aboveInputTokens: 100000;
1840
+ readonly inputPer1M: 0.5;
1841
+ readonly outputPer1M: 2.5;
1842
+ readonly cacheReadMultiplier: 0.1;
1843
+ readonly cacheWriteMultiplier: 1.25;
1844
+ }];
1845
+ readonly priceSource: "anthropic";
1698
1846
  readonly vendor: "anthropic";
1699
1847
  readonly provider: "anthropic";
1700
1848
  };
@@ -1703,6 +1851,7 @@ declare const LLM_PRICING_CATALOG: {
1703
1851
  readonly outputPer1M: 25;
1704
1852
  readonly cacheReadMultiplier: 0.1;
1705
1853
  readonly cacheWriteMultiplier: 1.25;
1854
+ readonly priceSource: "anthropic";
1706
1855
  readonly vendor: "anthropic";
1707
1856
  readonly provider: "anthropic";
1708
1857
  };
@@ -1711,6 +1860,7 @@ declare const LLM_PRICING_CATALOG: {
1711
1860
  readonly outputPer1M: 25;
1712
1861
  readonly cacheReadMultiplier: 0.1;
1713
1862
  readonly cacheWriteMultiplier: 1.25;
1863
+ readonly priceSource: "anthropic";
1714
1864
  readonly vendor: "anthropic";
1715
1865
  readonly provider: "anthropic";
1716
1866
  };
@@ -1719,6 +1869,7 @@ declare const LLM_PRICING_CATALOG: {
1719
1869
  readonly outputPer1M: 25;
1720
1870
  readonly cacheReadMultiplier: 0.1;
1721
1871
  readonly cacheWriteMultiplier: 1.25;
1872
+ readonly priceSource: "anthropic";
1722
1873
  readonly vendor: "anthropic";
1723
1874
  readonly provider: "anthropic";
1724
1875
  };
@@ -1727,6 +1878,7 @@ declare const LLM_PRICING_CATALOG: {
1727
1878
  readonly outputPer1M: 25;
1728
1879
  readonly cacheReadMultiplier: 0.1;
1729
1880
  readonly cacheWriteMultiplier: 1.25;
1881
+ readonly priceSource: "anthropic";
1730
1882
  readonly vendor: "anthropic";
1731
1883
  readonly provider: "anthropic";
1732
1884
  };
@@ -1735,6 +1887,7 @@ declare const LLM_PRICING_CATALOG: {
1735
1887
  readonly outputPer1M: 25;
1736
1888
  readonly cacheReadMultiplier: 0.1;
1737
1889
  readonly cacheWriteMultiplier: 1.25;
1890
+ readonly priceSource: "anthropic";
1738
1891
  readonly vendor: "anthropic";
1739
1892
  readonly provider: "anthropic";
1740
1893
  };
@@ -1743,6 +1896,7 @@ declare const LLM_PRICING_CATALOG: {
1743
1896
  readonly outputPer1M: 25;
1744
1897
  readonly cacheReadMultiplier: 0.1;
1745
1898
  readonly cacheWriteMultiplier: 1.25;
1899
+ readonly priceSource: "anthropic";
1746
1900
  readonly vendor: "anthropic";
1747
1901
  readonly provider: "anthropic";
1748
1902
  };
@@ -1751,6 +1905,7 @@ declare const LLM_PRICING_CATALOG: {
1751
1905
  readonly outputPer1M: 20;
1752
1906
  readonly cacheReadMultiplier: 0.05;
1753
1907
  readonly cacheWriteMultiplier: 1.25;
1908
+ readonly priceSource: "anthropic";
1754
1909
  readonly vendor: "anthropic";
1755
1910
  readonly provider: "anthropic";
1756
1911
  };
@@ -1759,6 +1914,7 @@ declare const LLM_PRICING_CATALOG: {
1759
1914
  readonly outputPer1M: 15;
1760
1915
  readonly cacheReadMultiplier: 0.1;
1761
1916
  readonly cacheWriteMultiplier: 1.25;
1917
+ readonly priceSource: "anthropic";
1762
1918
  readonly vendor: "anthropic";
1763
1919
  readonly provider: "anthropic";
1764
1920
  };
@@ -1767,6 +1923,7 @@ declare const LLM_PRICING_CATALOG: {
1767
1923
  readonly outputPer1M: 15;
1768
1924
  readonly cacheReadMultiplier: 0.1;
1769
1925
  readonly cacheWriteMultiplier: 1.25;
1926
+ readonly priceSource: "anthropic";
1770
1927
  readonly vendor: "anthropic";
1771
1928
  readonly provider: "anthropic";
1772
1929
  };
@@ -1775,6 +1932,7 @@ declare const LLM_PRICING_CATALOG: {
1775
1932
  readonly outputPer1M: 15;
1776
1933
  readonly cacheReadMultiplier: 0.1;
1777
1934
  readonly cacheWriteMultiplier: 1.25;
1935
+ readonly priceSource: "anthropic";
1778
1936
  readonly vendor: "anthropic";
1779
1937
  readonly provider: "anthropic";
1780
1938
  };
@@ -1783,35 +1941,49 @@ declare const LLM_PRICING_CATALOG: {
1783
1941
  readonly outputPer1M: 10;
1784
1942
  readonly cacheReadMultiplier: 0.1;
1785
1943
  readonly cacheWriteMultiplier: 1.25;
1944
+ readonly priceSource: "anthropic";
1786
1945
  readonly vendor: "anthropic";
1787
1946
  readonly provider: "anthropic";
1788
1947
  };
1789
1948
  "claude-sonnet-5-5": {
1790
1949
  readonly inputPer1M: 2;
1791
1950
  readonly outputPer1M: 10;
1792
- readonly cacheReadMultiplier: 0.1;
1951
+ readonly cacheReadMultiplier: 0.05;
1793
1952
  readonly cacheWriteMultiplier: 1.25;
1953
+ readonly priceSource: "anthropic";
1794
1954
  readonly vendor: "anthropic";
1795
1955
  readonly provider: "anthropic";
1796
1956
  };
1797
1957
  "kimi-k2.6": {
1798
1958
  readonly inputPer1M: 0.95;
1799
1959
  readonly outputPer1M: 4;
1800
- readonly cacheReadMultiplier: 0.1684;
1960
+ readonly cacheReadMultiplier: 0.168421;
1961
+ readonly priceSource: "moonshot";
1801
1962
  readonly vendor: "moonshot";
1802
1963
  readonly provider: "moonshot";
1803
1964
  };
1804
1965
  "kimi-k2.7-code": {
1805
- readonly inputPer1M: 0.6712;
1806
- readonly outputPer1M: 3.35;
1807
- readonly cacheReadMultiplier: 0.2682;
1966
+ readonly inputPer1M: 0.95;
1967
+ readonly outputPer1M: 4;
1968
+ readonly cacheReadMultiplier: 0.2;
1969
+ readonly priceSource: "moonshot";
1970
+ readonly vendor: "moonshot";
1971
+ readonly provider: "moonshot";
1972
+ };
1973
+ "kimi-k2.7-code-highspeed": {
1974
+ readonly inputPer1M: 1.9;
1975
+ readonly outputPer1M: 8;
1976
+ readonly cacheReadMultiplier: 0.2;
1977
+ readonly priceSource: "moonshot";
1808
1978
  readonly vendor: "moonshot";
1809
1979
  readonly provider: "moonshot";
1810
1980
  };
1811
1981
  "kimi-k3": {
1812
- readonly inputPer1M: 0.83;
1813
- readonly outputPer1M: 14;
1814
- readonly cacheReadMultiplier: 0.3253;
1982
+ readonly inputPer1M: 3;
1983
+ readonly outputPer1M: 15;
1984
+ readonly cacheReadMultiplier: 0.1;
1985
+ readonly cacheWriteMultiplier: 1;
1986
+ readonly priceSource: "moonshot";
1815
1987
  readonly vendor: "moonshot";
1816
1988
  readonly provider: "moonshot";
1817
1989
  };
@@ -2114,7 +2286,8 @@ interface LLMCreditCostResult {
2114
2286
  cacheWriteCredits: number;
2115
2287
  /** Production cost in USD (true provider cost, with cache multipliers applied). */
2116
2288
  productionCost: number;
2117
- /** Model pricing used */
2289
+ /** Model pricing used — already flattened to the request's prompt-length
2290
+ * tier (see `selectPricingTier`), so its rates are the ones billed. */
2118
2291
  pricing: LLMPricing;
2119
2292
  /** Whether fallback pricing was used */
2120
2293
  isFallback: boolean;
@@ -2198,4 +2371,4 @@ interface CacheStats {
2198
2371
  */
2199
2372
  declare function getCacheStats(modelId: string, usage: LLMUsageBreakdown, opts?: CalculateLLMCreditCostOptions): CacheStats;
2200
2373
 
2201
- export { type CacheStats as C, DEFAULT_PRICING as D, type KnownLlmId as K, type LLMPricing as L, MODEL_ALIASES as M, type LLMCreditCostResult as a, type LLMUsageBreakdown as b, LLM_PRICING_CATALOG as c, calculateLLMCreditCost as d, type CalculateLLMCreditCostOptions as e, type ContextWindowEntry as f, type LlmModelAlias as g, type LlmModelId as h, type ModelRoute as i, getCacheStats as j, getModelProvider as k, isKnownLlmId as l, listNativeModelIds as m, listUnpricedKnownLlmIds as n, resolveAlias as o, resolveContextWindow as p, resolveModelRoute as q, resolvePricing as r, resolvePricingExact as s, splitContextWindowHint as t };
2374
+ export { type CacheStats as C, DEFAULT_PRICING as D, type KnownLlmId as K, type LLMPricing as L, MODEL_ALIASES as M, type LLMCreditCostResult as a, type LLMPricingTier as b, type LLMUsageBreakdown as c, LLM_PRICING_CATALOG as d, calculateLLMCreditCost as e, type CalculateLLMCreditCostOptions as f, type ContextWindowEntry as g, type LlmModelAlias as h, type LlmModelId as i, type ModelRoute as j, getCacheStats as k, getModelProvider as l, isKnownLlmId as m, listNativeModelIds as n, listUnpricedKnownLlmIds as o, resolveAlias as p, resolveContextWindow as q, resolvePricing as r, selectPricingTier as s, resolveModelRoute as t, resolvePricingExact as u, splitContextWindowHint as v };