@trazum/core 2.4.2 → 2.4.3

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/dist/pricing.d.ts CHANGED
@@ -55,7 +55,7 @@ export declare const COST_MULTIPLIERS: {
55
55
  /** Batch API: 50% discount on input and output. */
56
56
  readonly batch: 0.5;
57
57
  };
58
- export declare function multipliersFor(model: ModelPricing): {
58
+ export declare function multipliersFor(model: ModelPricing, on?: Date): {
59
59
  cacheWrite5m: number;
60
60
  cacheWrite1h: number;
61
61
  cacheRead: number;
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA8B,MAAM,YAAY,CAAC;AAE3E;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgG7D,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAEnC,CAAC;AAEF,oDAAoD;AACpD;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;IAC3B,uCAAuC;aACvC,YAAY,EAAE,IAAI;IAClB,qCAAqC;aACrC,YAAY,EAAE,CAAG;IACjB,2CAA2C;aAC3C,SAAS,EAAE,GAAG;IACd,mDAAmD;aACnD,KAAK,EAAE,GAAG;CACF,CAAC;AAeX,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG;IAC9D,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAiBA;AAmBD,eAAO,MAAM,MAAM,EAAE,YAAY,EA6pBhC,CAAC;AAEF,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAChC,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,0EAA0E;IAC1E,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAK7E;AAiBD,6CAA6C;AAC7C,eAAO,MAAM,iBAAiB,EAAE,gBAA+D,CAAC;AAEhG;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAEtD;AAED,gDAAgD;AAChD,wBAAgB,SAAS,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,CAQ/E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,gBAAgB,EAC3B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAC1B,EAAE,GAAE,IAAiB;AACrB;;;;;GAKG;AACH,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY,CAcd;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAEjD;AAED,wBAAgB,UAAU,IAAI,YAAY,EAAE,CAE3C;AAED,oEAAoE;AACpE;;;;;;;;;GASG;AACH,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC5E;AAyFD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,EAAE,GAAE,IAAiB,EACrB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACrC,KAAK,CAoEP;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EACxB,SAAS,EAAE,gBAAgB,GAC1B,MAAM,CAgBR;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAKvE;AAED;;;;;;;;;;;;;;;GAeG;AACH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAU5E"}
package/dist/pricing.js CHANGED
@@ -46,10 +46,30 @@ export const PROVIDER_REVIEWED = Object.freeze({
46
46
  * and priority. The standard one is the catalogue's, identified by the other
47
47
  * three being its multiples (0.5x, 0.5x, 2x) rather than by trusting the
48
48
  * order they appear in.
49
+ *
50
+ * Re-read 2026-10-11 with the prompt-caching guide, the GPT-5 model page and
51
+ * the deprecations page. GPT-5, mini and nano matched to the cent. Their
52
+ * dated snapshots (`gpt-5-2025-08-07` and the mini and nano ones), which is
53
+ * the id a usage log usually carries, shut down on 2026-12-11 and are now
54
+ * declared as aliases. The current generation (gpt-6-astra, gpt-6.1-sol,
55
+ * gpt-6-sol, gpt-6-luna and gpt-5.6 sol, terra and luna) is on the same
56
+ * page and not added: every one of them doubles its rates for prompts over
57
+ * 272K tokens, a per-request condition no log Trazum prices passes yet.
58
+ */
59
+ openai: '2026-10-11',
60
+ /*
61
+ * ai.google.dev/gemini-api/docs/pricing, docs/caching and the model pages,
62
+ * read 2026-10-10. Every price matched; what changed is how caching starts
63
+ * and what it costs on the old models. Implicit caching is on by default
64
+ * for every Gemini 2.5 and newer model, so `caching` is 'automatic' across
65
+ * the board; the minimums moved to 4,096 on 3.6 and 3.8 Flash and 2,048 on
66
+ * 2.5 Flash; and the 2.5 models read the cache at 10% of input today, not
67
+ * the 25% this table carried. Gemini 3.8 Flash was added. Gemini 3.1 Pro
68
+ * Preview and 2.5 Pro's prompts over 200k are priced by prompt length per
69
+ * request, which nothing that prices a log passes yet, so the first is left
70
+ * out and the second's tier is named in its note rather than guessed.
49
71
  */
50
- openai: '2026-08-31',
51
- /* ai.google.dev/gemini-api/docs/pricing, read 2026-08-28. */
52
- google: '2026-08-28',
72
+ google: '2026-10-10',
53
73
  /*
54
74
  * platform.kimi.ai/docs/pricing/chat (platform.moonshot.ai 301s there),
55
75
  * read 2026-09-12. The page prices kimi-k3, kimi-k2.6, kimi-k2.7-code and
@@ -62,8 +82,15 @@ export const PROVIDER_REVIEWED = Object.freeze({
62
82
  * not read is a number it would be inventing.
63
83
  */
64
84
  moonshot: '2026-09-12',
65
- /* api-docs.deepseek.com/quick_start/pricing, read 2026-08-28. */
66
- deepseek: '2026-08-28',
85
+ /*
86
+ * api-docs.deepseek.com/quick_start/pricing read 2026-10-10, and the
87
+ * 2026-09-10 announcement (api-docs.deepseek.com/news/news260910) read
88
+ * 2026-10-11 for the instant: "New pricing takes effect at 04:00 UTC on
89
+ * Sept 10, 2026." V4 Flash was retired that day and its id now bills at
90
+ * the new deepseek-flash price, so the old price lives in its `history`.
91
+ * V4 Pro matched the page unchanged.
92
+ */
93
+ deepseek: '2026-10-10',
67
94
  /*
68
95
  * docs.x.ai/docs/models, read 2026-09-12. The page prices grok-4.6, 4.5,
69
96
  * 4.3 and the 4.20 family, each at two rates split at 200k prompt tokens;
@@ -84,7 +111,18 @@ export const PROVIDER_REVIEWED = Object.freeze({
84
111
  * servable is not the same as checking, and moving the date then would have
85
112
  * said it was.
86
113
  */
87
- mistral: '2026-08-28',
114
+ /*
115
+ * Re-read 2026-10-11 from mistral.ai/cloud/inference/ and the model cards
116
+ * at mistral.ai/news/mistral-3/, /mistral-small-4/ and
117
+ * /vibe-remote-agents-mistral-medium-3-5/, which carry the prices in their
118
+ * markup (`data-prices`) and bind the `-latest` ids. Every price matched.
119
+ * What changed is caching: the inference page offers "Cached input tokens
120
+ * -90% on input token", and every one of the three cards marks its input
121
+ * price as carrying the cache discount. This table said Mistral had no
122
+ * prompt caching at all. docs.mistral.ai, where a minimum or a mechanism
123
+ * would be, is not reachable from here, so neither is claimed.
124
+ */
125
+ mistral: '2026-10-11',
88
126
  });
89
127
  /**
90
128
  * The catalogue's age is its oldest provider's, because a reader asking how
@@ -121,7 +159,13 @@ export const COST_MULTIPLIERS = {
121
159
  */
122
160
  /** Memoised for the same reason as `effectivePricing`: once per record. */
123
161
  const multipliersMemo = new WeakMap();
124
- export function multipliersFor(model) {
162
+ export function multipliersFor(model, on) {
163
+ // A dated question about a repriced model asks the period in force then.
164
+ if (on !== undefined && model.history !== undefined) {
165
+ const period = pricedAt(model, on);
166
+ if (period !== model)
167
+ return multipliersFor(period);
168
+ }
125
169
  const cached = multipliersMemo.get(model);
126
170
  if (cached !== undefined)
127
171
  return cached;
@@ -135,6 +179,19 @@ export function multipliersFor(model) {
135
179
  multipliersMemo.set(model, result);
136
180
  return result;
137
181
  }
182
+ /**
183
+ * Mistral discounts cached input by 90% and publishes nothing else about it
184
+ * that can be read from here: not how caching starts, not a minimum, not a
185
+ * write price. Its usage reports no write tokens, so the write ratio of 1 is
186
+ * never multiplied by anything; it is there so the default (Anthropic's 1.25)
187
+ * cannot be.
188
+ */
189
+ /** What the GPT-5 family's three rows share, from OpenAI's guide and deprecations page, read 2026-10-11. */
190
+ const OPENAI_GPT5_NOTE = 'Caching is automatic, with no cache_control to set. OpenAI says the minimum for models before GPT-5.6 varies by'
191
+ + ' request settings, so 1,024 here is the nearest published floor. The 2025-08-07 snapshot shuts down on'
192
+ + ' 2026-12-11; OpenAI names the gpt-5.6 models as replacements.';
193
+ const MISTRAL_CACHE_NOTE = 'Cached input costs 10% of the input price (mistral.ai/cloud/inference, read 2026-10-11). How caching starts and'
194
+ + ' its minimum are not published anywhere Trazum can read, so no caching advice is given for it.';
138
195
  export const MODELS = [
139
196
  {
140
197
  /*
@@ -360,13 +417,17 @@ export const MODELS = [
360
417
  // ------------------------------------------------------------------------
361
418
  // OpenAI
362
419
  //
363
- // Caching is AUTOMATIC above 1,024 tokens — there is no cache_control to set,
364
- // and a cached read costs about half the input price rather than a tenth. The
365
- // reordering advice is identical (a prefix is a prefix), the marker advice is
366
- // not, which is why `caching` and `multipliers` exist at all.
420
+ // Caching is AUTOMATIC, with no cache_control to set, and a cached read costs
421
+ // a tenth of input on these three ($0.125 against $1.25). The reordering
422
+ // advice is identical (a prefix is a prefix), the marker advice is not, which
423
+ // is why `caching` and `multipliers` exist at all. The 1,024 minimum is the
424
+ // one OpenAI publishes for GPT-5.6 and later; for these older models its
425
+ // guide says the minimum "varies by request settings", so it is the nearest
426
+ // published floor, not a promise, and each row's note says so.
367
427
  // ------------------------------------------------------------------------
368
428
  {
369
429
  id: 'gpt-5',
430
+ aliases: ['gpt-5-2025-08-07'],
370
431
  provider: 'openai',
371
432
  displayName: 'GPT-5',
372
433
  inputPerMTok: 1.25,
@@ -377,10 +438,11 @@ export const MODELS = [
377
438
  multipliers: { cacheRead: 0.1, cacheWrite5m: 1, cacheWrite1h: 1, batch: 0.5 },
378
439
  capability: 'frontier',
379
440
  tier: 'frontier',
380
- notes: 'Caching is automatic above 1,024 tokens; there is no cache_control to set.',
441
+ notes: OPENAI_GPT5_NOTE,
381
442
  },
382
443
  {
383
444
  id: 'gpt-5-mini',
445
+ aliases: ['gpt-5-mini-2025-08-07'],
384
446
  provider: 'openai',
385
447
  displayName: 'GPT-5 mini',
386
448
  inputPerMTok: 0.25,
@@ -391,9 +453,11 @@ export const MODELS = [
391
453
  multipliers: { cacheRead: 0.1, cacheWrite5m: 1, cacheWrite1h: 1, batch: 0.5 },
392
454
  capability: 'mid',
393
455
  tier: 'sonnet',
456
+ notes: OPENAI_GPT5_NOTE,
394
457
  },
395
458
  {
396
459
  id: 'gpt-5-nano',
460
+ aliases: ['gpt-5-nano-2025-08-07'],
397
461
  provider: 'openai',
398
462
  displayName: 'GPT-5 nano',
399
463
  inputPerMTok: 0.05,
@@ -404,6 +468,7 @@ export const MODELS = [
404
468
  multipliers: { cacheRead: 0.1, cacheWrite5m: 1, cacheWrite1h: 1, batch: 0.5 },
405
469
  capability: 'small',
406
470
  tier: 'haiku',
471
+ notes: OPENAI_GPT5_NOTE,
407
472
  },
408
473
  // ------------------------------------------------------------------------
409
474
  // Google
@@ -416,8 +481,9 @@ export const MODELS = [
416
481
  outputPerMTok: 10,
417
482
  contextWindow: 1_048_576,
418
483
  cacheMinTokens: 2048,
419
- caching: 'explicit',
420
- multipliers: { cacheRead: 0.25, cacheWrite5m: 1, cacheWrite1h: 1, batch: 0.5 },
484
+ caching: 'automatic',
485
+ /* $0.125 cached against $1.25 input for prompts up to 200k, read 2026-10-10. */
486
+ multipliers: { cacheRead: 0.1, cacheWrite5m: 1, cacheWrite1h: 1, batch: 0.5 },
421
487
  /* Refused on 2026-08-28: still in `GET /v1beta/models`, and a 404 to a request. */
422
488
  retired: {
423
489
  on: '2026-08-28',
@@ -425,7 +491,9 @@ export const MODELS = [
425
491
  },
426
492
  capability: 'large',
427
493
  tier: 'opus',
428
- notes: 'Context caching is billed for storage per hour as well as per read.',
494
+ notes: 'Prompts over 200k tokens are billed $2.50 in and $15.00 out; this row prices every prompt at the up-to-200k rate,'
495
+ + ' because no log Trazum prices says how long each prompt was. Implicit caching is automatic; explicit caching is'
496
+ + ' also billed for storage per hour.',
429
497
  },
430
498
  {
431
499
  id: 'gemini-2.5-flash',
@@ -434,9 +502,10 @@ export const MODELS = [
434
502
  inputPerMTok: 0.3,
435
503
  outputPerMTok: 2.5,
436
504
  contextWindow: 1_048_576,
437
- cacheMinTokens: 1024,
438
- caching: 'explicit',
439
- multipliers: { cacheRead: 0.25, cacheWrite5m: 1, cacheWrite1h: 1, batch: 0.5 },
505
+ cacheMinTokens: 2048,
506
+ caching: 'automatic',
507
+ /* $0.03 cached against $0.30 input (text), read 2026-10-10. */
508
+ multipliers: { cacheRead: 0.1, cacheWrite5m: 1, cacheWrite1h: 1, batch: 0.5 },
440
509
  /* Refused on 2026-08-28: still in `GET /v1beta/models`, and a 404 to a request. */
441
510
  retired: {
442
511
  on: '2026-08-28',
@@ -447,9 +516,10 @@ export const MODELS = [
447
516
  },
448
517
  {
449
518
  /*
450
- * Google's own error message names this as the replacement for the two
451
- * retired 2.5 models, and ai.google.dev/gemini-api/docs/pricing carries the
452
- * rates, read 2026-08-28.
519
+ * Google's own error message names this as the replacement for the retired
520
+ * 2.5 Flash (the 2.5 Pro refusal names 3.1 Pro Preview), and
521
+ * ai.google.dev/gemini-api/docs/pricing carries the rates, read 2026-08-28
522
+ * and again on 2026-10-10.
453
523
  *
454
524
  * The introductory price has a published end date and a published successor,
455
525
  * which is exactly what `promo` is for and is the shape the catalogue nearly
@@ -463,8 +533,8 @@ export const MODELS = [
463
533
  outputPerMTok: 7.5,
464
534
  promo: { inputPerMTok: 0.75, outputPerMTok: 3.75, until: '2026-12-31' },
465
535
  contextWindow: 1_048_576,
466
- cacheMinTokens: 1024,
467
- caching: 'explicit',
536
+ cacheMinTokens: 4096,
537
+ caching: 'automatic',
468
538
  /*
469
539
  * $0.075 against $0.75 inside the introductory window, and $0.15 against
470
540
  * $1.50 after it: Google scales the cache price with the headline one, so
@@ -474,7 +544,31 @@ export const MODELS = [
474
544
  multipliers: { cacheRead: 0.1, cacheWrite5m: 1, cacheWrite1h: 1, batch: 0.5 },
475
545
  capability: 'mid',
476
546
  tier: 'sonnet',
477
- notes: 'Context caching is billed for storage per hour as well as per read:'
547
+ notes: 'Implicit caching is automatic above 4,096 tokens. Explicit caching is also billed for storage:'
548
+ + ' $0.50 per 1M tokens per hour through 2026-12-31, $1.00 after.',
549
+ },
550
+ {
551
+ /*
552
+ * Gemini 3.8 Flash, from ai.google.dev/gemini-api/docs/pricing, its model
553
+ * page and docs/caching, read 2026-10-10. The same rates and the same
554
+ * introductory window as 3.6 Flash, published as one table each: $0.75
555
+ * and $3.75 through 2026-12-31, $1.50 and $7.50 from 2027-01-01, and the
556
+ * cache price scales with them ($0.075, then $0.15).
557
+ */
558
+ id: 'gemini-3.8-flash',
559
+ provider: 'google',
560
+ displayName: 'Gemini 3.8 Flash',
561
+ inputPerMTok: 1.5,
562
+ outputPerMTok: 7.5,
563
+ promo: { inputPerMTok: 0.75, outputPerMTok: 3.75, until: '2026-12-31' },
564
+ contextWindow: 1_048_576,
565
+ cacheMinTokens: 4096,
566
+ caching: 'automatic',
567
+ /* $0.075 / $0.75 = 0.1 (and $0.15 / $1.50); batch $0.375 / $0.75 = 0.5 (and $1.875 / $3.75). */
568
+ multipliers: { cacheRead: 0.1, cacheWrite5m: 1, cacheWrite1h: 1, batch: 0.5 },
569
+ capability: 'mid',
570
+ tier: 'sonnet',
571
+ notes: 'Implicit caching is automatic above 4,096 tokens. Explicit caching is also billed for storage:'
478
572
  + ' $0.50 per 1M tokens per hour through 2026-12-31, $1.00 after.',
479
573
  },
480
574
  // ------------------------------------------------------------------------
@@ -518,34 +612,95 @@ export const MODELS = [
518
612
  },
519
613
  {
520
614
  /*
521
- * DeepSeek V4 Flash, from api-docs.deepseek.com/quick_start/pricing, read
522
- * 2026-08-28. It replaced `deepseek-v3`, which the API now refuses.
615
+ * DeepSeek V4 Flash, retired on 2026-09-10. The pricing page (read
616
+ * 2026-10-10) says the id "is still accepted ... served by the
617
+ * DeepSeek-V4.1-Flash model and billed at the Flash price", so from
618
+ * 04:00 UTC that day it carries deepseek-flash's rates. Before that
619
+ * instant it billed at its own, read off the same page on 2026-08-28:
620
+ * $0.22/$0.66 off-peak, double at peak, $0.007 a cache hit.
523
621
  *
524
622
  * The base rate is off-peak because off-peak is the common case: peak is
525
623
  * 01:00-04:00 and 06:00-10:00 UTC on weekdays, which is 35 hours of 168.
526
- * The peak tier is exactly double, published as such.
624
+ * The peak tier is exactly double, published as such. Clock pricing began
625
+ * at 16:00 UTC on 2026-08-16; the flat price before it is on no page this
626
+ * table can read, so calls before then are priced as the first period.
627
+ *
628
+ * Not recommendable: a legacy id DeepSeek routes "temporarily". Without
629
+ * this, a tie on price would offer it ahead of deepseek-flash.
527
630
  */
528
631
  id: 'deepseek-v4-flash',
529
632
  provider: 'deepseek',
530
633
  displayName: 'DeepSeek V4 Flash',
531
- inputPerMTok: 0.22,
532
- outputPerMTok: 0.66,
634
+ recommendable: false,
635
+ inputPerMTok: 0.15,
636
+ outputPerMTok: 0.6,
637
+ tiers: [
638
+ {
639
+ id: 'peak',
640
+ when: { kind: 'utc-hours', hours: [1, 2, 3, 6, 7, 8, 9], weekdaysOnly: true },
641
+ inputPerMTok: 0.3,
642
+ outputPerMTok: 1.2,
643
+ },
644
+ ],
645
+ history: [
646
+ {
647
+ until: '2026-09-10T04:00:00Z',
648
+ inputPerMTok: 0.22,
649
+ outputPerMTok: 0.66,
650
+ tiers: [
651
+ {
652
+ id: 'peak',
653
+ when: { kind: 'utc-hours', hours: [1, 2, 3, 6, 7, 8, 9], weekdaysOnly: true },
654
+ inputPerMTok: 0.44,
655
+ outputPerMTok: 1.32,
656
+ },
657
+ ],
658
+ /* $0.007 cache hit against $0.22 input off-peak. */
659
+ multipliers: { cacheRead: 0.0318, cacheWrite5m: 1, cacheWrite1h: 1, batch: null },
660
+ },
661
+ ],
662
+ contextWindow: 1_000_000,
663
+ cacheMinTokens: 1024,
664
+ caching: 'automatic',
665
+ /* $0.003 cache hit against $0.15 input off-peak, $0.006 against $0.30 at peak. */
666
+ multipliers: { cacheRead: 0.02, cacheWrite5m: 1, cacheWrite1h: 1, batch: null },
667
+ capability: 'mid',
668
+ tier: 'sonnet',
669
+ notes: 'Retired 2026-09-10: the id is still accepted, served by V4.1 Flash and billed at the deepseek-flash price.'
670
+ + ' Maximum output 384K tokens. Peak excludes Chinese public holidays, which this table cannot express.',
671
+ },
672
+ {
673
+ /*
674
+ * DeepSeek V4.1 Flash, from api-docs.deepseek.com/quick_start/pricing,
675
+ * read 2026-10-10. Released 2026-09-10; its price took effect at 04:00
676
+ * UTC that day. Off-peak is the base and peak is exactly double, as
677
+ * published; the cache hit is 2% of input at both ($0.003 and $0.006).
678
+ *
679
+ * The cache minimum is carried from deepseek-v4-flash: DeepSeek's pages
680
+ * publish none for this generation, and 1,024 is the figure the earlier
681
+ * row was reviewed with.
682
+ */
683
+ id: 'deepseek-flash',
684
+ provider: 'deepseek',
685
+ displayName: 'DeepSeek V4.1 Flash',
686
+ inputPerMTok: 0.15,
687
+ outputPerMTok: 0.6,
533
688
  tiers: [
534
689
  {
535
690
  id: 'peak',
536
691
  when: { kind: 'utc-hours', hours: [1, 2, 3, 6, 7, 8, 9], weekdaysOnly: true },
537
- inputPerMTok: 0.44,
538
- outputPerMTok: 1.32,
692
+ inputPerMTok: 0.3,
693
+ outputPerMTok: 1.2,
539
694
  },
540
695
  ],
541
696
  contextWindow: 1_000_000,
542
697
  cacheMinTokens: 1024,
543
698
  caching: 'automatic',
544
- /* $0.007 cache hit against $0.22 input off-peak. */
545
- multipliers: { cacheRead: 0.0318, cacheWrite5m: 1, cacheWrite1h: 1, batch: null },
699
+ multipliers: { cacheRead: 0.02, cacheWrite5m: 1, cacheWrite1h: 1, batch: null },
546
700
  capability: 'mid',
547
701
  tier: 'sonnet',
548
- notes: 'Maximum output 384K tokens.',
702
+ notes: 'Maximum output 384K tokens. Peak excludes Chinese public holidays, which this table cannot express:'
703
+ + ' on a weekday holiday it charges peak where DeepSeek charges off-peak.',
549
704
  },
550
705
  {
551
706
  /* Same page, same clock. Pro is three times Flash at both ends. */
@@ -634,12 +789,12 @@ export const MODELS = [
634
789
  inputPerMTok: 0.5,
635
790
  outputPerMTok: 1.5,
636
791
  contextWindow: 262_144,
637
- cacheMinTokens: 0,
638
- caching: 'none',
639
- multipliers: { batch: 0.5 },
792
+ cacheMinTokens: null,
793
+ caching: 'unknown',
794
+ multipliers: { cacheRead: 0.1, cacheWrite5m: 1, cacheWrite1h: 1, batch: 0.5 },
640
795
  capability: 'large',
641
796
  tier: 'opus',
642
- notes: 'No prompt caching: reordering still helps readability but saves nothing here.',
797
+ notes: MISTRAL_CACHE_NOTE,
643
798
  },
644
799
  {
645
800
  /*
@@ -662,11 +817,12 @@ export const MODELS = [
662
817
  inputPerMTok: 1.5,
663
818
  outputPerMTok: 7.5,
664
819
  contextWindow: 262_144,
665
- cacheMinTokens: 0,
666
- caching: 'none',
667
- multipliers: { batch: 0.5 },
820
+ cacheMinTokens: null,
821
+ caching: 'unknown',
822
+ multipliers: { cacheRead: 0.1, cacheWrite5m: 1, cacheWrite1h: 1, batch: 0.5 },
668
823
  capability: 'mid',
669
824
  tier: 'sonnet',
825
+ notes: MISTRAL_CACHE_NOTE,
670
826
  },
671
827
  {
672
828
  /* Same page, same day. `mistral-small-2603` is what the API reports. */
@@ -677,11 +833,12 @@ export const MODELS = [
677
833
  inputPerMTok: 0.15,
678
834
  outputPerMTok: 0.6,
679
835
  contextWindow: 262_144,
680
- cacheMinTokens: 0,
681
- caching: 'none',
682
- multipliers: { batch: 0.5 },
836
+ cacheMinTokens: null,
837
+ caching: 'unknown',
838
+ multipliers: { cacheRead: 0.1, cacheWrite5m: 1, cacheWrite1h: 1, batch: 0.5 },
683
839
  capability: 'small',
684
840
  tier: 'haiku',
841
+ notes: MISTRAL_CACHE_NOTE,
685
842
  },
686
843
  ];
687
844
  export const DEFAULT_MODEL = 'claude-opus-5';
@@ -772,6 +929,41 @@ export function listModels() {
772
929
  return [...MODELS];
773
930
  }
774
931
  const pricingMemo = new WeakMap();
932
+ /**
933
+ * The row as it stood at `on`: itself when the current price applies, or a
934
+ * frozen copy carrying the period's rates, tiers and ratios. Built once per
935
+ * period, so a log of a million calls does not build a million rows.
936
+ */
937
+ const periodMemo = new WeakMap();
938
+ function pricedAt(model, on) {
939
+ const history = model.history;
940
+ if (history === undefined || history.length === 0)
941
+ return model;
942
+ let periods = periodMemo.get(model);
943
+ if (periods === undefined) {
944
+ periods = history.map((period) => {
945
+ const { history: _history, promo: _promo, tiers: _tiers, multipliers: _multipliers, ...rest } = model;
946
+ const row = Object.freeze({
947
+ ...rest,
948
+ inputPerMTok: period.inputPerMTok,
949
+ outputPerMTok: period.outputPerMTok,
950
+ ...(period.tiers !== undefined ? { tiers: period.tiers } : {}),
951
+ ...(period.multipliers !== undefined
952
+ ? { multipliers: period.multipliers }
953
+ : model.multipliers !== undefined
954
+ ? { multipliers: model.multipliers }
955
+ : {}),
956
+ });
957
+ return { untilMs: new Date(period.until).getTime(), row };
958
+ });
959
+ periodMemo.set(model, periods);
960
+ }
961
+ const at = on.getTime();
962
+ for (const period of periods)
963
+ if (at < period.untilMs)
964
+ return period.row;
965
+ return model;
966
+ }
775
967
  /** The two unconditional answers for one model, parsed once. */
776
968
  function cache(model) {
777
969
  const entry = {
@@ -829,6 +1021,12 @@ function holds(when, on, inputTokens) {
829
1021
  * `pricing.test.js` fails a tiered model whose report drops it.
830
1022
  */
831
1023
  export function effectivePricing(model, on = new Date(), context = {}) {
1024
+ /* A call before a published price change is priced as it was billed then. */
1025
+ if (model.history !== undefined) {
1026
+ const period = pricedAt(model, on);
1027
+ if (period !== model)
1028
+ return effectivePricing(period, on, context);
1029
+ }
832
1030
  const memo = pricingMemo.get(model) ?? cache(model);
833
1031
  /**
834
1032
  * Tiers first, and a promotion never runs on top of one.
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAqC,MAAM,CAAC,MAAM,CAAC;IAC/E;;;;;OAKG;IACH,SAAS,EAAE,YAAY;IACvB;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,YAAY;IACpB,6DAA6D;IAC7D,MAAM,EAAE,YAAY;IACpB;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,YAAY;IACtB,iEAAiE;IACjE,QAAQ,EAAE,YAAY;IACtB;;;;;;;;OAQG;IACH,GAAG,EAAE,YAAY;IACjB;;;;;;;;;OASG;IACH,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAW,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAClF,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAClD,CAAC;AAEF,oDAAoD;AACpD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,uCAAuC;IACvC,YAAY,EAAE,IAAI;IAClB,qCAAqC;IACrC,YAAY,EAAE,GAAG;IACjB,2CAA2C;IAC3C,SAAS,EAAE,GAAG;IACd,mDAAmD;IACnD,KAAK,EAAE,GAAG;CACF,CAAC;AAEX;;;;;;GAMG;AACH,2EAA2E;AAC3E,MAAM,eAAe,GAAG,IAAI,OAAO,EAGhC,CAAC;AAEJ,MAAM,UAAU,cAAc,CAAC,KAAmB;IAMhD,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,gBAAgB,CAAC,YAAY;QAC7D,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,gBAAgB,CAAC,YAAY;QAC7D,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,gBAAgB,CAAC,SAAS;QACpD,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;KAChE,CAAC,CAAC;IACH,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAmB;IACpC;QACE;;;;;;WAMG;QACH,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,GAAG;QACnB,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;QAClF,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,kFAAkF;KAC1F;IACD;QACE;;;;WAIG;QACH,EAAE,EAAE,mBAAmB;QACvB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,mBAAmB;QAChC,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,GAAG;QACnB,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;QAClF,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,UAAU;QAChB,KAAK,EACH,sFAAsF;cACpF,kCAAkC;KACvC;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,GAAG;QACnB,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,4FAA4F;KACpG;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,iBAAiB;QAC9B,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,GAAG;QACnB,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,UAAU;QAChB,KAAK,EACH,sFAAsF;cACpF,kCAAkC;KACvC;IACD;QACE;;;;;WAKG;QACH,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,GAAG;QACnB,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;QACjF,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,mFAAmF;KAC3F;IACD;QACE,EAAE,EAAE,eAAe;QACnB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,eAAe;QAC5B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,GAAG;QACnB,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,sEAAsE;KAC9E;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,MAAM;KACb;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,MAAM;KACb;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,MAAM;KACb;IACD;QACE;;;;;;;WAOG;QACH,EAAE,EAAE,iBAAiB;QACrB,OAAO,EAAE,CAAC,0BAA0B,CAAC;QACrC,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,2CAA2C;KACnD;IACD;QACE;;;;WAIG;QACH,EAAE,EAAE,mBAAmB;QACvB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,GAAG;QACnB,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;QACjF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,iFAAiF;KACzF;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EACH,8EAA8E;cAC5E,+EAA+E;KACpF;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,QAAQ;KACf;IACD;;;;;;;;;;;OAWG;IACH;QACE,EAAE,EAAE,kBAAkB;QACtB,sEAAsE;QACtE,uEAAuE;QACvE,0CAA0C;QAC1C,OAAO,EAAE,CAAC,2BAA2B,CAAC;QACtC,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,kEAAkE;KAC1E;IAED,2EAA2E;IAC3E,SAAS;IACT,EAAE;IACF,8EAA8E;IAC9E,8EAA8E;IAC9E,8EAA8E;IAC9E,8DAA8D;IAC9D,2EAA2E;IAC3E;QACE,EAAE,EAAE,OAAO;QACX,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;QAC7E,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,4EAA4E;KACpF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,YAAY;QACzB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;QAC7E,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,QAAQ;KACf;IACD;QACE,EAAE,EAAE,YAAY;QAChB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,YAAY;QACzB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;QAC7E,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,OAAO;KACd;IAED,2EAA2E;IAC3E,SAAS;IACT,2EAA2E;IAC3E;QACE,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;QAC9E,mFAAmF;QACnF,OAAO,EAAE;YACP,EAAE,EAAE,YAAY;YAChB,OAAO,EACL,4NAA4N;SAC/N;QACD,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,qEAAqE;KAC7E;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;QAC9E,mFAAmF;QACnF,OAAO,EAAE;YACP,EAAE,EAAE,YAAY;YAChB,OAAO,EACL,wNAAwN;SAC3N;QACD,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,QAAQ;KACf;IAED;QACE;;;;;;;;;WASG;QACH,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE;QACvE,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,UAAU;QACnB;;;;;WAKG;QACH,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;QAC7E,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EACH,qEAAqE;cACnE,gEAAgE;KACrE;IAED,2EAA2E;IAC3E,WAAW;IACX,2EAA2E;IAC3E;QACE,EAAE,EAAE,SAAS;QACb,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;QAC9E,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EACH,8FAA8F;cAC5F,+IAA+I;KACpJ;IAED,2EAA2E;IAC3E,WAAW;IACX,2EAA2E;IAC3E;QACE,EAAE,EAAE,aAAa;QACjB,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;QAC9E,0FAA0F;QAC1F,OAAO,EAAE;YACP,EAAE,EAAE,YAAY;YAChB,OAAO,EACL,qIAAqI;SACxI;QACD,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,QAAQ;KACf;IACD;QACE;;;;;;;WAOG;QACH,EAAE,EAAE,mBAAmB;QACvB,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE;YACL;gBACE,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;gBAC7E,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,IAAI;aACpB;SACF;QACD,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,WAAW;QACpB,oDAAoD;QACpD,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;QACjF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,6BAA6B;KACrC;IACD;QACE,mEAAmE;QACnE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE;YACL;gBACE,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;gBAC7E,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,IAAI;aACpB;SACF;QACD,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,WAAW;QACpB,oDAAoD;QACpD,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;QACjF,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,6BAA6B;KACrC;IAED,2EAA2E;IAC3E,MAAM;IACN,2EAA2E;IAC3E;QACE,EAAE,EAAE,QAAQ;QACZ,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,QAAQ;QACrB,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;QAC/E,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,MAAM;QACZ,KAAK,EACH,yIAAyI;KAC5I;IAED,2EAA2E;IAC3E,UAAU;IACV,2EAA2E;IAC3E;QACE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QAC3B,uDAAuD;QACvD,OAAO,EAAE;YACP,EAAE,EAAE,YAAY;YAChB,OAAO,EACL,gCAAgC;SACnC;QACD,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,+EAA+E;KACvF;IACD;QACE;;;;;;;;;;;;;;;WAeG;QACH,EAAE,EAAE,oBAAoB;QACxB,OAAO,EAAE,CAAC,sBAAsB,CAAC;QACjC,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QAC3B,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,+EAA+E;KACvF;IACD;QACE;;;;;;;;;;;;WAYG;QACH,EAAE,EAAE,qBAAqB;QACzB,OAAO,EAAE,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;QACxD,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,oBAAoB;QACjC,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QAC3B,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,QAAQ;KACf;IACD;QACE,wEAAwE;QACxE,EAAE,EAAE,oBAAoB;QACxB,OAAO,EAAE,CAAC,sBAAsB,CAAC;QACjC,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;QAC3B,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,OAAO;KACd;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AA2B7C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,MAAsB;IAChD,OAAO,IAAI,GAAG,CAAC;QACb,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAU,CAAC,CAAC;QAC/E,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC;KACzC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CACpB,MAAsB,EACtB,YAAoB,EACpB,gBAAgB,GAAa,EAAE,EAC/B,WAAW,GAAa,EAAE;IAE1B,OAAO;QACL,MAAM;QACN,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;QACzB,YAAY;QACZ,gBAAgB;QAChB,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAqB,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAEhG;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,SAAS,CAAC,KAAmB;IAC3C,OAAO,KAAK,CAAC,aAAa,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC;AACtE,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,SAAS,CAAC,SAA2B,EAAE,EAAU;IAC/D,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,mBAAmB,EAAE,iBAAiB,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAA2B,EAC3B,IAA0B,EAC1B,EAAE,GAAS,IAAI,IAAI,EAAE;AACrB;;;;;GAKG;AACH,QAAiB;IAEjB,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,IAAI;QACf,SAAS,CAAC,CAAC,CAAC;QACZ,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CACtD,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC;IAC5D,OAAO,UAAU,CAAC,MAAM,CACtB,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACV,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAC3F,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,OAAO,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACrB,CAAC;AAoBD,MAAM,WAAW,GAAG,IAAI,OAAO,EAG5B,CAAC;AAEJ,gEAAgE;AAChE,SAAS,KAAK,CAAC,KAAmB;IAKhC,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;QACtF,KAAK,EAAE,KAAK,CAAC,KAAK;YAChB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACZ,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY;gBACtC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa;gBACxC,YAAY,EAAE,IAAI;gBAClB,IAAI,EAAE,IAAI;aACX,CAAC;YACJ,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;YAClB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,IAAI;SACX,CAAC;KACH,CAAC;IACF,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,KAAK,CACZ,IAAmB,EACnB,EAAQ,EACR,WAA+B;IAE/B,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAmB,EACnB,EAAE,GAAS,IAAI,IAAI,EAAE,EACrB,OAAO,GAA6B,EAAE;IAEtC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAEpD;;;;;;;OAOG;IACH,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO;oBACL,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,YAAY,EAAE,KAAK;oBACnB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACxE,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,KAAK,IAAI;gBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,GAAG,IAAI,CAAC,IAAI;gBACZ,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,6BAA6B,EAAE;aAC/E,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAC/C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CACtD,CAAC;QACF,MAAM,OAAO,GACX,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY;YACvC,CAAC,CAAC;gBACE,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,OAAO,EAAE,OAAO,CAAC,EAAE;aACpB;YACH,CAAC,CAAC;gBACE,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,OAAO,EAAE,IAAI;aACd,CAAC;QACR,OAAO;YACL,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE;gBACJ,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAqC;aACxE;SACF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,KAAM,CAAC;IAC9E,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED,gFAAgF;AAChF,SAAS,QAAQ,CAAC,IAAmB;IACnC,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACvC,OAAO,gBAAgB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC;IAC5E,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,KAAK,KAAK,IAAI;YAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACvC,IAAI,MAAM,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACnG,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACxF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAwB,EACxB,SAA2B;IAE3B;6BACyB;IACzB,IAAI,SAAS,CAAC,YAAY,KAAK,qBAAqB;QAAE,OAAO,SAAS,CAAC,YAAY,CAAC;IAEpF,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,KAAK,EAAE,QAAQ,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,YAAY,CAAC;QACjE,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,YAAY,CAAC;QACtD,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,GAAG,MAAM;YAAE,MAAM,GAAG,IAAI,CAAC;IACtD,CAAC;IACD;qEACiE;IACjE,OAAO,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC;AAC1C,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,cAAc,CAAC,IAA0B;IACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC;IAC5D,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AAChG,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,MAAM,UAAU,aAAa,CAAC,YAAoB,EAAE,GAAS;IAC3D,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,YAAY,YAAY,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IACrD,8EAA8E;IAC9E,+EAA+E;IAC/E,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -183,6 +183,17 @@ export interface PricingTier {
183
183
  inputPerMTok: number;
184
184
  outputPerMTok: number;
185
185
  }
186
+ /** One published price this model carried until an instant. See `ModelPricing.history`. */
187
+ export interface PricePeriod {
188
+ /** ISO 8601 instant, exclusive: a call at exactly this instant is priced by what came after. */
189
+ until: string;
190
+ inputPerMTok: number;
191
+ outputPerMTok: number;
192
+ /** The conditional rates in force during the period; none means none applied. */
193
+ tiers?: PricingTier[];
194
+ /** The cache and batch ratios during the period; absent means the row's own. */
195
+ multipliers?: CostMultipliers;
196
+ }
186
197
  export interface ModelPricing {
187
198
  id: string;
188
199
  displayName: string;
@@ -278,6 +289,22 @@ export interface ModelPricing {
278
289
  * and keeps this field optional in effect as well as in the type.
279
290
  */
280
291
  tiers?: PricingTier[];
292
+ /**
293
+ * What this id cost before its current price, earliest period first.
294
+ *
295
+ * A usage log is history, and a provider that cuts a price at 04:00 UTC on
296
+ * a Thursday has billed the same id two ways in one month. One price for
297
+ * all time priced the older calls at the newer rate, or the newer at the
298
+ * older, and nothing on screen said which. A call at `on` is priced by the
299
+ * first period whose `until` is after it; a call at or after the last
300
+ * `until` takes the fields above. Each period carries its own tiers and
301
+ * cache ratio, because a provider that reprices usually reprices both.
302
+ *
303
+ * Only periods a provider published, with the instant it published. A
304
+ * period before the first one this table can source is not guessed at: the
305
+ * earliest period stands for it, and the row's note says so.
306
+ */
307
+ history?: PricePeriod[];
281
308
  /**
282
309
  * Other ids that bill at exactly this rate.
283
310
  *