@pydantic/genai-prices 0.0.52 → 0.0.54

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
@@ -5,17 +5,17 @@ import { resolve as ie, normalize as Ae } from "path";
5
5
  import { readFileSync as ge, writeFile as Pe, statSync as Te } from "fs";
6
6
  import "assert";
7
7
  import { fileURLToPath as Se } from "url";
8
- function Ge() {
9
- return Ce() ? 0 : 1;
10
- }
11
8
  function Ce() {
9
+ return Ge() ? 0 : 1;
10
+ }
11
+ function Ge() {
12
12
  return Re() && !process.defaultApp;
13
13
  }
14
14
  function Re() {
15
15
  return !!process.versions.electron;
16
16
  }
17
17
  function ze(i) {
18
- return i.slice(Ge() + 1);
18
+ return i.slice(Ce() + 1);
19
19
  }
20
20
  /**
21
21
  * @license
@@ -35,7 +35,7 @@ function $(i) {
35
35
  return u;
36
36
  }
37
37
  }
38
- function Ne(i, o) {
38
+ function Oe(i, o) {
39
39
  const u = i.toLowerCase();
40
40
  o = o || "-";
41
41
  let s = "";
@@ -45,7 +45,7 @@ function Ne(i, o) {
45
45
  }
46
46
  return s;
47
47
  }
48
- function Oe(i) {
48
+ function De(i) {
49
49
  return i == null ? !1 : typeof i == "number" || /^0x[0-9a-f]+$/i.test(i) ? !0 : /^0[^.]/.test(i) ? !1 : /^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i);
50
50
  }
51
51
  /**
@@ -53,7 +53,7 @@ function Oe(i) {
53
53
  * Copyright (c) 2016, Contributors
54
54
  * SPDX-License-Identifier: ISC
55
55
  */
56
- function De(i) {
56
+ function Ne(i) {
57
57
  if (Array.isArray(i))
58
58
  return i.map((h) => typeof h != "string" ? h + "" : h);
59
59
  i = i.trim();
@@ -105,7 +105,7 @@ class Ee {
105
105
  number: void 0,
106
106
  __: void 0,
107
107
  key: void 0
108
- }, u), r = De(o), _ = typeof o == "string", h = je(Object.assign(/* @__PURE__ */ Object.create(null), s.alias)), k = Object.assign({
108
+ }, u), r = Ne(o), _ = typeof o == "string", h = je(Object.assign(/* @__PURE__ */ Object.create(null), s.alias)), k = Object.assign({
109
109
  "boolean-negation": !0,
110
110
  "camel-case-expansion": !0,
111
111
  "combine-arrays": !1,
@@ -124,7 +124,7 @@ class Ee {
124
124
  "strip-aliased": !1,
125
125
  "strip-dashed": !1,
126
126
  "unknown-options-as-args": !1
127
- }, s.configuration), q = Object.assign(/* @__PURE__ */ Object.create(null), s.default), y = s.configObjects || [], B = s.envPrefix, I = k["populate--"], L = I ? "--" : "_", G = /* @__PURE__ */ Object.create(null), ne = /* @__PURE__ */ Object.create(null), C = s.__ || S.format, m = {
127
+ }, s.configuration), q = Object.assign(/* @__PURE__ */ Object.create(null), s.default), I = s.configObjects || [], B = s.envPrefix, y = k["populate--"], L = y ? "--" : "_", C = /* @__PURE__ */ Object.create(null), ne = /* @__PURE__ */ Object.create(null), G = s.__ || S.format, m = {
128
128
  aliases: /* @__PURE__ */ Object.create(null),
129
129
  arrays: /* @__PURE__ */ Object.create(null),
130
130
  bools: /* @__PURE__ */ Object.create(null),
@@ -172,49 +172,49 @@ class Ee {
172
172
  let M = null;
173
173
  Qe();
174
174
  let j = [];
175
- const w = Object.assign(/* @__PURE__ */ Object.create(null), { _: [] }), se = {};
175
+ const b = Object.assign(/* @__PURE__ */ Object.create(null), { _: [] }), se = {};
176
176
  for (let e = 0; e < r.length; e++) {
177
177
  const a = r[e], c = a.replace(/^-{3,}/, "---");
178
178
  let n, t, l, p, d, v;
179
- if (a !== "--" && /^-/.test(a) && H(a))
179
+ if (a !== "--" && /^-/.test(a) && K(a))
180
180
  U(a);
181
181
  else if (c.match(/^---+(=|$)/)) {
182
182
  U(a);
183
183
  continue;
184
184
  } else if (a.match(/^--.+=/) || !k["short-option-groups"] && a.match(/^-.+=/))
185
- p = a.match(/^--?([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && (g(p[1], m.arrays) ? e = F(e, p[1], r, p[2]) : g(p[1], m.nargs) !== !1 ? e = V(e, p[1], r, p[2]) : b(p[1], p[2], !0));
185
+ p = a.match(/^--?([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && (g(p[1], m.arrays) ? e = F(e, p[1], r, p[2]) : g(p[1], m.nargs) !== !1 ? e = V(e, p[1], r, p[2]) : w(p[1], p[2], !0));
186
186
  else if (a.match(W) && k["boolean-negation"])
187
- p = a.match(W), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], b(t, g(t, m.arrays) ? [!1] : !1));
187
+ p = a.match(W), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], w(t, g(t, m.arrays) ? [!1] : !1));
188
188
  else if (a.match(/^--.+/) || !k["short-option-groups"] && a.match(/^-[^-]+/))
189
- p = a.match(/^--?(.+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], g(t, m.arrays) ? e = F(e, t, r) : g(t, m.nargs) !== !1 ? e = V(e, t, r) : (d = r[e + 1], d !== void 0 && (!d.match(/^-/) || d.match(P)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (b(t, d), e++) : b(t, z(t))));
189
+ p = a.match(/^--?(.+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], g(t, m.arrays) ? e = F(e, t, r) : g(t, m.nargs) !== !1 ? e = V(e, t, r) : (d = r[e + 1], d !== void 0 && (!d.match(/^-/) || d.match(P)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (w(t, d), e++) : w(t, z(t))));
190
190
  else if (a.match(/^-.\..+=/))
191
- p = a.match(/^-([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && b(p[1], p[2]);
191
+ p = a.match(/^-([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && w(p[1], p[2]);
192
192
  else if (a.match(/^-.\..+/) && !a.match(P))
193
- d = r[e + 1], p = a.match(/^-(.\..+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], d !== void 0 && !d.match(/^-/) && !g(t, m.bools) && !g(t, m.counts) ? (b(t, d), e++) : b(t, z(t)));
193
+ d = r[e + 1], p = a.match(/^-(.\..+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], d !== void 0 && !d.match(/^-/) && !g(t, m.bools) && !g(t, m.counts) ? (w(t, d), e++) : w(t, z(t)));
194
194
  else if (a.match(/^-[^-]+/) && !a.match(P)) {
195
195
  l = a.slice(1, -1).split(""), n = !1;
196
196
  for (let x = 0; x < l.length; x++) {
197
197
  if (d = a.slice(x + 2), l[x + 1] && l[x + 1] === "=") {
198
- v = a.slice(x + 3), t = l[x], g(t, m.arrays) ? e = F(e, t, r, v) : g(t, m.nargs) !== !1 ? e = V(e, t, r, v) : b(t, v), n = !0;
198
+ v = a.slice(x + 3), t = l[x], g(t, m.arrays) ? e = F(e, t, r, v) : g(t, m.nargs) !== !1 ? e = V(e, t, r, v) : w(t, v), n = !0;
199
199
  break;
200
200
  }
201
201
  if (d === "-") {
202
- b(l[x], d);
202
+ w(l[x], d);
203
203
  continue;
204
204
  }
205
205
  if (/[A-Za-z]/.test(l[x]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(d) && g(d, m.bools) === !1) {
206
- b(l[x], d), n = !0;
206
+ w(l[x], d), n = !0;
207
207
  break;
208
208
  }
209
209
  if (l[x + 1] && l[x + 1].match(/\W/)) {
210
- b(l[x], d), n = !0;
210
+ w(l[x], d), n = !0;
211
211
  break;
212
212
  } else
213
- b(l[x], z(l[x]));
213
+ w(l[x], z(l[x]));
214
214
  }
215
- t = a.slice(-1)[0], !n && t !== "-" && (g(t, m.arrays) ? e = F(e, t, r) : g(t, m.nargs) !== !1 ? e = V(e, t, r) : (d = r[e + 1], d !== void 0 && (!/^(-|--)[^-]/.test(d) || d.match(P)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (b(t, d), e++) : b(t, z(t))));
215
+ t = a.slice(-1)[0], !n && t !== "-" && (g(t, m.arrays) ? e = F(e, t, r) : g(t, m.nargs) !== !1 ? e = V(e, t, r) : (d = r[e + 1], d !== void 0 && (!/^(-|--)[^-]/.test(d) || d.match(P)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (w(t, d), e++) : w(t, z(t))));
216
216
  } else if (a.match(/^-[0-9]$/) && a.match(P) && g(a.slice(1), m.bools))
217
- t = a.slice(1), b(t, z(t));
217
+ t = a.slice(1), w(t, z(t));
218
218
  else if (a === "--") {
219
219
  j = r.slice(e + 1);
220
220
  break;
@@ -224,34 +224,34 @@ class Ee {
224
224
  } else
225
225
  U(a);
226
226
  }
227
- me(w, !0), me(w, !1), fe(w), be(), ue(w, m.aliases, q, !0), we(w), k["set-placeholder-key"] && ve(w), Object.keys(m.counts).forEach(function(e) {
228
- N(w, e.split(".")) || b(e, 0);
229
- }), I && j.length && (w[L] = []), j.forEach(function(e) {
230
- w[L].push(e);
231
- }), k["camel-case-expansion"] && k["strip-dashed"] && Object.keys(w).filter((e) => e !== "--" && e.includes("-")).forEach((e) => {
232
- delete w[e];
227
+ me(b, !0), me(b, !1), fe(b), we(), ue(b, m.aliases, q, !0), be(b), k["set-placeholder-key"] && ve(b), Object.keys(m.counts).forEach(function(e) {
228
+ O(b, e.split(".")) || w(e, 0);
229
+ }), y && j.length && (b[L] = []), j.forEach(function(e) {
230
+ b[L].push(e);
231
+ }), k["camel-case-expansion"] && k["strip-dashed"] && Object.keys(b).filter((e) => e !== "--" && e.includes("-")).forEach((e) => {
232
+ delete b[e];
233
233
  }), k["strip-aliased"] && [].concat(...Object.keys(h).map((e) => h[e])).forEach((e) => {
234
- k["camel-case-expansion"] && e.includes("-") && delete w[e.split(".").map((a) => $(a)).join(".")], delete w[e];
234
+ k["camel-case-expansion"] && e.includes("-") && delete b[e.split(".").map((a) => $(a)).join(".")], delete b[e];
235
235
  });
236
236
  function U(e) {
237
- const a = K("_", e);
238
- (typeof a == "string" || typeof a == "number") && w._.push(a);
237
+ const a = H("_", e);
238
+ (typeof a == "string" || typeof a == "number") && b._.push(a);
239
239
  }
240
240
  function V(e, a, c, n) {
241
241
  let t, l = g(a, m.nargs);
242
242
  if (l = typeof l != "number" || isNaN(l) ? 1 : l, l === 0)
243
- return T(n) || (M = Error(C("Argument unexpected for: %s", a))), b(a, z(a)), e;
243
+ return T(n) || (M = Error(G("Argument unexpected for: %s", a))), w(a, z(a)), e;
244
244
  let p = T(n) ? 0 : 1;
245
245
  if (k["nargs-eats-options"])
246
- c.length - (e + 1) + p < l && (M = Error(C("Not enough arguments following: %s", a))), p = l;
246
+ c.length - (e + 1) + p < l && (M = Error(G("Not enough arguments following: %s", a))), p = l;
247
247
  else {
248
- for (t = e + 1; t < c.length && (!c[t].match(/^-[^0-9]/) || c[t].match(P) || H(c[t])); t++)
248
+ for (t = e + 1; t < c.length && (!c[t].match(/^-[^0-9]/) || c[t].match(P) || K(c[t])); t++)
249
249
  p++;
250
- p < l && (M = Error(C("Not enough arguments following: %s", a)));
250
+ p < l && (M = Error(G("Not enough arguments following: %s", a)));
251
251
  }
252
252
  let d = Math.min(p, l);
253
- for (!T(n) && d > 0 && (b(a, n), d--), t = e + 1; t < d + e + 1; t++)
254
- b(a, c[t]);
253
+ for (!T(n) && d > 0 && (w(a, n), d--), t = e + 1; t < d + e + 1; t++)
254
+ w(a, c[t]);
255
255
  return e + d;
256
256
  }
257
257
  function F(e, a, c, n) {
@@ -259,19 +259,19 @@ class Ee {
259
259
  const p = g(a, m.nargs);
260
260
  if (g(a, m.bools) && !/^(true|false)$/.test(l))
261
261
  t.push(!0);
262
- else if (T(l) || T(n) && /^-/.test(l) && !P.test(l) && !H(l)) {
262
+ else if (T(l) || T(n) && /^-/.test(l) && !P.test(l) && !K(l)) {
263
263
  if (q[a] !== void 0) {
264
264
  const d = q[a];
265
265
  t = Array.isArray(d) ? d : [d];
266
266
  }
267
267
  } else {
268
268
  T(n) || t.push(Y(a, n, !0));
269
- for (let d = e + 1; d < c.length && !(!k["greedy-arrays"] && t.length > 0 || p && typeof p == "number" && t.length >= p || (l = c[d], /^-/.test(l) && !P.test(l) && !H(l))); d++)
269
+ for (let d = e + 1; d < c.length && !(!k["greedy-arrays"] && t.length > 0 || p && typeof p == "number" && t.length >= p || (l = c[d], /^-/.test(l) && !P.test(l) && !K(l))); d++)
270
270
  e = d, t.push(Y(a, l, _));
271
271
  }
272
- return typeof p == "number" && (p && t.length < p || isNaN(p) && t.length === 0) && (M = Error(C("Not enough arguments following: %s", a))), b(a, t), e;
272
+ return typeof p == "number" && (p && t.length < p || isNaN(p) && t.length === 0) && (M = Error(G("Not enough arguments following: %s", a))), w(a, t), e;
273
273
  }
274
- function b(e, a, c = _) {
274
+ function w(e, a, c = _) {
275
275
  if (/-/.test(e) && k["camel-case-expansion"]) {
276
276
  const l = e.split(".").map(function(p) {
277
277
  return $(p);
@@ -279,13 +279,13 @@ class Ee {
279
279
  re(e, l);
280
280
  }
281
281
  const n = Y(e, a, c), t = e.split(".");
282
- O(w, t, n), m.aliases[e] && m.aliases[e].forEach(function(l) {
282
+ D(b, t, n), m.aliases[e] && m.aliases[e].forEach(function(l) {
283
283
  const p = l.split(".");
284
- O(w, p, n);
284
+ D(b, p, n);
285
285
  }), t.length > 1 && k["dot-notation"] && (m.aliases[t[0]] || []).forEach(function(l) {
286
286
  let p = l.split(".");
287
287
  const d = [].concat(t);
288
- d.shift(), p = p.concat(d), (m.aliases[e] || []).includes(p.join(".")) || O(w, p, n);
288
+ d.shift(), p = p.concat(d), (m.aliases[e] || []).includes(p.join(".")) || D(b, p, n);
289
289
  }), g(e, m.normalize) && !g(e, m.arrays) && [e].concat(m.aliases[e] || []).forEach(function(p) {
290
290
  Object.defineProperty(se, p, {
291
291
  enumerable: !0,
@@ -299,17 +299,17 @@ class Ee {
299
299
  });
300
300
  }
301
301
  function re(e, a) {
302
- m.aliases[e] && m.aliases[e].length || (m.aliases[e] = [a], G[a] = !0), m.aliases[a] && m.aliases[a].length || re(a, e);
302
+ m.aliases[e] && m.aliases[e].length || (m.aliases[e] = [a], C[a] = !0), m.aliases[a] && m.aliases[a].length || re(a, e);
303
303
  }
304
304
  function Y(e, a, c) {
305
305
  c && (a = Ve(a)), (g(e, m.bools) || g(e, m.counts)) && typeof a == "string" && (a = a === "true");
306
306
  let n = Array.isArray(a) ? a.map(function(t) {
307
- return K(e, t);
308
- }) : K(e, a);
307
+ return H(e, t);
308
+ }) : H(e, a);
309
309
  return g(e, m.counts) && (T(n) || typeof n == "boolean") && (n = Z()), g(e, m.normalize) && g(e, m.arrays) && (Array.isArray(a) ? n = a.map((t) => S.normalize(t)) : n = S.normalize(a)), n;
310
310
  }
311
- function K(e, a) {
312
- return !k["parse-positional-numbers"] && e === "_" || !g(e, m.strings) && !g(e, m.bools) && !Array.isArray(a) && (Oe(a) && k["parse-numbers"] && Number.isSafeInteger(Math.floor(parseFloat(`${a}`))) || !T(a) && g(e, m.numbers)) && (a = Number(a)), a;
311
+ function H(e, a) {
312
+ return !k["parse-positional-numbers"] && e === "_" || !g(e, m.strings) && !g(e, m.bools) && !Array.isArray(a) && (De(a) && k["parse-numbers"] && Number.isSafeInteger(Math.floor(parseFloat(`${a}`))) || !T(a) && g(e, m.numbers)) && (a = Number(a)), a;
313
313
  }
314
314
  function fe(e) {
315
315
  const a = /* @__PURE__ */ Object.create(null);
@@ -333,18 +333,18 @@ class Ee {
333
333
  t = S.require(l);
334
334
  J(t);
335
335
  } catch (t) {
336
- t.name === "PermissionDenied" ? M = t : e[c] && (M = Error(C("Invalid JSON config file: %s", n)));
336
+ t.name === "PermissionDenied" ? M = t : e[c] && (M = Error(G("Invalid JSON config file: %s", n)));
337
337
  }
338
338
  });
339
339
  }
340
340
  function J(e, a) {
341
341
  Object.keys(e).forEach(function(c) {
342
342
  const n = e[c], t = a ? a + "." + c : c;
343
- typeof n == "object" && n !== null && !Array.isArray(n) && k["dot-notation"] ? J(n, t) : (!N(w, t.split(".")) || g(t, m.arrays) && k["combine-arrays"]) && b(t, n);
343
+ typeof n == "object" && n !== null && !Array.isArray(n) && k["dot-notation"] ? J(n, t) : (!O(b, t.split(".")) || g(t, m.arrays) && k["combine-arrays"]) && w(t, n);
344
344
  });
345
345
  }
346
- function be() {
347
- typeof y < "u" && y.forEach(function(e) {
346
+ function we() {
347
+ typeof I < "u" && I.forEach(function(e) {
348
348
  J(e);
349
349
  });
350
350
  }
@@ -357,17 +357,17 @@ class Ee {
357
357
  const l = t.split("__").map(function(p, d) {
358
358
  return d === 0 && (p = p.substring(c.length)), $(p);
359
359
  });
360
- (a && m.configs[l.join(".")] || !a) && !N(e, l) && b(l.join("."), n[t]);
360
+ (a && m.configs[l.join(".")] || !a) && !O(e, l) && w(l.join("."), n[t]);
361
361
  }
362
362
  });
363
363
  }
364
- function we(e) {
364
+ function be(e) {
365
365
  let a;
366
366
  const c = /* @__PURE__ */ new Set();
367
367
  Object.keys(e).forEach(function(n) {
368
368
  if (!c.has(n) && (a = g(n, m.coercions), typeof a == "function"))
369
369
  try {
370
- const t = K(n, a(e[n]));
370
+ const t = H(n, a(e[n]));
371
371
  [].concat(m.aliases[n] || [], n).forEach((l) => {
372
372
  c.add(l), e[l] = t;
373
373
  });
@@ -383,12 +383,12 @@ class Ee {
383
383
  }
384
384
  function ue(e, a, c, n = !1) {
385
385
  Object.keys(c).forEach(function(t) {
386
- N(e, t.split(".")) || (O(e, t.split("."), c[t]), n && (ne[t] = !0), (a[t] || []).forEach(function(l) {
387
- N(e, l.split(".")) || O(e, l.split("."), c[t]);
386
+ O(e, t.split(".")) || (D(e, t.split("."), c[t]), n && (ne[t] = !0), (a[t] || []).forEach(function(l) {
387
+ O(e, l.split(".")) || D(e, l.split("."), c[t]);
388
388
  }));
389
389
  });
390
390
  }
391
- function N(e, a) {
391
+ function O(e, a) {
392
392
  let c = e;
393
393
  k["dot-notation"] || (a = [a.join(".")]), a.slice(0, -1).forEach(function(t) {
394
394
  c = c[t] || {};
@@ -396,7 +396,7 @@ class Ee {
396
396
  const n = a[a.length - 1];
397
397
  return typeof c != "object" ? !1 : n in c;
398
398
  }
399
- function O(e, a, c) {
399
+ function D(e, a, c) {
400
400
  let n = e;
401
401
  k["dot-notation"] || (a = [a.join(".")]), a.slice(0, -1).forEach(function(v) {
402
402
  v = pe(v), typeof n == "object" && n[v] === void 0 && (n[v] = {}), typeof n[v] != "object" || Array.isArray(n[v]) ? (Array.isArray(n[v]) ? n[v].push({}) : n[v] = [n[v], {}], n = n[v][n[v].length - 1]) : n = n[v];
@@ -411,12 +411,12 @@ class Ee {
411
411
  m.aliases[c] || (m.aliases[c] = [].concat(h[c] || []), m.aliases[c].concat(c).forEach(function(n) {
412
412
  if (/-/.test(n) && k["camel-case-expansion"]) {
413
413
  const t = $(n);
414
- t !== c && m.aliases[c].indexOf(t) === -1 && (m.aliases[c].push(t), G[t] = !0);
414
+ t !== c && m.aliases[c].indexOf(t) === -1 && (m.aliases[c].push(t), C[t] = !0);
415
415
  }
416
416
  }), m.aliases[c].concat(c).forEach(function(n) {
417
417
  if (n.length > 1 && /[A-Z]/.test(n) && k["camel-case-expansion"]) {
418
- const t = Ne(n, "-");
419
- t !== c && m.aliases[c].indexOf(t) === -1 && (m.aliases[c].push(t), G[t] = !0);
418
+ const t = Oe(n, "-");
419
+ t !== c && m.aliases[c].indexOf(t) === -1 && (m.aliases[c].push(t), C[t] = !0);
420
420
  }
421
421
  }), m.aliases[c].forEach(function(n) {
422
422
  m.aliases[n] = [c].concat(m.aliases[c].filter(function(t) {
@@ -442,7 +442,7 @@ class Ee {
442
442
  return t && ce(t[1]);
443
443
  });
444
444
  }
445
- function ye(e) {
445
+ function Ie(e) {
446
446
  if (e.match(P) || !e.match(/^-[^-]+/))
447
447
  return !1;
448
448
  let a = !0, c;
@@ -457,11 +457,11 @@ class Ee {
457
457
  }
458
458
  return a;
459
459
  }
460
- function H(e) {
461
- return k["unknown-options-as-args"] && Ie(e);
460
+ function K(e) {
461
+ return k["unknown-options-as-args"] && ye(e);
462
462
  }
463
- function Ie(e) {
464
- return e = e.replace(/^-{3,}/, "--"), e.match(P) || ye(e) ? !1 : !Be(e, /^-+([^=]+?)=[\s\S]*$/, W, /^-+([^=]+?)$/, /^-+([^=]+?)-$/, /^-+([^=]+?\d+)$/, /^-+([^=]+?)\W+.*$/);
463
+ function ye(e) {
464
+ return e = e.replace(/^-{3,}/, "--"), e.match(P) || Ie(e) ? !1 : !Be(e, /^-+([^=]+?)=[\s\S]*$/, W, /^-+([^=]+?)$/, /^-+([^=]+?)-$/, /^-+([^=]+?\d+)$/, /^-+([^=]+?)\W+.*$/);
465
465
  }
466
466
  function z(e) {
467
467
  return !g(e, m.bools) && !g(e, m.counts) && `${e}` in q ? q[e] : Le(Me(e));
@@ -482,15 +482,15 @@ class Ee {
482
482
  return e === void 0;
483
483
  }
484
484
  function Qe() {
485
- Object.keys(m.counts).find((e) => g(e, m.arrays) ? (M = Error(C("Invalid configuration: %s, opts.count excludes opts.array.", e)), !0) : g(e, m.nargs) ? (M = Error(C("Invalid configuration: %s, opts.count excludes opts.narg.", e)), !0) : !1);
485
+ Object.keys(m.counts).find((e) => g(e, m.arrays) ? (M = Error(G("Invalid configuration: %s, opts.count excludes opts.array.", e)), !0) : g(e, m.nargs) ? (M = Error(G("Invalid configuration: %s, opts.count excludes opts.narg.", e)), !0) : !1);
486
486
  }
487
487
  return {
488
488
  aliases: Object.assign({}, m.aliases),
489
- argv: Object.assign(se, w),
489
+ argv: Object.assign(se, b),
490
490
  configuration: k,
491
491
  defaulted: Object.assign({}, ne),
492
492
  error: M,
493
- newAliases: Object.assign({}, G)
493
+ newAliases: Object.assign({}, C)
494
494
  };
495
495
  }
496
496
  }
@@ -556,7 +556,7 @@ new Ee({
556
556
  throw Error("only .json config files are supported in ESM");
557
557
  }
558
558
  });
559
- const Ke = {
559
+ const He = {
560
560
  fs: {
561
561
  readFileSync: ge,
562
562
  writeFile: Pe
@@ -572,7 +572,7 @@ const Ke = {
572
572
  }
573
573
  };
574
574
  let Q;
575
- class He {
575
+ class Ke {
576
576
  constructor(o) {
577
577
  o = o || {}, this.directory = o.directory || "./locales", this.updateFiles = typeof o.updateFiles == "boolean" ? o.updateFiles : !0, this.locale = o.locale || "en", this.fallbackToLanguage = typeof o.fallbackToLanguage == "boolean" ? o.fallbackToLanguage : !0, this.cache = /* @__PURE__ */ Object.create(null), this.writeQueue = [];
578
578
  }
@@ -660,7 +660,7 @@ class He {
660
660
  }
661
661
  function $e(i, o) {
662
662
  Q = o;
663
- const u = new He(i);
663
+ const u = new Ke(i);
664
664
  return {
665
665
  __: u.__.bind(u),
666
666
  __n: u.__n.bind(u),
@@ -670,16 +670,16 @@ function $e(i, o) {
670
670
  locale: u.locale
671
671
  };
672
672
  }
673
- const We = (i) => $e(i, Ke);
674
- let D;
673
+ const We = (i) => $e(i, He);
674
+ let N;
675
675
  try {
676
- D = Se(import.meta.url);
676
+ N = Se(import.meta.url);
677
677
  } catch {
678
- D = process.cwd();
678
+ N = process.cwd();
679
679
  }
680
- const Ue = D.substring(0, D.lastIndexOf("node_modules"));
680
+ const Ue = N.substring(0, N.lastIndexOf("node_modules"));
681
681
  Ue || process.cwd(), process.cwd, process.exit, process.nextTick, typeof process.stdout.columns < "u" && process.stdout.columns, We({
682
- directory: ie(D, "../../../locales"),
682
+ directory: ie(N, "../../../locales"),
683
683
  updateFiles: !1
684
684
  });
685
685
  const oe = [
@@ -922,28 +922,6 @@ const oe = [
922
922
  output_mtok: 5
923
923
  }
924
924
  },
925
- {
926
- id: "claude-instant-1",
927
- description: "Retired, here to match price sources",
928
- match: {
929
- equals: "claude-instant-1"
930
- },
931
- prices: {
932
- input_mtok: 1.63,
933
- output_mtok: 55.1
934
- }
935
- },
936
- {
937
- id: "claude-instant-1.2",
938
- description: "Retired, here to match price sources",
939
- match: {
940
- equals: "claude-instant-1.2"
941
- },
942
- prices: {
943
- input_mtok: 1.63,
944
- output_mtok: 5.51
945
- }
946
- },
947
925
  {
948
926
  id: "claude-opus-4-0",
949
927
  name: "Claude Opus 4",
@@ -1022,6 +1000,66 @@ const oe = [
1022
1000
  output_mtok: 25
1023
1001
  }
1024
1002
  },
1003
+ {
1004
+ id: "claude-opus-4-6",
1005
+ name: "Claude Opus 4.6",
1006
+ description: "Our most intelligent model for building agents and coding",
1007
+ match: {
1008
+ or: [
1009
+ {
1010
+ starts_with: "claude-opus-4-6"
1011
+ },
1012
+ {
1013
+ starts_with: "claude-opus-4.6"
1014
+ },
1015
+ {
1016
+ starts_with: "claude-4-6-opus"
1017
+ },
1018
+ {
1019
+ starts_with: "claude-4.6-opus"
1020
+ }
1021
+ ]
1022
+ },
1023
+ context_window: 2e5,
1024
+ prices: {
1025
+ input_mtok: {
1026
+ base: 5,
1027
+ tiers: [
1028
+ {
1029
+ start: 2e5,
1030
+ price: 10
1031
+ }
1032
+ ]
1033
+ },
1034
+ cache_write_mtok: {
1035
+ base: 6.25,
1036
+ tiers: [
1037
+ {
1038
+ start: 2e5,
1039
+ price: 12.5
1040
+ }
1041
+ ]
1042
+ },
1043
+ cache_read_mtok: {
1044
+ base: 0.5,
1045
+ tiers: [
1046
+ {
1047
+ start: 2e5,
1048
+ price: 1
1049
+ }
1050
+ ]
1051
+ },
1052
+ output_mtok: {
1053
+ base: 25,
1054
+ tiers: [
1055
+ {
1056
+ start: 2e5,
1057
+ price: 37.5
1058
+ }
1059
+ ]
1060
+ }
1061
+ }
1062
+ },
1025
1063
  {
1026
1064
  id: "claude-sonnet-4-0",
1027
1065
  name: "Claude Sonnet 4",
@@ -1056,7 +1094,7 @@ const oe = [
1056
1094
  {
1057
1095
  id: "claude-sonnet-4-5",
1058
1096
  name: "Claude Sonnet 4.5",
1059
- description: "Most intelligent model for building agents and coding",
1097
+ description: "Our best combination of speed and intelligence",
1060
1098
  match: {
1061
1099
  or: [
1062
1100
  {
@@ -1107,6 +1145,60 @@ const oe = [
1107
1145
  }
1108
1146
  }
1109
1147
  },
1148
+ {
1149
+ id: "claude-sonnet-4-6",
1150
+ name: "Claude Sonnet 4.6",
1151
+ description: "Our best combination of speed and intelligence",
1152
+ match: {
1153
+ or: [
1154
+ {
1155
+ starts_with: "claude-sonnet-4-6"
1156
+ },
1157
+ {
1158
+ starts_with: "claude-sonnet-4.6"
1159
+ }
1160
+ ]
1161
+ },
1162
+ context_window: 1e6,
1163
+ prices: {
1164
+ input_mtok: {
1165
+ base: 3,
1166
+ tiers: [
1167
+ {
1168
+ start: 2e5,
1169
+ price: 6
1170
+ }
1171
+ ]
1172
+ },
1173
+ cache_write_mtok: {
1174
+ base: 3.75,
1175
+ tiers: [
1176
+ {
1177
+ start: 2e5,
1178
+ price: 7.5
1179
+ }
1180
+ ]
1181
+ },
1182
+ cache_read_mtok: {
1183
+ base: 0.3,
1184
+ tiers: [
1185
+ {
1186
+ start: 2e5,
1187
+ price: 0.6
1188
+ }
1189
+ ]
1190
+ },
1191
+ output_mtok: {
1192
+ base: 15,
1193
+ tiers: [
1194
+ {
1195
+ start: 2e5,
1196
+ price: 22.5
1197
+ }
1198
+ ]
1199
+ }
1200
+ }
1201
+ },
1110
1202
  {
1111
1203
  id: "claude-v1",
1112
1204
  description: "Retired, here to match price sources",
@@ -2856,6 +2948,20 @@ Compared to other leading proprietary and open-weights models Command A delivers
2856
2948
  output_mtok: 0.9
2857
2949
  }
2858
2950
  },
2951
+ {
2952
+ id: "deepseek-v3p2",
2953
+ name: "Deepseek V3.2",
2954
+ description: "Model from Deepseek that harmonizes high computational efficiency with superior reasoning and agent performance. 675B parameter MoE model.",
2955
+ match: {
2956
+ equals: "accounts/fireworks/models/deepseek-v3p2"
2957
+ },
2958
+ context_window: 163840,
2959
+ prices: {
2960
+ input_mtok: 0.56,
2961
+ cache_read_mtok: 0.28,
2962
+ output_mtok: 1.68
2963
+ }
2964
+ },
2859
2965
  {
2860
2966
  id: "gemma-3-27b-it",
2861
2967
  name: "Gemma 3 27B Instruct",
@@ -2869,6 +2975,61 @@ Compared to other leading proprietary and open-weights models Command A delivers
2869
2975
  output_mtok: 0.1
2870
2976
  }
2871
2977
  },
2978
+ {
2979
+ id: "glm-4p7",
2980
+ name: "GLM-4.7",
2981
+ description: "Next-generation general-purpose model from Z.ai optimized for coding, reasoning, and agentic workflows. 352B parameter MoE model with advanced thinking controls.",
2982
+ match: {
2983
+ equals: "accounts/fireworks/models/glm-4p7"
2984
+ },
2985
+ context_window: 202752,
2986
+ prices: {
2987
+ input_mtok: 0.6,
2988
+ output_mtok: 2.2
2989
+ }
2990
+ },
2991
+ {
2992
+ id: "gpt-oss-120b",
2993
+ name: "OpenAI gpt-oss-120b",
2994
+ description: "OpenAI's open-weight 117B parameter MoE model designed for production, general purpose, high reasoning use-cases. Features powerful reasoning, agentic tasks, and versatile developer use cases.",
2995
+ match: {
2996
+ equals: "accounts/fireworks/models/gpt-oss-120b"
2997
+ },
2998
+ context_window: 131072,
2999
+ prices: {
3000
+ input_mtok: 0.15,
3001
+ cache_read_mtok: 0.07,
3002
+ output_mtok: 0.6
3003
+ }
3004
+ },
3005
+ {
3006
+ id: "gpt-oss-20b",
3007
+ name: "OpenAI gpt-oss-20b",
3008
+ description: "OpenAI's open-weight 21.5B parameter model designed for powerful reasoning, agentic tasks, and versatile developer use cases. Optimized for lower latency and local or specialized tasks.",
3009
+ match: {
3010
+ equals: "accounts/fireworks/models/gpt-oss-20b"
3011
+ },
3012
+ context_window: 131072,
3013
+ prices: {
3014
+ input_mtok: 0.07,
3015
+ cache_read_mtok: 0.04,
3016
+ output_mtok: 0.3
3017
+ }
3018
+ },
3019
+ {
3020
+ id: "kimi-k2p5",
3021
+ name: "Kimi K2.5",
3022
+ description: "Moonshot AI's flagship agentic model. Unifies vision and text, thinking and non-thinking modes, and single-agent and multi-agent execution into one model. 1T parameter MoE model.",
3023
+ match: {
3024
+ equals: "accounts/fireworks/models/kimi-k2p5"
3025
+ },
3026
+ context_window: 262144,
3027
+ prices: {
3028
+ input_mtok: 0.6,
3029
+ cache_read_mtok: 0.1,
3030
+ output_mtok: 3
3031
+ }
3032
+ },
2872
3033
  {
2873
3034
  id: "llama-v3p1-8b-instruct",
2874
3035
  name: "Llama 3.1 8B Instruct",
@@ -2896,6 +3057,19 @@ Compared to other leading proprietary and open-weights models Command A delivers
2896
3057
  output_mtok: 0.88
2897
3058
  }
2898
3059
  },
3060
+ {
3061
+ id: "minimax-m2p1",
3062
+ name: "MiniMax-M2.1",
3063
+ description: "Built for strong real-world performance across complex, multi-language, and agent-driven workflows. 228B parameter model with robust support for systems, backend, web, mobile, and office-style tasks.",
3064
+ match: {
3065
+ equals: "accounts/fireworks/models/minimax-m2p1"
3066
+ },
3067
+ context_window: 204800,
3068
+ prices: {
3069
+ input_mtok: 0.3,
3070
+ output_mtok: 1.2
3071
+ }
3072
+ },
2899
3073
  {
2900
3074
  id: "qwen2p5-vl-72b-instruct",
2901
3075
  name: "Qwen2.5-VL 72B Instruct",
@@ -3168,7 +3342,16 @@ Compared to other leading proprietary and open-weights models Command A delivers
3168
3342
  contains: "claude-4-opus"
3169
3343
  },
3170
3344
  {
3171
- contains: "claude-opus-4"
3345
+ contains: "claude-opus-4@"
3346
+ },
3347
+ {
3348
+ contains: "claude-opus-4-0"
3349
+ },
3350
+ {
3351
+ contains: "claude-opus-4-1"
3352
+ },
3353
+ {
3354
+ equals: "claude-opus-4"
3172
3355
  }
3173
3356
  ]
3174
3357
  },
@@ -3200,6 +3383,64 @@ Compared to other leading proprietary and open-weights models Command A delivers
3200
3383
  output_mtok: 15
3201
3384
  }
3202
3385
  },
3386
+ {
3387
+ id: "claude-opus-4-6",
3388
+ match: {
3389
+ or: [
3390
+ {
3391
+ contains: "claude-4-6-opus"
3392
+ },
3393
+ {
3394
+ contains: "claude-opus-4-6"
3395
+ },
3396
+ {
3397
+ contains: "claude-4.6-opus"
3398
+ },
3399
+ {
3400
+ contains: "claude-opus-4.6"
3401
+ }
3402
+ ]
3403
+ },
3404
+ context_window: 2e5,
3405
+ prices: {
3406
+ input_mtok: {
3407
+ base: 5,
3408
+ tiers: [
3409
+ {
3410
+ start: 2e5,
3411
+ price: 10
3412
+ }
3413
+ ]
3414
+ },
3415
+ cache_write_mtok: {
3416
+ base: 6.25,
3417
+ tiers: [
3418
+ {
3419
+ start: 2e5,
3420
+ price: 12.5
3421
+ }
3422
+ ]
3423
+ },
3424
+ cache_read_mtok: {
3425
+ base: 0.5,
3426
+ tiers: [
3427
+ {
3428
+ start: 2e5,
3429
+ price: 1
3430
+ }
3431
+ ]
3432
+ },
3433
+ output_mtok: {
3434
+ base: 25,
3435
+ tiers: [
3436
+ {
3437
+ start: 2e5,
3438
+ price: 37.5
3439
+ }
3440
+ ]
3441
+ }
3442
+ }
3443
+ },
3203
3444
  {
3204
3445
  id: "gemini-1.0-pro-vision-001",
3205
3446
  name: "gemini 1.0 pro vision",
@@ -3429,7 +3670,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
3429
3670
  prices: {
3430
3671
  input_mtok: 0.15,
3431
3672
  output_mtok: 0.6
3432
- }
3673
+ },
3674
+ deprecated: !0
3433
3675
  },
3434
3676
  {
3435
3677
  id: "gemini-2.5-pro",
@@ -4377,6 +4619,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
4377
4619
  output_mtok: 0.6
4378
4620
  }
4379
4621
  },
4622
+ {
4623
+ id: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
4624
+ name: "Qwen3-Coder-480B-A35B-Instruct",
4625
+ match: {
4626
+ or: [
4627
+ {
4628
+ equals: "qwen/qwen3-coder-480b-a35b-instruct"
4629
+ },
4630
+ {
4631
+ equals: "qwen/qwen3-coder-480b-a35b-instruct-fast"
4632
+ }
4633
+ ]
4634
+ },
4635
+ context_window: 262144,
4636
+ prices: {
4637
+ input_mtok: 0.45,
4638
+ output_mtok: 1.8
4639
+ }
4640
+ },
4380
4641
  {
4381
4642
  id: "deepseek-ai/DeepSeek-R1-0528",
4382
4643
  name: "DeepSeek-R1-0528",
@@ -4453,25 +4714,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
4453
4714
  output_mtok: 0.6
4454
4715
  }
4455
4716
  },
4456
- {
4457
- id: "openai/gpt-oss-20b",
4458
- name: "gpt-oss-20b",
4459
- match: {
4460
- or: [
4461
- {
4462
- equals: "openai/gpt-oss-20b"
4463
- },
4464
- {
4465
- equals: "openai/gpt-oss-20b-fast"
4466
- }
4467
- ]
4468
- },
4469
- context_window: 131072,
4470
- prices: {
4471
- input_mtok: 0.05,
4472
- output_mtok: 0.2
4473
- }
4474
- },
4475
4717
  {
4476
4718
  id: "zai-org/GLM-4.5",
4477
4719
  name: "GLM-4.5",
@@ -4599,25 +4841,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
4599
4841
  input_mtok: 0.15,
4600
4842
  output_mtok: 0.75
4601
4843
  }
4602
- },
4603
- {
4604
- id: "openai/gpt-oss-20b",
4605
- name: "gpt-oss-20b",
4606
- match: {
4607
- or: [
4608
- {
4609
- equals: "openai/gpt-oss-20b"
4610
- },
4611
- {
4612
- equals: "openai/gpt-oss-20b-fast"
4613
- }
4614
- ]
4615
- },
4616
- context_window: 131072,
4617
- prices: {
4618
- input_mtok: 0.1,
4619
- output_mtok: 0.5
4620
- }
4621
4844
  }
4622
4845
  ]
4623
4846
  },
@@ -4993,25 +5216,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
4993
5216
  input_mtok: 0.3,
4994
5217
  output_mtok: 0.3
4995
5218
  }
4996
- },
4997
- {
4998
- id: "openai/gpt-oss-20b",
4999
- name: "gpt-oss-20b",
5000
- match: {
5001
- or: [
5002
- {
5003
- equals: "openai/gpt-oss-20b"
5004
- },
5005
- {
5006
- equals: "openai/gpt-oss-20b-fast"
5007
- }
5008
- ]
5009
- },
5010
- context_window: 131072,
5011
- prices: {
5012
- input_mtok: 0.1,
5013
- output_mtok: 0.1
5014
- }
5015
5219
  }
5016
5220
  ]
5017
5221
  },
@@ -5521,25 +5725,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
5521
5725
  output_mtok: 0.6
5522
5726
  }
5523
5727
  },
5524
- {
5525
- id: "openai/gpt-oss-20b",
5526
- name: "gpt-oss-20b",
5527
- match: {
5528
- or: [
5529
- {
5530
- equals: "openai/gpt-oss-20b"
5531
- },
5532
- {
5533
- equals: "openai/gpt-oss-20b-fast"
5534
- }
5535
- ]
5536
- },
5537
- context_window: 131072,
5538
- prices: {
5539
- input_mtok: 0.05,
5540
- output_mtok: 0.2
5541
- }
5542
- },
5543
5728
  {
5544
5729
  id: "zai-org/GLM-4.5",
5545
5730
  name: "GLM-4.5",
@@ -6010,6 +6195,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
6010
6195
  output_mtok: 0.05
6011
6196
  }
6012
6197
  },
6198
+ {
6199
+ id: "XiaomiMiMo/MiMo-V2-Flash",
6200
+ name: "MiMo-V2-Flash",
6201
+ match: {
6202
+ or: [
6203
+ {
6204
+ equals: "xiaomimimo/mimo-v2-flash"
6205
+ },
6206
+ {
6207
+ equals: "xiaomimimo/mimo-v2-flash-fast"
6208
+ }
6209
+ ]
6210
+ },
6211
+ context_window: 262144,
6212
+ prices: {
6213
+ input_mtok: 0.098,
6214
+ output_mtok: 0.293
6215
+ }
6216
+ },
6013
6217
  {
6014
6218
  id: "alpindale/WizardLM-2-8x22B",
6015
6219
  name: "WizardLM-2-8x22B",
@@ -6181,10 +6385,29 @@ Compared to other leading proprietary and open-weights models Command A delivers
6181
6385
  }
6182
6386
  ]
6183
6387
  },
6184
- context_window: 128e3,
6388
+ context_window: 128e3,
6389
+ prices: {
6390
+ input_mtok: 0.048,
6391
+ output_mtok: 0.072
6392
+ }
6393
+ },
6394
+ {
6395
+ id: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
6396
+ name: "DeepSeek-R1-Distill-Llama-70B",
6397
+ match: {
6398
+ or: [
6399
+ {
6400
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b"
6401
+ },
6402
+ {
6403
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b-fast"
6404
+ }
6405
+ ]
6406
+ },
6407
+ context_window: 8192,
6185
6408
  prices: {
6186
- input_mtok: 0.048,
6187
- output_mtok: 0.072
6409
+ input_mtok: 0.64,
6410
+ output_mtok: 0.64
6188
6411
  }
6189
6412
  },
6190
6413
  {
@@ -6440,25 +6663,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
6440
6663
  output_mtok: 1.84
6441
6664
  }
6442
6665
  },
6443
- {
6444
- id: "moonshotai/Kimi-K2-Instruct-0905",
6445
- name: "Kimi-K2-Instruct-0905",
6446
- match: {
6447
- or: [
6448
- {
6449
- equals: "moonshotai/kimi-k2-instruct-0905"
6450
- },
6451
- {
6452
- equals: "moonshotai/kimi-k2-instruct-0905-fast"
6453
- }
6454
- ]
6455
- },
6456
- context_window: 262144,
6457
- prices: {
6458
- input_mtok: 0.48,
6459
- output_mtok: 2
6460
- }
6461
- },
6462
6666
  {
6463
6667
  id: "moonshotai/Kimi-K2-Thinking",
6464
6668
  name: "Kimi-K2-Thinking",
@@ -6497,25 +6701,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
6497
6701
  output_mtok: 0.2
6498
6702
  }
6499
6703
  },
6500
- {
6501
- id: "openai/gpt-oss-20b",
6502
- name: "gpt-oss-20b",
6503
- match: {
6504
- or: [
6505
- {
6506
- equals: "openai/gpt-oss-20b"
6507
- },
6508
- {
6509
- equals: "openai/gpt-oss-20b-fast"
6510
- }
6511
- ]
6512
- },
6513
- context_window: 131072,
6514
- prices: {
6515
- input_mtok: 0.032,
6516
- output_mtok: 0.12
6517
- }
6518
- },
6519
6704
  {
6520
6705
  id: "zai-org/AutoGLM-Phone-9B-Multilingual",
6521
6706
  name: "AutoGLM-Phone-9B-Multilingual",
@@ -7067,25 +7252,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
7067
7252
  input_mtok: 0.1,
7068
7253
  output_mtok: 0.4
7069
7254
  }
7070
- },
7071
- {
7072
- id: "openai/gpt-oss-20b",
7073
- name: "gpt-oss-20b",
7074
- match: {
7075
- or: [
7076
- {
7077
- equals: "openai/gpt-oss-20b"
7078
- },
7079
- {
7080
- equals: "openai/gpt-oss-20b-fast"
7081
- }
7082
- ]
7083
- },
7084
- context_window: 131072,
7085
- prices: {
7086
- input_mtok: 0.05,
7087
- output_mtok: 0.2
7088
- }
7089
7255
  }
7090
7256
  ]
7091
7257
  },
@@ -7158,6 +7324,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
7158
7324
  output_mtok: 1.01
7159
7325
  }
7160
7326
  },
7327
+ {
7328
+ id: "Qwen/Qwen3-32B",
7329
+ name: "Qwen3-32B",
7330
+ match: {
7331
+ or: [
7332
+ {
7333
+ equals: "qwen/qwen3-32b"
7334
+ },
7335
+ {
7336
+ equals: "qwen/qwen3-32b-fast"
7337
+ }
7338
+ ]
7339
+ },
7340
+ context_window: 32768,
7341
+ prices: {
7342
+ input_mtok: 0.09,
7343
+ output_mtok: 0.25
7344
+ }
7345
+ },
7161
7346
  {
7162
7347
  id: "Qwen/Qwen3-Coder-30B-A3B-Instruct",
7163
7348
  name: "Qwen3-Coder-30B-A3B-Instruct",
@@ -7176,6 +7361,82 @@ Compared to other leading proprietary and open-weights models Command A delivers
7176
7361
  input_mtok: 0.07,
7177
7362
  output_mtok: 0.26
7178
7363
  }
7364
+ },
7365
+ {
7366
+ id: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
7367
+ name: "DeepSeek-R1-Distill-Llama-70B",
7368
+ match: {
7369
+ or: [
7370
+ {
7371
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b"
7372
+ },
7373
+ {
7374
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b-fast"
7375
+ }
7376
+ ]
7377
+ },
7378
+ context_window: 131072,
7379
+ prices: {
7380
+ input_mtok: 0.74,
7381
+ output_mtok: 0.74
7382
+ }
7383
+ },
7384
+ {
7385
+ id: "meta-llama/Llama-3.1-8B-Instruct",
7386
+ name: "Llama-3.1-8B-Instruct",
7387
+ match: {
7388
+ or: [
7389
+ {
7390
+ equals: "meta-llama/llama-3.1-8b-instruct"
7391
+ },
7392
+ {
7393
+ equals: "meta-llama/llama-3.1-8b-instruct-fast"
7394
+ }
7395
+ ]
7396
+ },
7397
+ context_window: 131072,
7398
+ prices: {
7399
+ input_mtok: 0.11,
7400
+ output_mtok: 0.11
7401
+ }
7402
+ },
7403
+ {
7404
+ id: "meta-llama/Llama-3.3-70B-Instruct",
7405
+ name: "Llama-3.3-70B-Instruct",
7406
+ match: {
7407
+ or: [
7408
+ {
7409
+ equals: "meta-llama/llama-3.3-70b-instruct"
7410
+ },
7411
+ {
7412
+ equals: "meta-llama/llama-3.3-70b-instruct-fast"
7413
+ }
7414
+ ]
7415
+ },
7416
+ context_window: 131072,
7417
+ prices: {
7418
+ input_mtok: 0.74,
7419
+ output_mtok: 0.74
7420
+ }
7421
+ },
7422
+ {
7423
+ id: "openai/gpt-oss-120b",
7424
+ name: "gpt-oss-120b",
7425
+ match: {
7426
+ or: [
7427
+ {
7428
+ equals: "openai/gpt-oss-120b"
7429
+ },
7430
+ {
7431
+ equals: "openai/gpt-oss-120b-fast"
7432
+ }
7433
+ ]
7434
+ },
7435
+ context_window: 131072,
7436
+ prices: {
7437
+ input_mtok: 0.09,
7438
+ output_mtok: 0.47
7439
+ }
7179
7440
  }
7180
7441
  ]
7181
7442
  },
@@ -8092,25 +8353,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
8092
8353
  output_mtok: 0.6
8093
8354
  }
8094
8355
  },
8095
- {
8096
- id: "openai/gpt-oss-20b",
8097
- name: "gpt-oss-20b",
8098
- match: {
8099
- or: [
8100
- {
8101
- equals: "openai/gpt-oss-20b"
8102
- },
8103
- {
8104
- equals: "openai/gpt-oss-20b-fast"
8105
- }
8106
- ]
8107
- },
8108
- context_window: 131072,
8109
- prices: {
8110
- input_mtok: 0.05,
8111
- output_mtok: 0.2
8112
- }
8113
- },
8114
8356
  {
8115
8357
  id: "zai-org/GLM-4.5-Air-FP8",
8116
8358
  name: "GLM-4.5-Air-FP8",
@@ -8411,7 +8653,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
8411
8653
  prices: {
8412
8654
  input_mtok: 0.25,
8413
8655
  output_mtok: 0.25
8414
- }
8656
+ },
8657
+ deprecated: !0
8415
8658
  },
8416
8659
  {
8417
8660
  id: "mixtral-8x22b-instruct",
@@ -9673,6 +9916,12 @@ Compared to other leading proprietary and open-weights models Command A delivers
9673
9916
  {
9674
9917
  equals: "gpt-5.1-codex"
9675
9918
  },
9919
+ {
9920
+ equals: "gpt-5.1-codex-max"
9921
+ },
9922
+ {
9923
+ equals: "gpt-5.1-chat"
9924
+ },
9676
9925
  {
9677
9926
  equals: "gpt-5.1-chat-latest"
9678
9927
  },
@@ -9685,6 +9934,12 @@ Compared to other leading proprietary and open-weights models Command A delivers
9685
9934
  {
9686
9935
  equals: "gpt-5-1-codex"
9687
9936
  },
9937
+ {
9938
+ equals: "gpt-5-1-codex-max"
9939
+ },
9940
+ {
9941
+ equals: "gpt-5-1-chat"
9942
+ },
9688
9943
  {
9689
9944
  equals: "gpt-5-1-chat-latest"
9690
9945
  }
@@ -9741,6 +9996,15 @@ Compared to other leading proprietary and open-weights models Command A delivers
9741
9996
  {
9742
9997
  equals: "gpt-5-2-2025-12-11"
9743
9998
  },
9999
+ {
10000
+ equals: "gpt-5.2-chat"
10001
+ },
10002
+ {
10003
+ equals: "gpt-5.2-chat-latest"
10004
+ },
10005
+ {
10006
+ equals: "gpt-5-2-chat"
10007
+ },
9744
10008
  {
9745
10009
  equals: "gpt-5-2-chat-latest"
9746
10010
  },
@@ -10524,6 +10788,57 @@ Compared to other leading proprietary and open-weights models Command A delivers
10524
10788
  output_mtok: 25
10525
10789
  }
10526
10790
  },
10791
+ {
10792
+ id: "anthropic/claude-opus-4.6",
10793
+ match: {
10794
+ or: [
10795
+ {
10796
+ equals: "anthropic/claude-opus-4.6"
10797
+ },
10798
+ {
10799
+ equals: "anthropic/claude-opus-4.6:beta"
10800
+ }
10801
+ ]
10802
+ },
10803
+ prices: {
10804
+ input_mtok: {
10805
+ base: 5,
10806
+ tiers: [
10807
+ {
10808
+ start: 2e5,
10809
+ price: 10
10810
+ }
10811
+ ]
10812
+ },
10813
+ cache_write_mtok: {
10814
+ base: 6.25,
10815
+ tiers: [
10816
+ {
10817
+ start: 2e5,
10818
+ price: 12.5
10819
+ }
10820
+ ]
10821
+ },
10822
+ cache_read_mtok: {
10823
+ base: 0.5,
10824
+ tiers: [
10825
+ {
10826
+ start: 2e5,
10827
+ price: 1
10828
+ }
10829
+ ]
10830
+ },
10831
+ output_mtok: {
10832
+ base: 25,
10833
+ tiers: [
10834
+ {
10835
+ start: 2e5,
10836
+ price: 37.5
10837
+ }
10838
+ ]
10839
+ }
10840
+ }
10841
+ },
10527
10842
  {
10528
10843
  id: "anthropic/claude-sonnet-4.5",
10529
10844
  match: {
@@ -15665,10 +15980,10 @@ Compared to other leading proprietary and open-weights models Command A delivers
15665
15980
  prices: {}
15666
15981
  },
15667
15982
  {
15668
- id: "qwen/qwen3-max-thinking",
15669
- name: "Qwen 3 Max Thinking",
15983
+ id: "qwen/qwen3-max",
15984
+ name: "Qwen 3 Max",
15670
15985
  match: {
15671
- equals: "qwen/qwen3-max-thinking"
15986
+ equals: "qwen/qwen3-max"
15672
15987
  },
15673
15988
  prices: {
15674
15989
  input_mtok: 1.2,
@@ -16498,24 +16813,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
16498
16813
  }
16499
16814
  ],
16500
16815
  models: [
16501
- {
16502
- id: "BGE-M3",
16503
- name: "BGE-M3",
16504
- match: {
16505
- or: [
16506
- {
16507
- equals: "BGE-M3"
16508
- },
16509
- {
16510
- equals: "bge-m3"
16511
- }
16512
- ]
16513
- },
16514
- context_window: 8192,
16515
- prices: {
16516
- input_mtok: 0.01
16517
- }
16518
- },
16519
16816
  {
16520
16817
  id: "DeepSeek-R1-Distill-Llama-70B",
16521
16818
  name: "DeepSeek-R1-Distill-Llama-70B",
@@ -16755,6 +17052,17 @@ Compared to other leading proprietary and open-weights models Command A delivers
16755
17052
  input_mtok: 0.01
16756
17053
  }
16757
17054
  },
17055
+ {
17056
+ id: "bge-m3",
17057
+ name: "bge-m3",
17058
+ match: {
17059
+ equals: "bge-m3"
17060
+ },
17061
+ context_window: 8192,
17062
+ prices: {
17063
+ input_mtok: 0.01
17064
+ }
17065
+ },
16758
17066
  {
16759
17067
  id: "bge-multilingual-gemma2",
16760
17068
  name: "bge-multilingual-gemma2",
@@ -17772,7 +18080,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
17772
18080
  prices: {
17773
18081
  input_mtok: 2,
17774
18082
  output_mtok: 10
17775
- }
18083
+ },
18084
+ deprecated: !0
17776
18085
  },
17777
18086
  {
17778
18087
  id: "grok-2-vision-1212",
@@ -18047,25 +18356,25 @@ function R(i, o, u, s) {
18047
18356
  function Je(i, o) {
18048
18357
  let u = 0, s = 0;
18049
18358
  const r = i.input_tokens ?? 0, _ = i.cache_read_tokens ?? 0, h = i.cache_write_tokens ?? 0, k = i.cache_audio_read_tokens ?? 0, q = i.output_audio_tokens ?? 0;
18050
- let y = i.input_audio_tokens ?? 0;
18051
- if (y -= k, y < 0)
18359
+ let I = i.input_audio_tokens ?? 0;
18360
+ if (I -= k, I < 0)
18052
18361
  throw new Error("cache_audio_read_tokens cannot be greater than input_audio_tokens");
18053
18362
  let B = i.input_tokens ?? 0;
18054
- if (B -= _, B -= h, B -= y, B < 0)
18363
+ if (B -= _, B -= h, B -= I, B < 0)
18055
18364
  throw new Error("Uncached text input tokens cannot be negative");
18056
- let I = _;
18057
- if (I -= k, I < 0)
18365
+ let y = _;
18366
+ if (y -= k, y < 0)
18058
18367
  throw new Error("cache_audio_read_tokens cannot be greater than cache_read_tokens");
18059
- u += R(o.input_mtok, B, "input_mtok", r), u += R(o.cache_read_mtok, I, "cache_read_mtok", r), u += R(o.cache_write_mtok, h, "cache_write_mtok", r), u += R(o.input_audio_mtok, y, "input_audio_mtok", r), u += R(o.cache_audio_read_mtok, k, "cache_audio_read_mtok", r);
18368
+ u += R(o.input_mtok, B, "input_mtok", r), u += R(o.cache_read_mtok, y, "cache_read_mtok", r), u += R(o.cache_write_mtok, h, "cache_write_mtok", r), u += R(o.input_audio_mtok, I, "input_audio_mtok", r), u += R(o.cache_audio_read_mtok, k, "cache_audio_read_mtok", r);
18060
18369
  let L = i.output_tokens ?? 0;
18061
18370
  if (L -= q, L < 0)
18062
18371
  throw new Error("output_audio_tokens cannot be greater than output_tokens");
18063
18372
  s += R(o.output_mtok, L, "output_mtok", r), s += R(o.output_audio_mtok, i.output_audio_tokens, "output_audio_mtok", r);
18064
- let G = u + s;
18065
- return o.requests_kcount !== void 0 && (G += o.requests_kcount / 1e3), {
18373
+ let C = u + s;
18374
+ return o.requests_kcount !== void 0 && (C += o.requests_kcount / 1e3), {
18066
18375
  input_price: u,
18067
18376
  output_price: s,
18068
- total_price: G
18377
+ total_price: C
18069
18378
  };
18070
18379
  }
18071
18380
  function Ze(i, o) {
@@ -18127,20 +18436,20 @@ Promise.resolve(oe);
18127
18436
  function tt(i, o, u) {
18128
18437
  let s = o.toLowerCase().trim(), r = u?.providerId;
18129
18438
  if (r && r.toLowerCase() === "litellm" && s.includes("/")) {
18130
- const B = s.indexOf("/"), I = s.slice(0, B), L = s.slice(B + 1);
18131
- I && L && he(ae, { providerId: I }) && (r = I, s = L);
18439
+ const B = s.indexOf("/"), y = s.slice(0, B), L = s.slice(B + 1);
18440
+ y && L && he(ae, { providerId: y }) && (r = y, s = L);
18132
18441
  }
18133
18442
  const _ = u?.provider ?? he(ae, { modelId: s, providerApiUrl: u?.providerApiUrl, providerId: r });
18134
18443
  if (!_) return null;
18135
18444
  const h = qe(_, s, ae);
18136
18445
  if (!h) return null;
18137
- const k = u?.timestamp ?? /* @__PURE__ */ new Date(), q = Ze(h, k), y = Je(i, q);
18446
+ const k = u?.timestamp ?? /* @__PURE__ */ new Date(), q = Ze(h, k), I = Je(i, q);
18138
18447
  return {
18139
18448
  auto_update_timestamp: void 0,
18140
18449
  model: h,
18141
18450
  model_price: q,
18142
18451
  provider: _,
18143
- ...y
18452
+ ...I
18144
18453
  };
18145
18454
  }
18146
18455
  const f = _e(ze(process.argv)).scriptName("genai-prices").command(
@@ -18190,17 +18499,17 @@ function at() {
18190
18499
  r = !0, console.error(`No price found for model ${_}`);
18191
18500
  continue;
18192
18501
  }
18193
- const y = q.model.context_window, B = [
18502
+ const I = q.model.context_window, B = [
18194
18503
  ["Provider", q.provider.name],
18195
18504
  ["Model", q.model.name ?? q.model.id],
18196
18505
  ["Model Prices", JSON.stringify(q.model_price)],
18197
- ["Context Window", y !== void 0 ? y.toLocaleString() : void 0],
18506
+ ["Context Window", I !== void 0 ? I.toLocaleString() : void 0],
18198
18507
  ["Total Price", `$${q.total_price}`],
18199
18508
  ["Input Price", `$${q.input_price}`],
18200
18509
  ["Output Price", `$${q.output_price}`]
18201
18510
  ];
18202
- for (const [I, L] of B)
18203
- L !== void 0 && console.log(`${I.padStart(14)}: ${L}`);
18511
+ for (const [y, L] of B)
18512
+ L !== void 0 && console.log(`${y.padStart(14)}: ${L}`);
18204
18513
  console.log("");
18205
18514
  } catch (q) {
18206
18515
  r = !0, q instanceof Error && console.error(`Error for model ${_}:`, q.message);