@pydantic/genai-prices 0.0.45 → 0.0.46

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 dt from "yargs";
3
- import { format as _t } from "util";
4
- import { resolve as at, normalize as yt } from "path";
5
- import { readFileSync as ht, writeFile as Qt, statSync as Mt } from "fs";
3
+ import { format as ht } from "util";
4
+ import { resolve as at, normalize as Lt } from "path";
5
+ import { readFileSync as _t, writeFile as Mt, statSync as At } from "fs";
6
6
  import "assert";
7
- import { fileURLToPath as At } from "url";
8
- function St() {
9
- return Pt() ? 0 : 1;
10
- }
7
+ import { fileURLToPath as Qt } from "url";
11
8
  function Pt() {
9
+ return St() ? 0 : 1;
10
+ }
11
+ function St() {
12
12
  return Tt() && !process.defaultApp;
13
13
  }
14
14
  function Tt() {
15
15
  return !!process.versions.electron;
16
16
  }
17
- function Rt(i) {
18
- return i.slice(St() + 1);
17
+ function Gt(i) {
18
+ return i.slice(Pt() + 1);
19
19
  }
20
20
  /**
21
21
  * @license
@@ -29,23 +29,23 @@ function $(i) {
29
29
  let m = "", s = !1;
30
30
  const u = i.match(/^-+/);
31
31
  for (let k = u ? u[0].length : 0; k < i.length; k++) {
32
- let h = i.charAt(k);
33
- s && (s = !1, h = h.toUpperCase()), k !== 0 && (h === "-" || h === "_") ? s = !0 : h !== "-" && h !== "_" && (m += h);
32
+ let _ = i.charAt(k);
33
+ s && (s = !1, _ = _.toUpperCase()), k !== 0 && (_ === "-" || _ === "_") ? s = !0 : _ !== "-" && _ !== "_" && (m += _);
34
34
  }
35
35
  return m;
36
36
  }
37
37
  }
38
- function Gt(i, n) {
38
+ function Rt(i, n) {
39
39
  const m = i.toLowerCase();
40
40
  n = n || "-";
41
41
  let s = "";
42
42
  for (let u = 0; u < i.length; u++) {
43
- const k = m.charAt(u), h = i.charAt(u);
44
- k !== h && u > 0 ? s += `${n}${m.charAt(u)}` : s += h;
43
+ const k = m.charAt(u), _ = i.charAt(u);
44
+ k !== _ && u > 0 ? s += `${n}${m.charAt(u)}` : s += _;
45
45
  }
46
46
  return s;
47
47
  }
48
- function Dt(i) {
48
+ function Ct(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,14 +53,14 @@ function Dt(i) {
53
53
  * Copyright (c) 2016, Contributors
54
54
  * SPDX-License-Identifier: ISC
55
55
  */
56
- function Ct(i) {
56
+ function Et(i) {
57
57
  if (Array.isArray(i))
58
- return i.map((h) => typeof h != "string" ? h + "" : h);
58
+ return i.map((_) => typeof _ != "string" ? _ + "" : _);
59
59
  i = i.trim();
60
60
  let n = 0, m = null, s = null, u = null;
61
61
  const k = [];
62
- for (let h = 0; h < i.length; h++) {
63
- if (m = s, s = i.charAt(h), s === " " && !u) {
62
+ for (let _ = 0; _ < i.length; _++) {
63
+ if (m = s, s = i.charAt(_), s === " " && !u) {
64
64
  m !== " " && n++;
65
65
  continue;
66
66
  }
@@ -73,19 +73,19 @@ function Ct(i) {
73
73
  * Copyright (c) 2016, Contributors
74
74
  * SPDX-License-Identifier: ISC
75
75
  */
76
- var y;
76
+ var L;
77
77
  (function(i) {
78
78
  i.BOOLEAN = "boolean", i.STRING = "string", i.NUMBER = "number", i.ARRAY = "array";
79
- })(y || (y = {}));
79
+ })(L || (L = {}));
80
80
  /**
81
81
  * @license
82
82
  * Copyright (c) 2016, Contributors
83
83
  * SPDX-License-Identifier: ISC
84
84
  */
85
- let S;
86
- class Et {
85
+ let P;
86
+ class Ot {
87
87
  constructor(n) {
88
- S = n;
88
+ P = n;
89
89
  }
90
90
  parse(n, m) {
91
91
  const s = Object.assign({
@@ -105,7 +105,7 @@ class Et {
105
105
  number: void 0,
106
106
  __: void 0,
107
107
  key: void 0
108
- }, m), u = Ct(n), k = typeof n == "string", h = Nt(Object.assign(/* @__PURE__ */ Object.create(null), s.alias)), _ = Object.assign({
108
+ }, m), u = Et(n), k = typeof n == "string", _ = Dt(Object.assign(/* @__PURE__ */ Object.create(null), s.alias)), h = Object.assign({
109
109
  "boolean-negation": !0,
110
110
  "camel-case-expansion": !0,
111
111
  "combine-arrays": !1,
@@ -124,7 +124,7 @@ class Et {
124
124
  "strip-aliased": !1,
125
125
  "strip-dashed": !1,
126
126
  "unknown-options-as-args": !1
127
- }, s.configuration), f = Object.assign(/* @__PURE__ */ Object.create(null), s.default), x = s.configObjects || [], M = s.envPrefix, P = _["populate--"], T = P ? "--" : "_", z = /* @__PURE__ */ Object.create(null), ot = /* @__PURE__ */ Object.create(null), R = s.__ || S.format, r = {
127
+ }, s.configuration), f = Object.assign(/* @__PURE__ */ Object.create(null), s.default), B = s.configObjects || [], A = s.envPrefix, S = h["populate--"], T = S ? "--" : "_", z = /* @__PURE__ */ Object.create(null), ot = /* @__PURE__ */ Object.create(null), G = s.__ || P.format, r = {
128
128
  aliases: /* @__PURE__ */ Object.create(null),
129
129
  arrays: /* @__PURE__ */ Object.create(null),
130
130
  bools: /* @__PURE__ */ Object.create(null),
@@ -136,7 +136,7 @@ class Et {
136
136
  nargs: /* @__PURE__ */ Object.create(null),
137
137
  coercions: /* @__PURE__ */ Object.create(null),
138
138
  keys: []
139
- }, Q = /^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/, W = new RegExp("^--" + _["negation-prefix"] + "(.+)");
139
+ }, M = /^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/, W = new RegExp("^--" + h["negation-prefix"] + "(.+)");
140
140
  [].concat(s.array || []).filter(Boolean).forEach(function(t) {
141
141
  const a = typeof t == "object" ? t.key : t, c = Object.keys(t).map(function(o) {
142
142
  return {
@@ -164,128 +164,128 @@ class Et {
164
164
  r.configs[t] = !0;
165
165
  }) : typeof s.config == "object" && Object.entries(s.config).forEach(([t, a]) => {
166
166
  (typeof a == "boolean" || typeof a == "function") && (r.configs[t] = a);
167
- })), qt(s.key, h, s.default, r.arrays), Object.keys(f).forEach(function(t) {
167
+ })), wt(s.key, _, s.default, r.arrays), Object.keys(f).forEach(function(t) {
168
168
  (r.aliases[t] || []).forEach(function(a) {
169
169
  f[a] = f[t];
170
170
  });
171
171
  });
172
- let I = null;
173
- Lt();
174
- let V = [];
175
- const b = Object.assign(/* @__PURE__ */ Object.create(null), { _: [] }), nt = {};
172
+ let y = null;
173
+ It();
174
+ let j = [];
175
+ const q = Object.assign(/* @__PURE__ */ Object.create(null), { _: [] }), nt = {};
176
176
  for (let t = 0; t < u.length; t++) {
177
177
  const a = u[t], c = a.replace(/^-{3,}/, "---");
178
178
  let o, e, 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
- } else if (a.match(/^--.+=/) || !_["short-option-groups"] && a.match(/^-.+=/))
185
- p = a.match(/^--?([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && (g(p[1], r.arrays) ? t = F(t, p[1], u, p[2]) : g(p[1], r.nargs) !== !1 ? t = j(t, p[1], u, p[2]) : q(p[1], p[2], !0));
186
- else if (a.match(W) && _["boolean-negation"])
187
- p = a.match(W), p !== null && Array.isArray(p) && p.length >= 2 && (e = p[1], q(e, g(e, r.arrays) ? [!1] : !1));
188
- else if (a.match(/^--.+/) || !_["short-option-groups"] && a.match(/^-[^-]+/))
189
- p = a.match(/^--?(.+)/), p !== null && Array.isArray(p) && p.length >= 2 && (e = p[1], g(e, r.arrays) ? t = F(t, e, u) : g(e, r.nargs) !== !1 ? t = j(t, e, u) : (d = u[t + 1], d !== void 0 && (!d.match(/^-/) || d.match(Q)) && !g(e, r.bools) && !g(e, r.counts) || /^(true|false)$/.test(d) ? (q(e, d), t++) : q(e, D(e))));
184
+ } else if (a.match(/^--.+=/) || !h["short-option-groups"] && a.match(/^-.+=/))
185
+ p = a.match(/^--?([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && (g(p[1], r.arrays) ? t = V(t, p[1], u, p[2]) : g(p[1], r.nargs) !== !1 ? t = F(t, p[1], u, p[2]) : w(p[1], p[2], !0));
186
+ else if (a.match(W) && h["boolean-negation"])
187
+ p = a.match(W), p !== null && Array.isArray(p) && p.length >= 2 && (e = p[1], w(e, g(e, r.arrays) ? [!1] : !1));
188
+ else if (a.match(/^--.+/) || !h["short-option-groups"] && a.match(/^-[^-]+/))
189
+ p = a.match(/^--?(.+)/), p !== null && Array.isArray(p) && p.length >= 2 && (e = p[1], g(e, r.arrays) ? t = V(t, e, u) : g(e, r.nargs) !== !1 ? t = F(t, e, u) : (d = u[t + 1], d !== void 0 && (!d.match(/^-/) || d.match(M)) && !g(e, r.bools) && !g(e, r.counts) || /^(true|false)$/.test(d) ? (w(e, d), t++) : w(e, C(e))));
190
190
  else if (a.match(/^-.\..+=/))
191
- p = a.match(/^-([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && q(p[1], p[2]);
192
- else if (a.match(/^-.\..+/) && !a.match(Q))
193
- d = u[t + 1], p = a.match(/^-(.\..+)/), p !== null && Array.isArray(p) && p.length >= 2 && (e = p[1], d !== void 0 && !d.match(/^-/) && !g(e, r.bools) && !g(e, r.counts) ? (q(e, d), t++) : q(e, D(e)));
194
- else if (a.match(/^-[^-]+/) && !a.match(Q)) {
191
+ p = a.match(/^-([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && w(p[1], p[2]);
192
+ else if (a.match(/^-.\..+/) && !a.match(M))
193
+ d = u[t + 1], p = a.match(/^-(.\..+)/), p !== null && Array.isArray(p) && p.length >= 2 && (e = p[1], d !== void 0 && !d.match(/^-/) && !g(e, r.bools) && !g(e, r.counts) ? (w(e, d), t++) : w(e, C(e)));
194
+ else if (a.match(/^-[^-]+/) && !a.match(M)) {
195
195
  l = a.slice(1, -1).split(""), o = !1;
196
- for (let B = 0; B < l.length; B++) {
197
- if (d = a.slice(B + 2), l[B + 1] && l[B + 1] === "=") {
198
- v = a.slice(B + 3), e = l[B], g(e, r.arrays) ? t = F(t, e, u, v) : g(e, r.nargs) !== !1 ? t = j(t, e, u, v) : q(e, v), o = !0;
196
+ for (let x = 0; x < l.length; x++) {
197
+ if (d = a.slice(x + 2), l[x + 1] && l[x + 1] === "=") {
198
+ v = a.slice(x + 3), e = l[x], g(e, r.arrays) ? t = V(t, e, u, v) : g(e, r.nargs) !== !1 ? t = F(t, e, u, v) : w(e, v), o = !0;
199
199
  break;
200
200
  }
201
201
  if (d === "-") {
202
- q(l[B], d);
202
+ w(l[x], d);
203
203
  continue;
204
204
  }
205
- if (/[A-Za-z]/.test(l[B]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(d) && g(d, r.bools) === !1) {
206
- q(l[B], d), o = !0;
205
+ if (/[A-Za-z]/.test(l[x]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(d) && g(d, r.bools) === !1) {
206
+ w(l[x], d), o = !0;
207
207
  break;
208
208
  }
209
- if (l[B + 1] && l[B + 1].match(/\W/)) {
210
- q(l[B], d), o = !0;
209
+ if (l[x + 1] && l[x + 1].match(/\W/)) {
210
+ w(l[x], d), o = !0;
211
211
  break;
212
212
  } else
213
- q(l[B], D(l[B]));
213
+ w(l[x], C(l[x]));
214
214
  }
215
- e = a.slice(-1)[0], !o && e !== "-" && (g(e, r.arrays) ? t = F(t, e, u) : g(e, r.nargs) !== !1 ? t = j(t, e, u) : (d = u[t + 1], d !== void 0 && (!/^(-|--)[^-]/.test(d) || d.match(Q)) && !g(e, r.bools) && !g(e, r.counts) || /^(true|false)$/.test(d) ? (q(e, d), t++) : q(e, D(e))));
216
- } else if (a.match(/^-[0-9]$/) && a.match(Q) && g(a.slice(1), r.bools))
217
- e = a.slice(1), q(e, D(e));
215
+ e = a.slice(-1)[0], !o && e !== "-" && (g(e, r.arrays) ? t = V(t, e, u) : g(e, r.nargs) !== !1 ? t = F(t, e, u) : (d = u[t + 1], d !== void 0 && (!/^(-|--)[^-]/.test(d) || d.match(M)) && !g(e, r.bools) && !g(e, r.counts) || /^(true|false)$/.test(d) ? (w(e, d), t++) : w(e, C(e))));
216
+ } else if (a.match(/^-[0-9]$/) && a.match(M) && g(a.slice(1), r.bools))
217
+ e = a.slice(1), w(e, C(e));
218
218
  else if (a === "--") {
219
- V = u.slice(t + 1);
219
+ j = u.slice(t + 1);
220
220
  break;
221
- } else if (_["halt-at-non-option"]) {
222
- V = u.slice(t);
221
+ } else if (h["halt-at-non-option"]) {
222
+ j = u.slice(t);
223
223
  break;
224
224
  } else
225
225
  U(a);
226
226
  }
227
- rt(b, !0), rt(b, !1), kt(b), gt(), mt(b, r.aliases, f, !0), ft(b), _["set-placeholder-key"] && wt(b), Object.keys(r.counts).forEach(function(t) {
228
- C(b, t.split(".")) || q(t, 0);
229
- }), P && V.length && (b[T] = []), V.forEach(function(t) {
230
- b[T].push(t);
231
- }), _["camel-case-expansion"] && _["strip-dashed"] && Object.keys(b).filter((t) => t !== "--" && t.includes("-")).forEach((t) => {
232
- delete b[t];
233
- }), _["strip-aliased"] && [].concat(...Object.keys(h).map((t) => h[t])).forEach((t) => {
234
- _["camel-case-expansion"] && t.includes("-") && delete b[t.split(".").map((a) => $(a)).join(".")], delete b[t];
227
+ rt(q, !0), rt(q, !1), kt(q), gt(), mt(q, r.aliases, f, !0), ft(q), h["set-placeholder-key"] && bt(q), Object.keys(r.counts).forEach(function(t) {
228
+ E(q, t.split(".")) || w(t, 0);
229
+ }), S && j.length && (q[T] = []), j.forEach(function(t) {
230
+ q[T].push(t);
231
+ }), h["camel-case-expansion"] && h["strip-dashed"] && Object.keys(q).filter((t) => t !== "--" && t.includes("-")).forEach((t) => {
232
+ delete q[t];
233
+ }), h["strip-aliased"] && [].concat(...Object.keys(_).map((t) => _[t])).forEach((t) => {
234
+ h["camel-case-expansion"] && t.includes("-") && delete q[t.split(".").map((a) => $(a)).join(".")], delete q[t];
235
235
  });
236
236
  function U(t) {
237
- const a = K("_", t);
238
- (typeof a == "string" || typeof a == "number") && b._.push(a);
237
+ const a = H("_", t);
238
+ (typeof a == "string" || typeof a == "number") && q._.push(a);
239
239
  }
240
- function j(t, a, c, o) {
240
+ function F(t, a, c, o) {
241
241
  let e, l = g(a, r.nargs);
242
242
  if (l = typeof l != "number" || isNaN(l) ? 1 : l, l === 0)
243
- return A(o) || (I = Error(R("Argument unexpected for: %s", a))), q(a, D(a)), t;
244
- let p = A(o) ? 0 : 1;
245
- if (_["nargs-eats-options"])
246
- c.length - (t + 1) + p < l && (I = Error(R("Not enough arguments following: %s", a))), p = l;
243
+ return Q(o) || (y = Error(G("Argument unexpected for: %s", a))), w(a, C(a)), t;
244
+ let p = Q(o) ? 0 : 1;
245
+ if (h["nargs-eats-options"])
246
+ c.length - (t + 1) + p < l && (y = Error(G("Not enough arguments following: %s", a))), p = l;
247
247
  else {
248
- for (e = t + 1; e < c.length && (!c[e].match(/^-[^0-9]/) || c[e].match(Q) || H(c[e])); e++)
248
+ for (e = t + 1; e < c.length && (!c[e].match(/^-[^0-9]/) || c[e].match(M) || K(c[e])); e++)
249
249
  p++;
250
- p < l && (I = Error(R("Not enough arguments following: %s", a)));
250
+ p < l && (y = Error(G("Not enough arguments following: %s", a)));
251
251
  }
252
252
  let d = Math.min(p, l);
253
- for (!A(o) && d > 0 && (q(a, o), d--), e = t + 1; e < d + t + 1; e++)
254
- q(a, c[e]);
253
+ for (!Q(o) && d > 0 && (w(a, o), d--), e = t + 1; e < d + t + 1; e++)
254
+ w(a, c[e]);
255
255
  return t + d;
256
256
  }
257
- function F(t, a, c, o) {
257
+ function V(t, a, c, o) {
258
258
  let e = [], l = o || c[t + 1];
259
259
  const p = g(a, r.nargs);
260
260
  if (g(a, r.bools) && !/^(true|false)$/.test(l))
261
261
  e.push(!0);
262
- else if (A(l) || A(o) && /^-/.test(l) && !Q.test(l) && !H(l)) {
262
+ else if (Q(l) || Q(o) && /^-/.test(l) && !M.test(l) && !K(l)) {
263
263
  if (f[a] !== void 0) {
264
264
  const d = f[a];
265
265
  e = Array.isArray(d) ? d : [d];
266
266
  }
267
267
  } else {
268
- A(o) || e.push(Y(a, o, !0));
269
- for (let d = t + 1; d < c.length && !(!_["greedy-arrays"] && e.length > 0 || p && typeof p == "number" && e.length >= p || (l = c[d], /^-/.test(l) && !Q.test(l) && !H(l))); d++)
268
+ Q(o) || e.push(Y(a, o, !0));
269
+ for (let d = t + 1; d < c.length && !(!h["greedy-arrays"] && e.length > 0 || p && typeof p == "number" && e.length >= p || (l = c[d], /^-/.test(l) && !M.test(l) && !K(l))); d++)
270
270
  t = d, e.push(Y(a, l, k));
271
271
  }
272
- return typeof p == "number" && (p && e.length < p || isNaN(p) && e.length === 0) && (I = Error(R("Not enough arguments following: %s", a))), q(a, e), t;
272
+ return typeof p == "number" && (p && e.length < p || isNaN(p) && e.length === 0) && (y = Error(G("Not enough arguments following: %s", a))), w(a, e), t;
273
273
  }
274
- function q(t, a, c = k) {
275
- if (/-/.test(t) && _["camel-case-expansion"]) {
274
+ function w(t, a, c = k) {
275
+ if (/-/.test(t) && h["camel-case-expansion"]) {
276
276
  const l = t.split(".").map(function(p) {
277
277
  return $(p);
278
278
  }).join(".");
279
279
  st(t, l);
280
280
  }
281
281
  const o = Y(t, a, c), e = t.split(".");
282
- E(b, e, o), r.aliases[t] && r.aliases[t].forEach(function(l) {
282
+ O(q, e, o), r.aliases[t] && r.aliases[t].forEach(function(l) {
283
283
  const p = l.split(".");
284
- E(b, p, o);
285
- }), e.length > 1 && _["dot-notation"] && (r.aliases[e[0]] || []).forEach(function(l) {
284
+ O(q, p, o);
285
+ }), e.length > 1 && h["dot-notation"] && (r.aliases[e[0]] || []).forEach(function(l) {
286
286
  let p = l.split(".");
287
287
  const d = [].concat(e);
288
- d.shift(), p = p.concat(d), (r.aliases[t] || []).includes(p.join(".")) || E(b, p, o);
288
+ d.shift(), p = p.concat(d), (r.aliases[t] || []).includes(p.join(".")) || O(q, p, o);
289
289
  }), g(t, r.normalize) && !g(t, r.arrays) && [t].concat(r.aliases[t] || []).forEach(function(p) {
290
290
  Object.defineProperty(nt, p, {
291
291
  enumerable: !0,
@@ -293,7 +293,7 @@ class Et {
293
293
  return a;
294
294
  },
295
295
  set(d) {
296
- a = typeof d == "string" ? S.normalize(d) : d;
296
+ a = typeof d == "string" ? P.normalize(d) : d;
297
297
  }
298
298
  });
299
299
  });
@@ -302,14 +302,14 @@ class Et {
302
302
  r.aliases[t] && r.aliases[t].length || (r.aliases[t] = [a], z[a] = !0), r.aliases[a] && r.aliases[a].length || st(a, t);
303
303
  }
304
304
  function Y(t, a, c) {
305
- c && (a = Ot(a)), (g(t, r.bools) || g(t, r.counts)) && typeof a == "string" && (a = a === "true");
305
+ c && (a = Nt(a)), (g(t, r.bools) || g(t, r.counts)) && typeof a == "string" && (a = a === "true");
306
306
  let o = Array.isArray(a) ? a.map(function(e) {
307
- return K(t, e);
308
- }) : K(t, a);
309
- return g(t, r.counts) && (A(o) || typeof o == "boolean") && (o = Z()), g(t, r.normalize) && g(t, r.arrays) && (Array.isArray(a) ? o = a.map((e) => S.normalize(e)) : o = S.normalize(a)), o;
307
+ return H(t, e);
308
+ }) : H(t, a);
309
+ return g(t, r.counts) && (Q(o) || typeof o == "boolean") && (o = Z()), g(t, r.normalize) && g(t, r.arrays) && (Array.isArray(a) ? o = a.map((e) => P.normalize(e)) : o = P.normalize(a)), o;
310
310
  }
311
- function K(t, a) {
312
- return !_["parse-positional-numbers"] && t === "_" || !g(t, r.strings) && !g(t, r.bools) && !Array.isArray(a) && (Dt(a) && _["parse-numbers"] && Number.isSafeInteger(Math.floor(parseFloat(`${a}`))) || !A(a) && g(t, r.numbers)) && (a = Number(a)), a;
311
+ function H(t, a) {
312
+ return !h["parse-positional-numbers"] && t === "_" || !g(t, r.strings) && !g(t, r.bools) && !Array.isArray(a) && (Ct(a) && h["parse-numbers"] && Number.isSafeInteger(Math.floor(parseFloat(`${a}`))) || !Q(a) && g(t, r.numbers)) && (a = Number(a)), a;
313
313
  }
314
314
  function kt(t) {
315
315
  const a = /* @__PURE__ */ Object.create(null);
@@ -318,7 +318,7 @@ class Et {
318
318
  if (o)
319
319
  try {
320
320
  let e = null;
321
- const l = S.resolve(S.cwd(), o), p = r.configs[c];
321
+ const l = P.resolve(P.cwd(), o), p = r.configs[c];
322
322
  if (typeof p == "function") {
323
323
  try {
324
324
  e = p(l);
@@ -326,38 +326,38 @@ class Et {
326
326
  e = d;
327
327
  }
328
328
  if (e instanceof Error) {
329
- I = e;
329
+ y = e;
330
330
  return;
331
331
  }
332
332
  } else
333
- e = S.require(l);
333
+ e = P.require(l);
334
334
  J(e);
335
335
  } catch (e) {
336
- e.name === "PermissionDenied" ? I = e : t[c] && (I = Error(R("Invalid JSON config file: %s", o)));
336
+ e.name === "PermissionDenied" ? y = e : t[c] && (y = Error(G("Invalid JSON config file: %s", o)));
337
337
  }
338
338
  });
339
339
  }
340
340
  function J(t, a) {
341
341
  Object.keys(t).forEach(function(c) {
342
342
  const o = t[c], e = a ? a + "." + c : c;
343
- typeof o == "object" && o !== null && !Array.isArray(o) && _["dot-notation"] ? J(o, e) : (!C(b, e.split(".")) || g(e, r.arrays) && _["combine-arrays"]) && q(e, o);
343
+ typeof o == "object" && o !== null && !Array.isArray(o) && h["dot-notation"] ? J(o, e) : (!E(q, e.split(".")) || g(e, r.arrays) && h["combine-arrays"]) && w(e, o);
344
344
  });
345
345
  }
346
346
  function gt() {
347
- typeof x < "u" && x.forEach(function(t) {
347
+ typeof B < "u" && B.forEach(function(t) {
348
348
  J(t);
349
349
  });
350
350
  }
351
351
  function rt(t, a) {
352
- if (typeof M > "u")
352
+ if (typeof A > "u")
353
353
  return;
354
- const c = typeof M == "string" ? M : "", o = S.env();
354
+ const c = typeof A == "string" ? A : "", o = P.env();
355
355
  Object.keys(o).forEach(function(e) {
356
356
  if (c === "" || e.lastIndexOf(c, 0) === 0) {
357
357
  const l = e.split("__").map(function(p, d) {
358
358
  return d === 0 && (p = p.substring(c.length)), $(p);
359
359
  });
360
- (a && r.configs[l.join(".")] || !a) && !C(t, l) && q(l.join("."), o[e]);
360
+ (a && r.configs[l.join(".")] || !a) && !E(t, l) && w(l.join("."), o[e]);
361
361
  }
362
362
  });
363
363
  }
@@ -367,55 +367,55 @@ class Et {
367
367
  Object.keys(t).forEach(function(o) {
368
368
  if (!c.has(o) && (a = g(o, r.coercions), typeof a == "function"))
369
369
  try {
370
- const e = K(o, a(t[o]));
370
+ const e = H(o, a(t[o]));
371
371
  [].concat(r.aliases[o] || [], o).forEach((l) => {
372
372
  c.add(l), t[l] = e;
373
373
  });
374
374
  } catch (e) {
375
- I = e;
375
+ y = e;
376
376
  }
377
377
  });
378
378
  }
379
- function wt(t) {
379
+ function bt(t) {
380
380
  return r.keys.forEach((a) => {
381
381
  ~a.indexOf(".") || typeof t[a] > "u" && (t[a] = void 0);
382
382
  }), t;
383
383
  }
384
384
  function mt(t, a, c, o = !1) {
385
385
  Object.keys(c).forEach(function(e) {
386
- C(t, e.split(".")) || (E(t, e.split("."), c[e]), o && (ot[e] = !0), (a[e] || []).forEach(function(l) {
387
- C(t, l.split(".")) || E(t, l.split("."), c[e]);
386
+ E(t, e.split(".")) || (O(t, e.split("."), c[e]), o && (ot[e] = !0), (a[e] || []).forEach(function(l) {
387
+ E(t, l.split(".")) || O(t, l.split("."), c[e]);
388
388
  }));
389
389
  });
390
390
  }
391
- function C(t, a) {
391
+ function E(t, a) {
392
392
  let c = t;
393
- _["dot-notation"] || (a = [a.join(".")]), a.slice(0, -1).forEach(function(e) {
393
+ h["dot-notation"] || (a = [a.join(".")]), a.slice(0, -1).forEach(function(e) {
394
394
  c = c[e] || {};
395
395
  });
396
396
  const o = a[a.length - 1];
397
397
  return typeof c != "object" ? !1 : o in c;
398
398
  }
399
- function E(t, a, c) {
399
+ function O(t, a, c) {
400
400
  let o = t;
401
- _["dot-notation"] || (a = [a.join(".")]), a.slice(0, -1).forEach(function(v) {
401
+ h["dot-notation"] || (a = [a.join(".")]), a.slice(0, -1).forEach(function(v) {
402
402
  v = ct(v), typeof o == "object" && o[v] === void 0 && (o[v] = {}), typeof o[v] != "object" || Array.isArray(o[v]) ? (Array.isArray(o[v]) ? o[v].push({}) : o[v] = [o[v], {}], o = o[v][o[v].length - 1]) : o = o[v];
403
403
  });
404
404
  const e = ct(a[a.length - 1]), l = g(a.join("."), r.arrays), p = Array.isArray(c);
405
- let d = _["duplicate-arguments-array"];
406
- !d && g(e, r.nargs) && (d = !0, (!A(o[e]) && r.nargs[e] === 1 || Array.isArray(o[e]) && o[e].length === r.nargs[e]) && (o[e] = void 0)), c === Z() ? o[e] = Z(o[e]) : Array.isArray(o[e]) ? d && l && p ? o[e] = _["flatten-duplicate-arrays"] ? o[e].concat(c) : (Array.isArray(o[e][0]) ? o[e] : [o[e]]).concat([c]) : !d && !!l == !!p ? o[e] = c : o[e] = o[e].concat([c]) : o[e] === void 0 && l ? o[e] = p ? c : [c] : d && !(o[e] === void 0 || g(e, r.counts) || g(e, r.bools)) ? o[e] = [o[e], c] : o[e] = c;
405
+ let d = h["duplicate-arguments-array"];
406
+ !d && g(e, r.nargs) && (d = !0, (!Q(o[e]) && r.nargs[e] === 1 || Array.isArray(o[e]) && o[e].length === r.nargs[e]) && (o[e] = void 0)), c === Z() ? o[e] = Z(o[e]) : Array.isArray(o[e]) ? d && l && p ? o[e] = h["flatten-duplicate-arrays"] ? o[e].concat(c) : (Array.isArray(o[e][0]) ? o[e] : [o[e]]).concat([c]) : !d && !!l == !!p ? o[e] = c : o[e] = o[e].concat([c]) : o[e] === void 0 && l ? o[e] = p ? c : [c] : d && !(o[e] === void 0 || g(e, r.counts) || g(e, r.bools)) ? o[e] = [o[e], c] : o[e] = c;
407
407
  }
408
- function qt(...t) {
408
+ function wt(...t) {
409
409
  t.forEach(function(a) {
410
410
  Object.keys(a || {}).forEach(function(c) {
411
- r.aliases[c] || (r.aliases[c] = [].concat(h[c] || []), r.aliases[c].concat(c).forEach(function(o) {
412
- if (/-/.test(o) && _["camel-case-expansion"]) {
411
+ r.aliases[c] || (r.aliases[c] = [].concat(_[c] || []), r.aliases[c].concat(c).forEach(function(o) {
412
+ if (/-/.test(o) && h["camel-case-expansion"]) {
413
413
  const e = $(o);
414
414
  e !== c && r.aliases[c].indexOf(e) === -1 && (r.aliases[c].push(e), z[e] = !0);
415
415
  }
416
416
  }), r.aliases[c].concat(c).forEach(function(o) {
417
- if (o.length > 1 && /[A-Z]/.test(o) && _["camel-case-expansion"]) {
418
- const e = Gt(o, "-");
417
+ if (o.length > 1 && /[A-Z]/.test(o) && h["camel-case-expansion"]) {
418
+ const e = Rt(o, "-");
419
419
  e !== c && r.aliases[c].indexOf(e) === -1 && (r.aliases[c].push(e), z[e] = !0);
420
420
  }
421
421
  }), r.aliases[c].forEach(function(o) {
@@ -436,14 +436,14 @@ class Et {
436
436
  return Array.isArray(o) ? o.includes(t) : o[t];
437
437
  });
438
438
  }
439
- function bt(t, ...a) {
439
+ function qt(t, ...a) {
440
440
  return [].concat(...a).some(function(o) {
441
441
  const e = t.match(o);
442
442
  return e && ut(e[1]);
443
443
  });
444
444
  }
445
445
  function vt(t) {
446
- if (t.match(Q) || !t.match(/^-[^-]+/))
446
+ if (t.match(M) || !t.match(/^-[^-]+/))
447
447
  return !1;
448
448
  let a = !0, c;
449
449
  const o = t.slice(1).split("");
@@ -457,44 +457,44 @@ class Et {
457
457
  }
458
458
  return a;
459
459
  }
460
- function H(t) {
461
- return _["unknown-options-as-args"] && Bt(t);
460
+ function K(t) {
461
+ return h["unknown-options-as-args"] && xt(t);
462
462
  }
463
- function Bt(t) {
464
- return t = t.replace(/^-{3,}/, "--"), t.match(Q) || vt(t) ? !1 : !bt(t, /^-+([^=]+?)=[\s\S]*$/, W, /^-+([^=]+?)$/, /^-+([^=]+?)-$/, /^-+([^=]+?\d+)$/, /^-+([^=]+?)\W+.*$/);
463
+ function xt(t) {
464
+ return t = t.replace(/^-{3,}/, "--"), t.match(M) || vt(t) ? !1 : !qt(t, /^-+([^=]+?)=[\s\S]*$/, W, /^-+([^=]+?)$/, /^-+([^=]+?)-$/, /^-+([^=]+?\d+)$/, /^-+([^=]+?)\W+.*$/);
465
465
  }
466
- function D(t) {
467
- return !g(t, r.bools) && !g(t, r.counts) && `${t}` in f ? f[t] : xt(It(t));
466
+ function C(t) {
467
+ return !g(t, r.bools) && !g(t, r.counts) && `${t}` in f ? f[t] : Bt(yt(t));
468
468
  }
469
- function xt(t) {
469
+ function Bt(t) {
470
470
  return {
471
- [y.BOOLEAN]: !0,
472
- [y.STRING]: "",
473
- [y.NUMBER]: void 0,
474
- [y.ARRAY]: []
471
+ [L.BOOLEAN]: !0,
472
+ [L.STRING]: "",
473
+ [L.NUMBER]: void 0,
474
+ [L.ARRAY]: []
475
475
  }[t];
476
476
  }
477
- function It(t) {
478
- let a = y.BOOLEAN;
479
- return g(t, r.strings) ? a = y.STRING : g(t, r.numbers) ? a = y.NUMBER : g(t, r.bools) ? a = y.BOOLEAN : g(t, r.arrays) && (a = y.ARRAY), a;
477
+ function yt(t) {
478
+ let a = L.BOOLEAN;
479
+ return g(t, r.strings) ? a = L.STRING : g(t, r.numbers) ? a = L.NUMBER : g(t, r.bools) ? a = L.BOOLEAN : g(t, r.arrays) && (a = L.ARRAY), a;
480
480
  }
481
- function A(t) {
481
+ function Q(t) {
482
482
  return t === void 0;
483
483
  }
484
- function Lt() {
485
- Object.keys(r.counts).find((t) => g(t, r.arrays) ? (I = Error(R("Invalid configuration: %s, opts.count excludes opts.array.", t)), !0) : g(t, r.nargs) ? (I = Error(R("Invalid configuration: %s, opts.count excludes opts.narg.", t)), !0) : !1);
484
+ function It() {
485
+ Object.keys(r.counts).find((t) => g(t, r.arrays) ? (y = Error(G("Invalid configuration: %s, opts.count excludes opts.array.", t)), !0) : g(t, r.nargs) ? (y = Error(G("Invalid configuration: %s, opts.count excludes opts.narg.", t)), !0) : !1);
486
486
  }
487
487
  return {
488
488
  aliases: Object.assign({}, r.aliases),
489
- argv: Object.assign(nt, b),
490
- configuration: _,
489
+ argv: Object.assign(nt, q),
490
+ configuration: h,
491
491
  defaulted: Object.assign({}, ot),
492
- error: I,
492
+ error: y,
493
493
  newAliases: Object.assign({}, z)
494
494
  };
495
495
  }
496
496
  }
497
- function Nt(i) {
497
+ function Dt(i) {
498
498
  const n = [], m = /* @__PURE__ */ Object.create(null);
499
499
  let s = !0;
500
500
  for (Object.keys(i).forEach(function(u) {
@@ -503,16 +503,16 @@ function Nt(i) {
503
503
  s = !1;
504
504
  for (let u = 0; u < n.length; u++)
505
505
  for (let k = u + 1; k < n.length; k++)
506
- if (n[u].filter(function(_) {
507
- return n[k].indexOf(_) !== -1;
506
+ if (n[u].filter(function(h) {
507
+ return n[k].indexOf(h) !== -1;
508
508
  }).length) {
509
509
  n[u] = n[u].concat(n[k]), n.splice(k, 1), s = !0;
510
510
  break;
511
511
  }
512
512
  }
513
513
  return n.forEach(function(u) {
514
- u = u.filter(function(h, _, f) {
515
- return f.indexOf(h) === _;
514
+ u = u.filter(function(_, h, f) {
515
+ return f.indexOf(_) === h;
516
516
  });
517
517
  const k = u.pop();
518
518
  k !== void 0 && typeof k == "string" && (m[k] = u);
@@ -524,7 +524,7 @@ function Z(i) {
524
524
  function ct(i) {
525
525
  return i === "__proto__" ? "___proto___" : i;
526
526
  }
527
- function Ot(i) {
527
+ function Nt(i) {
528
528
  return typeof i == "string" && (i[0] === "'" || i[0] === '"') && i[i.length - 1] === i[0] ? i.substring(1, i.length - 1) : i;
529
529
  }
530
530
  /**
@@ -540,11 +540,11 @@ const pt = process && process.env && process.env.YARGS_MIN_NODE_VERSION ? Number
540
540
  if (lt && Number(lt.match(/^([^.]+)/)[1]) < pt)
541
541
  throw Error(`yargs parser supports a minimum Node.js version of ${pt}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);
542
542
  const zt = process ? process.env : {};
543
- new Et({
543
+ new Ot({
544
544
  cwd: process.cwd,
545
545
  env: () => zt,
546
- format: _t,
547
- normalize: yt,
546
+ format: ht,
547
+ normalize: Lt,
548
548
  resolve: at,
549
549
  // TODO: figure out a way to combine ESM and CJS coverage, such that
550
550
  // we can exercise all the lines below:
@@ -552,27 +552,27 @@ new Et({
552
552
  if (typeof require < "u")
553
553
  return require(i);
554
554
  if (i.match(/\.json$/))
555
- return JSON.parse(ht(i, "utf8"));
555
+ return JSON.parse(_t(i, "utf8"));
556
556
  throw Error("only .json config files are supported in ESM");
557
557
  }
558
558
  });
559
- const Vt = {
559
+ const jt = {
560
560
  fs: {
561
- readFileSync: ht,
562
- writeFile: Qt
561
+ readFileSync: _t,
562
+ writeFile: Mt
563
563
  },
564
- format: _t,
564
+ format: ht,
565
565
  resolve: at,
566
566
  exists: (i) => {
567
567
  try {
568
- return Mt(i).isFile();
568
+ return At(i).isFile();
569
569
  } catch {
570
570
  return !1;
571
571
  }
572
572
  }
573
573
  };
574
- let L;
575
- class jt {
574
+ let I;
575
+ class Ft {
576
576
  constructor(n) {
577
577
  n = n || {}, this.directory = n.directory || "./locales", this.updateFiles = typeof n.updateFiles == "boolean" ? n.updateFiles : !0, this.locale = n.locale || "en", this.fallbackToLanguage = typeof n.fallbackToLanguage == "boolean" ? n.fallbackToLanguage : !0, this.cache = /* @__PURE__ */ Object.create(null), this.writeQueue = [];
578
578
  }
@@ -587,15 +587,15 @@ class jt {
587
587
  directory: this.directory,
588
588
  locale: this.locale,
589
589
  cb: s
590
- })) : s(), L.format.apply(L.format, [this.cache[this.locale][m] || m].concat(n));
590
+ })) : s(), I.format.apply(I.format, [this.cache[this.locale][m] || m].concat(n));
591
591
  }
592
592
  __n() {
593
593
  const n = Array.prototype.slice.call(arguments), m = n.shift(), s = n.shift(), u = n.shift();
594
594
  let k = function() {
595
595
  };
596
596
  typeof n[n.length - 1] == "function" && (k = n.pop()), this.cache[this.locale] || this._readLocaleFile();
597
- let h = u === 1 ? m : s;
598
- this.cache[this.locale][m] && (h = this.cache[this.locale][m][u === 1 ? "one" : "other"]), !this.cache[this.locale][m] && this.updateFiles ? (this.cache[this.locale][m] = {
597
+ let _ = u === 1 ? m : s;
598
+ this.cache[this.locale][m] && (_ = this.cache[this.locale][m][u === 1 ? "one" : "other"]), !this.cache[this.locale][m] && this.updateFiles ? (this.cache[this.locale][m] = {
599
599
  one: m,
600
600
  other: s
601
601
  }, this._enqueueWrite({
@@ -603,8 +603,8 @@ class jt {
603
603
  locale: this.locale,
604
604
  cb: k
605
605
  })) : k();
606
- const _ = [h];
607
- return ~h.indexOf("%d") && _.push(u), L.format.apply(L.format, _.concat(n));
606
+ const h = [_];
607
+ return ~_.indexOf("%d") && h.push(u), I.format.apply(I.format, h.concat(n));
608
608
  }
609
609
  setLocale(n) {
610
610
  this.locale = n;
@@ -620,16 +620,16 @@ class jt {
620
620
  _taggedLiteral(n, ...m) {
621
621
  let s = "";
622
622
  return n.forEach(function(u, k) {
623
- const h = m[k + 1];
624
- s += u, typeof h < "u" && (s += "%s");
623
+ const _ = m[k + 1];
624
+ s += u, typeof _ < "u" && (s += "%s");
625
625
  }), this.__.apply(this, [s].concat([].slice.call(m, 1)));
626
626
  }
627
627
  _enqueueWrite(n) {
628
628
  this.writeQueue.push(n), this.writeQueue.length === 1 && this._processWriteQueue();
629
629
  }
630
630
  _processWriteQueue() {
631
- const n = this, m = this.writeQueue[0], s = m.directory, u = m.locale, k = m.cb, h = this._resolveLocaleFile(s, u), _ = JSON.stringify(this.cache[u], null, 2);
632
- L.fs.writeFile(h, _, "utf-8", function(f) {
631
+ const n = this, m = this.writeQueue[0], s = m.directory, u = m.locale, k = m.cb, _ = this._resolveLocaleFile(s, u), h = JSON.stringify(this.cache[u], null, 2);
632
+ I.fs.writeFile(_, h, "utf-8", function(f) {
633
633
  n.writeQueue.shift(), n.writeQueue.length > 0 && n._processWriteQueue(), k(f);
634
634
  });
635
635
  }
@@ -637,7 +637,7 @@ class jt {
637
637
  let n = {};
638
638
  const m = this._resolveLocaleFile(this.directory, this.locale);
639
639
  try {
640
- L.fs.readFileSync && (n = JSON.parse(L.fs.readFileSync(m, "utf-8")));
640
+ I.fs.readFileSync && (n = JSON.parse(I.fs.readFileSync(m, "utf-8")));
641
641
  } catch (s) {
642
642
  if (s instanceof SyntaxError && (s.message = "syntax error in " + m), s.code === "ENOENT")
643
643
  n = {};
@@ -647,20 +647,20 @@ class jt {
647
647
  this.cache[this.locale] = n;
648
648
  }
649
649
  _resolveLocaleFile(n, m) {
650
- let s = L.resolve(n, "./", m + ".json");
650
+ let s = I.resolve(n, "./", m + ".json");
651
651
  if (this.fallbackToLanguage && !this._fileExistsSync(s) && ~m.lastIndexOf("_")) {
652
- const u = L.resolve(n, "./", m.split("_")[0] + ".json");
652
+ const u = I.resolve(n, "./", m.split("_")[0] + ".json");
653
653
  this._fileExistsSync(u) && (s = u);
654
654
  }
655
655
  return s;
656
656
  }
657
657
  _fileExistsSync(n) {
658
- return L.exists(n);
658
+ return I.exists(n);
659
659
  }
660
660
  }
661
- function Ft(i, n) {
662
- L = n;
663
- const m = new jt(i);
661
+ function Vt(i, n) {
662
+ I = n;
663
+ const m = new Ft(i);
664
664
  return {
665
665
  __: m.__.bind(m),
666
666
  __n: m.__n.bind(m),
@@ -670,16 +670,16 @@ function Ft(i, n) {
670
670
  locale: m.locale
671
671
  };
672
672
  }
673
- const Kt = (i) => Ft(i, Vt);
674
- let N;
673
+ const Ht = (i) => Vt(i, jt);
674
+ let D;
675
675
  try {
676
- N = At(import.meta.url);
676
+ D = Qt(import.meta.url);
677
677
  } catch {
678
- N = process.cwd();
678
+ D = process.cwd();
679
679
  }
680
- const Ht = N.substring(0, N.lastIndexOf("node_modules"));
681
- Ht || process.cwd(), process.cwd, process.exit, process.nextTick, typeof process.stdout.columns < "u" && process.stdout.columns, Kt({
682
- directory: at(N, "../../../locales"),
680
+ const Kt = D.substring(0, D.lastIndexOf("node_modules"));
681
+ Kt || process.cwd(), process.cwd, process.exit, process.nextTick, typeof process.stdout.columns < "u" && process.stdout.columns, Ht({
682
+ directory: at(D, "../../../locales"),
683
683
  updateFiles: !1
684
684
  });
685
685
  const it = [
@@ -4495,7 +4495,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4495
4495
  id: "Qwen/Qwen3-235B-A22B-Instruct-2507",
4496
4496
  name: "Qwen3-235B-A22B-Instruct-2507",
4497
4497
  match: {
4498
- equals: "Qwen/Qwen3-235B-A22B-Instruct-2507"
4498
+ equals: "qwen/qwen3-235b-a22b-instruct-2507"
4499
4499
  },
4500
4500
  prices: {
4501
4501
  input_mtok: 0.6,
@@ -4506,7 +4506,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4506
4506
  id: "Qwen/Qwen3-32B",
4507
4507
  name: "Qwen3-32B",
4508
4508
  match: {
4509
- equals: "Qwen/Qwen3-32B"
4509
+ equals: "qwen/qwen3-32b"
4510
4510
  },
4511
4511
  prices: {
4512
4512
  input_mtok: 0.4,
@@ -4517,7 +4517,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4517
4517
  id: "meta-llama/Llama-3.1-8B-Instruct",
4518
4518
  name: "Llama-3.1-8B-Instruct",
4519
4519
  match: {
4520
- equals: "meta-llama/Llama-3.1-8B-Instruct"
4520
+ equals: "meta-llama/llama-3.1-8b-instruct"
4521
4521
  },
4522
4522
  prices: {
4523
4523
  input_mtok: 0.1,
@@ -4528,7 +4528,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4528
4528
  id: "meta-llama/Llama-3.3-70B-Instruct",
4529
4529
  name: "Llama-3.3-70B-Instruct",
4530
4530
  match: {
4531
- equals: "meta-llama/Llama-3.3-70B-Instruct"
4531
+ equals: "meta-llama/llama-3.3-70b-instruct"
4532
4532
  },
4533
4533
  prices: {
4534
4534
  input_mtok: 0.85,
@@ -4602,7 +4602,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4602
4602
  id: "Qwen/Qwen2.5-VL-32B-Instruct",
4603
4603
  name: "Qwen2.5-VL-32B-Instruct",
4604
4604
  match: {
4605
- equals: "Qwen/Qwen2.5-VL-32B-Instruct"
4605
+ equals: "qwen/qwen2.5-vl-32b-instruct"
4606
4606
  },
4607
4607
  context_window: 128e3,
4608
4608
  prices: {
@@ -4616,10 +4616,10 @@ Compared to other leading proprietary and open-weights models Command A delivers
4616
4616
  match: {
4617
4617
  or: [
4618
4618
  {
4619
- equals: "Qwen/Qwen3-235B-A22B"
4619
+ equals: "qwen/qwen3-235b-a22b"
4620
4620
  },
4621
4621
  {
4622
- equals: "Qwen/Qwen3-235B-A22B-Instruct-2507"
4622
+ equals: "qwen/qwen3-235b-a22b-instruct-2507"
4623
4623
  }
4624
4624
  ]
4625
4625
  },
@@ -4633,7 +4633,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4633
4633
  id: "Qwen/Qwen3-30B-A3B",
4634
4634
  name: "Qwen3-30B-A3B",
4635
4635
  match: {
4636
- equals: "Qwen/Qwen3-30B-A3B"
4636
+ equals: "qwen/qwen3-30b-a3b"
4637
4637
  },
4638
4638
  context_window: 131072,
4639
4639
  prices: {
@@ -4645,7 +4645,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4645
4645
  id: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
4646
4646
  name: "Qwen3-Coder-480B-A35B-Instruct",
4647
4647
  match: {
4648
- equals: "Qwen/Qwen3-Coder-480B-A35B-Instruct"
4648
+ equals: "qwen/qwen3-coder-480b-a35b-instruct"
4649
4649
  },
4650
4650
  context_window: 262144,
4651
4651
  prices: {
@@ -4657,7 +4657,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4657
4657
  id: "SentientAGI/Dobby-Unhinged-Llama-3.3-70B",
4658
4658
  name: "Dobby-Unhinged-Llama-3.3-70B",
4659
4659
  match: {
4660
- equals: "SentientAGI/Dobby-Unhinged-Llama-3.3-70B"
4660
+ equals: "sentientagi/dobby-unhinged-llama-3.3-70b"
4661
4661
  },
4662
4662
  context_window: 131072,
4663
4663
  prices: {
@@ -4669,7 +4669,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4669
4669
  id: "deepseek-ai/DeepSeek-R1-0528",
4670
4670
  name: "DeepSeek-R1-0528",
4671
4671
  match: {
4672
- equals: "deepseek-ai/DeepSeek-R1-0528"
4672
+ equals: "deepseek-ai/deepseek-r1-0528"
4673
4673
  },
4674
4674
  context_window: 163840,
4675
4675
  prices: {
@@ -4681,7 +4681,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4681
4681
  id: "deepseek-ai/DeepSeek-V3-0324",
4682
4682
  name: "DeepSeek-V3-0324",
4683
4683
  match: {
4684
- equals: "deepseek-ai/DeepSeek-V3-0324"
4684
+ equals: "deepseek-ai/deepseek-v3-0324"
4685
4685
  },
4686
4686
  context_window: 163840,
4687
4687
  prices: {
@@ -4693,7 +4693,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4693
4693
  id: "meta-llama/Llama-3.1-405B-Instruct",
4694
4694
  name: "Llama-3.1-405B-Instruct",
4695
4695
  match: {
4696
- equals: "meta-llama/Llama-3.1-405B-Instruct"
4696
+ equals: "meta-llama/llama-3.1-405b-instruct"
4697
4697
  },
4698
4698
  context_window: 131072,
4699
4699
  prices: {
@@ -4705,7 +4705,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4705
4705
  id: "meta-llama/Llama-3.1-70B-Instruct",
4706
4706
  name: "Llama-3.1-70B-Instruct",
4707
4707
  match: {
4708
- equals: "meta-llama/Llama-3.1-70B-Instruct"
4708
+ equals: "meta-llama/llama-3.1-70b-instruct"
4709
4709
  },
4710
4710
  context_window: 131072,
4711
4711
  prices: {
@@ -4717,7 +4717,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4717
4717
  id: "meta-llama/Llama-3.1-8B-Instruct",
4718
4718
  name: "Llama-3.1-8B-Instruct",
4719
4719
  match: {
4720
- equals: "meta-llama/Llama-3.1-8B-Instruct"
4720
+ equals: "meta-llama/llama-3.1-8b-instruct"
4721
4721
  },
4722
4722
  context_window: 131072,
4723
4723
  prices: {
@@ -4729,7 +4729,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4729
4729
  id: "meta-llama/Llama-3.3-70B-Instruct",
4730
4730
  name: "Llama-3.3-70B-Instruct",
4731
4731
  match: {
4732
- equals: "meta-llama/Llama-3.3-70B-Instruct"
4732
+ equals: "meta-llama/llama-3.3-70b-instruct"
4733
4733
  },
4734
4734
  context_window: 131072,
4735
4735
  prices: {
@@ -4741,7 +4741,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4741
4741
  id: "meta-llama/Llama-4-Maverick-17B-128E-Instruct",
4742
4742
  name: "Llama-4-Maverick-17B-128E-Instruct",
4743
4743
  match: {
4744
- equals: "meta-llama/Llama-4-Maverick-17B-128E-Instruct"
4744
+ equals: "meta-llama/llama-4-maverick-17b-128e-instruct"
4745
4745
  },
4746
4746
  context_window: 1048576,
4747
4747
  prices: {
@@ -4753,7 +4753,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4753
4753
  id: "meta-llama/Llama-4-Scout-17B-16E-Instruct",
4754
4754
  name: "Llama-4-Scout-17B-16E-Instruct",
4755
4755
  match: {
4756
- equals: "meta-llama/Llama-4-Scout-17B-16E-Instruct"
4756
+ equals: "meta-llama/llama-4-scout-17b-16e-instruct"
4757
4757
  },
4758
4758
  context_window: 1048576,
4759
4759
  prices: {
@@ -4765,7 +4765,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4765
4765
  id: "moonshotai/Kimi-K2-Instruct",
4766
4766
  name: "Kimi-K2-Instruct",
4767
4767
  match: {
4768
- equals: "moonshotai/Kimi-K2-Instruct"
4768
+ equals: "moonshotai/kimi-k2-instruct"
4769
4769
  },
4770
4770
  context_window: 131072,
4771
4771
  prices: {
@@ -4801,7 +4801,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4801
4801
  id: "zai-org/GLM-4.5",
4802
4802
  name: "GLM-4.5",
4803
4803
  match: {
4804
- equals: "zai-org/GLM-4.5"
4804
+ equals: "zai-org/glm-4.5"
4805
4805
  },
4806
4806
  context_window: 131072,
4807
4807
  prices: {
@@ -4865,7 +4865,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4865
4865
  id: "Qwen/Qwen3-32B",
4866
4866
  name: "Qwen3-32B",
4867
4867
  match: {
4868
- equals: "Qwen/Qwen3-32B"
4868
+ equals: "qwen/qwen3-32b"
4869
4869
  },
4870
4870
  context_window: 131072,
4871
4871
  prices: {
@@ -4877,7 +4877,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4877
4877
  id: "meta-llama/Llama-3.3-70B-Instruct",
4878
4878
  name: "Llama-3.3-70B-Instruct",
4879
4879
  match: {
4880
- equals: "meta-llama/Llama-3.3-70B-Instruct"
4880
+ equals: "meta-llama/llama-3.3-70b-instruct"
4881
4881
  },
4882
4882
  context_window: 131072,
4883
4883
  prices: {
@@ -4889,7 +4889,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4889
4889
  id: "meta-llama/Llama-4-Maverick-17B-128E-Instruct",
4890
4890
  name: "Llama-4-Maverick-17B-128E-Instruct",
4891
4891
  match: {
4892
- equals: "meta-llama/Llama-4-Maverick-17B-128E-Instruct"
4892
+ equals: "meta-llama/llama-4-maverick-17b-128e-instruct"
4893
4893
  },
4894
4894
  context_window: 131072,
4895
4895
  prices: {
@@ -4901,7 +4901,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4901
4901
  id: "meta-llama/Llama-4-Scout-17B-16E-Instruct",
4902
4902
  name: "Llama-4-Scout-17B-16E-Instruct",
4903
4903
  match: {
4904
- equals: "meta-llama/Llama-4-Scout-17B-16E-Instruct"
4904
+ equals: "meta-llama/llama-4-scout-17b-16e-instruct"
4905
4905
  },
4906
4906
  context_window: 131072,
4907
4907
  prices: {
@@ -4913,7 +4913,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
4913
4913
  id: "meta-llama/Llama-Guard-4-12B",
4914
4914
  name: "Llama-Guard-4-12B",
4915
4915
  match: {
4916
- equals: "meta-llama/Llama-Guard-4-12B"
4916
+ equals: "meta-llama/llama-guard-4-12b"
4917
4917
  },
4918
4918
  context_window: 131072,
4919
4919
  prices: {
@@ -5001,7 +5001,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5001
5001
  id: "Qwen/QwQ-32B",
5002
5002
  name: "QwQ-32B",
5003
5003
  match: {
5004
- equals: "Qwen/QwQ-32B"
5004
+ equals: "qwen/qwq-32b"
5005
5005
  },
5006
5006
  context_window: 131072,
5007
5007
  prices: {
@@ -5013,7 +5013,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5013
5013
  id: "Qwen/Qwen2.5-72B-Instruct",
5014
5014
  name: "Qwen2.5-72B-Instruct",
5015
5015
  match: {
5016
- equals: "Qwen/Qwen2.5-72B-Instruct"
5016
+ equals: "qwen/qwen2.5-72b-instruct"
5017
5017
  },
5018
5018
  context_window: 131072,
5019
5019
  prices: {
@@ -5025,7 +5025,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5025
5025
  id: "Qwen/Qwen2.5-Coder-32B-Instruct",
5026
5026
  name: "Qwen2.5-Coder-32B-Instruct",
5027
5027
  match: {
5028
- equals: "Qwen/Qwen2.5-Coder-32B-Instruct"
5028
+ equals: "qwen/qwen2.5-coder-32b-instruct"
5029
5029
  },
5030
5030
  context_window: 32768,
5031
5031
  prices: {
@@ -5037,7 +5037,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5037
5037
  id: "Qwen/Qwen2.5-VL-72B-Instruct",
5038
5038
  name: "Qwen2.5-VL-72B-Instruct",
5039
5039
  match: {
5040
- equals: "Qwen/Qwen2.5-VL-72B-Instruct"
5040
+ equals: "qwen/qwen2.5-vl-72b-instruct"
5041
5041
  },
5042
5042
  context_window: 32768,
5043
5043
  prices: {
@@ -5049,7 +5049,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5049
5049
  id: "Qwen/Qwen2.5-VL-7B-Instruct",
5050
5050
  name: "Qwen2.5-VL-7B-Instruct",
5051
5051
  match: {
5052
- equals: "Qwen/Qwen2.5-VL-7B-Instruct"
5052
+ equals: "qwen/qwen2.5-vl-7b-instruct"
5053
5053
  },
5054
5054
  context_window: 32768,
5055
5055
  prices: {
@@ -5061,7 +5061,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5061
5061
  id: "Qwen/Qwen3-235B-A22B-Instruct-2507",
5062
5062
  name: "Qwen3-235B-A22B-Instruct-2507",
5063
5063
  match: {
5064
- equals: "Qwen/Qwen3-235B-A22B-Instruct-2507"
5064
+ equals: "qwen/qwen3-235b-a22b-instruct-2507"
5065
5065
  },
5066
5066
  context_window: 262144,
5067
5067
  prices: {
@@ -5073,7 +5073,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5073
5073
  id: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
5074
5074
  name: "Qwen3-Coder-480B-A35B-Instruct",
5075
5075
  match: {
5076
- equals: "Qwen/Qwen3-Coder-480B-A35B-Instruct"
5076
+ equals: "qwen/qwen3-coder-480b-a35b-instruct"
5077
5077
  },
5078
5078
  context_window: 262144,
5079
5079
  prices: {
@@ -5085,7 +5085,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5085
5085
  id: "Qwen/Qwen3-Next-80B-A3B-Instruct",
5086
5086
  name: "Qwen3-Next-80B-A3B-Instruct",
5087
5087
  match: {
5088
- equals: "Qwen/Qwen3-Next-80B-A3B-Instruct"
5088
+ equals: "qwen/qwen3-next-80b-a3b-instruct"
5089
5089
  },
5090
5090
  context_window: 262144,
5091
5091
  prices: {
@@ -5097,7 +5097,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5097
5097
  id: "Qwen/Qwen3-Next-80B-A3B-Thinking",
5098
5098
  name: "Qwen3-Next-80B-A3B-Thinking",
5099
5099
  match: {
5100
- equals: "Qwen/Qwen3-Next-80B-A3B-Thinking"
5100
+ equals: "qwen/qwen3-next-80b-a3b-thinking"
5101
5101
  },
5102
5102
  context_window: 262144,
5103
5103
  prices: {
@@ -5109,7 +5109,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5109
5109
  id: "deepseek-ai/DeepSeek-R1",
5110
5110
  name: "DeepSeek-R1",
5111
5111
  match: {
5112
- equals: "deepseek-ai/DeepSeek-R1"
5112
+ equals: "deepseek-ai/deepseek-r1"
5113
5113
  },
5114
5114
  context_window: 163840,
5115
5115
  prices: {
@@ -5121,7 +5121,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5121
5121
  id: "deepseek-ai/DeepSeek-R1-0528",
5122
5122
  name: "DeepSeek-R1-0528",
5123
5123
  match: {
5124
- equals: "deepseek-ai/DeepSeek-R1-0528"
5124
+ equals: "deepseek-ai/deepseek-r1-0528"
5125
5125
  },
5126
5126
  context_window: 163840,
5127
5127
  prices: {
@@ -5133,7 +5133,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5133
5133
  id: "deepseek-ai/DeepSeek-V3-0324",
5134
5134
  name: "DeepSeek-V3-0324",
5135
5135
  match: {
5136
- equals: "deepseek-ai/DeepSeek-V3-0324"
5136
+ equals: "deepseek-ai/deepseek-v3-0324"
5137
5137
  },
5138
5138
  context_window: 163840,
5139
5139
  prices: {
@@ -5145,7 +5145,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5145
5145
  id: "meta-llama/Llama-3.1-70B-Instruct",
5146
5146
  name: "Llama-3.1-70B-Instruct",
5147
5147
  match: {
5148
- equals: "meta-llama/Llama-3.1-70B-Instruct"
5148
+ equals: "meta-llama/llama-3.1-70b-instruct"
5149
5149
  },
5150
5150
  context_window: 131072,
5151
5151
  prices: {
@@ -5157,7 +5157,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5157
5157
  id: "meta-llama/Llama-3.1-8B-Instruct",
5158
5158
  name: "Llama-3.1-8B-Instruct",
5159
5159
  match: {
5160
- equals: "meta-llama/Llama-3.1-8B-Instruct"
5160
+ equals: "meta-llama/llama-3.1-8b-instruct"
5161
5161
  },
5162
5162
  context_window: 131072,
5163
5163
  prices: {
@@ -5169,7 +5169,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5169
5169
  id: "meta-llama/Llama-3.2-3B-Instruct",
5170
5170
  name: "Llama-3.2-3B-Instruct",
5171
5171
  match: {
5172
- equals: "meta-llama/Llama-3.2-3B-Instruct"
5172
+ equals: "meta-llama/llama-3.2-3b-instruct"
5173
5173
  },
5174
5174
  context_window: 131072,
5175
5175
  prices: {
@@ -5181,7 +5181,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5181
5181
  id: "meta-llama/Llama-3.3-70B-Instruct",
5182
5182
  name: "Llama-3.3-70B-Instruct",
5183
5183
  match: {
5184
- equals: "meta-llama/Llama-3.3-70B-Instruct"
5184
+ equals: "meta-llama/llama-3.3-70b-instruct"
5185
5185
  },
5186
5186
  context_window: 131072,
5187
5187
  prices: {
@@ -5193,7 +5193,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5193
5193
  id: "meta-llama/Meta-Llama-3-70B-Instruct",
5194
5194
  name: "Meta-Llama-3-70B-Instruct",
5195
5195
  match: {
5196
- equals: "meta-llama/Meta-Llama-3-70B-Instruct"
5196
+ equals: "meta-llama/meta-llama-3-70b-instruct"
5197
5197
  },
5198
5198
  context_window: 8192,
5199
5199
  prices: {
@@ -5281,7 +5281,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5281
5281
  id: "NousResearch/Hermes-4-405B",
5282
5282
  name: "Hermes-4-405B",
5283
5283
  match: {
5284
- equals: "NousResearch/Hermes-4-405B"
5284
+ equals: "nousresearch/hermes-4-405b"
5285
5285
  },
5286
5286
  context_window: 131072,
5287
5287
  prices: {
@@ -5293,7 +5293,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5293
5293
  id: "NousResearch/Hermes-4-70B",
5294
5294
  name: "Hermes-4-70B",
5295
5295
  match: {
5296
- equals: "NousResearch/Hermes-4-70B"
5296
+ equals: "nousresearch/hermes-4-70b"
5297
5297
  },
5298
5298
  context_window: 131072,
5299
5299
  prices: {
@@ -5305,7 +5305,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5305
5305
  id: "Qwen/Qwen2.5-Coder-7B",
5306
5306
  name: "Qwen2.5-Coder-7B",
5307
5307
  match: {
5308
- equals: "Qwen/Qwen2.5-Coder-7B"
5308
+ equals: "qwen/qwen2.5-coder-7b"
5309
5309
  },
5310
5310
  context_window: 32768,
5311
5311
  prices: {
@@ -5317,7 +5317,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5317
5317
  id: "Qwen/Qwen2.5-VL-72B-Instruct",
5318
5318
  name: "Qwen2.5-VL-72B-Instruct",
5319
5319
  match: {
5320
- equals: "Qwen/Qwen2.5-VL-72B-Instruct"
5320
+ equals: "qwen/qwen2.5-vl-72b-instruct"
5321
5321
  },
5322
5322
  context_window: 32e3,
5323
5323
  prices: {
@@ -5329,7 +5329,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5329
5329
  id: "Qwen/Qwen3-235B-A22B-Instruct-2507",
5330
5330
  name: "Qwen3-235B-A22B-Instruct-2507",
5331
5331
  match: {
5332
- equals: "Qwen/Qwen3-235B-A22B-Instruct-2507"
5332
+ equals: "qwen/qwen3-235b-a22b-instruct-2507"
5333
5333
  },
5334
5334
  context_window: 262144,
5335
5335
  prices: {
@@ -5341,7 +5341,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5341
5341
  id: "Qwen/Qwen3-30B-A3B-Instruct-2507",
5342
5342
  name: "Qwen3-30B-A3B-Instruct-2507",
5343
5343
  match: {
5344
- equals: "Qwen/Qwen3-30B-A3B-Instruct-2507"
5344
+ equals: "qwen/qwen3-30b-a3b-instruct-2507"
5345
5345
  },
5346
5346
  context_window: 262144,
5347
5347
  prices: {
@@ -5353,7 +5353,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5353
5353
  id: "Qwen/Qwen3-30B-A3B-Thinking-2507",
5354
5354
  name: "Qwen3-30B-A3B-Thinking-2507",
5355
5355
  match: {
5356
- equals: "Qwen/Qwen3-30B-A3B-Thinking-2507"
5356
+ equals: "qwen/qwen3-30b-a3b-thinking-2507"
5357
5357
  },
5358
5358
  context_window: 262144,
5359
5359
  prices: {
@@ -5365,7 +5365,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5365
5365
  id: "Qwen/Qwen3-32B",
5366
5366
  name: "Qwen3-32B",
5367
5367
  match: {
5368
- equals: "Qwen/Qwen3-32B"
5368
+ equals: "qwen/qwen3-32b"
5369
5369
  },
5370
5370
  context_window: 40960,
5371
5371
  prices: {
@@ -5377,7 +5377,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5377
5377
  id: "Qwen/Qwen3-Coder-30B-A3B-Instruct",
5378
5378
  name: "Qwen3-Coder-30B-A3B-Instruct",
5379
5379
  match: {
5380
- equals: "Qwen/Qwen3-Coder-30B-A3B-Instruct"
5380
+ equals: "qwen/qwen3-coder-30b-a3b-instruct"
5381
5381
  },
5382
5382
  context_window: 262144,
5383
5383
  prices: {
@@ -5389,7 +5389,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5389
5389
  id: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
5390
5390
  name: "Qwen3-Coder-480B-A35B-Instruct",
5391
5391
  match: {
5392
- equals: "Qwen/Qwen3-Coder-480B-A35B-Instruct"
5392
+ equals: "qwen/qwen3-coder-480b-a35b-instruct"
5393
5393
  },
5394
5394
  context_window: 262144,
5395
5395
  prices: {
@@ -5401,7 +5401,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5401
5401
  id: "deepseek-ai/DeepSeek-R1-0528",
5402
5402
  name: "DeepSeek-R1-0528",
5403
5403
  match: {
5404
- equals: "deepseek-ai/DeepSeek-R1-0528"
5404
+ equals: "deepseek-ai/deepseek-r1-0528"
5405
5405
  },
5406
5406
  context_window: 163840,
5407
5407
  prices: {
@@ -5413,7 +5413,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5413
5413
  id: "deepseek-ai/DeepSeek-V3-0324",
5414
5414
  name: "DeepSeek-V3-0324",
5415
5415
  match: {
5416
- equals: "deepseek-ai/DeepSeek-V3-0324"
5416
+ equals: "deepseek-ai/deepseek-v3-0324"
5417
5417
  },
5418
5418
  context_window: 32768,
5419
5419
  prices: {
@@ -5461,7 +5461,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5461
5461
  id: "meta-llama/Llama-3.1-8B-Instruct",
5462
5462
  name: "Llama-3.1-8B-Instruct",
5463
5463
  match: {
5464
- equals: "meta-llama/Llama-3.1-8B-Instruct"
5464
+ equals: "meta-llama/llama-3.1-8b-instruct"
5465
5465
  },
5466
5466
  context_window: 131072,
5467
5467
  prices: {
@@ -5473,7 +5473,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5473
5473
  id: "meta-llama/Llama-3.3-70B-Instruct",
5474
5474
  name: "Llama-3.3-70B-Instruct",
5475
5475
  match: {
5476
- equals: "meta-llama/Llama-3.3-70B-Instruct"
5476
+ equals: "meta-llama/llama-3.3-70b-instruct"
5477
5477
  },
5478
5478
  context_window: 131072,
5479
5479
  prices: {
@@ -5485,7 +5485,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5485
5485
  id: "moonshotai/Kimi-K2-Instruct",
5486
5486
  name: "Kimi-K2-Instruct",
5487
5487
  match: {
5488
- equals: "moonshotai/Kimi-K2-Instruct"
5488
+ equals: "moonshotai/kimi-k2-instruct"
5489
5489
  },
5490
5490
  context_window: 131072,
5491
5491
  prices: {
@@ -5497,7 +5497,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5497
5497
  id: "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1",
5498
5498
  name: "Llama-3_1-Nemotron-Ultra-253B-v1",
5499
5499
  match: {
5500
- equals: "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1"
5500
+ equals: "nvidia/llama-3_1-nemotron-ultra-253b-v1"
5501
5501
  },
5502
5502
  context_window: 131072,
5503
5503
  prices: {
@@ -5505,18 +5505,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
5505
5505
  output_mtok: 1.8
5506
5506
  }
5507
5507
  },
5508
- {
5509
- id: "nvidia/NVIDIA-Nemotron-Nano-12B-v2",
5510
- name: "NVIDIA-Nemotron-Nano-12B-v2",
5511
- match: {
5512
- equals: "nvidia/NVIDIA-Nemotron-Nano-12B-v2"
5513
- },
5514
- context_window: 131072,
5515
- prices: {
5516
- input_mtok: 0.07,
5517
- output_mtok: 0.2
5518
- }
5519
- },
5520
5508
  {
5521
5509
  id: "openai/gpt-oss-120b",
5522
5510
  name: "gpt-oss-120b",
@@ -5545,7 +5533,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5545
5533
  id: "zai-org/GLM-4.5",
5546
5534
  name: "GLM-4.5",
5547
5535
  match: {
5548
- equals: "zai-org/GLM-4.5"
5536
+ equals: "zai-org/glm-4.5"
5549
5537
  },
5550
5538
  context_window: 131072,
5551
5539
  prices: {
@@ -5557,7 +5545,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5557
5545
  id: "zai-org/GLM-4.5-Air",
5558
5546
  name: "GLM-4.5-Air",
5559
5547
  match: {
5560
- equals: "zai-org/GLM-4.5-Air"
5548
+ equals: "zai-org/glm-4.5-air"
5561
5549
  },
5562
5550
  context_window: 131072,
5563
5551
  prices: {
@@ -5621,7 +5609,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5621
5609
  id: "MiniMaxAI/MiniMax-M1-80k",
5622
5610
  name: "MiniMax-M1-80k",
5623
5611
  match: {
5624
- equals: "MiniMaxAI/MiniMax-M1-80k"
5612
+ equals: "minimaxai/minimax-m1-80k"
5625
5613
  },
5626
5614
  context_window: 1e6,
5627
5615
  prices: {
@@ -5633,7 +5621,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5633
5621
  id: "MiniMaxAI/MiniMax-M2",
5634
5622
  name: "MiniMax-M2",
5635
5623
  match: {
5636
- equals: "MiniMaxAI/MiniMax-M2"
5624
+ equals: "minimaxai/minimax-m2"
5637
5625
  },
5638
5626
  context_window: 204800,
5639
5627
  prices: {
@@ -5645,7 +5633,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5645
5633
  id: "NousResearch/Hermes-2-Pro-Llama-3-8B",
5646
5634
  name: "Hermes-2-Pro-Llama-3-8B",
5647
5635
  match: {
5648
- equals: "NousResearch/Hermes-2-Pro-Llama-3-8B"
5636
+ equals: "nousresearch/hermes-2-pro-llama-3-8b"
5649
5637
  },
5650
5638
  context_window: 8192,
5651
5639
  prices: {
@@ -5657,7 +5645,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5657
5645
  id: "Qwen/Qwen2.5-72B-Instruct",
5658
5646
  name: "Qwen2.5-72B-Instruct",
5659
5647
  match: {
5660
- equals: "Qwen/Qwen2.5-72B-Instruct"
5648
+ equals: "qwen/qwen2.5-72b-instruct"
5661
5649
  },
5662
5650
  context_window: 32e3,
5663
5651
  prices: {
@@ -5669,7 +5657,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5669
5657
  id: "Qwen/Qwen3-235B-A22B",
5670
5658
  name: "Qwen3-235B-A22B",
5671
5659
  match: {
5672
- equals: "Qwen/Qwen3-235B-A22B"
5660
+ equals: "qwen/qwen3-235b-a22b"
5673
5661
  },
5674
5662
  context_window: 40960,
5675
5663
  prices: {
@@ -5681,7 +5669,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5681
5669
  id: "Qwen/Qwen3-235B-A22B-Instruct-2507",
5682
5670
  name: "Qwen3-235B-A22B-Instruct-2507",
5683
5671
  match: {
5684
- equals: "Qwen/Qwen3-235B-A22B-Instruct-2507"
5672
+ equals: "qwen/qwen3-235b-a22b-instruct-2507"
5685
5673
  },
5686
5674
  context_window: 131072,
5687
5675
  prices: {
@@ -5693,7 +5681,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5693
5681
  id: "Qwen/Qwen3-235B-A22B-Thinking-2507",
5694
5682
  name: "Qwen3-235B-A22B-Thinking-2507",
5695
5683
  match: {
5696
- equals: "Qwen/Qwen3-235B-A22B-Thinking-2507"
5684
+ equals: "qwen/qwen3-235b-a22b-thinking-2507"
5697
5685
  },
5698
5686
  context_window: 131072,
5699
5687
  prices: {
@@ -5705,7 +5693,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5705
5693
  id: "Qwen/Qwen3-30B-A3B",
5706
5694
  name: "Qwen3-30B-A3B",
5707
5695
  match: {
5708
- equals: "Qwen/Qwen3-30B-A3B"
5696
+ equals: "qwen/qwen3-30b-a3b"
5709
5697
  },
5710
5698
  context_window: 40960,
5711
5699
  prices: {
@@ -5717,7 +5705,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5717
5705
  id: "Qwen/Qwen3-32B",
5718
5706
  name: "Qwen3-32B",
5719
5707
  match: {
5720
- equals: "Qwen/Qwen3-32B"
5708
+ equals: "qwen/qwen3-32b"
5721
5709
  },
5722
5710
  context_window: 40960,
5723
5711
  prices: {
@@ -5729,7 +5717,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5729
5717
  id: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
5730
5718
  name: "Qwen3-Coder-480B-A35B-Instruct",
5731
5719
  match: {
5732
- equals: "Qwen/Qwen3-Coder-480B-A35B-Instruct"
5720
+ equals: "qwen/qwen3-coder-480b-a35b-instruct"
5733
5721
  },
5734
5722
  context_window: 262144,
5735
5723
  prices: {
@@ -5741,7 +5729,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5741
5729
  id: "Qwen/Qwen3-Next-80B-A3B-Instruct",
5742
5730
  name: "Qwen3-Next-80B-A3B-Instruct",
5743
5731
  match: {
5744
- equals: "Qwen/Qwen3-Next-80B-A3B-Instruct"
5732
+ equals: "qwen/qwen3-next-80b-a3b-instruct"
5745
5733
  },
5746
5734
  context_window: 131072,
5747
5735
  prices: {
@@ -5753,7 +5741,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5753
5741
  id: "Qwen/Qwen3-Next-80B-A3B-Thinking",
5754
5742
  name: "Qwen3-Next-80B-A3B-Thinking",
5755
5743
  match: {
5756
- equals: "Qwen/Qwen3-Next-80B-A3B-Thinking"
5744
+ equals: "qwen/qwen3-next-80b-a3b-thinking"
5757
5745
  },
5758
5746
  context_window: 131072,
5759
5747
  prices: {
@@ -5765,7 +5753,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5765
5753
  id: "Qwen/Qwen3-VL-235B-A22B-Instruct",
5766
5754
  name: "Qwen3-VL-235B-A22B-Instruct",
5767
5755
  match: {
5768
- equals: "Qwen/Qwen3-VL-235B-A22B-Instruct"
5756
+ equals: "qwen/qwen3-vl-235b-a22b-instruct"
5769
5757
  },
5770
5758
  context_window: 131072,
5771
5759
  prices: {
@@ -5777,7 +5765,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5777
5765
  id: "Qwen/Qwen3-VL-235B-A22B-Thinking",
5778
5766
  name: "Qwen3-VL-235B-A22B-Thinking",
5779
5767
  match: {
5780
- equals: "Qwen/Qwen3-VL-235B-A22B-Thinking"
5768
+ equals: "qwen/qwen3-vl-235b-a22b-thinking"
5781
5769
  },
5782
5770
  context_window: 131072,
5783
5771
  prices: {
@@ -5789,7 +5777,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5789
5777
  id: "Qwen/Qwen3-VL-30B-A3B-Instruct",
5790
5778
  name: "Qwen3-VL-30B-A3B-Instruct",
5791
5779
  match: {
5792
- equals: "Qwen/Qwen3-VL-30B-A3B-Instruct"
5780
+ equals: "qwen/qwen3-vl-30b-a3b-instruct"
5793
5781
  },
5794
5782
  context_window: 131072,
5795
5783
  prices: {
@@ -5801,7 +5789,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5801
5789
  id: "Qwen/Qwen3-VL-30B-A3B-Thinking",
5802
5790
  name: "Qwen3-VL-30B-A3B-Thinking",
5803
5791
  match: {
5804
- equals: "Qwen/Qwen3-VL-30B-A3B-Thinking"
5792
+ equals: "qwen/qwen3-vl-30b-a3b-thinking"
5805
5793
  },
5806
5794
  context_window: 131072,
5807
5795
  prices: {
@@ -5813,7 +5801,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5813
5801
  id: "Qwen/Qwen3-VL-8B-Instruct",
5814
5802
  name: "Qwen3-VL-8B-Instruct",
5815
5803
  match: {
5816
- equals: "Qwen/Qwen3-VL-8B-Instruct"
5804
+ equals: "qwen/qwen3-vl-8b-instruct"
5817
5805
  },
5818
5806
  context_window: 131072,
5819
5807
  prices: {
@@ -5825,7 +5813,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5825
5813
  id: "Sao10K/L3-70B-Euryale-v2.1",
5826
5814
  name: "L3-70B-Euryale-v2.1",
5827
5815
  match: {
5828
- equals: "Sao10K/L3-70B-Euryale-v2.1"
5816
+ equals: "sao10k/l3-70b-euryale-v2.1"
5829
5817
  },
5830
5818
  context_window: 8192,
5831
5819
  prices: {
@@ -5837,7 +5825,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5837
5825
  id: "Sao10K/L3-8B-Lunaris-v1",
5838
5826
  name: "L3-8B-Lunaris-v1",
5839
5827
  match: {
5840
- equals: "Sao10K/L3-8B-Lunaris-v1"
5828
+ equals: "sao10k/l3-8b-lunaris-v1"
5841
5829
  },
5842
5830
  context_window: 8192,
5843
5831
  prices: {
@@ -5849,7 +5837,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5849
5837
  id: "Sao10K/L3-8B-Stheno-v3.2",
5850
5838
  name: "L3-8B-Stheno-v3.2",
5851
5839
  match: {
5852
- equals: "Sao10K/L3-8B-Stheno-v3.2"
5840
+ equals: "sao10k/l3-8b-stheno-v3.2"
5853
5841
  },
5854
5842
  context_window: 8192,
5855
5843
  prices: {
@@ -5861,7 +5849,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5861
5849
  id: "alpindale/WizardLM-2-8x22B",
5862
5850
  name: "WizardLM-2-8x22B",
5863
5851
  match: {
5864
- equals: "alpindale/WizardLM-2-8x22B"
5852
+ equals: "alpindale/wizardlm-2-8x22b"
5865
5853
  },
5866
5854
  context_window: 65535,
5867
5855
  prices: {
@@ -5873,7 +5861,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5873
5861
  id: "baichuan-inc/Baichuan-M2-32B",
5874
5862
  name: "Baichuan-M2-32B",
5875
5863
  match: {
5876
- equals: "baichuan-inc/Baichuan-M2-32B"
5864
+ equals: "baichuan-inc/baichuan-m2-32b"
5877
5865
  },
5878
5866
  context_window: 131072,
5879
5867
  prices: {
@@ -5885,7 +5873,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5885
5873
  id: "baidu/ERNIE-4.5-21B-A3B-PT",
5886
5874
  name: "ERNIE-4.5-21B-A3B-PT",
5887
5875
  match: {
5888
- equals: "baidu/ERNIE-4.5-21B-A3B-PT"
5876
+ equals: "baidu/ernie-4.5-21b-a3b-pt"
5889
5877
  },
5890
5878
  context_window: 12e4,
5891
5879
  prices: {
@@ -5897,7 +5885,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5897
5885
  id: "baidu/ERNIE-4.5-300B-A47B-Base-PT",
5898
5886
  name: "ERNIE-4.5-300B-A47B-Base-PT",
5899
5887
  match: {
5900
- equals: "baidu/ERNIE-4.5-300B-A47B-Base-PT"
5888
+ equals: "baidu/ernie-4.5-300b-a47b-base-pt"
5901
5889
  },
5902
5890
  context_window: 123e3,
5903
5891
  prices: {
@@ -5909,7 +5897,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5909
5897
  id: "baidu/ERNIE-4.5-VL-28B-A3B-PT",
5910
5898
  name: "ERNIE-4.5-VL-28B-A3B-PT",
5911
5899
  match: {
5912
- equals: "baidu/ERNIE-4.5-VL-28B-A3B-PT"
5900
+ equals: "baidu/ernie-4.5-vl-28b-a3b-pt"
5913
5901
  },
5914
5902
  context_window: 3e4,
5915
5903
  prices: {
@@ -5921,7 +5909,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5921
5909
  id: "baidu/ERNIE-4.5-VL-424B-A47B-Base-PT",
5922
5910
  name: "ERNIE-4.5-VL-424B-A47B-Base-PT",
5923
5911
  match: {
5924
- equals: "baidu/ERNIE-4.5-VL-424B-A47B-Base-PT"
5912
+ equals: "baidu/ernie-4.5-vl-424b-a47b-base-pt"
5925
5913
  },
5926
5914
  context_window: 123e3,
5927
5915
  prices: {
@@ -5933,7 +5921,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
5933
5921
  id: "deepseek-ai/DeepSeek-Prover-V2-671B",
5934
5922
  name: "DeepSeek-Prover-V2-671B",
5935
5923
  match: {
5936
- equals: "deepseek-ai/DeepSeek-Prover-V2-671B"
5924
+ equals: "deepseek-ai/deepseek-prover-v2-671b"
5937
5925
  },
5938
5926
  context_window: 16e4,
5939
5927
  prices: {
@@ -5947,10 +5935,10 @@ Compared to other leading proprietary and open-weights models Command A delivers
5947
5935
  match: {
5948
5936
  or: [
5949
5937
  {
5950
- equals: "deepseek-ai/DeepSeek-R1"
5938
+ equals: "deepseek-ai/deepseek-r1"
5951
5939
  },
5952
5940
  {
5953
- equals: "deepseek-ai/DeepSeek-R1-0528"
5941
+ equals: "deepseek-ai/deepseek-r1-0528"
5954
5942
  }
5955
5943
  ]
5956
5944
  },
@@ -5964,19 +5952,19 @@ Compared to other leading proprietary and open-weights models Command A delivers
5964
5952
  id: "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B",
5965
5953
  name: "DeepSeek-R1-0528-Qwen3-8B",
5966
5954
  match: {
5967
- equals: "deepseek-ai/DeepSeek-R1-0528-Qwen3-8B"
5955
+ equals: "deepseek-ai/deepseek-r1-0528-qwen3-8b"
5968
5956
  },
5969
5957
  context_window: 128e3,
5970
5958
  prices: {
5971
- input_mtok: 0.06,
5972
- output_mtok: 0.09
5959
+ input_mtok: 0.048,
5960
+ output_mtok: 0.072
5973
5961
  }
5974
5962
  },
5975
5963
  {
5976
5964
  id: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
5977
5965
  name: "DeepSeek-R1-Distill-Llama-70B",
5978
5966
  match: {
5979
- equals: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B"
5967
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b"
5980
5968
  },
5981
5969
  context_window: 8192,
5982
5970
  prices: {
@@ -5988,19 +5976,19 @@ Compared to other leading proprietary and open-weights models Command A delivers
5988
5976
  id: "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
5989
5977
  name: "DeepSeek-R1-Distill-Qwen-14B",
5990
5978
  match: {
5991
- equals: "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B"
5979
+ equals: "deepseek-ai/deepseek-r1-distill-qwen-14b"
5992
5980
  },
5993
5981
  context_window: 32768,
5994
5982
  prices: {
5995
- input_mtok: 0.15,
5996
- output_mtok: 0.15
5983
+ input_mtok: 0.12,
5984
+ output_mtok: 0.12
5997
5985
  }
5998
5986
  },
5999
5987
  {
6000
5988
  id: "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",
6001
5989
  name: "DeepSeek-R1-Distill-Qwen-32B",
6002
5990
  match: {
6003
- equals: "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B"
5991
+ equals: "deepseek-ai/deepseek-r1-distill-qwen-32b"
6004
5992
  },
6005
5993
  context_window: 64e3,
6006
5994
  prices: {
@@ -6012,7 +6000,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6012
6000
  id: "deepseek-ai/DeepSeek-V3",
6013
6001
  name: "DeepSeek-V3",
6014
6002
  match: {
6015
- equals: "deepseek-ai/DeepSeek-V3"
6003
+ equals: "deepseek-ai/deepseek-v3"
6016
6004
  },
6017
6005
  context_window: 64e3,
6018
6006
  prices: {
@@ -6024,7 +6012,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6024
6012
  id: "deepseek-ai/DeepSeek-V3-0324",
6025
6013
  name: "DeepSeek-V3-0324",
6026
6014
  match: {
6027
- equals: "deepseek-ai/DeepSeek-V3-0324"
6015
+ equals: "deepseek-ai/deepseek-v3-0324"
6028
6016
  },
6029
6017
  context_window: 163840,
6030
6018
  prices: {
@@ -6038,10 +6026,10 @@ Compared to other leading proprietary and open-weights models Command A delivers
6038
6026
  match: {
6039
6027
  or: [
6040
6028
  {
6041
- equals: "deepseek-ai/DeepSeek-V3.1"
6029
+ equals: "deepseek-ai/deepseek-v3.1"
6042
6030
  },
6043
6031
  {
6044
- equals: "deepseek-ai/DeepSeek-V3.1-Terminus"
6032
+ equals: "deepseek-ai/deepseek-v3.1-terminus"
6045
6033
  }
6046
6034
  ]
6047
6035
  },
@@ -6055,7 +6043,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6055
6043
  id: "deepseek-ai/DeepSeek-V3.2-Exp",
6056
6044
  name: "DeepSeek-V3.2-Exp",
6057
6045
  match: {
6058
- equals: "deepseek-ai/DeepSeek-V3.2-Exp"
6046
+ equals: "deepseek-ai/deepseek-v3.2-exp"
6059
6047
  },
6060
6048
  context_window: 163840,
6061
6049
  prices: {
@@ -6067,7 +6055,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6067
6055
  id: "meta-llama/Llama-3.1-8B-Instruct",
6068
6056
  name: "Llama-3.1-8B-Instruct",
6069
6057
  match: {
6070
- equals: "meta-llama/Llama-3.1-8B-Instruct"
6058
+ equals: "meta-llama/llama-3.1-8b-instruct"
6071
6059
  },
6072
6060
  context_window: 16384,
6073
6061
  prices: {
@@ -6079,7 +6067,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6079
6067
  id: "meta-llama/Llama-3.2-3B-Instruct",
6080
6068
  name: "Llama-3.2-3B-Instruct",
6081
6069
  match: {
6082
- equals: "meta-llama/Llama-3.2-3B-Instruct"
6070
+ equals: "meta-llama/llama-3.2-3b-instruct"
6083
6071
  },
6084
6072
  context_window: 32768,
6085
6073
  prices: {
@@ -6091,7 +6079,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6091
6079
  id: "meta-llama/Llama-3.3-70B-Instruct",
6092
6080
  name: "Llama-3.3-70B-Instruct",
6093
6081
  match: {
6094
- equals: "meta-llama/Llama-3.3-70B-Instruct"
6082
+ equals: "meta-llama/llama-3.3-70b-instruct"
6095
6083
  },
6096
6084
  context_window: 131072,
6097
6085
  prices: {
@@ -6103,7 +6091,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6103
6091
  id: "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
6104
6092
  name: "Llama-4-Maverick-17B-128E-Instruct-FP8",
6105
6093
  match: {
6106
- equals: "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8"
6094
+ equals: "meta-llama/llama-4-maverick-17b-128e-instruct-fp8"
6107
6095
  },
6108
6096
  context_window: 1048576,
6109
6097
  prices: {
@@ -6115,7 +6103,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6115
6103
  id: "meta-llama/Llama-4-Scout-17B-16E-Instruct",
6116
6104
  name: "Llama-4-Scout-17B-16E-Instruct",
6117
6105
  match: {
6118
- equals: "meta-llama/Llama-4-Scout-17B-16E-Instruct"
6106
+ equals: "meta-llama/llama-4-scout-17b-16e-instruct"
6119
6107
  },
6120
6108
  context_window: 131072,
6121
6109
  prices: {
@@ -6127,7 +6115,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6127
6115
  id: "meta-llama/Meta-Llama-3-70B-Instruct",
6128
6116
  name: "Meta-Llama-3-70B-Instruct",
6129
6117
  match: {
6130
- equals: "meta-llama/Meta-Llama-3-70B-Instruct"
6118
+ equals: "meta-llama/meta-llama-3-70b-instruct"
6131
6119
  },
6132
6120
  context_window: 8192,
6133
6121
  prices: {
@@ -6139,7 +6127,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6139
6127
  id: "meta-llama/Meta-Llama-3-8B-Instruct",
6140
6128
  name: "Meta-Llama-3-8B-Instruct",
6141
6129
  match: {
6142
- equals: "meta-llama/Meta-Llama-3-8B-Instruct"
6130
+ equals: "meta-llama/meta-llama-3-8b-instruct"
6143
6131
  },
6144
6132
  context_window: 8192,
6145
6133
  prices: {
@@ -6151,7 +6139,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6151
6139
  id: "moonshotai/Kimi-K2-Instruct",
6152
6140
  name: "Kimi-K2-Instruct",
6153
6141
  match: {
6154
- equals: "moonshotai/Kimi-K2-Instruct"
6142
+ equals: "moonshotai/kimi-k2-instruct"
6155
6143
  },
6156
6144
  context_window: 131072,
6157
6145
  prices: {
@@ -6163,7 +6151,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6163
6151
  id: "moonshotai/Kimi-K2-Instruct-0905",
6164
6152
  name: "Kimi-K2-Instruct-0905",
6165
6153
  match: {
6166
- equals: "moonshotai/Kimi-K2-Instruct-0905"
6154
+ equals: "moonshotai/kimi-k2-instruct-0905"
6167
6155
  },
6168
6156
  context_window: 262144,
6169
6157
  prices: {
@@ -6175,7 +6163,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6175
6163
  id: "moonshotai/Kimi-K2-Thinking",
6176
6164
  name: "Kimi-K2-Thinking",
6177
6165
  match: {
6178
- equals: "moonshotai/Kimi-K2-Thinking"
6166
+ equals: "moonshotai/kimi-k2-thinking"
6179
6167
  },
6180
6168
  context_window: 262144,
6181
6169
  prices: {
@@ -6211,7 +6199,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6211
6199
  id: "zai-org/GLM-4-32B-0414",
6212
6200
  name: "GLM-4-32B-0414",
6213
6201
  match: {
6214
- equals: "zai-org/GLM-4-32B-0414"
6202
+ equals: "zai-org/glm-4-32b-0414"
6215
6203
  },
6216
6204
  context_window: 32e3,
6217
6205
  prices: {
@@ -6223,7 +6211,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6223
6211
  id: "zai-org/GLM-4.1V-9B-Thinking",
6224
6212
  name: "GLM-4.1V-9B-Thinking",
6225
6213
  match: {
6226
- equals: "zai-org/GLM-4.1V-9B-Thinking"
6214
+ equals: "zai-org/glm-4.1v-9b-thinking"
6227
6215
  },
6228
6216
  context_window: 65536,
6229
6217
  prices: {
@@ -6235,7 +6223,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6235
6223
  id: "zai-org/GLM-4.5",
6236
6224
  name: "GLM-4.5",
6237
6225
  match: {
6238
- equals: "zai-org/GLM-4.5"
6226
+ equals: "zai-org/glm-4.5"
6239
6227
  },
6240
6228
  context_window: 131072,
6241
6229
  prices: {
@@ -6247,7 +6235,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6247
6235
  id: "zai-org/GLM-4.5-Air",
6248
6236
  name: "GLM-4.5-Air",
6249
6237
  match: {
6250
- equals: "zai-org/GLM-4.5-Air"
6238
+ equals: "zai-org/glm-4.5-air"
6251
6239
  },
6252
6240
  context_window: 131072,
6253
6241
  prices: {
@@ -6259,7 +6247,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6259
6247
  id: "zai-org/GLM-4.5V",
6260
6248
  name: "GLM-4.5V",
6261
6249
  match: {
6262
- equals: "zai-org/GLM-4.5V"
6250
+ equals: "zai-org/glm-4.5v"
6263
6251
  },
6264
6252
  context_window: 65536,
6265
6253
  prices: {
@@ -6271,7 +6259,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6271
6259
  id: "zai-org/GLM-4.6",
6272
6260
  name: "GLM-4.6",
6273
6261
  match: {
6274
- equals: "zai-org/GLM-4.6"
6262
+ equals: "zai-org/glm-4.6"
6275
6263
  },
6276
6264
  context_window: 204800,
6277
6265
  prices: {
@@ -6335,7 +6323,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6335
6323
  id: "Qwen/QwQ-32B",
6336
6324
  name: "QwQ-32B",
6337
6325
  match: {
6338
- equals: "Qwen/QwQ-32B"
6326
+ equals: "qwen/qwq-32b"
6339
6327
  },
6340
6328
  context_window: 131072,
6341
6329
  prices: {
@@ -6347,7 +6335,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6347
6335
  id: "Qwen/Qwen2.5-Coder-32B-Instruct",
6348
6336
  name: "Qwen2.5-Coder-32B-Instruct",
6349
6337
  match: {
6350
- equals: "Qwen/Qwen2.5-Coder-32B-Instruct"
6338
+ equals: "qwen/qwen2.5-coder-32b-instruct"
6351
6339
  },
6352
6340
  context_window: 131072,
6353
6341
  prices: {
@@ -6359,7 +6347,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6359
6347
  id: "Qwen/Qwen2.5-Coder-3B-Instruct",
6360
6348
  name: "Qwen2.5-Coder-3B-Instruct",
6361
6349
  match: {
6362
- equals: "Qwen/Qwen2.5-Coder-3B-Instruct"
6350
+ equals: "qwen/qwen2.5-coder-3b-instruct"
6363
6351
  },
6364
6352
  context_window: 32768,
6365
6353
  prices: {
@@ -6371,7 +6359,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6371
6359
  id: "Qwen/Qwen2.5-Coder-7B-Instruct",
6372
6360
  name: "Qwen2.5-Coder-7B-Instruct",
6373
6361
  match: {
6374
- equals: "Qwen/Qwen2.5-Coder-7B-Instruct"
6362
+ equals: "qwen/qwen2.5-coder-7b-instruct"
6375
6363
  },
6376
6364
  context_window: 131072,
6377
6365
  prices: {
@@ -6383,7 +6371,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6383
6371
  id: "Qwen/Qwen3-14B",
6384
6372
  name: "Qwen3-14B",
6385
6373
  match: {
6386
- equals: "Qwen/Qwen3-14B"
6374
+ equals: "qwen/qwen3-14b"
6387
6375
  },
6388
6376
  context_window: 40960,
6389
6377
  prices: {
@@ -6397,10 +6385,10 @@ Compared to other leading proprietary and open-weights models Command A delivers
6397
6385
  match: {
6398
6386
  or: [
6399
6387
  {
6400
- equals: "Qwen/Qwen3-235B-A22B"
6388
+ equals: "qwen/qwen3-235b-a22b"
6401
6389
  },
6402
6390
  {
6403
- equals: "Qwen/Qwen3-235B-A22B-Instruct-2507"
6391
+ equals: "qwen/qwen3-235b-a22b-instruct-2507"
6404
6392
  }
6405
6393
  ]
6406
6394
  },
@@ -6414,7 +6402,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6414
6402
  id: "Qwen/Qwen3-32B",
6415
6403
  name: "Qwen3-32B",
6416
6404
  match: {
6417
- equals: "Qwen/Qwen3-32B"
6405
+ equals: "qwen/qwen3-32b"
6418
6406
  },
6419
6407
  context_window: 40960,
6420
6408
  prices: {
@@ -6426,7 +6414,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6426
6414
  id: "Qwen/Qwen3-4B-Instruct-2507",
6427
6415
  name: "Qwen3-4B-Instruct-2507",
6428
6416
  match: {
6429
- equals: "Qwen/Qwen3-4B-Instruct-2507"
6417
+ equals: "qwen/qwen3-4b-instruct-2507"
6430
6418
  },
6431
6419
  context_window: 262144,
6432
6420
  prices: {
@@ -6438,7 +6426,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6438
6426
  id: "Qwen/Qwen3-4B-Thinking-2507",
6439
6427
  name: "Qwen3-4B-Thinking-2507",
6440
6428
  match: {
6441
- equals: "Qwen/Qwen3-4B-Thinking-2507"
6429
+ equals: "qwen/qwen3-4b-thinking-2507"
6442
6430
  },
6443
6431
  context_window: 262144,
6444
6432
  prices: {
@@ -6450,7 +6438,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6450
6438
  id: "Qwen/Qwen3-8B",
6451
6439
  name: "Qwen3-8B",
6452
6440
  match: {
6453
- equals: "Qwen/Qwen3-8B"
6441
+ equals: "qwen/qwen3-8b"
6454
6442
  },
6455
6443
  context_window: 40960,
6456
6444
  prices: {
@@ -6462,7 +6450,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6462
6450
  id: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
6463
6451
  name: "DeepSeek-R1-Distill-Llama-70B",
6464
6452
  match: {
6465
- equals: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B"
6453
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b"
6466
6454
  },
6467
6455
  context_window: 131072,
6468
6456
  prices: {
@@ -6474,7 +6462,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6474
6462
  id: "deepseek-ai/DeepSeek-R1-Distill-Llama-8B",
6475
6463
  name: "DeepSeek-R1-Distill-Llama-8B",
6476
6464
  match: {
6477
- equals: "deepseek-ai/DeepSeek-R1-Distill-Llama-8B"
6465
+ equals: "deepseek-ai/deepseek-r1-distill-llama-8b"
6478
6466
  },
6479
6467
  context_window: 131072,
6480
6468
  prices: {
@@ -6486,7 +6474,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6486
6474
  id: "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B",
6487
6475
  name: "DeepSeek-R1-Distill-Qwen-1.5B",
6488
6476
  match: {
6489
- equals: "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"
6477
+ equals: "deepseek-ai/deepseek-r1-distill-qwen-1.5b"
6490
6478
  },
6491
6479
  context_window: 131072,
6492
6480
  prices: {
@@ -6498,7 +6486,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6498
6486
  id: "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
6499
6487
  name: "DeepSeek-R1-Distill-Qwen-14B",
6500
6488
  match: {
6501
- equals: "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B"
6489
+ equals: "deepseek-ai/deepseek-r1-distill-qwen-14b"
6502
6490
  },
6503
6491
  context_window: 131072,
6504
6492
  prices: {
@@ -6510,7 +6498,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6510
6498
  id: "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",
6511
6499
  name: "DeepSeek-R1-Distill-Qwen-32B",
6512
6500
  match: {
6513
- equals: "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B"
6501
+ equals: "deepseek-ai/deepseek-r1-distill-qwen-32b"
6514
6502
  },
6515
6503
  context_window: 131072,
6516
6504
  prices: {
@@ -6522,7 +6510,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6522
6510
  id: "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B",
6523
6511
  name: "DeepSeek-R1-Distill-Qwen-7B",
6524
6512
  match: {
6525
- equals: "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B"
6513
+ equals: "deepseek-ai/deepseek-r1-distill-qwen-7b"
6526
6514
  },
6527
6515
  context_window: 131072,
6528
6516
  prices: {
@@ -6534,7 +6522,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6534
6522
  id: "meta-llama/Llama-3.1-8B-Instruct",
6535
6523
  name: "Llama-3.1-8B-Instruct",
6536
6524
  match: {
6537
- equals: "meta-llama/Llama-3.1-8B-Instruct"
6525
+ equals: "meta-llama/llama-3.1-8b-instruct"
6538
6526
  },
6539
6527
  context_window: 131072,
6540
6528
  prices: {
@@ -6546,7 +6534,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6546
6534
  id: "meta-llama/Llama-3.3-70B-Instruct",
6547
6535
  name: "Llama-3.3-70B-Instruct",
6548
6536
  match: {
6549
- equals: "meta-llama/Llama-3.3-70B-Instruct"
6537
+ equals: "meta-llama/llama-3.3-70b-instruct"
6550
6538
  },
6551
6539
  context_window: 131072,
6552
6540
  prices: {
@@ -6558,7 +6546,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6558
6546
  id: "meta-llama/Llama-4-Scout-17B-16E-Instruct",
6559
6547
  name: "Llama-4-Scout-17B-16E-Instruct",
6560
6548
  match: {
6561
- equals: "meta-llama/Llama-4-Scout-17B-16E-Instruct"
6549
+ equals: "meta-llama/llama-4-scout-17b-16e-instruct"
6562
6550
  },
6563
6551
  context_window: 89e4,
6564
6552
  prices: {
@@ -6646,7 +6634,23 @@ Compared to other leading proprietary and open-weights models Command A delivers
6646
6634
  id: "aisingapore/Gemma-SEA-LION-v4-27B-IT",
6647
6635
  name: "Gemma-SEA-LION-v4-27B-IT",
6648
6636
  match: {
6649
- equals: "aisingapore/Gemma-SEA-LION-v4-27B-IT"
6637
+ equals: "aisingapore/gemma-sea-lion-v4-27b-it"
6638
+ },
6639
+ prices: {}
6640
+ },
6641
+ {
6642
+ id: "aisingapore/Qwen-SEA-LION-v4-32B-IT",
6643
+ name: "Qwen-SEA-LION-v4-32B-IT",
6644
+ match: {
6645
+ equals: "aisingapore/qwen-sea-lion-v4-32b-it"
6646
+ },
6647
+ prices: {}
6648
+ },
6649
+ {
6650
+ id: "allenai/Olmo-3-7B-Instruct",
6651
+ name: "Olmo-3-7B-Instruct",
6652
+ match: {
6653
+ equals: "allenai/olmo-3-7b-instruct"
6650
6654
  },
6651
6655
  prices: {}
6652
6656
  },
@@ -6654,7 +6658,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6654
6658
  id: "swiss-ai/Apertus-70B-Instruct-2509",
6655
6659
  name: "Apertus-70B-Instruct-2509",
6656
6660
  match: {
6657
- equals: "swiss-ai/Apertus-70B-Instruct-2509"
6661
+ equals: "swiss-ai/apertus-70b-instruct-2509"
6658
6662
  },
6659
6663
  prices: {}
6660
6664
  },
@@ -6662,7 +6666,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6662
6666
  id: "swiss-ai/Apertus-8B-Instruct-2509",
6663
6667
  name: "Apertus-8B-Instruct-2509",
6664
6668
  match: {
6665
- equals: "swiss-ai/Apertus-8B-Instruct-2509"
6669
+ equals: "swiss-ai/apertus-8b-instruct-2509"
6666
6670
  },
6667
6671
  prices: {}
6668
6672
  }
@@ -6722,7 +6726,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6722
6726
  id: "Qwen/Qwen3-32B",
6723
6727
  name: "Qwen3-32B",
6724
6728
  match: {
6725
- equals: "Qwen/Qwen3-32B"
6729
+ equals: "qwen/qwen3-32b"
6726
6730
  },
6727
6731
  context_window: 32768,
6728
6732
  prices: {
@@ -6734,7 +6738,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6734
6738
  id: "deepseek-ai/DeepSeek-R1-0528",
6735
6739
  name: "DeepSeek-R1-0528",
6736
6740
  match: {
6737
- equals: "deepseek-ai/DeepSeek-R1-0528"
6741
+ equals: "deepseek-ai/deepseek-r1-0528"
6738
6742
  },
6739
6743
  context_window: 131072,
6740
6744
  prices: {
@@ -6746,7 +6750,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6746
6750
  id: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
6747
6751
  name: "DeepSeek-R1-Distill-Llama-70B",
6748
6752
  match: {
6749
- equals: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B"
6753
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b"
6750
6754
  },
6751
6755
  context_window: 131072,
6752
6756
  prices: {
@@ -6758,7 +6762,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6758
6762
  id: "deepseek-ai/DeepSeek-V3-0324",
6759
6763
  name: "DeepSeek-V3-0324",
6760
6764
  match: {
6761
- equals: "deepseek-ai/DeepSeek-V3-0324"
6765
+ equals: "deepseek-ai/deepseek-v3-0324"
6762
6766
  },
6763
6767
  context_window: 131072,
6764
6768
  prices: {
@@ -6770,7 +6774,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6770
6774
  id: "meta-llama/Llama-3.1-8B-Instruct",
6771
6775
  name: "Llama-3.1-8B-Instruct",
6772
6776
  match: {
6773
- equals: "meta-llama/Llama-3.1-8B-Instruct"
6777
+ equals: "meta-llama/llama-3.1-8b-instruct"
6774
6778
  },
6775
6779
  context_window: 16384,
6776
6780
  prices: {
@@ -6782,7 +6786,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6782
6786
  id: "meta-llama/Llama-3.3-70B-Instruct",
6783
6787
  name: "Llama-3.3-70B-Instruct",
6784
6788
  match: {
6785
- equals: "meta-llama/Llama-3.3-70B-Instruct"
6789
+ equals: "meta-llama/llama-3.3-70b-instruct"
6786
6790
  },
6787
6791
  context_window: 131072,
6788
6792
  prices: {
@@ -6794,7 +6798,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6794
6798
  id: "meta-llama/Llama-4-Maverick-17B-128E-Instruct",
6795
6799
  name: "Llama-4-Maverick-17B-128E-Instruct",
6796
6800
  match: {
6797
- equals: "meta-llama/Llama-4-Maverick-17B-128E-Instruct"
6801
+ equals: "meta-llama/llama-4-maverick-17b-128e-instruct"
6798
6802
  },
6799
6803
  context_window: 131072,
6800
6804
  prices: {
@@ -6806,7 +6810,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6806
6810
  id: "tokyotech-llm/Llama-3.3-Swallow-70B-Instruct-v0.4",
6807
6811
  name: "Llama-3.3-Swallow-70B-Instruct-v0.4",
6808
6812
  match: {
6809
- equals: "tokyotech-llm/Llama-3.3-Swallow-70B-Instruct-v0.4"
6813
+ equals: "tokyotech-llm/llama-3.3-swallow-70b-instruct-v0.4"
6810
6814
  },
6811
6815
  context_window: 131072,
6812
6816
  prices: {
@@ -6870,7 +6874,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6870
6874
  id: "Qwen/Qwen2.5-72B-Instruct",
6871
6875
  name: "Qwen2.5-72B-Instruct",
6872
6876
  match: {
6873
- equals: "Qwen/Qwen2.5-72B-Instruct"
6877
+ equals: "qwen/qwen2.5-72b-instruct"
6874
6878
  },
6875
6879
  context_window: 131072,
6876
6880
  prices: {
@@ -6882,7 +6886,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6882
6886
  id: "Qwen/Qwen2.5-7B-Instruct",
6883
6887
  name: "Qwen2.5-7B-Instruct",
6884
6888
  match: {
6885
- equals: "Qwen/Qwen2.5-7B-Instruct"
6889
+ equals: "qwen/qwen2.5-7b-instruct"
6886
6890
  },
6887
6891
  context_window: 32768,
6888
6892
  prices: {
@@ -6896,13 +6900,13 @@ Compared to other leading proprietary and open-weights models Command A delivers
6896
6900
  match: {
6897
6901
  or: [
6898
6902
  {
6899
- equals: "Qwen/Qwen3-235B-A22B"
6903
+ equals: "qwen/qwen3-235b-a22b"
6900
6904
  },
6901
6905
  {
6902
- equals: "Qwen/Qwen3-235B-A22B-FP8"
6906
+ equals: "qwen/qwen3-235b-a22b-fp8"
6903
6907
  },
6904
6908
  {
6905
- equals: "Qwen/Qwen3-235B-A22B-Instruct-2507"
6909
+ equals: "qwen/qwen3-235b-a22b-instruct-2507"
6906
6910
  }
6907
6911
  ]
6908
6912
  },
@@ -6918,10 +6922,10 @@ Compared to other leading proprietary and open-weights models Command A delivers
6918
6922
  match: {
6919
6923
  or: [
6920
6924
  {
6921
- equals: "Qwen/Qwen3-Coder-480B-A35B-Instruct"
6925
+ equals: "qwen/qwen3-coder-480b-a35b-instruct"
6922
6926
  },
6923
6927
  {
6924
- equals: "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8"
6928
+ equals: "qwen/qwen3-coder-480b-a35b-instruct-fp8"
6925
6929
  }
6926
6930
  ]
6927
6931
  },
@@ -6935,7 +6939,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6935
6939
  id: "Qwen/Qwen3-Next-80B-A3B-Instruct",
6936
6940
  name: "Qwen3-Next-80B-A3B-Instruct",
6937
6941
  match: {
6938
- equals: "Qwen/Qwen3-Next-80B-A3B-Instruct"
6942
+ equals: "qwen/qwen3-next-80b-a3b-instruct"
6939
6943
  },
6940
6944
  context_window: 262144,
6941
6945
  prices: {
@@ -6947,7 +6951,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6947
6951
  id: "Qwen/Qwen3-Next-80B-A3B-Thinking",
6948
6952
  name: "Qwen3-Next-80B-A3B-Thinking",
6949
6953
  match: {
6950
- equals: "Qwen/Qwen3-Next-80B-A3B-Thinking"
6954
+ equals: "qwen/qwen3-next-80b-a3b-thinking"
6951
6955
  },
6952
6956
  context_window: 262144,
6953
6957
  prices: {
@@ -6964,7 +6968,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6964
6968
  equals: "deepcogito/cogito-671b-v2.1"
6965
6969
  },
6966
6970
  {
6967
- equals: "deepcogito/cogito-671b-v2.1-FP8"
6971
+ equals: "deepcogito/cogito-671b-v2.1-fp8"
6968
6972
  }
6969
6973
  ]
6970
6974
  },
@@ -6978,7 +6982,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6978
6982
  id: "deepcogito/cogito-v2-preview-llama-109B-MoE",
6979
6983
  name: "cogito-v2-preview-llama-109B-MoE",
6980
6984
  match: {
6981
- equals: "deepcogito/cogito-v2-preview-llama-109B-MoE"
6985
+ equals: "deepcogito/cogito-v2-preview-llama-109b-moe"
6982
6986
  },
6983
6987
  context_window: 32767,
6984
6988
  prices: {
@@ -6990,7 +6994,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
6990
6994
  id: "deepcogito/cogito-v2-preview-llama-405B",
6991
6995
  name: "cogito-v2-preview-llama-405B",
6992
6996
  match: {
6993
- equals: "deepcogito/cogito-v2-preview-llama-405B"
6997
+ equals: "deepcogito/cogito-v2-preview-llama-405b"
6994
6998
  },
6995
6999
  context_window: 32768,
6996
7000
  prices: {
@@ -7002,7 +7006,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
7002
7006
  id: "deepcogito/cogito-v2-preview-llama-70B",
7003
7007
  name: "cogito-v2-preview-llama-70B",
7004
7008
  match: {
7005
- equals: "deepcogito/cogito-v2-preview-llama-70B"
7009
+ equals: "deepcogito/cogito-v2-preview-llama-70b"
7006
7010
  },
7007
7011
  context_window: 32768,
7008
7012
  prices: {
@@ -7016,10 +7020,10 @@ Compared to other leading proprietary and open-weights models Command A delivers
7016
7020
  match: {
7017
7021
  or: [
7018
7022
  {
7019
- equals: "deepseek-ai/DeepSeek-R1"
7023
+ equals: "deepseek-ai/deepseek-r1"
7020
7024
  },
7021
7025
  {
7022
- equals: "deepseek-ai/DeepSeek-R1-0528"
7026
+ equals: "deepseek-ai/deepseek-r1-0528"
7023
7027
  }
7024
7028
  ]
7025
7029
  },
@@ -7035,10 +7039,10 @@ Compared to other leading proprietary and open-weights models Command A delivers
7035
7039
  match: {
7036
7040
  or: [
7037
7041
  {
7038
- equals: "deepseek-ai/DeepSeek-V3"
7042
+ equals: "deepseek-ai/deepseek-v3"
7039
7043
  },
7040
7044
  {
7041
- equals: "deepseek-ai/DeepSeek-V3-0324"
7045
+ equals: "deepseek-ai/deepseek-v3-0324"
7042
7046
  }
7043
7047
  ]
7044
7048
  },
@@ -7052,7 +7056,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
7052
7056
  id: "deepseek-ai/DeepSeek-V3.1",
7053
7057
  name: "DeepSeek-V3.1",
7054
7058
  match: {
7055
- equals: "deepseek-ai/DeepSeek-V3.1"
7059
+ equals: "deepseek-ai/deepseek-v3.1"
7056
7060
  },
7057
7061
  context_window: 131072,
7058
7062
  prices: {
@@ -7076,7 +7080,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
7076
7080
  id: "meta-llama/Llama-3.2-3B-Instruct",
7077
7081
  name: "Llama-3.2-3B-Instruct",
7078
7082
  match: {
7079
- equals: "meta-llama/Llama-3.2-3B-Instruct"
7083
+ equals: "meta-llama/llama-3.2-3b-instruct"
7080
7084
  },
7081
7085
  context_window: 131072,
7082
7086
  prices: {
@@ -7088,7 +7092,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
7088
7092
  id: "meta-llama/Llama-3.3-70B-Instruct",
7089
7093
  name: "Llama-3.3-70B-Instruct",
7090
7094
  match: {
7091
- equals: "meta-llama/Llama-3.3-70B-Instruct"
7095
+ equals: "meta-llama/llama-3.3-70b-instruct"
7092
7096
  },
7093
7097
  context_window: 131072,
7094
7098
  prices: {
@@ -7100,7 +7104,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
7100
7104
  id: "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
7101
7105
  name: "Llama-4-Maverick-17B-128E-Instruct-FP8",
7102
7106
  match: {
7103
- equals: "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8"
7107
+ equals: "meta-llama/llama-4-maverick-17b-128e-instruct-fp8"
7104
7108
  },
7105
7109
  context_window: 1048576,
7106
7110
  prices: {
@@ -7112,7 +7116,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
7112
7116
  id: "meta-llama/Llama-4-Scout-17B-16E-Instruct",
7113
7117
  name: "Llama-4-Scout-17B-16E-Instruct",
7114
7118
  match: {
7115
- equals: "meta-llama/Llama-4-Scout-17B-16E-Instruct"
7119
+ equals: "meta-llama/llama-4-scout-17b-16e-instruct"
7116
7120
  },
7117
7121
  context_window: 1048576,
7118
7122
  prices: {
@@ -7124,7 +7128,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
7124
7128
  id: "meta-llama/Meta-Llama-3-70B-Instruct",
7125
7129
  name: "Meta-Llama-3-70B-Instruct",
7126
7130
  match: {
7127
- equals: "meta-llama/Meta-Llama-3-70B-Instruct"
7131
+ equals: "meta-llama/meta-llama-3-70b-instruct"
7128
7132
  },
7129
7133
  context_window: 8192,
7130
7134
  prices: {
@@ -7138,10 +7142,10 @@ Compared to other leading proprietary and open-weights models Command A delivers
7138
7142
  match: {
7139
7143
  or: [
7140
7144
  {
7141
- equals: "moonshotai/Kimi-K2-Instruct"
7145
+ equals: "moonshotai/kimi-k2-instruct"
7142
7146
  },
7143
7147
  {
7144
- equals: "moonshotai/Kimi-K2-Instruct-0905"
7148
+ equals: "moonshotai/kimi-k2-instruct-0905"
7145
7149
  }
7146
7150
  ]
7147
7151
  },
@@ -7155,7 +7159,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
7155
7159
  id: "moonshotai/Kimi-K2-Thinking",
7156
7160
  name: "Kimi-K2-Thinking",
7157
7161
  match: {
7158
- equals: "moonshotai/Kimi-K2-Thinking"
7162
+ equals: "moonshotai/kimi-k2-thinking"
7159
7163
  },
7160
7164
  context_window: 262144,
7161
7165
  prices: {
@@ -7191,7 +7195,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
7191
7195
  id: "zai-org/GLM-4.5-Air-FP8",
7192
7196
  name: "GLM-4.5-Air-FP8",
7193
7197
  match: {
7194
- equals: "zai-org/GLM-4.5-Air-FP8"
7198
+ equals: "zai-org/glm-4.5-air-fp8"
7195
7199
  },
7196
7200
  context_window: 131072,
7197
7201
  prices: {
@@ -16231,34 +16235,34 @@ Compared to other leading proprietary and open-weights models Command A delivers
16231
16235
  function $t(i, n) {
16232
16236
  if (n <= 0) return 0;
16233
16237
  let m = 0;
16234
- const s = [...i.tiers].sort((h, _) => h.start - _.start), u = s[0]?.start ?? n, k = Math.min(n, u);
16238
+ const s = [...i.tiers].sort((_, h) => _.start - h.start), u = s[0]?.start ?? n, k = Math.min(n, u);
16235
16239
  m += k * i.base / 1e6;
16236
- for (let h = 0; h < s.length; h++) {
16237
- const _ = s[h], f = s[h + 1]?.start ?? 1 / 0, x = Math.max(0, Math.min(n, f) - _.start);
16238
- x > 0 && (m += x * _.price / 1e6);
16240
+ for (let _ = 0; _ < s.length; _++) {
16241
+ const h = s[_], f = s[_ + 1]?.start ?? 1 / 0, B = Math.max(0, Math.min(n, f) - h.start);
16242
+ B > 0 && (m += B * h.price / 1e6);
16239
16243
  }
16240
16244
  return m;
16241
16245
  }
16242
- function G(i, n, m) {
16246
+ function R(i, n, m) {
16243
16247
  return i === void 0 || n === void 0 ? 0 : typeof i == "number" ? i * n / 1e6 : $t(i, n);
16244
16248
  }
16245
16249
  function Wt(i, n) {
16246
16250
  let m = 0, s = 0;
16247
- const u = i.cache_read_tokens ?? 0, k = i.cache_write_tokens ?? 0, h = i.cache_audio_read_tokens ?? 0, _ = i.output_audio_tokens ?? 0;
16251
+ const u = i.cache_read_tokens ?? 0, k = i.cache_write_tokens ?? 0, _ = i.cache_audio_read_tokens ?? 0, h = i.output_audio_tokens ?? 0;
16248
16252
  let f = i.input_audio_tokens ?? 0;
16249
- if (f -= h, f < 0)
16253
+ if (f -= _, f < 0)
16250
16254
  throw new Error("cache_audio_read_tokens cannot be greater than input_audio_tokens");
16251
- let x = i.input_tokens ?? 0;
16252
- if (x -= u, x -= k, x -= f, x < 0)
16255
+ let B = i.input_tokens ?? 0;
16256
+ if (B -= u, B -= k, B -= f, B < 0)
16253
16257
  throw new Error("Uncached text input tokens cannot be negative");
16254
- let M = u;
16255
- if (M -= h, M < 0)
16258
+ let A = u;
16259
+ if (A -= _, A < 0)
16256
16260
  throw new Error("cache_audio_read_tokens cannot be greater than cache_read_tokens");
16257
- m += G(n.input_mtok, x), m += G(n.cache_read_mtok, M), m += G(n.cache_write_mtok, k), m += G(n.input_audio_mtok, f), m += G(n.cache_audio_read_mtok, h);
16258
- let P = i.output_tokens ?? 0;
16259
- if (P -= _, P < 0)
16261
+ m += R(n.input_mtok, B), m += R(n.cache_read_mtok, A), m += R(n.cache_write_mtok, k), m += R(n.input_audio_mtok, f), m += R(n.cache_audio_read_mtok, _);
16262
+ let S = i.output_tokens ?? 0;
16263
+ if (S -= h, S < 0)
16260
16264
  throw new Error("output_audio_tokens cannot be greater than output_tokens");
16261
- s += G(n.output_mtok, P), s += G(n.output_audio_mtok, i.output_audio_tokens);
16265
+ s += R(n.output_mtok, S), s += R(n.output_audio_mtok, i.output_audio_tokens);
16262
16266
  let T = m + s;
16263
16267
  return n.requests_kcount !== void 0 && (T += n.requests_kcount / 1e3), {
16264
16268
  input_price: m,
@@ -16277,22 +16281,22 @@ function Ut(i, n) {
16277
16281
  if (n >= new Date(u.start_date))
16278
16282
  return s.prices;
16279
16283
  } else {
16280
- const k = n.toISOString().slice(11, 19), h = u.start_time, _ = u.end_time;
16281
- if (_ < h) {
16282
- if (k >= h || k < _)
16284
+ const k = n.toISOString().slice(11, 19), _ = u.start_time, h = u.end_time;
16285
+ if (h < _) {
16286
+ if (k >= _ || k < h)
16283
16287
  return s.prices;
16284
- } else if (k >= h && k < _)
16288
+ } else if (k >= _ && k < h)
16285
16289
  return s.prices;
16286
16290
  }
16287
16291
  }
16288
16292
  return i.prices[0].prices;
16289
16293
  }
16290
- function O(i, n) {
16291
- return "or" in i ? i.or.some((m) => O(m, n)) : "and" in i ? i.and.every((m) => O(m, n)) : "equals" in i ? n === i.equals : "starts_with" in i ? n.startsWith(i.starts_with) : "ends_with" in i ? n.endsWith(i.ends_with) : "contains" in i ? n.includes(i.contains) : "regex" in i ? new RegExp(i.regex).test(n) : !1;
16294
+ function N(i, n) {
16295
+ return "or" in i ? i.or.some((m) => N(m, n)) : "and" in i ? i.and.every((m) => N(m, n)) : "equals" in i ? n === i.equals : "starts_with" in i ? n.startsWith(i.starts_with) : "ends_with" in i ? n.endsWith(i.ends_with) : "contains" in i ? n.includes(i.contains) : "regex" in i ? new RegExp(i.regex).test(n) : !1;
16292
16296
  }
16293
16297
  function Yt(i, n) {
16294
16298
  const m = n.toLowerCase().trim(), s = i.find((u) => u.id === m);
16295
- return s || i.find((u) => u.provider_match && O(u.provider_match, m));
16299
+ return s || i.find((u) => u.provider_match && N(u.provider_match, m));
16296
16300
  }
16297
16301
  function Jt(i, { modelId: n, providerApiUrl: m, providerId: s }) {
16298
16302
  if (s)
@@ -16300,10 +16304,10 @@ function Jt(i, { modelId: n, providerApiUrl: m, providerId: s }) {
16300
16304
  if (m)
16301
16305
  return i.find((u) => new RegExp(u.api_pattern).test(m));
16302
16306
  if (n)
16303
- return i.find((u) => u.model_match && O(u.model_match, n));
16307
+ return i.find((u) => u.model_match && N(u.model_match, n));
16304
16308
  }
16305
16309
  function Zt(i, n) {
16306
- return i.find((m) => O(m.match, n));
16310
+ return i.find((m) => N(m.match, n));
16307
16311
  }
16308
16312
  let Xt = it;
16309
16313
  Promise.resolve(it);
@@ -16312,16 +16316,16 @@ function te(i, n, m) {
16312
16316
  if (!u) return null;
16313
16317
  const k = Zt(u.models, s);
16314
16318
  if (!k) return null;
16315
- const h = m?.timestamp ?? /* @__PURE__ */ new Date(), _ = Ut(k, h), f = Wt(i, _);
16319
+ const _ = m?.timestamp ?? /* @__PURE__ */ new Date(), h = Ut(k, _), f = Wt(i, h);
16316
16320
  return {
16317
16321
  auto_update_timestamp: void 0,
16318
16322
  model: k,
16319
- model_price: _,
16323
+ model_price: h,
16320
16324
  provider: u,
16321
16325
  ...f
16322
16326
  };
16323
16327
  }
16324
- const w = dt(Rt(process.argv)).scriptName("genai-prices").command(
16328
+ const b = dt(Gt(process.argv)).scriptName("genai-prices").command(
16325
16329
  "list [provider]",
16326
16330
  "List providers and models",
16327
16331
  (i) => i.positional("provider", { describe: "Provider ID to filter", type: "string" })
@@ -16331,11 +16335,11 @@ const w = dt(Rt(process.argv)).scriptName("genai-prices").command(
16331
16335
  (i) => i.positional("model", { array: !0, describe: "Model(s) (optionally provider:model)", type: "string" }).option("input-tokens", { type: "number" }).option("cache-write-tokens", { type: "number" }).option("cache-read-tokens", { type: "number" }).option("output-tokens", { type: "number" }).option("input-audio-tokens", { type: "number" }).option("cache-audio-read-tokens", { type: "number" }).option("output-audio-tokens", { type: "number" }).option("requests", { type: "number" }).option("provider", { type: "string" }).option("auto-update", { default: !1, type: "boolean" }).option("timestamp", { describe: "RFC3339 timestamp", type: "string" })
16332
16336
  ).option("auto-update", { describe: "Enable auto-update from GitHub", type: "boolean" }).option("input-tokens", { type: "number" }).option("cache-write-tokens", { type: "number" }).option("cache-read-tokens", { type: "number" }).option("output-tokens", { type: "number" }).option("input-audio-tokens", { type: "number" }).option("cache-audio-read-tokens", { type: "number" }).option("output-audio-tokens", { type: "number" }).option("requests", { type: "number" }).option("provider", { type: "string" }).option("timestamp", { describe: "RFC3339 timestamp", type: "string" }).version("0.1.0").help().parseSync();
16333
16337
  function ee() {
16334
- if (w._[0] === "list") {
16338
+ if (b._[0] === "list") {
16335
16339
  const m = it;
16336
- if (w.provider) {
16337
- const s = m.find((u) => u.id === w.provider);
16338
- s || (console.error(`Provider ${w.provider} not found.`), process.exit(1)), console.log(`${s.name}: (${s.models.length} models)`);
16340
+ if (b.provider) {
16341
+ const s = m.find((u) => u.id === b.provider);
16342
+ s || (console.error(`Provider ${b.provider} not found.`), process.exit(1)), console.log(`${s.name}: (${s.models.length} models)`);
16339
16343
  for (const u of s.models)
16340
16344
  console.log(` ${s.id}:${u.id}${u.name ? ": " + u.name : ""}`);
16341
16345
  } else
@@ -16346,39 +16350,39 @@ function ee() {
16346
16350
  }
16347
16351
  process.exit(0);
16348
16352
  }
16349
- const n = w._[0] === "calc" ? Array.isArray(w.model) ? w.model : [w.model] : w._.filter((m) => typeof m == "string");
16353
+ const n = b._[0] === "calc" ? Array.isArray(b.model) ? b.model : [b.model] : b._.filter((m) => typeof m == "string");
16350
16354
  if (n.length > 0) {
16351
16355
  const m = {
16352
- cache_audio_read_tokens: w["cache-audio-read-tokens"] !== void 0 ? Number(w["cache-audio-read-tokens"]) : void 0,
16353
- cache_read_tokens: w["cache-read-tokens"] !== void 0 ? Number(w["cache-read-tokens"]) : void 0,
16354
- cache_write_tokens: w["cache-write-tokens"] !== void 0 ? Number(w["cache-write-tokens"]) : void 0,
16355
- input_audio_tokens: w["input-audio-tokens"] !== void 0 ? Number(w["input-audio-tokens"]) : void 0,
16356
- input_tokens: w["input-tokens"] !== void 0 ? Number(w["input-tokens"]) : void 0,
16357
- output_audio_tokens: w["output-audio-tokens"] !== void 0 ? Number(w["output-audio-tokens"]) : void 0,
16358
- output_tokens: w["output-tokens"] !== void 0 ? Number(w["output-tokens"]) : void 0,
16359
- requests: w.requests !== void 0 ? Number(w.requests) : void 0
16360
- }, s = w.timestamp ? new Date(String(w.timestamp)) : void 0;
16356
+ cache_audio_read_tokens: b["cache-audio-read-tokens"] !== void 0 ? Number(b["cache-audio-read-tokens"]) : void 0,
16357
+ cache_read_tokens: b["cache-read-tokens"] !== void 0 ? Number(b["cache-read-tokens"]) : void 0,
16358
+ cache_write_tokens: b["cache-write-tokens"] !== void 0 ? Number(b["cache-write-tokens"]) : void 0,
16359
+ input_audio_tokens: b["input-audio-tokens"] !== void 0 ? Number(b["input-audio-tokens"]) : void 0,
16360
+ input_tokens: b["input-tokens"] !== void 0 ? Number(b["input-tokens"]) : void 0,
16361
+ output_audio_tokens: b["output-audio-tokens"] !== void 0 ? Number(b["output-audio-tokens"]) : void 0,
16362
+ output_tokens: b["output-tokens"] !== void 0 ? Number(b["output-tokens"]) : void 0,
16363
+ requests: b.requests !== void 0 ? Number(b.requests) : void 0
16364
+ }, s = b.timestamp ? new Date(String(b.timestamp)) : void 0;
16361
16365
  let u = !1;
16362
16366
  for (const k of n) {
16363
- let h, _ = k;
16364
- _.includes(":") && ([h, _] = _.split(":", 2));
16367
+ let _, h = k;
16368
+ h.includes(":") && ([_, h] = h.split(":", 2));
16365
16369
  try {
16366
- const f = te(m, _, { providerId: h, timestamp: s });
16370
+ const f = te(m, h, { providerId: _, timestamp: s });
16367
16371
  if (!f) {
16368
16372
  u = !0, console.error(`No price found for model ${k}`);
16369
16373
  continue;
16370
16374
  }
16371
- const x = f.model.context_window, M = [
16375
+ const B = f.model.context_window, A = [
16372
16376
  ["Provider", f.provider.name],
16373
16377
  ["Model", f.model.name ?? f.model.id],
16374
16378
  ["Model Prices", JSON.stringify(f.model_price)],
16375
- ["Context Window", x !== void 0 ? x.toLocaleString() : void 0],
16379
+ ["Context Window", B !== void 0 ? B.toLocaleString() : void 0],
16376
16380
  ["Total Price", `$${f.total_price}`],
16377
16381
  ["Input Price", `$${f.input_price}`],
16378
16382
  ["Output Price", `$${f.output_price}`]
16379
16383
  ];
16380
- for (const [P, T] of M)
16381
- T !== void 0 && console.log(`${P.padStart(14)}: ${T}`);
16384
+ for (const [S, T] of A)
16385
+ T !== void 0 && console.log(`${S.padStart(14)}: ${T}`);
16382
16386
  console.log("");
16383
16387
  } catch (f) {
16384
16388
  u = !0, f instanceof Error && console.error(`Error for model ${k}:`, f.message);