@pydantic/genai-prices 0.0.53 → 0.0.55

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/cli.js CHANGED
@@ -1,21 +1,21 @@
1
1
  #!/usr/bin/env node
2
2
  import _e from "yargs";
3
3
  import { format as ke } from "util";
4
- import { resolve as ie, normalize as Qe } from "path";
4
+ import { resolve as ie, normalize as Ae } from "path";
5
5
  import { readFileSync as ge, writeFile as Pe, statSync as Te } from "fs";
6
6
  import "assert";
7
7
  import { fileURLToPath as Se } from "url";
8
- function Ge() {
9
- return Ce() ? 0 : 1;
10
- }
11
8
  function Ce() {
9
+ return Ge() ? 0 : 1;
10
+ }
11
+ function Ge() {
12
12
  return Re() && !process.defaultApp;
13
13
  }
14
14
  function Re() {
15
15
  return !!process.versions.electron;
16
16
  }
17
17
  function ze(i) {
18
- return i.slice(Ge() + 1);
18
+ return i.slice(Ce() + 1);
19
19
  }
20
20
  /**
21
21
  * @license
@@ -45,7 +45,7 @@ function Oe(i, o) {
45
45
  }
46
46
  return s;
47
47
  }
48
- function Ne(i) {
48
+ function De(i) {
49
49
  return i == null ? !1 : typeof i == "number" || /^0x[0-9a-f]+$/i.test(i) ? !0 : /^0[^.]/.test(i) ? !1 : /^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i);
50
50
  }
51
51
  /**
@@ -53,7 +53,7 @@ function Ne(i) {
53
53
  * Copyright (c) 2016, Contributors
54
54
  * SPDX-License-Identifier: ISC
55
55
  */
56
- function Ee(i) {
56
+ function Ne(i) {
57
57
  if (Array.isArray(i))
58
58
  return i.map((h) => typeof h != "string" ? h + "" : h);
59
59
  i = i.trim();
@@ -73,17 +73,17 @@ function Ee(i) {
73
73
  * Copyright (c) 2016, Contributors
74
74
  * SPDX-License-Identifier: ISC
75
75
  */
76
- var Q;
76
+ var A;
77
77
  (function(i) {
78
78
  i.BOOLEAN = "boolean", i.STRING = "string", i.NUMBER = "number", i.ARRAY = "array";
79
- })(Q || (Q = {}));
79
+ })(A || (A = {}));
80
80
  /**
81
81
  * @license
82
82
  * Copyright (c) 2016, Contributors
83
83
  * SPDX-License-Identifier: ISC
84
84
  */
85
85
  let S;
86
- class De {
86
+ class Ee {
87
87
  constructor(o) {
88
88
  S = o;
89
89
  }
@@ -105,7 +105,7 @@ class De {
105
105
  number: void 0,
106
106
  __: void 0,
107
107
  key: void 0
108
- }, u), r = Ee(o), _ = typeof o == "string", h = je(Object.assign(/* @__PURE__ */ Object.create(null), s.alias)), k = Object.assign({
108
+ }, u), r = Ne(o), _ = typeof o == "string", h = je(Object.assign(/* @__PURE__ */ Object.create(null), s.alias)), k = Object.assign({
109
109
  "boolean-negation": !0,
110
110
  "camel-case-expansion": !0,
111
111
  "combine-arrays": !1,
@@ -124,7 +124,7 @@ class De {
124
124
  "strip-aliased": !1,
125
125
  "strip-dashed": !1,
126
126
  "unknown-options-as-args": !1
127
- }, s.configuration), q = Object.assign(/* @__PURE__ */ Object.create(null), s.default), I = s.configObjects || [], B = s.envPrefix, y = k["populate--"], L = y ? "--" : "_", G = /* @__PURE__ */ Object.create(null), ne = /* @__PURE__ */ Object.create(null), C = s.__ || S.format, m = {
127
+ }, s.configuration), q = Object.assign(/* @__PURE__ */ Object.create(null), s.default), I = s.configObjects || [], B = s.envPrefix, y = k["populate--"], L = y ? "--" : "_", C = /* @__PURE__ */ Object.create(null), ne = /* @__PURE__ */ Object.create(null), G = s.__ || S.format, m = {
128
128
  aliases: /* @__PURE__ */ Object.create(null),
129
129
  arrays: /* @__PURE__ */ Object.create(null),
130
130
  bools: /* @__PURE__ */ Object.create(null),
@@ -170,51 +170,51 @@ class De {
170
170
  });
171
171
  });
172
172
  let M = null;
173
- Ae();
173
+ Qe();
174
174
  let j = [];
175
- const b = Object.assign(/* @__PURE__ */ Object.create(null), { _: [] }), se = {};
175
+ const w = Object.assign(/* @__PURE__ */ Object.create(null), { _: [] }), se = {};
176
176
  for (let e = 0; e < r.length; e++) {
177
177
  const a = r[e], c = a.replace(/^-{3,}/, "---");
178
178
  let n, t, l, p, d, v;
179
- if (a !== "--" && /^-/.test(a) && H(a))
179
+ if (a !== "--" && /^-/.test(a) && K(a))
180
180
  U(a);
181
181
  else if (c.match(/^---+(=|$)/)) {
182
182
  U(a);
183
183
  continue;
184
184
  } else if (a.match(/^--.+=/) || !k["short-option-groups"] && a.match(/^-.+=/))
185
- p = a.match(/^--?([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && (g(p[1], m.arrays) ? e = F(e, p[1], r, p[2]) : g(p[1], m.nargs) !== !1 ? e = V(e, p[1], r, p[2]) : w(p[1], p[2], !0));
185
+ p = a.match(/^--?([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && (g(p[1], m.arrays) ? e = F(e, p[1], r, p[2]) : g(p[1], m.nargs) !== !1 ? e = V(e, p[1], r, p[2]) : b(p[1], p[2], !0));
186
186
  else if (a.match(W) && k["boolean-negation"])
187
- p = a.match(W), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], w(t, g(t, m.arrays) ? [!1] : !1));
187
+ p = a.match(W), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], b(t, g(t, m.arrays) ? [!1] : !1));
188
188
  else if (a.match(/^--.+/) || !k["short-option-groups"] && a.match(/^-[^-]+/))
189
- p = a.match(/^--?(.+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], g(t, m.arrays) ? e = F(e, t, r) : g(t, m.nargs) !== !1 ? e = V(e, t, r) : (d = r[e + 1], d !== void 0 && (!d.match(/^-/) || d.match(P)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (w(t, d), e++) : w(t, z(t))));
189
+ p = a.match(/^--?(.+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], g(t, m.arrays) ? e = F(e, t, r) : g(t, m.nargs) !== !1 ? e = V(e, t, r) : (d = r[e + 1], d !== void 0 && (!d.match(/^-/) || d.match(P)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (b(t, d), e++) : b(t, z(t))));
190
190
  else if (a.match(/^-.\..+=/))
191
- p = a.match(/^-([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && w(p[1], p[2]);
191
+ p = a.match(/^-([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && b(p[1], p[2]);
192
192
  else if (a.match(/^-.\..+/) && !a.match(P))
193
- d = r[e + 1], p = a.match(/^-(.\..+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], d !== void 0 && !d.match(/^-/) && !g(t, m.bools) && !g(t, m.counts) ? (w(t, d), e++) : w(t, z(t)));
193
+ d = r[e + 1], p = a.match(/^-(.\..+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], d !== void 0 && !d.match(/^-/) && !g(t, m.bools) && !g(t, m.counts) ? (b(t, d), e++) : b(t, z(t)));
194
194
  else if (a.match(/^-[^-]+/) && !a.match(P)) {
195
195
  l = a.slice(1, -1).split(""), n = !1;
196
196
  for (let x = 0; x < l.length; x++) {
197
197
  if (d = a.slice(x + 2), l[x + 1] && l[x + 1] === "=") {
198
- v = a.slice(x + 3), t = l[x], g(t, m.arrays) ? e = F(e, t, r, v) : g(t, m.nargs) !== !1 ? e = V(e, t, r, v) : w(t, v), n = !0;
198
+ v = a.slice(x + 3), t = l[x], g(t, m.arrays) ? e = F(e, t, r, v) : g(t, m.nargs) !== !1 ? e = V(e, t, r, v) : b(t, v), n = !0;
199
199
  break;
200
200
  }
201
201
  if (d === "-") {
202
- w(l[x], d);
202
+ b(l[x], d);
203
203
  continue;
204
204
  }
205
205
  if (/[A-Za-z]/.test(l[x]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(d) && g(d, m.bools) === !1) {
206
- w(l[x], d), n = !0;
206
+ b(l[x], d), n = !0;
207
207
  break;
208
208
  }
209
209
  if (l[x + 1] && l[x + 1].match(/\W/)) {
210
- w(l[x], d), n = !0;
210
+ b(l[x], d), n = !0;
211
211
  break;
212
212
  } else
213
- w(l[x], z(l[x]));
213
+ b(l[x], z(l[x]));
214
214
  }
215
- t = a.slice(-1)[0], !n && t !== "-" && (g(t, m.arrays) ? e = F(e, t, r) : g(t, m.nargs) !== !1 ? e = V(e, t, r) : (d = r[e + 1], d !== void 0 && (!/^(-|--)[^-]/.test(d) || d.match(P)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (w(t, d), e++) : w(t, z(t))));
215
+ t = a.slice(-1)[0], !n && t !== "-" && (g(t, m.arrays) ? e = F(e, t, r) : g(t, m.nargs) !== !1 ? e = V(e, t, r) : (d = r[e + 1], d !== void 0 && (!/^(-|--)[^-]/.test(d) || d.match(P)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (b(t, d), e++) : b(t, z(t))));
216
216
  } else if (a.match(/^-[0-9]$/) && a.match(P) && g(a.slice(1), m.bools))
217
- t = a.slice(1), w(t, z(t));
217
+ t = a.slice(1), b(t, z(t));
218
218
  else if (a === "--") {
219
219
  j = r.slice(e + 1);
220
220
  break;
@@ -224,34 +224,34 @@ class De {
224
224
  } else
225
225
  U(a);
226
226
  }
227
- me(b, !0), me(b, !1), fe(b), we(), ue(b, m.aliases, q, !0), be(b), k["set-placeholder-key"] && ve(b), Object.keys(m.counts).forEach(function(e) {
228
- O(b, e.split(".")) || w(e, 0);
229
- }), y && j.length && (b[L] = []), j.forEach(function(e) {
230
- b[L].push(e);
231
- }), k["camel-case-expansion"] && k["strip-dashed"] && Object.keys(b).filter((e) => e !== "--" && e.includes("-")).forEach((e) => {
232
- delete b[e];
227
+ me(w, !0), me(w, !1), fe(w), be(), ue(w, m.aliases, q, !0), we(w), k["set-placeholder-key"] && ve(w), Object.keys(m.counts).forEach(function(e) {
228
+ O(w, e.split(".")) || b(e, 0);
229
+ }), y && j.length && (w[L] = []), j.forEach(function(e) {
230
+ w[L].push(e);
231
+ }), k["camel-case-expansion"] && k["strip-dashed"] && Object.keys(w).filter((e) => e !== "--" && e.includes("-")).forEach((e) => {
232
+ delete w[e];
233
233
  }), k["strip-aliased"] && [].concat(...Object.keys(h).map((e) => h[e])).forEach((e) => {
234
- k["camel-case-expansion"] && e.includes("-") && delete b[e.split(".").map((a) => $(a)).join(".")], delete b[e];
234
+ k["camel-case-expansion"] && e.includes("-") && delete w[e.split(".").map((a) => $(a)).join(".")], delete w[e];
235
235
  });
236
236
  function U(e) {
237
- const a = K("_", e);
238
- (typeof a == "string" || typeof a == "number") && b._.push(a);
237
+ const a = H("_", e);
238
+ (typeof a == "string" || typeof a == "number") && w._.push(a);
239
239
  }
240
240
  function V(e, a, c, n) {
241
241
  let t, l = g(a, m.nargs);
242
242
  if (l = typeof l != "number" || isNaN(l) ? 1 : l, l === 0)
243
- return T(n) || (M = Error(C("Argument unexpected for: %s", a))), w(a, z(a)), e;
243
+ return T(n) || (M = Error(G("Argument unexpected for: %s", a))), b(a, z(a)), e;
244
244
  let p = T(n) ? 0 : 1;
245
245
  if (k["nargs-eats-options"])
246
- c.length - (e + 1) + p < l && (M = Error(C("Not enough arguments following: %s", a))), p = l;
246
+ c.length - (e + 1) + p < l && (M = Error(G("Not enough arguments following: %s", a))), p = l;
247
247
  else {
248
- for (t = e + 1; t < c.length && (!c[t].match(/^-[^0-9]/) || c[t].match(P) || H(c[t])); t++)
248
+ for (t = e + 1; t < c.length && (!c[t].match(/^-[^0-9]/) || c[t].match(P) || K(c[t])); t++)
249
249
  p++;
250
- p < l && (M = Error(C("Not enough arguments following: %s", a)));
250
+ p < l && (M = Error(G("Not enough arguments following: %s", a)));
251
251
  }
252
252
  let d = Math.min(p, l);
253
- for (!T(n) && d > 0 && (w(a, n), d--), t = e + 1; t < d + e + 1; t++)
254
- w(a, c[t]);
253
+ for (!T(n) && d > 0 && (b(a, n), d--), t = e + 1; t < d + e + 1; t++)
254
+ b(a, c[t]);
255
255
  return e + d;
256
256
  }
257
257
  function F(e, a, c, n) {
@@ -259,19 +259,19 @@ class De {
259
259
  const p = g(a, m.nargs);
260
260
  if (g(a, m.bools) && !/^(true|false)$/.test(l))
261
261
  t.push(!0);
262
- else if (T(l) || T(n) && /^-/.test(l) && !P.test(l) && !H(l)) {
262
+ else if (T(l) || T(n) && /^-/.test(l) && !P.test(l) && !K(l)) {
263
263
  if (q[a] !== void 0) {
264
264
  const d = q[a];
265
265
  t = Array.isArray(d) ? d : [d];
266
266
  }
267
267
  } else {
268
268
  T(n) || t.push(Y(a, n, !0));
269
- for (let d = e + 1; d < c.length && !(!k["greedy-arrays"] && t.length > 0 || p && typeof p == "number" && t.length >= p || (l = c[d], /^-/.test(l) && !P.test(l) && !H(l))); d++)
269
+ for (let d = e + 1; d < c.length && !(!k["greedy-arrays"] && t.length > 0 || p && typeof p == "number" && t.length >= p || (l = c[d], /^-/.test(l) && !P.test(l) && !K(l))); d++)
270
270
  e = d, t.push(Y(a, l, _));
271
271
  }
272
- return typeof p == "number" && (p && t.length < p || isNaN(p) && t.length === 0) && (M = Error(C("Not enough arguments following: %s", a))), w(a, t), e;
272
+ return typeof p == "number" && (p && t.length < p || isNaN(p) && t.length === 0) && (M = Error(G("Not enough arguments following: %s", a))), b(a, t), e;
273
273
  }
274
- function w(e, a, c = _) {
274
+ function b(e, a, c = _) {
275
275
  if (/-/.test(e) && k["camel-case-expansion"]) {
276
276
  const l = e.split(".").map(function(p) {
277
277
  return $(p);
@@ -279,13 +279,13 @@ class De {
279
279
  re(e, l);
280
280
  }
281
281
  const n = Y(e, a, c), t = e.split(".");
282
- N(b, t, n), m.aliases[e] && m.aliases[e].forEach(function(l) {
282
+ D(w, t, n), m.aliases[e] && m.aliases[e].forEach(function(l) {
283
283
  const p = l.split(".");
284
- N(b, p, n);
284
+ D(w, p, n);
285
285
  }), t.length > 1 && k["dot-notation"] && (m.aliases[t[0]] || []).forEach(function(l) {
286
286
  let p = l.split(".");
287
287
  const d = [].concat(t);
288
- d.shift(), p = p.concat(d), (m.aliases[e] || []).includes(p.join(".")) || N(b, p, n);
288
+ d.shift(), p = p.concat(d), (m.aliases[e] || []).includes(p.join(".")) || D(w, p, n);
289
289
  }), g(e, m.normalize) && !g(e, m.arrays) && [e].concat(m.aliases[e] || []).forEach(function(p) {
290
290
  Object.defineProperty(se, p, {
291
291
  enumerable: !0,
@@ -299,17 +299,17 @@ class De {
299
299
  });
300
300
  }
301
301
  function re(e, a) {
302
- m.aliases[e] && m.aliases[e].length || (m.aliases[e] = [a], G[a] = !0), m.aliases[a] && m.aliases[a].length || re(a, e);
302
+ m.aliases[e] && m.aliases[e].length || (m.aliases[e] = [a], C[a] = !0), m.aliases[a] && m.aliases[a].length || re(a, e);
303
303
  }
304
304
  function Y(e, a, c) {
305
305
  c && (a = Ve(a)), (g(e, m.bools) || g(e, m.counts)) && typeof a == "string" && (a = a === "true");
306
306
  let n = Array.isArray(a) ? a.map(function(t) {
307
- return K(e, t);
308
- }) : K(e, a);
307
+ return H(e, t);
308
+ }) : H(e, a);
309
309
  return g(e, m.counts) && (T(n) || typeof n == "boolean") && (n = Z()), g(e, m.normalize) && g(e, m.arrays) && (Array.isArray(a) ? n = a.map((t) => S.normalize(t)) : n = S.normalize(a)), n;
310
310
  }
311
- function K(e, a) {
312
- return !k["parse-positional-numbers"] && e === "_" || !g(e, m.strings) && !g(e, m.bools) && !Array.isArray(a) && (Ne(a) && k["parse-numbers"] && Number.isSafeInteger(Math.floor(parseFloat(`${a}`))) || !T(a) && g(e, m.numbers)) && (a = Number(a)), a;
311
+ function H(e, a) {
312
+ return !k["parse-positional-numbers"] && e === "_" || !g(e, m.strings) && !g(e, m.bools) && !Array.isArray(a) && (De(a) && k["parse-numbers"] && Number.isSafeInteger(Math.floor(parseFloat(`${a}`))) || !T(a) && g(e, m.numbers)) && (a = Number(a)), a;
313
313
  }
314
314
  function fe(e) {
315
315
  const a = /* @__PURE__ */ Object.create(null);
@@ -333,17 +333,17 @@ class De {
333
333
  t = S.require(l);
334
334
  J(t);
335
335
  } catch (t) {
336
- t.name === "PermissionDenied" ? M = t : e[c] && (M = Error(C("Invalid JSON config file: %s", n)));
336
+ t.name === "PermissionDenied" ? M = t : e[c] && (M = Error(G("Invalid JSON config file: %s", n)));
337
337
  }
338
338
  });
339
339
  }
340
340
  function J(e, a) {
341
341
  Object.keys(e).forEach(function(c) {
342
342
  const n = e[c], t = a ? a + "." + c : c;
343
- typeof n == "object" && n !== null && !Array.isArray(n) && k["dot-notation"] ? J(n, t) : (!O(b, t.split(".")) || g(t, m.arrays) && k["combine-arrays"]) && w(t, n);
343
+ typeof n == "object" && n !== null && !Array.isArray(n) && k["dot-notation"] ? J(n, t) : (!O(w, t.split(".")) || g(t, m.arrays) && k["combine-arrays"]) && b(t, n);
344
344
  });
345
345
  }
346
- function we() {
346
+ function be() {
347
347
  typeof I < "u" && I.forEach(function(e) {
348
348
  J(e);
349
349
  });
@@ -357,17 +357,17 @@ class De {
357
357
  const l = t.split("__").map(function(p, d) {
358
358
  return d === 0 && (p = p.substring(c.length)), $(p);
359
359
  });
360
- (a && m.configs[l.join(".")] || !a) && !O(e, l) && w(l.join("."), n[t]);
360
+ (a && m.configs[l.join(".")] || !a) && !O(e, l) && b(l.join("."), n[t]);
361
361
  }
362
362
  });
363
363
  }
364
- function be(e) {
364
+ function we(e) {
365
365
  let a;
366
366
  const c = /* @__PURE__ */ new Set();
367
367
  Object.keys(e).forEach(function(n) {
368
368
  if (!c.has(n) && (a = g(n, m.coercions), typeof a == "function"))
369
369
  try {
370
- const t = K(n, a(e[n]));
370
+ const t = H(n, a(e[n]));
371
371
  [].concat(m.aliases[n] || [], n).forEach((l) => {
372
372
  c.add(l), e[l] = t;
373
373
  });
@@ -383,8 +383,8 @@ class De {
383
383
  }
384
384
  function ue(e, a, c, n = !1) {
385
385
  Object.keys(c).forEach(function(t) {
386
- O(e, t.split(".")) || (N(e, t.split("."), c[t]), n && (ne[t] = !0), (a[t] || []).forEach(function(l) {
387
- O(e, l.split(".")) || N(e, l.split("."), c[t]);
386
+ O(e, t.split(".")) || (D(e, t.split("."), c[t]), n && (ne[t] = !0), (a[t] || []).forEach(function(l) {
387
+ O(e, l.split(".")) || D(e, l.split("."), c[t]);
388
388
  }));
389
389
  });
390
390
  }
@@ -396,7 +396,7 @@ class De {
396
396
  const n = a[a.length - 1];
397
397
  return typeof c != "object" ? !1 : n in c;
398
398
  }
399
- function N(e, a, c) {
399
+ function D(e, a, c) {
400
400
  let n = e;
401
401
  k["dot-notation"] || (a = [a.join(".")]), a.slice(0, -1).forEach(function(v) {
402
402
  v = pe(v), typeof n == "object" && n[v] === void 0 && (n[v] = {}), typeof n[v] != "object" || Array.isArray(n[v]) ? (Array.isArray(n[v]) ? n[v].push({}) : n[v] = [n[v], {}], n = n[v][n[v].length - 1]) : n = n[v];
@@ -411,12 +411,12 @@ class De {
411
411
  m.aliases[c] || (m.aliases[c] = [].concat(h[c] || []), m.aliases[c].concat(c).forEach(function(n) {
412
412
  if (/-/.test(n) && k["camel-case-expansion"]) {
413
413
  const t = $(n);
414
- t !== c && m.aliases[c].indexOf(t) === -1 && (m.aliases[c].push(t), G[t] = !0);
414
+ t !== c && m.aliases[c].indexOf(t) === -1 && (m.aliases[c].push(t), C[t] = !0);
415
415
  }
416
416
  }), m.aliases[c].concat(c).forEach(function(n) {
417
417
  if (n.length > 1 && /[A-Z]/.test(n) && k["camel-case-expansion"]) {
418
418
  const t = Oe(n, "-");
419
- t !== c && m.aliases[c].indexOf(t) === -1 && (m.aliases[c].push(t), G[t] = !0);
419
+ t !== c && m.aliases[c].indexOf(t) === -1 && (m.aliases[c].push(t), C[t] = !0);
420
420
  }
421
421
  }), m.aliases[c].forEach(function(n) {
422
422
  m.aliases[n] = [c].concat(m.aliases[c].filter(function(t) {
@@ -457,7 +457,7 @@ class De {
457
457
  }
458
458
  return a;
459
459
  }
460
- function H(e) {
460
+ function K(e) {
461
461
  return k["unknown-options-as-args"] && ye(e);
462
462
  }
463
463
  function ye(e) {
@@ -468,29 +468,29 @@ class De {
468
468
  }
469
469
  function Le(e) {
470
470
  return {
471
- [Q.BOOLEAN]: !0,
472
- [Q.STRING]: "",
473
- [Q.NUMBER]: void 0,
474
- [Q.ARRAY]: []
471
+ [A.BOOLEAN]: !0,
472
+ [A.STRING]: "",
473
+ [A.NUMBER]: void 0,
474
+ [A.ARRAY]: []
475
475
  }[e];
476
476
  }
477
477
  function Me(e) {
478
- let a = Q.BOOLEAN;
479
- return g(e, m.strings) ? a = Q.STRING : g(e, m.numbers) ? a = Q.NUMBER : g(e, m.bools) ? a = Q.BOOLEAN : g(e, m.arrays) && (a = Q.ARRAY), a;
478
+ let a = A.BOOLEAN;
479
+ return g(e, m.strings) ? a = A.STRING : g(e, m.numbers) ? a = A.NUMBER : g(e, m.bools) ? a = A.BOOLEAN : g(e, m.arrays) && (a = A.ARRAY), a;
480
480
  }
481
481
  function T(e) {
482
482
  return e === void 0;
483
483
  }
484
- function Ae() {
485
- Object.keys(m.counts).find((e) => g(e, m.arrays) ? (M = Error(C("Invalid configuration: %s, opts.count excludes opts.array.", e)), !0) : g(e, m.nargs) ? (M = Error(C("Invalid configuration: %s, opts.count excludes opts.narg.", e)), !0) : !1);
484
+ function Qe() {
485
+ Object.keys(m.counts).find((e) => g(e, m.arrays) ? (M = Error(G("Invalid configuration: %s, opts.count excludes opts.array.", e)), !0) : g(e, m.nargs) ? (M = Error(G("Invalid configuration: %s, opts.count excludes opts.narg.", e)), !0) : !1);
486
486
  }
487
487
  return {
488
488
  aliases: Object.assign({}, m.aliases),
489
- argv: Object.assign(se, b),
489
+ argv: Object.assign(se, w),
490
490
  configuration: k,
491
491
  defaulted: Object.assign({}, ne),
492
492
  error: M,
493
- newAliases: Object.assign({}, G)
493
+ newAliases: Object.assign({}, C)
494
494
  };
495
495
  }
496
496
  }
@@ -540,11 +540,11 @@ const le = process && process.env && process.env.YARGS_MIN_NODE_VERSION ? Number
540
540
  if (de && Number(de.match(/^([^.]+)/)[1]) < le)
541
541
  throw Error(`yargs parser supports a minimum Node.js version of ${le}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);
542
542
  const Fe = process ? process.env : {};
543
- new De({
543
+ new Ee({
544
544
  cwd: process.cwd,
545
545
  env: () => Fe,
546
546
  format: ke,
547
- normalize: Qe,
547
+ normalize: Ae,
548
548
  resolve: ie,
549
549
  // TODO: figure out a way to combine ESM and CJS coverage, such that
550
550
  // we can exercise all the lines below:
@@ -556,7 +556,7 @@ new De({
556
556
  throw Error("only .json config files are supported in ESM");
557
557
  }
558
558
  });
559
- const Ke = {
559
+ const He = {
560
560
  fs: {
561
561
  readFileSync: ge,
562
562
  writeFile: Pe
@@ -571,8 +571,8 @@ const Ke = {
571
571
  }
572
572
  }
573
573
  };
574
- let A;
575
- class He {
574
+ let Q;
575
+ class Ke {
576
576
  constructor(o) {
577
577
  o = o || {}, this.directory = o.directory || "./locales", this.updateFiles = typeof o.updateFiles == "boolean" ? o.updateFiles : !0, this.locale = o.locale || "en", this.fallbackToLanguage = typeof o.fallbackToLanguage == "boolean" ? o.fallbackToLanguage : !0, this.cache = /* @__PURE__ */ Object.create(null), this.writeQueue = [];
578
578
  }
@@ -587,7 +587,7 @@ class He {
587
587
  directory: this.directory,
588
588
  locale: this.locale,
589
589
  cb: s
590
- })) : s(), A.format.apply(A.format, [this.cache[this.locale][u] || u].concat(o));
590
+ })) : s(), Q.format.apply(Q.format, [this.cache[this.locale][u] || u].concat(o));
591
591
  }
592
592
  __n() {
593
593
  const o = Array.prototype.slice.call(arguments), u = o.shift(), s = o.shift(), r = o.shift();
@@ -604,7 +604,7 @@ class He {
604
604
  cb: _
605
605
  })) : _();
606
606
  const k = [h];
607
- return ~h.indexOf("%d") && k.push(r), A.format.apply(A.format, k.concat(o));
607
+ return ~h.indexOf("%d") && k.push(r), Q.format.apply(Q.format, k.concat(o));
608
608
  }
609
609
  setLocale(o) {
610
610
  this.locale = o;
@@ -629,7 +629,7 @@ class He {
629
629
  }
630
630
  _processWriteQueue() {
631
631
  const o = this, u = this.writeQueue[0], s = u.directory, r = u.locale, _ = u.cb, h = this._resolveLocaleFile(s, r), k = JSON.stringify(this.cache[r], null, 2);
632
- A.fs.writeFile(h, k, "utf-8", function(q) {
632
+ Q.fs.writeFile(h, k, "utf-8", function(q) {
633
633
  o.writeQueue.shift(), o.writeQueue.length > 0 && o._processWriteQueue(), _(q);
634
634
  });
635
635
  }
@@ -637,7 +637,7 @@ class He {
637
637
  let o = {};
638
638
  const u = this._resolveLocaleFile(this.directory, this.locale);
639
639
  try {
640
- A.fs.readFileSync && (o = JSON.parse(A.fs.readFileSync(u, "utf-8")));
640
+ Q.fs.readFileSync && (o = JSON.parse(Q.fs.readFileSync(u, "utf-8")));
641
641
  } catch (s) {
642
642
  if (s instanceof SyntaxError && (s.message = "syntax error in " + u), s.code === "ENOENT")
643
643
  o = {};
@@ -647,20 +647,20 @@ class He {
647
647
  this.cache[this.locale] = o;
648
648
  }
649
649
  _resolveLocaleFile(o, u) {
650
- let s = A.resolve(o, "./", u + ".json");
650
+ let s = Q.resolve(o, "./", u + ".json");
651
651
  if (this.fallbackToLanguage && !this._fileExistsSync(s) && ~u.lastIndexOf("_")) {
652
- const r = A.resolve(o, "./", u.split("_")[0] + ".json");
652
+ const r = Q.resolve(o, "./", u.split("_")[0] + ".json");
653
653
  this._fileExistsSync(r) && (s = r);
654
654
  }
655
655
  return s;
656
656
  }
657
657
  _fileExistsSync(o) {
658
- return A.exists(o);
658
+ return Q.exists(o);
659
659
  }
660
660
  }
661
661
  function $e(i, o) {
662
- A = o;
663
- const u = new He(i);
662
+ Q = o;
663
+ const u = new Ke(i);
664
664
  return {
665
665
  __: u.__.bind(u),
666
666
  __n: u.__n.bind(u),
@@ -670,16 +670,16 @@ function $e(i, o) {
670
670
  locale: u.locale
671
671
  };
672
672
  }
673
- const We = (i) => $e(i, Ke);
674
- let E;
673
+ const We = (i) => $e(i, He);
674
+ let N;
675
675
  try {
676
- E = Se(import.meta.url);
676
+ N = Se(import.meta.url);
677
677
  } catch {
678
- E = process.cwd();
678
+ N = process.cwd();
679
679
  }
680
- const Ue = E.substring(0, E.lastIndexOf("node_modules"));
680
+ const Ue = N.substring(0, N.lastIndexOf("node_modules"));
681
681
  Ue || process.cwd(), process.cwd, process.exit, process.nextTick, typeof process.stdout.columns < "u" && process.stdout.columns, We({
682
- directory: ie(E, "../../../locales"),
682
+ directory: ie(N, "../../../locales"),
683
683
  updateFiles: !1
684
684
  });
685
685
  const oe = [
@@ -922,28 +922,6 @@ const oe = [
922
922
  output_mtok: 5
923
923
  }
924
924
  },
925
- {
926
- id: "claude-instant-1",
927
- description: "Retired, here to match price sources",
928
- match: {
929
- equals: "claude-instant-1"
930
- },
931
- prices: {
932
- input_mtok: 1.63,
933
- output_mtok: 55.1
934
- }
935
- },
936
- {
937
- id: "claude-instant-1.2",
938
- description: "Retired, here to match price sources",
939
- match: {
940
- equals: "claude-instant-1.2"
941
- },
942
- prices: {
943
- input_mtok: 1.63,
944
- output_mtok: 5.51
945
- }
946
- },
947
925
  {
948
926
  id: "claude-opus-4-0",
949
927
  name: "Claude Opus 4",
@@ -1025,7 +1003,7 @@ const oe = [
1025
1003
  {
1026
1004
  id: "claude-opus-4-6",
1027
1005
  name: "Claude Opus 4.6",
1028
- description: "Most intelligent model with adaptive thinking and 1M context beta",
1006
+ description: "Our most intelligent model for building agents and coding",
1029
1007
  match: {
1030
1008
  or: [
1031
1009
  {
@@ -1116,7 +1094,7 @@ const oe = [
1116
1094
  {
1117
1095
  id: "claude-sonnet-4-5",
1118
1096
  name: "Claude Sonnet 4.5",
1119
- description: "Most intelligent model for building agents and coding",
1097
+ description: "Our best combination of speed and intelligence",
1120
1098
  match: {
1121
1099
  or: [
1122
1100
  {
@@ -1167,6 +1145,60 @@ const oe = [
1167
1145
  }
1168
1146
  }
1169
1147
  },
1148
+ {
1149
+ id: "claude-sonnet-4-6",
1150
+ name: "Claude Sonnet 4.6",
1151
+ description: "Our best combination of speed and intelligence",
1152
+ match: {
1153
+ or: [
1154
+ {
1155
+ starts_with: "claude-sonnet-4-6"
1156
+ },
1157
+ {
1158
+ starts_with: "claude-sonnet-4.6"
1159
+ }
1160
+ ]
1161
+ },
1162
+ context_window: 1e6,
1163
+ prices: {
1164
+ input_mtok: {
1165
+ base: 3,
1166
+ tiers: [
1167
+ {
1168
+ start: 2e5,
1169
+ price: 6
1170
+ }
1171
+ ]
1172
+ },
1173
+ cache_write_mtok: {
1174
+ base: 3.75,
1175
+ tiers: [
1176
+ {
1177
+ start: 2e5,
1178
+ price: 7.5
1179
+ }
1180
+ ]
1181
+ },
1182
+ cache_read_mtok: {
1183
+ base: 0.3,
1184
+ tiers: [
1185
+ {
1186
+ start: 2e5,
1187
+ price: 0.6
1188
+ }
1189
+ ]
1190
+ },
1191
+ output_mtok: {
1192
+ base: 15,
1193
+ tiers: [
1194
+ {
1195
+ start: 2e5,
1196
+ price: 22.5
1197
+ }
1198
+ ]
1199
+ }
1200
+ }
1201
+ },
1170
1202
  {
1171
1203
  id: "claude-v1",
1172
1204
  description: "Retired, here to match price sources",
@@ -1403,7 +1435,7 @@ const oe = [
1403
1435
  {
1404
1436
  id: "global.anthropic.claude-haiku-4-5-20251001-v1:0",
1405
1437
  match: {
1406
- starts_with: "global.anthropic.claude-haiku-4-5-20251001-v1"
1438
+ contains: "global.anthropic.claude-haiku-4-5-20251001-v1"
1407
1439
  },
1408
1440
  prices: {
1409
1441
  input_mtok: 1,
@@ -1412,10 +1444,66 @@ const oe = [
1412
1444
  output_mtok: 5
1413
1445
  }
1414
1446
  },
1447
+ {
1448
+ id: "global.anthropic.claude-opus-4-5-v1:0",
1449
+ match: {
1450
+ contains: "global.anthropic.claude-opus-4-5"
1451
+ },
1452
+ prices: {
1453
+ input_mtok: 5,
1454
+ cache_write_mtok: 6.25,
1455
+ cache_read_mtok: 0.5,
1456
+ output_mtok: 25
1457
+ }
1458
+ },
1459
+ {
1460
+ id: "global.anthropic.claude-opus-4-6-v1:0",
1461
+ match: {
1462
+ contains: "global.anthropic.claude-opus-4-6"
1463
+ },
1464
+ prices: {
1465
+ input_mtok: {
1466
+ base: 5,
1467
+ tiers: [
1468
+ {
1469
+ start: 2e5,
1470
+ price: 10
1471
+ }
1472
+ ]
1473
+ },
1474
+ cache_write_mtok: {
1475
+ base: 6.25,
1476
+ tiers: [
1477
+ {
1478
+ start: 2e5,
1479
+ price: 12.5
1480
+ }
1481
+ ]
1482
+ },
1483
+ cache_read_mtok: {
1484
+ base: 0.5,
1485
+ tiers: [
1486
+ {
1487
+ start: 2e5,
1488
+ price: 1
1489
+ }
1490
+ ]
1491
+ },
1492
+ output_mtok: {
1493
+ base: 25,
1494
+ tiers: [
1495
+ {
1496
+ start: 2e5,
1497
+ price: 37.5
1498
+ }
1499
+ ]
1500
+ }
1501
+ }
1502
+ },
1415
1503
  {
1416
1504
  id: "global.anthropic.claude-sonnet-4-20250514-v1:0",
1417
1505
  match: {
1418
- starts_with: "global.anthropic.claude-sonnet-4-20250514-v1"
1506
+ contains: "global.anthropic.claude-sonnet-4-20250514-v1"
1419
1507
  },
1420
1508
  prices: {
1421
1509
  input_mtok: 3,
@@ -1427,7 +1515,7 @@ const oe = [
1427
1515
  {
1428
1516
  id: "global.anthropic.claude-sonnet-4-5-20250929-v1:0",
1429
1517
  match: {
1430
- starts_with: "global.anthropic.claude-sonnet-4-5-20250929-v1"
1518
+ contains: "global.anthropic.claude-sonnet-4-5-20250929-v1"
1431
1519
  },
1432
1520
  prices: {
1433
1521
  input_mtok: 3,
@@ -1436,6 +1524,50 @@ const oe = [
1436
1524
  output_mtok: 15
1437
1525
  }
1438
1526
  },
1527
+ {
1528
+ id: "global.anthropic.claude-sonnet-4-6-v1:0",
1529
+ match: {
1530
+ contains: "global.anthropic.claude-sonnet-4-6"
1531
+ },
1532
+ prices: {
1533
+ input_mtok: {
1534
+ base: 3,
1535
+ tiers: [
1536
+ {
1537
+ start: 2e5,
1538
+ price: 6
1539
+ }
1540
+ ]
1541
+ },
1542
+ cache_write_mtok: {
1543
+ base: 3.75,
1544
+ tiers: [
1545
+ {
1546
+ start: 2e5,
1547
+ price: 7.5
1548
+ }
1549
+ ]
1550
+ },
1551
+ cache_read_mtok: {
1552
+ base: 0.3,
1553
+ tiers: [
1554
+ {
1555
+ start: 2e5,
1556
+ price: 0.6
1557
+ }
1558
+ ]
1559
+ },
1560
+ output_mtok: {
1561
+ base: 15,
1562
+ tiers: [
1563
+ {
1564
+ start: 2e5,
1565
+ price: 22.5
1566
+ }
1567
+ ]
1568
+ }
1569
+ }
1570
+ },
1439
1571
  {
1440
1572
  id: "meta.llama3-1-70b-instruct-v1:0",
1441
1573
  name: "Llama 3.1 70B Instruct",
@@ -1672,22 +1804,22 @@ const oe = [
1672
1804
  match: {
1673
1805
  or: [
1674
1806
  {
1675
- starts_with: "us.anthropic.claude-3-5-haiku-20241022-v1"
1807
+ contains: "us.anthropic.claude-3-5-haiku-20241022-v1"
1676
1808
  },
1677
1809
  {
1678
- starts_with: "au.anthropic.claude-3-5-haiku-20241022-v1"
1810
+ contains: "au.anthropic.claude-3-5-haiku-20241022-v1"
1679
1811
  },
1680
1812
  {
1681
- starts_with: "apac.anthropic.claude-3-5-haiku-20241022-v1"
1813
+ contains: "apac.anthropic.claude-3-5-haiku-20241022-v1"
1682
1814
  },
1683
1815
  {
1684
- starts_with: "eu.anthropic.claude-3-5-haiku-20241022-v1"
1816
+ contains: "eu.anthropic.claude-3-5-haiku-20241022-v1"
1685
1817
  },
1686
1818
  {
1687
- starts_with: "us-gov.anthropic.claude-3-5-haiku-20241022-v1"
1819
+ contains: "us-gov.anthropic.claude-3-5-haiku-20241022-v1"
1688
1820
  },
1689
1821
  {
1690
- starts_with: "jp.anthropic.claude-3-5-haiku-20241022-v1"
1822
+ contains: "jp.anthropic.claude-3-5-haiku-20241022-v1"
1691
1823
  }
1692
1824
  ]
1693
1825
  },
@@ -1703,22 +1835,22 @@ const oe = [
1703
1835
  match: {
1704
1836
  or: [
1705
1837
  {
1706
- starts_with: "us.anthropic.claude-3-5-sonnet-20240620-v1"
1838
+ contains: "us.anthropic.claude-3-5-sonnet-20240620-v1"
1707
1839
  },
1708
1840
  {
1709
- starts_with: "au.anthropic.claude-3-5-sonnet-20240620-v1"
1841
+ contains: "au.anthropic.claude-3-5-sonnet-20240620-v1"
1710
1842
  },
1711
1843
  {
1712
- starts_with: "apac.anthropic.claude-3-5-sonnet-20240620-v1"
1844
+ contains: "apac.anthropic.claude-3-5-sonnet-20240620-v1"
1713
1845
  },
1714
1846
  {
1715
- starts_with: "eu.anthropic.claude-3-5-sonnet-20240620-v1"
1847
+ contains: "eu.anthropic.claude-3-5-sonnet-20240620-v1"
1716
1848
  },
1717
1849
  {
1718
- starts_with: "us-gov.anthropic.claude-3-5-sonnet-20240620-v1"
1850
+ contains: "us-gov.anthropic.claude-3-5-sonnet-20240620-v1"
1719
1851
  },
1720
1852
  {
1721
- starts_with: "jp.anthropic.claude-3-5-sonnet-20240620-v1"
1853
+ contains: "jp.anthropic.claude-3-5-sonnet-20240620-v1"
1722
1854
  }
1723
1855
  ]
1724
1856
  },
@@ -1734,22 +1866,22 @@ const oe = [
1734
1866
  match: {
1735
1867
  or: [
1736
1868
  {
1737
- starts_with: "us.anthropic.claude-3-5-sonnet-20241022-v2"
1869
+ contains: "us.anthropic.claude-3-5-sonnet-20241022-v2"
1738
1870
  },
1739
1871
  {
1740
- starts_with: "au.anthropic.claude-3-5-sonnet-20241022-v2"
1872
+ contains: "au.anthropic.claude-3-5-sonnet-20241022-v2"
1741
1873
  },
1742
1874
  {
1743
- starts_with: "apac.anthropic.claude-3-5-sonnet-20241022-v2"
1875
+ contains: "apac.anthropic.claude-3-5-sonnet-20241022-v2"
1744
1876
  },
1745
1877
  {
1746
- starts_with: "eu.anthropic.claude-3-5-sonnet-20241022-v2"
1878
+ contains: "eu.anthropic.claude-3-5-sonnet-20241022-v2"
1747
1879
  },
1748
1880
  {
1749
- starts_with: "us-gov.anthropic.claude-3-5-sonnet-20241022-v2"
1881
+ contains: "us-gov.anthropic.claude-3-5-sonnet-20241022-v2"
1750
1882
  },
1751
1883
  {
1752
- starts_with: "jp.anthropic.claude-3-5-sonnet-20241022-v2"
1884
+ contains: "jp.anthropic.claude-3-5-sonnet-20241022-v2"
1753
1885
  }
1754
1886
  ]
1755
1887
  },
@@ -1765,22 +1897,22 @@ const oe = [
1765
1897
  match: {
1766
1898
  or: [
1767
1899
  {
1768
- starts_with: "us.anthropic.claude-3-7-sonnet-20250219-v1"
1900
+ contains: "us.anthropic.claude-3-7-sonnet-20250219-v1"
1769
1901
  },
1770
1902
  {
1771
- starts_with: "au.anthropic.claude-3-7-sonnet-20250219-v1"
1903
+ contains: "au.anthropic.claude-3-7-sonnet-20250219-v1"
1772
1904
  },
1773
1905
  {
1774
- starts_with: "apac.anthropic.claude-3-7-sonnet-20250219-v1"
1906
+ contains: "apac.anthropic.claude-3-7-sonnet-20250219-v1"
1775
1907
  },
1776
1908
  {
1777
- starts_with: "eu.anthropic.claude-3-7-sonnet-20250219-v1"
1909
+ contains: "eu.anthropic.claude-3-7-sonnet-20250219-v1"
1778
1910
  },
1779
1911
  {
1780
- starts_with: "us-gov.anthropic.claude-3-7-sonnet-20250219-v1"
1912
+ contains: "us-gov.anthropic.claude-3-7-sonnet-20250219-v1"
1781
1913
  },
1782
1914
  {
1783
- starts_with: "jp.anthropic.claude-3-7-sonnet-20250219-v1"
1915
+ contains: "jp.anthropic.claude-3-7-sonnet-20250219-v1"
1784
1916
  }
1785
1917
  ]
1786
1918
  },
@@ -1796,22 +1928,22 @@ const oe = [
1796
1928
  match: {
1797
1929
  or: [
1798
1930
  {
1799
- starts_with: "us.anthropic.claude-3-haiku-20240307-v1"
1931
+ contains: "us.anthropic.claude-3-haiku-20240307-v1"
1800
1932
  },
1801
1933
  {
1802
- starts_with: "au.anthropic.claude-3-haiku-20240307-v1"
1934
+ contains: "au.anthropic.claude-3-haiku-20240307-v1"
1803
1935
  },
1804
1936
  {
1805
- starts_with: "apac.anthropic.claude-3-haiku-20240307-v1"
1937
+ contains: "apac.anthropic.claude-3-haiku-20240307-v1"
1806
1938
  },
1807
1939
  {
1808
- starts_with: "eu.anthropic.claude-3-haiku-20240307-v1"
1940
+ contains: "eu.anthropic.claude-3-haiku-20240307-v1"
1809
1941
  },
1810
1942
  {
1811
- starts_with: "us-gov.anthropic.claude-3-haiku-20240307-v1"
1943
+ contains: "us-gov.anthropic.claude-3-haiku-20240307-v1"
1812
1944
  },
1813
1945
  {
1814
- starts_with: "jp.anthropic.claude-3-haiku-20240307-v1"
1946
+ contains: "jp.anthropic.claude-3-haiku-20240307-v1"
1815
1947
  }
1816
1948
  ]
1817
1949
  },
@@ -1825,22 +1957,22 @@ const oe = [
1825
1957
  match: {
1826
1958
  or: [
1827
1959
  {
1828
- starts_with: "us.anthropic.claude-3-opus-20240229-v1"
1960
+ contains: "us.anthropic.claude-3-opus-20240229-v1"
1829
1961
  },
1830
1962
  {
1831
- starts_with: "au.anthropic.claude-3-opus-20240229-v1"
1963
+ contains: "au.anthropic.claude-3-opus-20240229-v1"
1832
1964
  },
1833
1965
  {
1834
- starts_with: "apac.anthropic.claude-3-opus-20240229-v1"
1966
+ contains: "apac.anthropic.claude-3-opus-20240229-v1"
1835
1967
  },
1836
1968
  {
1837
- starts_with: "eu.anthropic.claude-3-opus-20240229-v1"
1969
+ contains: "eu.anthropic.claude-3-opus-20240229-v1"
1838
1970
  },
1839
1971
  {
1840
- starts_with: "us-gov.anthropic.claude-3-opus-20240229-v1"
1972
+ contains: "us-gov.anthropic.claude-3-opus-20240229-v1"
1841
1973
  },
1842
1974
  {
1843
- starts_with: "jp.anthropic.claude-3-opus-20240229-v1"
1975
+ contains: "jp.anthropic.claude-3-opus-20240229-v1"
1844
1976
  }
1845
1977
  ]
1846
1978
  },
@@ -1854,22 +1986,22 @@ const oe = [
1854
1986
  match: {
1855
1987
  or: [
1856
1988
  {
1857
- starts_with: "us.anthropic.claude-3-sonnet-20240229-v1"
1989
+ contains: "us.anthropic.claude-3-sonnet-20240229-v1"
1858
1990
  },
1859
1991
  {
1860
- starts_with: "au.anthropic.claude-3-sonnet-20240229-v1"
1992
+ contains: "au.anthropic.claude-3-sonnet-20240229-v1"
1861
1993
  },
1862
1994
  {
1863
- starts_with: "apac.anthropic.claude-3-sonnet-20240229-v1"
1995
+ contains: "apac.anthropic.claude-3-sonnet-20240229-v1"
1864
1996
  },
1865
1997
  {
1866
- starts_with: "eu.anthropic.claude-3-sonnet-20240229-v1"
1998
+ contains: "eu.anthropic.claude-3-sonnet-20240229-v1"
1867
1999
  },
1868
2000
  {
1869
- starts_with: "us-gov.anthropic.claude-3-sonnet-20240229-v1"
2001
+ contains: "us-gov.anthropic.claude-3-sonnet-20240229-v1"
1870
2002
  },
1871
2003
  {
1872
- starts_with: "jp.anthropic.claude-3-sonnet-20240229-v1"
2004
+ contains: "jp.anthropic.claude-3-sonnet-20240229-v1"
1873
2005
  }
1874
2006
  ]
1875
2007
  },
@@ -1885,22 +2017,22 @@ const oe = [
1885
2017
  match: {
1886
2018
  or: [
1887
2019
  {
1888
- starts_with: "us.anthropic.claude-haiku-4-5-20251001-v1"
2020
+ contains: "us.anthropic.claude-haiku-4-5-20251001-v1"
1889
2021
  },
1890
2022
  {
1891
- starts_with: "au.anthropic.claude-haiku-4-5-20251001-v1"
2023
+ contains: "au.anthropic.claude-haiku-4-5-20251001-v1"
1892
2024
  },
1893
2025
  {
1894
- starts_with: "apac.anthropic.claude-haiku-4-5-20251001-v1"
2026
+ contains: "apac.anthropic.claude-haiku-4-5-20251001-v1"
1895
2027
  },
1896
2028
  {
1897
- starts_with: "eu.anthropic.claude-haiku-4-5-20251001-v1"
2029
+ contains: "eu.anthropic.claude-haiku-4-5-20251001-v1"
1898
2030
  },
1899
2031
  {
1900
- starts_with: "us-gov.anthropic.claude-haiku-4-5-20251001-v1"
2032
+ contains: "us-gov.anthropic.claude-haiku-4-5-20251001-v1"
1901
2033
  },
1902
2034
  {
1903
- starts_with: "jp.anthropic.claude-haiku-4-5-20251001-v1"
2035
+ contains: "jp.anthropic.claude-haiku-4-5-20251001-v1"
1904
2036
  }
1905
2037
  ]
1906
2038
  },
@@ -1916,22 +2048,22 @@ const oe = [
1916
2048
  match: {
1917
2049
  or: [
1918
2050
  {
1919
- starts_with: "us.anthropic.claude-opus-4-1-20250805-v1"
2051
+ contains: "us.anthropic.claude-opus-4-1-20250805-v1"
1920
2052
  },
1921
2053
  {
1922
- starts_with: "au.anthropic.claude-opus-4-1-20250805-v1"
2054
+ contains: "au.anthropic.claude-opus-4-1-20250805-v1"
1923
2055
  },
1924
2056
  {
1925
- starts_with: "apac.anthropic.claude-opus-4-1-20250805-v1"
2057
+ contains: "apac.anthropic.claude-opus-4-1-20250805-v1"
1926
2058
  },
1927
2059
  {
1928
- starts_with: "eu.anthropic.claude-opus-4-1-20250805-v1"
2060
+ contains: "eu.anthropic.claude-opus-4-1-20250805-v1"
1929
2061
  },
1930
2062
  {
1931
- starts_with: "us-gov.anthropic.claude-opus-4-1-20250805-v1"
2063
+ contains: "us-gov.anthropic.claude-opus-4-1-20250805-v1"
1932
2064
  },
1933
2065
  {
1934
- starts_with: "jp.anthropic.claude-opus-4-1-20250805-v1"
2066
+ contains: "jp.anthropic.claude-opus-4-1-20250805-v1"
1935
2067
  }
1936
2068
  ]
1937
2069
  },
@@ -1947,22 +2079,22 @@ const oe = [
1947
2079
  match: {
1948
2080
  or: [
1949
2081
  {
1950
- starts_with: "us.anthropic.claude-opus-4-20250514-v1"
2082
+ contains: "us.anthropic.claude-opus-4-20250514-v1"
1951
2083
  },
1952
2084
  {
1953
- starts_with: "au.anthropic.claude-opus-4-20250514-v1"
2085
+ contains: "au.anthropic.claude-opus-4-20250514-v1"
1954
2086
  },
1955
2087
  {
1956
- starts_with: "apac.anthropic.claude-opus-4-20250514-v1"
2088
+ contains: "apac.anthropic.claude-opus-4-20250514-v1"
1957
2089
  },
1958
2090
  {
1959
- starts_with: "eu.anthropic.claude-opus-4-20250514-v1"
2091
+ contains: "eu.anthropic.claude-opus-4-20250514-v1"
1960
2092
  },
1961
2093
  {
1962
- starts_with: "us-gov.anthropic.claude-opus-4-20250514-v1"
2094
+ contains: "us-gov.anthropic.claude-opus-4-20250514-v1"
1963
2095
  },
1964
2096
  {
1965
- starts_with: "jp.anthropic.claude-opus-4-20250514-v1"
2097
+ contains: "jp.anthropic.claude-opus-4-20250514-v1"
1966
2098
  }
1967
2099
  ]
1968
2100
  },
@@ -1973,27 +2105,121 @@ const oe = [
1973
2105
  output_mtok: 75
1974
2106
  }
1975
2107
  },
2108
+ {
2109
+ id: "regional.anthropic.claude-opus-4-5-v1:0",
2110
+ match: {
2111
+ or: [
2112
+ {
2113
+ contains: "us.anthropic.claude-opus-4-5"
2114
+ },
2115
+ {
2116
+ contains: "au.anthropic.claude-opus-4-5"
2117
+ },
2118
+ {
2119
+ contains: "apac.anthropic.claude-opus-4-5"
2120
+ },
2121
+ {
2122
+ contains: "eu.anthropic.claude-opus-4-5"
2123
+ },
2124
+ {
2125
+ contains: "us-gov.anthropic.claude-opus-4-5"
2126
+ },
2127
+ {
2128
+ contains: "jp.anthropic.claude-opus-4-5"
2129
+ }
2130
+ ]
2131
+ },
2132
+ prices: {
2133
+ input_mtok: 5.5,
2134
+ cache_write_mtok: 6.875,
2135
+ cache_read_mtok: 0.55,
2136
+ output_mtok: 27.5
2137
+ }
2138
+ },
2139
+ {
2140
+ id: "regional.anthropic.claude-opus-4-6-v1:0",
2141
+ match: {
2142
+ or: [
2143
+ {
2144
+ contains: "us.anthropic.claude-opus-4-6"
2145
+ },
2146
+ {
2147
+ contains: "au.anthropic.claude-opus-4-6"
2148
+ },
2149
+ {
2150
+ contains: "apac.anthropic.claude-opus-4-6"
2151
+ },
2152
+ {
2153
+ contains: "eu.anthropic.claude-opus-4-6"
2154
+ },
2155
+ {
2156
+ contains: "us-gov.anthropic.claude-opus-4-6"
2157
+ },
2158
+ {
2159
+ contains: "jp.anthropic.claude-opus-4-6"
2160
+ }
2161
+ ]
2162
+ },
2163
+ prices: {
2164
+ input_mtok: {
2165
+ base: 5.5,
2166
+ tiers: [
2167
+ {
2168
+ start: 2e5,
2169
+ price: 11
2170
+ }
2171
+ ]
2172
+ },
2173
+ cache_write_mtok: {
2174
+ base: 6.875,
2175
+ tiers: [
2176
+ {
2177
+ start: 2e5,
2178
+ price: 13.75
2179
+ }
2180
+ ]
2181
+ },
2182
+ cache_read_mtok: {
2183
+ base: 0.55,
2184
+ tiers: [
2185
+ {
2186
+ start: 2e5,
2187
+ price: 1.1
2188
+ }
2189
+ ]
2190
+ },
2191
+ output_mtok: {
2192
+ base: 27.5,
2193
+ tiers: [
2194
+ {
2195
+ start: 2e5,
2196
+ price: 41.25
2197
+ }
2198
+ ]
2199
+ }
2200
+ }
2201
+ },
1976
2202
  {
1977
2203
  id: "regional.anthropic.claude-sonnet-4-20250514-v1:0",
1978
2204
  match: {
1979
2205
  or: [
1980
2206
  {
1981
- starts_with: "us.anthropic.claude-sonnet-4-20250514-v1"
2207
+ contains: "us.anthropic.claude-sonnet-4-20250514-v1"
1982
2208
  },
1983
2209
  {
1984
- starts_with: "au.anthropic.claude-sonnet-4-20250514-v1"
2210
+ contains: "au.anthropic.claude-sonnet-4-20250514-v1"
1985
2211
  },
1986
2212
  {
1987
- starts_with: "apac.anthropic.claude-sonnet-4-20250514-v1"
2213
+ contains: "apac.anthropic.claude-sonnet-4-20250514-v1"
1988
2214
  },
1989
2215
  {
1990
- starts_with: "eu.anthropic.claude-sonnet-4-20250514-v1"
2216
+ contains: "eu.anthropic.claude-sonnet-4-20250514-v1"
1991
2217
  },
1992
2218
  {
1993
- starts_with: "us-gov.anthropic.claude-sonnet-4-20250514-v1"
2219
+ contains: "us-gov.anthropic.claude-sonnet-4-20250514-v1"
1994
2220
  },
1995
2221
  {
1996
- starts_with: "jp.anthropic.claude-sonnet-4-20250514-v1"
2222
+ contains: "jp.anthropic.claude-sonnet-4-20250514-v1"
1997
2223
  }
1998
2224
  ]
1999
2225
  },
@@ -2009,22 +2235,22 @@ const oe = [
2009
2235
  match: {
2010
2236
  or: [
2011
2237
  {
2012
- starts_with: "us.anthropic.claude-sonnet-4-5-20250929-v1"
2238
+ contains: "us.anthropic.claude-sonnet-4-5-20250929-v1"
2013
2239
  },
2014
2240
  {
2015
- starts_with: "au.anthropic.claude-sonnet-4-5-20250929-v1"
2241
+ contains: "au.anthropic.claude-sonnet-4-5-20250929-v1"
2016
2242
  },
2017
2243
  {
2018
- starts_with: "apac.anthropic.claude-sonnet-4-5-20250929-v1"
2244
+ contains: "apac.anthropic.claude-sonnet-4-5-20250929-v1"
2019
2245
  },
2020
2246
  {
2021
- starts_with: "eu.anthropic.claude-sonnet-4-5-20250929-v1"
2247
+ contains: "eu.anthropic.claude-sonnet-4-5-20250929-v1"
2022
2248
  },
2023
2249
  {
2024
- starts_with: "us-gov.anthropic.claude-sonnet-4-5-20250929-v1"
2250
+ contains: "us-gov.anthropic.claude-sonnet-4-5-20250929-v1"
2025
2251
  },
2026
2252
  {
2027
- starts_with: "jp.anthropic.claude-sonnet-4-5-20250929-v1"
2253
+ contains: "jp.anthropic.claude-sonnet-4-5-20250929-v1"
2028
2254
  }
2029
2255
  ]
2030
2256
  },
@@ -2034,6 +2260,69 @@ const oe = [
2034
2260
  cache_read_mtok: 0.33,
2035
2261
  output_mtok: 16.5
2036
2262
  }
2263
+ },
2264
+ {
2265
+ id: "regional.anthropic.claude-sonnet-4-6-v1:0",
2266
+ match: {
2267
+ or: [
2268
+ {
2269
+ contains: "us.anthropic.claude-sonnet-4-6"
2270
+ },
2271
+ {
2272
+ contains: "au.anthropic.claude-sonnet-4-6"
2273
+ },
2274
+ {
2275
+ contains: "apac.anthropic.claude-sonnet-4-6"
2276
+ },
2277
+ {
2278
+ contains: "eu.anthropic.claude-sonnet-4-6"
2279
+ },
2280
+ {
2281
+ contains: "us-gov.anthropic.claude-sonnet-4-6"
2282
+ },
2283
+ {
2284
+ contains: "jp.anthropic.claude-sonnet-4-6"
2285
+ }
2286
+ ]
2287
+ },
2288
+ prices: {
2289
+ input_mtok: {
2290
+ base: 3.3,
2291
+ tiers: [
2292
+ {
2293
+ start: 2e5,
2294
+ price: 6.6
2295
+ }
2296
+ ]
2297
+ },
2298
+ cache_write_mtok: {
2299
+ base: 4.125,
2300
+ tiers: [
2301
+ {
2302
+ start: 2e5,
2303
+ price: 8.25
2304
+ }
2305
+ ]
2306
+ },
2307
+ cache_read_mtok: {
2308
+ base: 0.33,
2309
+ tiers: [
2310
+ {
2311
+ start: 2e5,
2312
+ price: 0.66
2313
+ }
2314
+ ]
2315
+ },
2316
+ output_mtok: {
2317
+ base: 16.5,
2318
+ tiers: [
2319
+ {
2320
+ start: 2e5,
2321
+ price: 24.75
2322
+ }
2323
+ ]
2324
+ }
2325
+ }
2037
2326
  }
2038
2327
  ]
2039
2328
  },
@@ -3638,7 +3927,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
3638
3927
  prices: {
3639
3928
  input_mtok: 0.15,
3640
3929
  output_mtok: 0.6
3641
- }
3930
+ },
3931
+ deprecated: !0
3642
3932
  },
3643
3933
  {
3644
3934
  id: "gemini-2.5-pro",
@@ -3767,6 +4057,43 @@ Compared to other leading proprietary and open-weights models Command A delivers
3767
4057
  }
3768
4058
  }
3769
4059
  },
4060
+ {
4061
+ id: "gemini-3.1-pro-preview",
4062
+ name: "Gemini 3.1 Pro Preview",
4063
+ description: "The latest performance, intelligence, and usability improvements to the best model family in the world for multimodal understanding, agentic capabilities, and vibe-coding.",
4064
+ match: {
4065
+ starts_with: "gemini-3.1-pro-preview"
4066
+ },
4067
+ prices: {
4068
+ input_mtok: {
4069
+ base: 2,
4070
+ tiers: [
4071
+ {
4072
+ start: 2e5,
4073
+ price: 4
4074
+ }
4075
+ ]
4076
+ },
4077
+ cache_read_mtok: {
4078
+ base: 0.2,
4079
+ tiers: [
4080
+ {
4081
+ start: 2e5,
4082
+ price: 0.4
4083
+ }
4084
+ ]
4085
+ },
4086
+ output_mtok: {
4087
+ base: 12,
4088
+ tiers: [
4089
+ {
4090
+ start: 2e5,
4091
+ price: 18
4092
+ }
4093
+ ]
4094
+ }
4095
+ }
4096
+ },
3770
4097
  {
3771
4098
  id: "gemini-embedding-001",
3772
4099
  match: {
@@ -4586,6 +4913,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
4586
4913
  output_mtok: 0.6
4587
4914
  }
4588
4915
  },
4916
+ {
4917
+ id: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
4918
+ name: "Qwen3-Coder-480B-A35B-Instruct",
4919
+ match: {
4920
+ or: [
4921
+ {
4922
+ equals: "qwen/qwen3-coder-480b-a35b-instruct"
4923
+ },
4924
+ {
4925
+ equals: "qwen/qwen3-coder-480b-a35b-instruct-fast"
4926
+ }
4927
+ ]
4928
+ },
4929
+ context_window: 262144,
4930
+ prices: {
4931
+ input_mtok: 0.45,
4932
+ output_mtok: 1.8
4933
+ }
4934
+ },
4589
4935
  {
4590
4936
  id: "deepseek-ai/DeepSeek-R1-0528",
4591
4937
  name: "DeepSeek-R1-0528",
@@ -4662,25 +5008,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
4662
5008
  output_mtok: 0.6
4663
5009
  }
4664
5010
  },
4665
- {
4666
- id: "openai/gpt-oss-20b",
4667
- name: "gpt-oss-20b",
4668
- match: {
4669
- or: [
4670
- {
4671
- equals: "openai/gpt-oss-20b"
4672
- },
4673
- {
4674
- equals: "openai/gpt-oss-20b-fast"
4675
- }
4676
- ]
4677
- },
4678
- context_window: 131072,
4679
- prices: {
4680
- input_mtok: 0.05,
4681
- output_mtok: 0.2
4682
- }
4683
- },
4684
5011
  {
4685
5012
  id: "zai-org/GLM-4.5",
4686
5013
  name: "GLM-4.5",
@@ -4805,27 +5132,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
4805
5132
  },
4806
5133
  context_window: 131072,
4807
5134
  prices: {
4808
- input_mtok: 0.15,
4809
- output_mtok: 0.75
4810
- }
4811
- },
4812
- {
4813
- id: "openai/gpt-oss-20b",
4814
- name: "gpt-oss-20b",
4815
- match: {
4816
- or: [
4817
- {
4818
- equals: "openai/gpt-oss-20b"
4819
- },
4820
- {
4821
- equals: "openai/gpt-oss-20b-fast"
4822
- }
4823
- ]
4824
- },
4825
- context_window: 131072,
4826
- prices: {
4827
- input_mtok: 0.1,
4828
- output_mtok: 0.5
5135
+ input_mtok: 0.15,
5136
+ output_mtok: 0.75
4829
5137
  }
4830
5138
  }
4831
5139
  ]
@@ -5202,25 +5510,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
5202
5510
  input_mtok: 0.3,
5203
5511
  output_mtok: 0.3
5204
5512
  }
5205
- },
5206
- {
5207
- id: "openai/gpt-oss-20b",
5208
- name: "gpt-oss-20b",
5209
- match: {
5210
- or: [
5211
- {
5212
- equals: "openai/gpt-oss-20b"
5213
- },
5214
- {
5215
- equals: "openai/gpt-oss-20b-fast"
5216
- }
5217
- ]
5218
- },
5219
- context_window: 131072,
5220
- prices: {
5221
- input_mtok: 0.1,
5222
- output_mtok: 0.1
5223
- }
5224
5513
  }
5225
5514
  ]
5226
5515
  },
@@ -5730,25 +6019,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
5730
6019
  output_mtok: 0.6
5731
6020
  }
5732
6021
  },
5733
- {
5734
- id: "openai/gpt-oss-20b",
5735
- name: "gpt-oss-20b",
5736
- match: {
5737
- or: [
5738
- {
5739
- equals: "openai/gpt-oss-20b"
5740
- },
5741
- {
5742
- equals: "openai/gpt-oss-20b-fast"
5743
- }
5744
- ]
5745
- },
5746
- context_window: 131072,
5747
- prices: {
5748
- input_mtok: 0.05,
5749
- output_mtok: 0.2
5750
- }
5751
- },
5752
6022
  {
5753
6023
  id: "zai-org/GLM-4.5",
5754
6024
  name: "GLM-4.5",
@@ -6219,6 +6489,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
6219
6489
  output_mtok: 0.05
6220
6490
  }
6221
6491
  },
6492
+ {
6493
+ id: "XiaomiMiMo/MiMo-V2-Flash",
6494
+ name: "MiMo-V2-Flash",
6495
+ match: {
6496
+ or: [
6497
+ {
6498
+ equals: "xiaomimimo/mimo-v2-flash"
6499
+ },
6500
+ {
6501
+ equals: "xiaomimimo/mimo-v2-flash-fast"
6502
+ }
6503
+ ]
6504
+ },
6505
+ context_window: 262144,
6506
+ prices: {
6507
+ input_mtok: 0.098,
6508
+ output_mtok: 0.293
6509
+ }
6510
+ },
6222
6511
  {
6223
6512
  id: "alpindale/WizardLM-2-8x22B",
6224
6513
  name: "WizardLM-2-8x22B",
@@ -6396,6 +6685,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
6396
6685
  output_mtok: 0.072
6397
6686
  }
6398
6687
  },
6688
+ {
6689
+ id: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
6690
+ name: "DeepSeek-R1-Distill-Llama-70B",
6691
+ match: {
6692
+ or: [
6693
+ {
6694
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b"
6695
+ },
6696
+ {
6697
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b-fast"
6698
+ }
6699
+ ]
6700
+ },
6701
+ context_window: 8192,
6702
+ prices: {
6703
+ input_mtok: 0.64,
6704
+ output_mtok: 0.64
6705
+ }
6706
+ },
6399
6707
  {
6400
6708
  id: "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
6401
6709
  name: "DeepSeek-R1-Distill-Qwen-14B",
@@ -6649,25 +6957,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
6649
6957
  output_mtok: 1.84
6650
6958
  }
6651
6959
  },
6652
- {
6653
- id: "moonshotai/Kimi-K2-Instruct-0905",
6654
- name: "Kimi-K2-Instruct-0905",
6655
- match: {
6656
- or: [
6657
- {
6658
- equals: "moonshotai/kimi-k2-instruct-0905"
6659
- },
6660
- {
6661
- equals: "moonshotai/kimi-k2-instruct-0905-fast"
6662
- }
6663
- ]
6664
- },
6665
- context_window: 262144,
6666
- prices: {
6667
- input_mtok: 0.48,
6668
- output_mtok: 2
6669
- }
6670
- },
6671
6960
  {
6672
6961
  id: "moonshotai/Kimi-K2-Thinking",
6673
6962
  name: "Kimi-K2-Thinking",
@@ -6706,25 +6995,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
6706
6995
  output_mtok: 0.2
6707
6996
  }
6708
6997
  },
6709
- {
6710
- id: "openai/gpt-oss-20b",
6711
- name: "gpt-oss-20b",
6712
- match: {
6713
- or: [
6714
- {
6715
- equals: "openai/gpt-oss-20b"
6716
- },
6717
- {
6718
- equals: "openai/gpt-oss-20b-fast"
6719
- }
6720
- ]
6721
- },
6722
- context_window: 131072,
6723
- prices: {
6724
- input_mtok: 0.032,
6725
- output_mtok: 0.12
6726
- }
6727
- },
6728
6998
  {
6729
6999
  id: "zai-org/AutoGLM-Phone-9B-Multilingual",
6730
7000
  name: "AutoGLM-Phone-9B-Multilingual",
@@ -7276,25 +7546,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
7276
7546
  input_mtok: 0.1,
7277
7547
  output_mtok: 0.4
7278
7548
  }
7279
- },
7280
- {
7281
- id: "openai/gpt-oss-20b",
7282
- name: "gpt-oss-20b",
7283
- match: {
7284
- or: [
7285
- {
7286
- equals: "openai/gpt-oss-20b"
7287
- },
7288
- {
7289
- equals: "openai/gpt-oss-20b-fast"
7290
- }
7291
- ]
7292
- },
7293
- context_window: 131072,
7294
- prices: {
7295
- input_mtok: 0.05,
7296
- output_mtok: 0.2
7297
- }
7298
7549
  }
7299
7550
  ]
7300
7551
  },
@@ -7367,6 +7618,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
7367
7618
  output_mtok: 1.01
7368
7619
  }
7369
7620
  },
7621
+ {
7622
+ id: "Qwen/Qwen3-32B",
7623
+ name: "Qwen3-32B",
7624
+ match: {
7625
+ or: [
7626
+ {
7627
+ equals: "qwen/qwen3-32b"
7628
+ },
7629
+ {
7630
+ equals: "qwen/qwen3-32b-fast"
7631
+ }
7632
+ ]
7633
+ },
7634
+ context_window: 32768,
7635
+ prices: {
7636
+ input_mtok: 0.09,
7637
+ output_mtok: 0.25
7638
+ }
7639
+ },
7370
7640
  {
7371
7641
  id: "Qwen/Qwen3-Coder-30B-A3B-Instruct",
7372
7642
  name: "Qwen3-Coder-30B-A3B-Instruct",
@@ -7385,6 +7655,82 @@ Compared to other leading proprietary and open-weights models Command A delivers
7385
7655
  input_mtok: 0.07,
7386
7656
  output_mtok: 0.26
7387
7657
  }
7658
+ },
7659
+ {
7660
+ id: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
7661
+ name: "DeepSeek-R1-Distill-Llama-70B",
7662
+ match: {
7663
+ or: [
7664
+ {
7665
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b"
7666
+ },
7667
+ {
7668
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b-fast"
7669
+ }
7670
+ ]
7671
+ },
7672
+ context_window: 131072,
7673
+ prices: {
7674
+ input_mtok: 0.74,
7675
+ output_mtok: 0.74
7676
+ }
7677
+ },
7678
+ {
7679
+ id: "meta-llama/Llama-3.1-8B-Instruct",
7680
+ name: "Llama-3.1-8B-Instruct",
7681
+ match: {
7682
+ or: [
7683
+ {
7684
+ equals: "meta-llama/llama-3.1-8b-instruct"
7685
+ },
7686
+ {
7687
+ equals: "meta-llama/llama-3.1-8b-instruct-fast"
7688
+ }
7689
+ ]
7690
+ },
7691
+ context_window: 131072,
7692
+ prices: {
7693
+ input_mtok: 0.11,
7694
+ output_mtok: 0.11
7695
+ }
7696
+ },
7697
+ {
7698
+ id: "meta-llama/Llama-3.3-70B-Instruct",
7699
+ name: "Llama-3.3-70B-Instruct",
7700
+ match: {
7701
+ or: [
7702
+ {
7703
+ equals: "meta-llama/llama-3.3-70b-instruct"
7704
+ },
7705
+ {
7706
+ equals: "meta-llama/llama-3.3-70b-instruct-fast"
7707
+ }
7708
+ ]
7709
+ },
7710
+ context_window: 131072,
7711
+ prices: {
7712
+ input_mtok: 0.74,
7713
+ output_mtok: 0.74
7714
+ }
7715
+ },
7716
+ {
7717
+ id: "openai/gpt-oss-120b",
7718
+ name: "gpt-oss-120b",
7719
+ match: {
7720
+ or: [
7721
+ {
7722
+ equals: "openai/gpt-oss-120b"
7723
+ },
7724
+ {
7725
+ equals: "openai/gpt-oss-120b-fast"
7726
+ }
7727
+ ]
7728
+ },
7729
+ context_window: 131072,
7730
+ prices: {
7731
+ input_mtok: 0.09,
7732
+ output_mtok: 0.47
7733
+ }
7388
7734
  }
7389
7735
  ]
7390
7736
  },
@@ -8301,25 +8647,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
8301
8647
  output_mtok: 0.6
8302
8648
  }
8303
8649
  },
8304
- {
8305
- id: "openai/gpt-oss-20b",
8306
- name: "gpt-oss-20b",
8307
- match: {
8308
- or: [
8309
- {
8310
- equals: "openai/gpt-oss-20b"
8311
- },
8312
- {
8313
- equals: "openai/gpt-oss-20b-fast"
8314
- }
8315
- ]
8316
- },
8317
- context_window: 131072,
8318
- prices: {
8319
- input_mtok: 0.05,
8320
- output_mtok: 0.2
8321
- }
8322
- },
8323
8650
  {
8324
8651
  id: "zai-org/GLM-4.5-Air-FP8",
8325
8652
  name: "GLM-4.5-Air-FP8",
@@ -8620,7 +8947,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
8620
8947
  prices: {
8621
8948
  input_mtok: 0.25,
8622
8949
  output_mtok: 0.25
8623
- }
8950
+ },
8951
+ deprecated: !0
8624
8952
  },
8625
8953
  {
8626
8954
  id: "mixtral-8x22b-instruct",
@@ -16779,24 +17107,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
16779
17107
  }
16780
17108
  ],
16781
17109
  models: [
16782
- {
16783
- id: "BGE-M3",
16784
- name: "BGE-M3",
16785
- match: {
16786
- or: [
16787
- {
16788
- equals: "BGE-M3"
16789
- },
16790
- {
16791
- equals: "bge-m3"
16792
- }
16793
- ]
16794
- },
16795
- context_window: 8192,
16796
- prices: {
16797
- input_mtok: 0.01
16798
- }
16799
- },
16800
17110
  {
16801
17111
  id: "DeepSeek-R1-Distill-Llama-70B",
16802
17112
  name: "DeepSeek-R1-Distill-Llama-70B",
@@ -17036,6 +17346,17 @@ Compared to other leading proprietary and open-weights models Command A delivers
17036
17346
  input_mtok: 0.01
17037
17347
  }
17038
17348
  },
17349
+ {
17350
+ id: "bge-m3",
17351
+ name: "bge-m3",
17352
+ match: {
17353
+ equals: "bge-m3"
17354
+ },
17355
+ context_window: 8192,
17356
+ prices: {
17357
+ input_mtok: 0.01
17358
+ }
17359
+ },
17039
17360
  {
17040
17361
  id: "bge-multilingual-gemma2",
17041
17362
  name: "bge-multilingual-gemma2",
@@ -18053,7 +18374,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
18053
18374
  prices: {
18054
18375
  input_mtok: 2,
18055
18376
  output_mtok: 10
18056
- }
18377
+ },
18378
+ deprecated: !0
18057
18379
  },
18058
18380
  {
18059
18381
  id: "grok-2-vision-1212",
@@ -18342,11 +18664,11 @@ function Je(i, o) {
18342
18664
  if (L -= q, L < 0)
18343
18665
  throw new Error("output_audio_tokens cannot be greater than output_tokens");
18344
18666
  s += R(o.output_mtok, L, "output_mtok", r), s += R(o.output_audio_mtok, i.output_audio_tokens, "output_audio_mtok", r);
18345
- let G = u + s;
18346
- return o.requests_kcount !== void 0 && (G += o.requests_kcount / 1e3), {
18667
+ let C = u + s;
18668
+ return o.requests_kcount !== void 0 && (C += o.requests_kcount / 1e3), {
18347
18669
  input_price: u,
18348
18670
  output_price: s,
18349
- total_price: G
18671
+ total_price: C
18350
18672
  };
18351
18673
  }
18352
18674
  function Ze(i, o) {
@@ -18370,12 +18692,12 @@ function Ze(i, o) {
18370
18692
  }
18371
18693
  return i.prices[0].prices;
18372
18694
  }
18373
- function D(i, o) {
18374
- return "or" in i ? i.or.some((u) => D(u, o)) : "and" in i ? i.and.every((u) => D(u, o)) : "equals" in i ? o === i.equals : "starts_with" in i ? o.startsWith(i.starts_with) : "ends_with" in i ? o.endsWith(i.ends_with) : "contains" in i ? o.includes(i.contains) : "regex" in i ? new RegExp(i.regex).test(o) : !1;
18695
+ function E(i, o) {
18696
+ return "or" in i ? i.or.some((u) => E(u, o)) : "and" in i ? i.and.every((u) => E(u, o)) : "equals" in i ? o === i.equals : "starts_with" in i ? o.startsWith(i.starts_with) : "ends_with" in i ? o.endsWith(i.ends_with) : "contains" in i ? o.includes(i.contains) : "regex" in i ? new RegExp(i.regex).test(o) : !1;
18375
18697
  }
18376
18698
  function Xe(i, o) {
18377
18699
  const u = o.toLowerCase().trim(), s = i.find((r) => r.id === u);
18378
- return s || i.find((r) => r.provider_match && D(r.provider_match, u));
18700
+ return s || i.find((r) => r.provider_match && E(r.provider_match, u));
18379
18701
  }
18380
18702
  function he(i, { modelId: o, providerApiUrl: u, providerId: s }) {
18381
18703
  if (s) {
@@ -18386,10 +18708,10 @@ function he(i, { modelId: o, providerApiUrl: u, providerId: s }) {
18386
18708
  if (u)
18387
18709
  return i.find((r) => new RegExp(r.api_pattern).test(u));
18388
18710
  if (o)
18389
- return i.find((r) => r.model_match && D(r.model_match, o));
18711
+ return i.find((r) => r.model_match && E(r.model_match, o));
18390
18712
  }
18391
18713
  function et(i, o) {
18392
- return i.find((u) => D(u.match, o));
18714
+ return i.find((u) => E(u.match, o));
18393
18715
  }
18394
18716
  function qe(i, o, u) {
18395
18717
  const s = et(i.models, o);