@askalf/dario 5.5.37 → 5.5.39

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.
@@ -113,6 +113,29 @@ interface Rate {
113
113
  cacheRead: number;
114
114
  cacheCreate: number;
115
115
  }
116
+ interface PricingEntry extends Rate {
117
+ /**
118
+ * Optional promotional pricing in effect through `until` (inclusive, UTC
119
+ * end-of-day), after which the standard rate above applies. Date-modeled so
120
+ * historical cost estimates stay accurate on BOTH sides of the cutover
121
+ * instead of always showing one rate — each request is priced at the rate
122
+ * effective at its own timestamp.
123
+ */
124
+ intro?: Rate & {
125
+ until: string;
126
+ };
127
+ }
128
+ /**
129
+ * Published per-1M-token rates, keyed by dario's model id.
130
+ *
131
+ * EXPORTED so scripts/check-pricing-drift.mjs can diff it against Anthropic's
132
+ * published table. These are external facts with no natural expiry: an entry
133
+ * that is correct today goes wrong the moment Anthropic changes it, and
134
+ * nothing in this repo would notice. That has happened twice — Sonnet 5's
135
+ * cancelled cutover (#1047) and Haiku 4.5 carrying Haiku 3.5's rates — which
136
+ * is why the watcher exists (#1048).
137
+ */
138
+ export declare const PRICING: Record<string, PricingEntry>;
116
139
  /**
117
140
  * The per-1M-token rate for `model` in effect at `atMs` (epoch ms): the intro
118
141
  * rate while within its window, otherwise the standard rate. A trailing context
package/dist/analytics.js CHANGED
@@ -113,7 +113,17 @@ export function isNonSubscriptionBilling(claim) {
113
113
  return false;
114
114
  return !SUBSCRIPTION_CLAIMS.has(claim);
115
115
  }
116
- const PRICING = {
116
+ /**
117
+ * Published per-1M-token rates, keyed by dario's model id.
118
+ *
119
+ * EXPORTED so scripts/check-pricing-drift.mjs can diff it against Anthropic's
120
+ * published table. These are external facts with no natural expiry: an entry
121
+ * that is correct today goes wrong the moment Anthropic changes it, and
122
+ * nothing in this repo would notice. That has happened twice — Sonnet 5's
123
+ * cancelled cutover (#1047) and Haiku 4.5 carrying Haiku 3.5's rates — which
124
+ * is why the watcher exists (#1048).
125
+ */
126
+ export const PRICING = {
117
127
  // Fable 5 — official pricing (published with the 2026-07-01 redeploy):
118
128
  // $10/$50 per 1M in/out, 5m cache-write $12.50, cache-read $1 (platform docs).
119
129
  // Was previously assumed at the opus-4-8 rate ($5/$25) — corrected here.
@@ -137,7 +147,10 @@ const PRICING = {
137
147
  // future — a date nobody is watching is exactly what caused this.
138
148
  'claude-sonnet-5': { input: 2, output: 10, cacheRead: 0.2, cacheCreate: 2.5 },
139
149
  'claude-sonnet-4-6': { input: 3, output: 15, cacheRead: 0.3, cacheCreate: 3.75 },
140
- 'claude-haiku-4-5': { input: 0.8, output: 4, cacheRead: 0.08, cacheCreate: 1 },
150
+ // Haiku 4.5 is $1/$5. This carried $0.80/$4 Haiku 3.5's row, copied
151
+ // wholesale including its cache rates — so every Haiku 4.5 cost read ~20%
152
+ // LOW. Found by check-pricing-drift.mjs on its very first run (#1048).
153
+ 'claude-haiku-4-5': { input: 1, output: 5, cacheRead: 0.1, cacheCreate: 1.25 },
141
154
  };
142
155
  /**
143
156
  * The per-1M-token rate for `model` in effect at `atMs` (epoch ms): the intro
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askalf/dario",
3
- "version": "5.5.37",
3
+ "version": "5.5.39",
4
4
  "description": "Use your Claude Pro/Max subscription in any tool — Cursor, Cline, Aider, the Agent SDK, your scripts — at subscription pricing, not per-token API bills. One local Anthropic + OpenAI-compatible endpoint.",
5
5
  "type": "module",
6
6
  "bin": {