@pydantic/genai-prices 0.0.49 → 0.0.50

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,51 +1,51 @@
1
1
  #!/usr/bin/env node
2
- import dt from "yargs";
3
- import { format as _t } from "util";
4
- import { resolve as at, normalize as Lt } from "path";
5
- import { readFileSync as ht, writeFile as Mt, statSync as Qt } from "fs";
2
+ import de from "yargs";
3
+ import { format as _e } from "util";
4
+ import { resolve as ae, normalize as Le } from "path";
5
+ import { readFileSync as he, writeFile as Me, statSync as Qe } from "fs";
6
6
  import "assert";
7
- import { fileURLToPath as At } from "url";
8
- function Tt() {
9
- return Pt() ? 0 : 1;
7
+ import { fileURLToPath as Ae } from "url";
8
+ function Pe() {
9
+ return Te() ? 0 : 1;
10
10
  }
11
- function Pt() {
12
- return St() && !process.defaultApp;
11
+ function Te() {
12
+ return Se() && !process.defaultApp;
13
13
  }
14
- function St() {
14
+ function Se() {
15
15
  return !!process.versions.electron;
16
16
  }
17
- function Gt(i) {
18
- return i.slice(Tt() + 1);
17
+ function Ge(i) {
18
+ return i.slice(Pe() + 1);
19
19
  }
20
20
  /**
21
21
  * @license
22
22
  * Copyright (c) 2016, Contributors
23
23
  * SPDX-License-Identifier: ISC
24
24
  */
25
- function K(i) {
25
+ function $(i) {
26
26
  if (i !== i.toLowerCase() && i !== i.toUpperCase() || (i = i.toLowerCase()), i.indexOf("-") === -1 && i.indexOf("_") === -1)
27
27
  return i;
28
28
  {
29
- let m = "", s = !1;
30
- const u = i.match(/^-+/);
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);
29
+ let u = "", s = !1;
30
+ const r = i.match(/^-+/);
31
+ for (let h = r ? r[0].length : 0; h < i.length; h++) {
32
+ let k = i.charAt(h);
33
+ s && (s = !1, k = k.toUpperCase()), h !== 0 && (k === "-" || k === "_") ? s = !0 : k !== "-" && k !== "_" && (u += k);
34
34
  }
35
- return m;
35
+ return u;
36
36
  }
37
37
  }
38
- function Ct(i, n) {
39
- const m = i.toLowerCase();
38
+ function Ce(i, n) {
39
+ const u = i.toLowerCase();
40
40
  n = n || "-";
41
41
  let s = "";
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;
42
+ for (let r = 0; r < i.length; r++) {
43
+ const h = u.charAt(r), k = i.charAt(r);
44
+ h !== k && r > 0 ? s += `${n}${u.charAt(r)}` : s += k;
45
45
  }
46
46
  return s;
47
47
  }
48
- function Rt(i) {
48
+ function Re(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,20 +53,20 @@ function Rt(i) {
53
53
  * Copyright (c) 2016, Contributors
54
54
  * SPDX-License-Identifier: ISC
55
55
  */
56
- function zt(i) {
56
+ function ze(i) {
57
57
  if (Array.isArray(i))
58
- return i.map((h) => typeof h != "string" ? h + "" : h);
58
+ return i.map((k) => typeof k != "string" ? k + "" : k);
59
59
  i = i.trim();
60
- let n = 0, m = null, s = null, u = null;
61
- const k = [];
62
- for (let h = 0; h < i.length; h++) {
63
- if (m = s, s = i.charAt(h), s === " " && !u) {
64
- m !== " " && n++;
60
+ let n = 0, u = null, s = null, r = null;
61
+ const h = [];
62
+ for (let k = 0; k < i.length; k++) {
63
+ if (u = s, s = i.charAt(k), s === " " && !r) {
64
+ u !== " " && n++;
65
65
  continue;
66
66
  }
67
- s === u ? u = null : (s === "'" || s === '"') && !u && (u = s), k[n] || (k[n] = ""), k[n] += s;
67
+ s === r ? r = null : (s === "'" || s === '"') && !r && (r = s), h[n] || (h[n] = ""), h[n] += s;
68
68
  }
69
- return k;
69
+ return h;
70
70
  }
71
71
  /**
72
72
  * @license
@@ -83,11 +83,11 @@ var L;
83
83
  * SPDX-License-Identifier: ISC
84
84
  */
85
85
  let T;
86
- class Nt {
86
+ class Ne {
87
87
  constructor(n) {
88
88
  T = n;
89
89
  }
90
- parse(n, m) {
90
+ parse(n, u) {
91
91
  const s = Object.assign({
92
92
  alias: void 0,
93
93
  array: void 0,
@@ -105,7 +105,7 @@ class Nt {
105
105
  number: void 0,
106
106
  __: void 0,
107
107
  key: void 0
108
- }, m), u = zt(n), k = typeof n == "string", h = Ot(Object.assign(/* @__PURE__ */ Object.create(null), s.alias)), _ = Object.assign({
108
+ }, u), r = ze(n), h = typeof n == "string", k = Oe(Object.assign(/* @__PURE__ */ Object.create(null), s.alias)), _ = Object.assign({
109
109
  "boolean-negation": !0,
110
110
  "camel-case-expansion": !0,
111
111
  "combine-arrays": !1,
@@ -124,7 +124,7 @@ class Nt {
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), B = s.configObjects || [], Q = s.envPrefix, P = _["populate--"], S = P ? "--" : "_", D = /* @__PURE__ */ Object.create(null), ot = /* @__PURE__ */ Object.create(null), G = s.__ || T.format, r = {
127
+ }, s.configuration), q = Object.assign(/* @__PURE__ */ Object.create(null), s.default), M = s.configObjects || [], B = s.envPrefix, S = _["populate--"], A = S ? "--" : "_", G = /* @__PURE__ */ Object.create(null), oe = /* @__PURE__ */ Object.create(null), C = s.__ || T.format, m = {
128
128
  aliases: /* @__PURE__ */ Object.create(null),
129
129
  arrays: /* @__PURE__ */ Object.create(null),
130
130
  bools: /* @__PURE__ */ Object.create(null),
@@ -136,73 +136,73 @@ class Nt {
136
136
  nargs: /* @__PURE__ */ Object.create(null),
137
137
  coercions: /* @__PURE__ */ Object.create(null),
138
138
  keys: []
139
- }, M = /^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/, W = new RegExp("^--" + _["negation-prefix"] + "(.+)");
140
- [].concat(s.array || []).filter(Boolean).forEach(function(t) {
141
- const a = typeof t == "object" ? t.key : t, c = Object.keys(t).map(function(o) {
139
+ }, Q = /^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/, W = new RegExp("^--" + _["negation-prefix"] + "(.+)");
140
+ [].concat(s.array || []).filter(Boolean).forEach(function(e) {
141
+ const a = typeof e == "object" ? e.key : e, c = Object.keys(e).map(function(o) {
142
142
  return {
143
143
  boolean: "bools",
144
144
  string: "strings",
145
145
  number: "numbers"
146
146
  }[o];
147
147
  }).filter(Boolean).pop();
148
- c && (r[c][a] = !0), r.arrays[a] = !0, r.keys.push(a);
149
- }), [].concat(s.boolean || []).filter(Boolean).forEach(function(t) {
150
- r.bools[t] = !0, r.keys.push(t);
151
- }), [].concat(s.string || []).filter(Boolean).forEach(function(t) {
152
- r.strings[t] = !0, r.keys.push(t);
153
- }), [].concat(s.number || []).filter(Boolean).forEach(function(t) {
154
- r.numbers[t] = !0, r.keys.push(t);
155
- }), [].concat(s.count || []).filter(Boolean).forEach(function(t) {
156
- r.counts[t] = !0, r.keys.push(t);
157
- }), [].concat(s.normalize || []).filter(Boolean).forEach(function(t) {
158
- r.normalize[t] = !0, r.keys.push(t);
159
- }), typeof s.narg == "object" && Object.entries(s.narg).forEach(([t, a]) => {
160
- typeof a == "number" && (r.nargs[t] = a, r.keys.push(t));
161
- }), typeof s.coerce == "object" && Object.entries(s.coerce).forEach(([t, a]) => {
162
- typeof a == "function" && (r.coercions[t] = a, r.keys.push(t));
163
- }), typeof s.config < "u" && (Array.isArray(s.config) || typeof s.config == "string" ? [].concat(s.config).filter(Boolean).forEach(function(t) {
164
- r.configs[t] = !0;
165
- }) : typeof s.config == "object" && Object.entries(s.config).forEach(([t, a]) => {
166
- (typeof a == "boolean" || typeof a == "function") && (r.configs[t] = a);
167
- })), bt(s.key, h, s.default, r.arrays), Object.keys(q).forEach(function(t) {
168
- (r.aliases[t] || []).forEach(function(a) {
169
- q[a] = q[t];
148
+ c && (m[c][a] = !0), m.arrays[a] = !0, m.keys.push(a);
149
+ }), [].concat(s.boolean || []).filter(Boolean).forEach(function(e) {
150
+ m.bools[e] = !0, m.keys.push(e);
151
+ }), [].concat(s.string || []).filter(Boolean).forEach(function(e) {
152
+ m.strings[e] = !0, m.keys.push(e);
153
+ }), [].concat(s.number || []).filter(Boolean).forEach(function(e) {
154
+ m.numbers[e] = !0, m.keys.push(e);
155
+ }), [].concat(s.count || []).filter(Boolean).forEach(function(e) {
156
+ m.counts[e] = !0, m.keys.push(e);
157
+ }), [].concat(s.normalize || []).filter(Boolean).forEach(function(e) {
158
+ m.normalize[e] = !0, m.keys.push(e);
159
+ }), typeof s.narg == "object" && Object.entries(s.narg).forEach(([e, a]) => {
160
+ typeof a == "number" && (m.nargs[e] = a, m.keys.push(e));
161
+ }), typeof s.coerce == "object" && Object.entries(s.coerce).forEach(([e, a]) => {
162
+ typeof a == "function" && (m.coercions[e] = a, m.keys.push(e));
163
+ }), typeof s.config < "u" && (Array.isArray(s.config) || typeof s.config == "string" ? [].concat(s.config).filter(Boolean).forEach(function(e) {
164
+ m.configs[e] = !0;
165
+ }) : typeof s.config == "object" && Object.entries(s.config).forEach(([e, a]) => {
166
+ (typeof a == "boolean" || typeof a == "function") && (m.configs[e] = a);
167
+ })), be(s.key, k, s.default, m.arrays), Object.keys(q).forEach(function(e) {
168
+ (m.aliases[e] || []).forEach(function(a) {
169
+ q[a] = q[e];
170
170
  });
171
171
  });
172
172
  let I = null;
173
- yt();
173
+ ye();
174
174
  let j = [];
175
- const w = Object.assign(/* @__PURE__ */ Object.create(null), { _: [] }), nt = {};
176
- for (let t = 0; t < u.length; t++) {
177
- const a = u[t], c = a.replace(/^-{3,}/, "---");
178
- let o, e, l, p, d, v;
179
- if (a !== "--" && /^-/.test(a) && $(a))
175
+ const w = Object.assign(/* @__PURE__ */ Object.create(null), { _: [] }), ne = {};
176
+ for (let e = 0; e < r.length; e++) {
177
+ const a = r[e], c = a.replace(/^-{3,}/, "---");
178
+ let o, t, l, p, d, v;
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(/^--.+=/) || !_["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 = V(t, p[1], u, 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]) : b(p[1], p[2], !0));
186
186
  else if (a.match(W) && _["boolean-negation"])
187
- p = a.match(W), p !== null && Array.isArray(p) && p.length >= 2 && (e = p[1], b(e, g(e, r.arrays) ? [!1] : !1));
187
+ p = a.match(W), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], b(t, g(t, m.arrays) ? [!1] : !1));
188
188
  else if (a.match(/^--.+/) || !_["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 = V(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) ? (b(e, d), t++) : b(e, R(e))));
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(Q)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (b(t, d), e++) : b(t, z(t))));
190
190
  else if (a.match(/^-.\..+=/))
191
191
  p = a.match(/^-([^=]+)=([\s\S]*)$/), p !== null && Array.isArray(p) && p.length >= 3 && b(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) ? (b(e, d), t++) : b(e, R(e)));
194
- else if (a.match(/^-[^-]+/) && !a.match(M)) {
192
+ else if (a.match(/^-.\..+/) && !a.match(Q))
193
+ d = r[e + 1], p = a.match(/^-(.\..+)/), p !== null && Array.isArray(p) && p.length >= 2 && (t = p[1], d !== void 0 && !d.match(/^-/) && !g(t, m.bools) && !g(t, m.counts) ? (b(t, d), e++) : b(t, z(t)));
194
+ else if (a.match(/^-[^-]+/) && !a.match(Q)) {
195
195
  l = a.slice(1, -1).split(""), o = !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), e = l[x], g(e, r.arrays) ? t = F(t, e, u, v) : g(e, r.nargs) !== !1 ? t = V(t, e, u, v) : b(e, v), o = !0;
198
+ v = a.slice(x + 3), t = l[x], g(t, m.arrays) ? e = F(e, t, r, v) : g(t, m.nargs) !== !1 ? e = V(e, t, r, v) : b(t, v), o = !0;
199
199
  break;
200
200
  }
201
201
  if (d === "-") {
202
202
  b(l[x], d);
203
203
  continue;
204
204
  }
205
- if (/[A-Za-z]/.test(l[x]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(d) && g(d, r.bools) === !1) {
205
+ if (/[A-Za-z]/.test(l[x]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(d) && g(d, m.bools) === !1) {
206
206
  b(l[x], d), o = !0;
207
207
  break;
208
208
  }
@@ -210,84 +210,84 @@ class Nt {
210
210
  b(l[x], d), o = !0;
211
211
  break;
212
212
  } else
213
- b(l[x], R(l[x]));
213
+ b(l[x], z(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 = V(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) ? (b(e, d), t++) : b(e, R(e))));
216
- } else if (a.match(/^-[0-9]$/) && a.match(M) && g(a.slice(1), r.bools))
217
- e = a.slice(1), b(e, R(e));
215
+ t = a.slice(-1)[0], !o && 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(Q)) && !g(t, m.bools) && !g(t, m.counts) || /^(true|false)$/.test(d) ? (b(t, d), e++) : b(t, z(t))));
216
+ } else if (a.match(/^-[0-9]$/) && a.match(Q) && g(a.slice(1), m.bools))
217
+ t = a.slice(1), b(t, z(t));
218
218
  else if (a === "--") {
219
- j = u.slice(t + 1);
219
+ j = r.slice(e + 1);
220
220
  break;
221
221
  } else if (_["halt-at-non-option"]) {
222
- j = u.slice(t);
222
+ j = r.slice(e);
223
223
  break;
224
224
  } else
225
225
  U(a);
226
226
  }
227
- rt(w, !0), rt(w, !1), kt(w), gt(), mt(w, r.aliases, q, !0), qt(w), _["set-placeholder-key"] && ft(w), Object.keys(r.counts).forEach(function(t) {
228
- z(w, t.split(".")) || b(t, 0);
229
- }), P && j.length && (w[S] = []), j.forEach(function(t) {
230
- w[S].push(t);
231
- }), _["camel-case-expansion"] && _["strip-dashed"] && Object.keys(w).filter((t) => t !== "--" && t.includes("-")).forEach((t) => {
232
- delete w[t];
233
- }), _["strip-aliased"] && [].concat(...Object.keys(h).map((t) => h[t])).forEach((t) => {
234
- _["camel-case-expansion"] && t.includes("-") && delete w[t.split(".").map((a) => K(a)).join(".")], delete w[t];
227
+ re(w, !0), re(w, !1), ke(w), ge(), me(w, m.aliases, q, !0), qe(w), _["set-placeholder-key"] && fe(w), Object.keys(m.counts).forEach(function(e) {
228
+ N(w, e.split(".")) || b(e, 0);
229
+ }), S && j.length && (w[A] = []), j.forEach(function(e) {
230
+ w[A].push(e);
231
+ }), _["camel-case-expansion"] && _["strip-dashed"] && Object.keys(w).filter((e) => e !== "--" && e.includes("-")).forEach((e) => {
232
+ delete w[e];
233
+ }), _["strip-aliased"] && [].concat(...Object.keys(k).map((e) => k[e])).forEach((e) => {
234
+ _["camel-case-expansion"] && e.includes("-") && delete w[e.split(".").map((a) => $(a)).join(".")], delete w[e];
235
235
  });
236
- function U(t) {
237
- const a = H("_", t);
236
+ function U(e) {
237
+ const a = H("_", e);
238
238
  (typeof a == "string" || typeof a == "number") && w._.push(a);
239
239
  }
240
- function V(t, a, c, o) {
241
- let e, l = g(a, r.nargs);
240
+ function V(e, a, c, o) {
241
+ let t, l = g(a, m.nargs);
242
242
  if (l = typeof l != "number" || isNaN(l) ? 1 : l, l === 0)
243
- return A(o) || (I = Error(G("Argument unexpected for: %s", a))), b(a, R(a)), t;
244
- let p = A(o) ? 0 : 1;
243
+ return P(o) || (I = Error(C("Argument unexpected for: %s", a))), b(a, z(a)), e;
244
+ let p = P(o) ? 0 : 1;
245
245
  if (_["nargs-eats-options"])
246
- c.length - (t + 1) + p < l && (I = Error(G("Not enough arguments following: %s", a))), p = l;
246
+ c.length - (e + 1) + p < l && (I = Error(C("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(M) || $(c[e])); e++)
248
+ for (t = e + 1; t < c.length && (!c[t].match(/^-[^0-9]/) || c[t].match(Q) || K(c[t])); t++)
249
249
  p++;
250
- p < l && (I = Error(G("Not enough arguments following: %s", a)));
250
+ p < l && (I = Error(C("Not enough arguments following: %s", a)));
251
251
  }
252
252
  let d = Math.min(p, l);
253
- for (!A(o) && d > 0 && (b(a, o), d--), e = t + 1; e < d + t + 1; e++)
254
- b(a, c[e]);
255
- return t + d;
253
+ for (!P(o) && d > 0 && (b(a, o), d--), t = e + 1; t < d + e + 1; t++)
254
+ b(a, c[t]);
255
+ return e + d;
256
256
  }
257
- function F(t, a, c, o) {
258
- let e = [], l = o || c[t + 1];
259
- const p = g(a, r.nargs);
260
- if (g(a, r.bools) && !/^(true|false)$/.test(l))
261
- e.push(!0);
262
- else if (A(l) || A(o) && /^-/.test(l) && !M.test(l) && !$(l)) {
257
+ function F(e, a, c, o) {
258
+ let t = [], l = o || c[e + 1];
259
+ const p = g(a, m.nargs);
260
+ if (g(a, m.bools) && !/^(true|false)$/.test(l))
261
+ t.push(!0);
262
+ else if (P(l) || P(o) && /^-/.test(l) && !Q.test(l) && !K(l)) {
263
263
  if (q[a] !== void 0) {
264
264
  const d = q[a];
265
- e = Array.isArray(d) ? d : [d];
265
+ t = 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) && !M.test(l) && !$(l))); d++)
270
- t = d, e.push(Y(a, l, k));
268
+ P(o) || t.push(Y(a, o, !0));
269
+ for (let d = e + 1; d < c.length && !(!_["greedy-arrays"] && t.length > 0 || p && typeof p == "number" && t.length >= p || (l = c[d], /^-/.test(l) && !Q.test(l) && !K(l))); d++)
270
+ e = d, t.push(Y(a, l, h));
271
271
  }
272
- return typeof p == "number" && (p && e.length < p || isNaN(p) && e.length === 0) && (I = Error(G("Not enough arguments following: %s", a))), b(a, e), t;
272
+ return typeof p == "number" && (p && t.length < p || isNaN(p) && t.length === 0) && (I = Error(C("Not enough arguments following: %s", a))), b(a, t), e;
273
273
  }
274
- function b(t, a, c = k) {
275
- if (/-/.test(t) && _["camel-case-expansion"]) {
276
- const l = t.split(".").map(function(p) {
277
- return K(p);
274
+ function b(e, a, c = h) {
275
+ if (/-/.test(e) && _["camel-case-expansion"]) {
276
+ const l = e.split(".").map(function(p) {
277
+ return $(p);
278
278
  }).join(".");
279
- st(t, l);
279
+ se(e, l);
280
280
  }
281
- const o = Y(t, a, c), e = t.split(".");
282
- N(w, e, o), r.aliases[t] && r.aliases[t].forEach(function(l) {
281
+ const o = Y(e, a, c), t = e.split(".");
282
+ O(w, t, o), m.aliases[e] && m.aliases[e].forEach(function(l) {
283
283
  const p = l.split(".");
284
- N(w, p, o);
285
- }), e.length > 1 && _["dot-notation"] && (r.aliases[e[0]] || []).forEach(function(l) {
284
+ O(w, p, o);
285
+ }), t.length > 1 && _["dot-notation"] && (m.aliases[t[0]] || []).forEach(function(l) {
286
286
  let p = l.split(".");
287
- const d = [].concat(e);
288
- d.shift(), p = p.concat(d), (r.aliases[t] || []).includes(p.join(".")) || N(w, p, o);
289
- }), g(t, r.normalize) && !g(t, r.arrays) && [t].concat(r.aliases[t] || []).forEach(function(p) {
290
- Object.defineProperty(nt, p, {
287
+ const d = [].concat(t);
288
+ d.shift(), p = p.concat(d), (m.aliases[e] || []).includes(p.join(".")) || O(w, p, o);
289
+ }), g(e, m.normalize) && !g(e, m.arrays) && [e].concat(m.aliases[e] || []).forEach(function(p) {
290
+ Object.defineProperty(ne, p, {
291
291
  enumerable: !0,
292
292
  get() {
293
293
  return a;
@@ -298,233 +298,233 @@ class Nt {
298
298
  });
299
299
  });
300
300
  }
301
- function st(t, a) {
302
- r.aliases[t] && r.aliases[t].length || (r.aliases[t] = [a], D[a] = !0), r.aliases[a] && r.aliases[a].length || st(a, t);
301
+ function se(e, a) {
302
+ m.aliases[e] && m.aliases[e].length || (m.aliases[e] = [a], G[a] = !0), m.aliases[a] && m.aliases[a].length || se(a, e);
303
303
  }
304
- function Y(t, a, c) {
305
- c && (a = Et(a)), (g(t, r.bools) || g(t, r.counts)) && typeof a == "string" && (a = a === "true");
306
- let o = Array.isArray(a) ? a.map(function(e) {
307
- return H(t, e);
308
- }) : H(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) => T.normalize(e)) : o = T.normalize(a)), o;
304
+ function Y(e, a, c) {
305
+ c && (a = Ee(a)), (g(e, m.bools) || g(e, m.counts)) && typeof a == "string" && (a = a === "true");
306
+ let o = Array.isArray(a) ? a.map(function(t) {
307
+ return H(e, t);
308
+ }) : H(e, a);
309
+ return g(e, m.counts) && (P(o) || typeof o == "boolean") && (o = Z()), g(e, m.normalize) && g(e, m.arrays) && (Array.isArray(a) ? o = a.map((t) => T.normalize(t)) : o = T.normalize(a)), o;
310
310
  }
311
- function H(t, a) {
312
- return !_["parse-positional-numbers"] && t === "_" || !g(t, r.strings) && !g(t, r.bools) && !Array.isArray(a) && (Rt(a) && _["parse-numbers"] && Number.isSafeInteger(Math.floor(parseFloat(`${a}`))) || !A(a) && g(t, r.numbers)) && (a = Number(a)), a;
311
+ function H(e, a) {
312
+ return !_["parse-positional-numbers"] && e === "_" || !g(e, m.strings) && !g(e, m.bools) && !Array.isArray(a) && (Re(a) && _["parse-numbers"] && Number.isSafeInteger(Math.floor(parseFloat(`${a}`))) || !P(a) && g(e, m.numbers)) && (a = Number(a)), a;
313
313
  }
314
- function kt(t) {
314
+ function ke(e) {
315
315
  const a = /* @__PURE__ */ Object.create(null);
316
- mt(a, r.aliases, q), Object.keys(r.configs).forEach(function(c) {
317
- const o = t[c] || a[c];
316
+ me(a, m.aliases, q), Object.keys(m.configs).forEach(function(c) {
317
+ const o = e[c] || a[c];
318
318
  if (o)
319
319
  try {
320
- let e = null;
321
- const l = T.resolve(T.cwd(), o), p = r.configs[c];
320
+ let t = null;
321
+ const l = T.resolve(T.cwd(), o), p = m.configs[c];
322
322
  if (typeof p == "function") {
323
323
  try {
324
- e = p(l);
324
+ t = p(l);
325
325
  } catch (d) {
326
- e = d;
326
+ t = d;
327
327
  }
328
- if (e instanceof Error) {
329
- I = e;
328
+ if (t instanceof Error) {
329
+ I = t;
330
330
  return;
331
331
  }
332
332
  } else
333
- e = T.require(l);
334
- J(e);
335
- } catch (e) {
336
- e.name === "PermissionDenied" ? I = e : t[c] && (I = Error(G("Invalid JSON config file: %s", o)));
333
+ t = T.require(l);
334
+ J(t);
335
+ } catch (t) {
336
+ t.name === "PermissionDenied" ? I = t : e[c] && (I = Error(C("Invalid JSON config file: %s", o)));
337
337
  }
338
338
  });
339
339
  }
340
- function J(t, a) {
341
- Object.keys(t).forEach(function(c) {
342
- const o = t[c], e = a ? a + "." + c : c;
343
- typeof o == "object" && o !== null && !Array.isArray(o) && _["dot-notation"] ? J(o, e) : (!z(w, e.split(".")) || g(e, r.arrays) && _["combine-arrays"]) && b(e, o);
340
+ function J(e, a) {
341
+ Object.keys(e).forEach(function(c) {
342
+ const o = e[c], t = a ? a + "." + c : c;
343
+ typeof o == "object" && o !== null && !Array.isArray(o) && _["dot-notation"] ? J(o, t) : (!N(w, t.split(".")) || g(t, m.arrays) && _["combine-arrays"]) && b(t, o);
344
344
  });
345
345
  }
346
- function gt() {
347
- typeof B < "u" && B.forEach(function(t) {
348
- J(t);
346
+ function ge() {
347
+ typeof M < "u" && M.forEach(function(e) {
348
+ J(e);
349
349
  });
350
350
  }
351
- function rt(t, a) {
352
- if (typeof Q > "u")
351
+ function re(e, a) {
352
+ if (typeof B > "u")
353
353
  return;
354
- const c = typeof Q == "string" ? Q : "", o = T.env();
355
- Object.keys(o).forEach(function(e) {
356
- if (c === "" || e.lastIndexOf(c, 0) === 0) {
357
- const l = e.split("__").map(function(p, d) {
358
- return d === 0 && (p = p.substring(c.length)), K(p);
354
+ const c = typeof B == "string" ? B : "", o = T.env();
355
+ Object.keys(o).forEach(function(t) {
356
+ if (c === "" || t.lastIndexOf(c, 0) === 0) {
357
+ const l = t.split("__").map(function(p, d) {
358
+ return d === 0 && (p = p.substring(c.length)), $(p);
359
359
  });
360
- (a && r.configs[l.join(".")] || !a) && !z(t, l) && b(l.join("."), o[e]);
360
+ (a && m.configs[l.join(".")] || !a) && !N(e, l) && b(l.join("."), o[t]);
361
361
  }
362
362
  });
363
363
  }
364
- function qt(t) {
364
+ function qe(e) {
365
365
  let a;
366
366
  const c = /* @__PURE__ */ new Set();
367
- Object.keys(t).forEach(function(o) {
368
- if (!c.has(o) && (a = g(o, r.coercions), typeof a == "function"))
367
+ Object.keys(e).forEach(function(o) {
368
+ if (!c.has(o) && (a = g(o, m.coercions), typeof a == "function"))
369
369
  try {
370
- const e = H(o, a(t[o]));
371
- [].concat(r.aliases[o] || [], o).forEach((l) => {
372
- c.add(l), t[l] = e;
370
+ const t = H(o, a(e[o]));
371
+ [].concat(m.aliases[o] || [], o).forEach((l) => {
372
+ c.add(l), e[l] = t;
373
373
  });
374
- } catch (e) {
375
- I = e;
374
+ } catch (t) {
375
+ I = t;
376
376
  }
377
377
  });
378
378
  }
379
- function ft(t) {
380
- return r.keys.forEach((a) => {
381
- ~a.indexOf(".") || typeof t[a] > "u" && (t[a] = void 0);
382
- }), t;
379
+ function fe(e) {
380
+ return m.keys.forEach((a) => {
381
+ ~a.indexOf(".") || typeof e[a] > "u" && (e[a] = void 0);
382
+ }), e;
383
383
  }
384
- function mt(t, a, c, o = !1) {
385
- Object.keys(c).forEach(function(e) {
386
- z(t, e.split(".")) || (N(t, e.split("."), c[e]), o && (ot[e] = !0), (a[e] || []).forEach(function(l) {
387
- z(t, l.split(".")) || N(t, l.split("."), c[e]);
384
+ function me(e, a, c, o = !1) {
385
+ Object.keys(c).forEach(function(t) {
386
+ N(e, t.split(".")) || (O(e, t.split("."), c[t]), o && (oe[t] = !0), (a[t] || []).forEach(function(l) {
387
+ N(e, l.split(".")) || O(e, l.split("."), c[t]);
388
388
  }));
389
389
  });
390
390
  }
391
- function z(t, a) {
392
- let c = t;
393
- _["dot-notation"] || (a = [a.join(".")]), a.slice(0, -1).forEach(function(e) {
394
- c = c[e] || {};
391
+ function N(e, a) {
392
+ let c = e;
393
+ _["dot-notation"] || (a = [a.join(".")]), a.slice(0, -1).forEach(function(t) {
394
+ c = c[t] || {};
395
395
  });
396
396
  const o = a[a.length - 1];
397
397
  return typeof c != "object" ? !1 : o in c;
398
398
  }
399
- function N(t, a, c) {
400
- let o = t;
399
+ function O(e, a, c) {
400
+ let o = e;
401
401
  _["dot-notation"] || (a = [a.join(".")]), a.slice(0, -1).forEach(function(v) {
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];
402
+ v = ce(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
- const e = ct(a[a.length - 1]), l = g(a.join("."), r.arrays), p = Array.isArray(c);
404
+ const t = ce(a[a.length - 1]), l = g(a.join("."), m.arrays), p = Array.isArray(c);
405
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;
406
+ !d && g(t, m.nargs) && (d = !0, (!P(o[t]) && m.nargs[t] === 1 || Array.isArray(o[t]) && o[t].length === m.nargs[t]) && (o[t] = void 0)), c === Z() ? o[t] = Z(o[t]) : Array.isArray(o[t]) ? d && l && p ? o[t] = _["flatten-duplicate-arrays"] ? o[t].concat(c) : (Array.isArray(o[t][0]) ? o[t] : [o[t]]).concat([c]) : !d && !!l == !!p ? o[t] = c : o[t] = o[t].concat([c]) : o[t] === void 0 && l ? o[t] = p ? c : [c] : d && !(o[t] === void 0 || g(t, m.counts) || g(t, m.bools)) ? o[t] = [o[t], c] : o[t] = c;
407
407
  }
408
- function bt(...t) {
409
- t.forEach(function(a) {
408
+ function be(...e) {
409
+ e.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) {
411
+ m.aliases[c] || (m.aliases[c] = [].concat(k[c] || []), m.aliases[c].concat(c).forEach(function(o) {
412
412
  if (/-/.test(o) && _["camel-case-expansion"]) {
413
- const e = K(o);
414
- e !== c && r.aliases[c].indexOf(e) === -1 && (r.aliases[c].push(e), D[e] = !0);
413
+ const t = $(o);
414
+ t !== c && m.aliases[c].indexOf(t) === -1 && (m.aliases[c].push(t), G[t] = !0);
415
415
  }
416
- }), r.aliases[c].concat(c).forEach(function(o) {
416
+ }), m.aliases[c].concat(c).forEach(function(o) {
417
417
  if (o.length > 1 && /[A-Z]/.test(o) && _["camel-case-expansion"]) {
418
- const e = Ct(o, "-");
419
- e !== c && r.aliases[c].indexOf(e) === -1 && (r.aliases[c].push(e), D[e] = !0);
418
+ const t = Ce(o, "-");
419
+ t !== c && m.aliases[c].indexOf(t) === -1 && (m.aliases[c].push(t), G[t] = !0);
420
420
  }
421
- }), r.aliases[c].forEach(function(o) {
422
- r.aliases[o] = [c].concat(r.aliases[c].filter(function(e) {
423
- return o !== e;
421
+ }), m.aliases[c].forEach(function(o) {
422
+ m.aliases[o] = [c].concat(m.aliases[c].filter(function(t) {
423
+ return o !== t;
424
424
  }));
425
425
  }));
426
426
  });
427
427
  });
428
428
  }
429
- function g(t, a) {
430
- const c = [].concat(r.aliases[t] || [], t), o = Object.keys(a), e = c.find((l) => o.includes(l));
431
- return e ? a[e] : !1;
429
+ function g(e, a) {
430
+ const c = [].concat(m.aliases[e] || [], e), o = Object.keys(a), t = c.find((l) => o.includes(l));
431
+ return t ? a[t] : !1;
432
432
  }
433
- function ut(t) {
434
- const a = Object.keys(r);
435
- return [].concat(a.map((o) => r[o])).some(function(o) {
436
- return Array.isArray(o) ? o.includes(t) : o[t];
433
+ function ue(e) {
434
+ const a = Object.keys(m);
435
+ return [].concat(a.map((o) => m[o])).some(function(o) {
436
+ return Array.isArray(o) ? o.includes(e) : o[e];
437
437
  });
438
438
  }
439
- function wt(t, ...a) {
439
+ function we(e, ...a) {
440
440
  return [].concat(...a).some(function(o) {
441
- const e = t.match(o);
442
- return e && ut(e[1]);
441
+ const t = e.match(o);
442
+ return t && ue(t[1]);
443
443
  });
444
444
  }
445
- function vt(t) {
446
- if (t.match(M) || !t.match(/^-[^-]+/))
445
+ function ve(e) {
446
+ if (e.match(Q) || !e.match(/^-[^-]+/))
447
447
  return !1;
448
448
  let a = !0, c;
449
- const o = t.slice(1).split("");
450
- for (let e = 0; e < o.length; e++) {
451
- if (c = t.slice(e + 2), !ut(o[e])) {
449
+ const o = e.slice(1).split("");
450
+ for (let t = 0; t < o.length; t++) {
451
+ if (c = e.slice(t + 2), !ue(o[t])) {
452
452
  a = !1;
453
453
  break;
454
454
  }
455
- if (o[e + 1] && o[e + 1] === "=" || c === "-" || /[A-Za-z]/.test(o[e]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(c) || o[e + 1] && o[e + 1].match(/\W/))
455
+ if (o[t + 1] && o[t + 1] === "=" || c === "-" || /[A-Za-z]/.test(o[t]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(c) || o[t + 1] && o[t + 1].match(/\W/))
456
456
  break;
457
457
  }
458
458
  return a;
459
459
  }
460
- function $(t) {
461
- return _["unknown-options-as-args"] && xt(t);
460
+ function K(e) {
461
+ return _["unknown-options-as-args"] && xe(e);
462
462
  }
463
- function xt(t) {
464
- return t = t.replace(/^-{3,}/, "--"), t.match(M) || vt(t) ? !1 : !wt(t, /^-+([^=]+?)=[\s\S]*$/, W, /^-+([^=]+?)$/, /^-+([^=]+?)-$/, /^-+([^=]+?\d+)$/, /^-+([^=]+?)\W+.*$/);
463
+ function xe(e) {
464
+ return e = e.replace(/^-{3,}/, "--"), e.match(Q) || ve(e) ? !1 : !we(e, /^-+([^=]+?)=[\s\S]*$/, W, /^-+([^=]+?)$/, /^-+([^=]+?)-$/, /^-+([^=]+?\d+)$/, /^-+([^=]+?)\W+.*$/);
465
465
  }
466
- function R(t) {
467
- return !g(t, r.bools) && !g(t, r.counts) && `${t}` in q ? q[t] : Bt(It(t));
466
+ function z(e) {
467
+ return !g(e, m.bools) && !g(e, m.counts) && `${e}` in q ? q[e] : Be(Ie(e));
468
468
  }
469
- function Bt(t) {
469
+ function Be(e) {
470
470
  return {
471
471
  [L.BOOLEAN]: !0,
472
472
  [L.STRING]: "",
473
473
  [L.NUMBER]: void 0,
474
474
  [L.ARRAY]: []
475
- }[t];
475
+ }[e];
476
476
  }
477
- function It(t) {
477
+ function Ie(e) {
478
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;
479
+ return g(e, m.strings) ? a = L.STRING : g(e, m.numbers) ? a = L.NUMBER : g(e, m.bools) ? a = L.BOOLEAN : g(e, m.arrays) && (a = L.ARRAY), a;
480
480
  }
481
- function A(t) {
482
- return t === void 0;
481
+ function P(e) {
482
+ return e === void 0;
483
483
  }
484
- function yt() {
485
- Object.keys(r.counts).find((t) => g(t, r.arrays) ? (I = Error(G("Invalid configuration: %s, opts.count excludes opts.array.", t)), !0) : g(t, r.nargs) ? (I = Error(G("Invalid configuration: %s, opts.count excludes opts.narg.", t)), !0) : !1);
484
+ function ye() {
485
+ Object.keys(m.counts).find((e) => g(e, m.arrays) ? (I = Error(C("Invalid configuration: %s, opts.count excludes opts.array.", e)), !0) : g(e, m.nargs) ? (I = Error(C("Invalid configuration: %s, opts.count excludes opts.narg.", e)), !0) : !1);
486
486
  }
487
487
  return {
488
- aliases: Object.assign({}, r.aliases),
489
- argv: Object.assign(nt, w),
488
+ aliases: Object.assign({}, m.aliases),
489
+ argv: Object.assign(ne, w),
490
490
  configuration: _,
491
- defaulted: Object.assign({}, ot),
491
+ defaulted: Object.assign({}, oe),
492
492
  error: I,
493
- newAliases: Object.assign({}, D)
493
+ newAliases: Object.assign({}, G)
494
494
  };
495
495
  }
496
496
  }
497
- function Ot(i) {
498
- const n = [], m = /* @__PURE__ */ Object.create(null);
497
+ function Oe(i) {
498
+ const n = [], u = /* @__PURE__ */ Object.create(null);
499
499
  let s = !0;
500
- for (Object.keys(i).forEach(function(u) {
501
- n.push([].concat(i[u], u));
500
+ for (Object.keys(i).forEach(function(r) {
501
+ n.push([].concat(i[r], r));
502
502
  }); s; ) {
503
503
  s = !1;
504
- for (let u = 0; u < n.length; u++)
505
- for (let k = u + 1; k < n.length; k++)
506
- if (n[u].filter(function(_) {
507
- return n[k].indexOf(_) !== -1;
504
+ for (let r = 0; r < n.length; r++)
505
+ for (let h = r + 1; h < n.length; h++)
506
+ if (n[r].filter(function(_) {
507
+ return n[h].indexOf(_) !== -1;
508
508
  }).length) {
509
- n[u] = n[u].concat(n[k]), n.splice(k, 1), s = !0;
509
+ n[r] = n[r].concat(n[h]), n.splice(h, 1), s = !0;
510
510
  break;
511
511
  }
512
512
  }
513
- return n.forEach(function(u) {
514
- u = u.filter(function(h, _, q) {
515
- return q.indexOf(h) === _;
513
+ return n.forEach(function(r) {
514
+ r = r.filter(function(k, _, q) {
515
+ return q.indexOf(k) === _;
516
516
  });
517
- const k = u.pop();
518
- k !== void 0 && typeof k == "string" && (m[k] = u);
519
- }), m;
517
+ const h = r.pop();
518
+ h !== void 0 && typeof h == "string" && (u[h] = r);
519
+ }), u;
520
520
  }
521
521
  function Z(i) {
522
522
  return i !== void 0 ? i + 1 : 1;
523
523
  }
524
- function ct(i) {
524
+ function ce(i) {
525
525
  return i === "__proto__" ? "___proto___" : i;
526
526
  }
527
- function Et(i) {
527
+ function Ee(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
  /**
@@ -535,76 +535,76 @@ function Et(i) {
535
535
  * Copyright (c) 2016, Contributors
536
536
  * SPDX-License-Identifier: ISC
537
537
  */
538
- var X, tt, et;
539
- const pt = process && process.env && process.env.YARGS_MIN_NODE_VERSION ? Number(process.env.YARGS_MIN_NODE_VERSION) : 12, lt = (tt = (X = process == null ? void 0 : process.versions) === null || X === void 0 ? void 0 : X.node) !== null && tt !== void 0 ? tt : (et = process == null ? void 0 : process.version) === null || et === void 0 ? void 0 : et.slice(1);
540
- if (lt && Number(lt.match(/^([^.]+)/)[1]) < pt)
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
- const Dt = process ? process.env : {};
543
- new Nt({
538
+ var X, ee, te;
539
+ const pe = process && process.env && process.env.YARGS_MIN_NODE_VERSION ? Number(process.env.YARGS_MIN_NODE_VERSION) : 12, le = (ee = (X = process == null ? void 0 : process.versions) === null || X === void 0 ? void 0 : X.node) !== null && ee !== void 0 ? ee : (te = process == null ? void 0 : process.version) === null || te === void 0 ? void 0 : te.slice(1);
540
+ if (le && Number(le.match(/^([^.]+)/)[1]) < pe)
541
+ throw Error(`yargs parser supports a minimum Node.js version of ${pe}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);
542
+ const De = process ? process.env : {};
543
+ new Ne({
544
544
  cwd: process.cwd,
545
- env: () => Dt,
546
- format: _t,
547
- normalize: Lt,
548
- resolve: at,
545
+ env: () => De,
546
+ format: _e,
547
+ normalize: Le,
548
+ resolve: ae,
549
549
  // TODO: figure out a way to combine ESM and CJS coverage, such that
550
550
  // we can exercise all the lines below:
551
551
  require: (i) => {
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(he(i, "utf8"));
556
556
  throw Error("only .json config files are supported in ESM");
557
557
  }
558
558
  });
559
- const jt = {
559
+ const je = {
560
560
  fs: {
561
- readFileSync: ht,
562
- writeFile: Mt
561
+ readFileSync: he,
562
+ writeFile: Me
563
563
  },
564
- format: _t,
565
- resolve: at,
564
+ format: _e,
565
+ resolve: ae,
566
566
  exists: (i) => {
567
567
  try {
568
- return Qt(i).isFile();
568
+ return Qe(i).isFile();
569
569
  } catch {
570
570
  return !1;
571
571
  }
572
572
  }
573
573
  };
574
574
  let y;
575
- class Vt {
575
+ class Ve {
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
  }
579
579
  __(...n) {
580
580
  if (typeof arguments[0] != "string")
581
581
  return this._taggedLiteral(arguments[0], ...arguments);
582
- const m = n.shift();
582
+ const u = n.shift();
583
583
  let s = function() {
584
584
  };
585
585
  return typeof n[n.length - 1] == "function" && (s = n.pop()), s = s || function() {
586
- }, this.cache[this.locale] || this._readLocaleFile(), !this.cache[this.locale][m] && this.updateFiles ? (this.cache[this.locale][m] = m, this._enqueueWrite({
586
+ }, this.cache[this.locale] || this._readLocaleFile(), !this.cache[this.locale][u] && this.updateFiles ? (this.cache[this.locale][u] = u, this._enqueueWrite({
587
587
  directory: this.directory,
588
588
  locale: this.locale,
589
589
  cb: s
590
- })) : s(), y.format.apply(y.format, [this.cache[this.locale][m] || m].concat(n));
590
+ })) : s(), y.format.apply(y.format, [this.cache[this.locale][u] || u].concat(n));
591
591
  }
592
592
  __n() {
593
- const n = Array.prototype.slice.call(arguments), m = n.shift(), s = n.shift(), u = n.shift();
594
- let k = function() {
593
+ const n = Array.prototype.slice.call(arguments), u = n.shift(), s = n.shift(), r = n.shift();
594
+ let h = function() {
595
595
  };
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] = {
599
- one: m,
596
+ typeof n[n.length - 1] == "function" && (h = n.pop()), this.cache[this.locale] || this._readLocaleFile();
597
+ let k = r === 1 ? u : s;
598
+ this.cache[this.locale][u] && (k = this.cache[this.locale][u][r === 1 ? "one" : "other"]), !this.cache[this.locale][u] && this.updateFiles ? (this.cache[this.locale][u] = {
599
+ one: u,
600
600
  other: s
601
601
  }, this._enqueueWrite({
602
602
  directory: this.directory,
603
603
  locale: this.locale,
604
- cb: k
605
- })) : k();
606
- const _ = [h];
607
- return ~h.indexOf("%d") && _.push(u), y.format.apply(y.format, _.concat(n));
604
+ cb: h
605
+ })) : h();
606
+ const _ = [k];
607
+ return ~k.indexOf("%d") && _.push(r), y.format.apply(y.format, _.concat(n));
608
608
  }
609
609
  setLocale(n) {
610
610
  this.locale = n;
@@ -614,43 +614,43 @@ class Vt {
614
614
  }
615
615
  updateLocale(n) {
616
616
  this.cache[this.locale] || this._readLocaleFile();
617
- for (const m in n)
618
- Object.prototype.hasOwnProperty.call(n, m) && (this.cache[this.locale][m] = n[m]);
617
+ for (const u in n)
618
+ Object.prototype.hasOwnProperty.call(n, u) && (this.cache[this.locale][u] = n[u]);
619
619
  }
620
- _taggedLiteral(n, ...m) {
620
+ _taggedLiteral(n, ...u) {
621
621
  let s = "";
622
- return n.forEach(function(u, k) {
623
- const h = m[k + 1];
624
- s += u, typeof h < "u" && (s += "%s");
625
- }), this.__.apply(this, [s].concat([].slice.call(m, 1)));
622
+ return n.forEach(function(r, h) {
623
+ const k = u[h + 1];
624
+ s += r, typeof k < "u" && (s += "%s");
625
+ }), this.__.apply(this, [s].concat([].slice.call(u, 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
- y.fs.writeFile(h, _, "utf-8", function(q) {
633
- n.writeQueue.shift(), n.writeQueue.length > 0 && n._processWriteQueue(), k(q);
631
+ const n = this, u = this.writeQueue[0], s = u.directory, r = u.locale, h = u.cb, k = this._resolveLocaleFile(s, r), _ = JSON.stringify(this.cache[r], null, 2);
632
+ y.fs.writeFile(k, _, "utf-8", function(q) {
633
+ n.writeQueue.shift(), n.writeQueue.length > 0 && n._processWriteQueue(), h(q);
634
634
  });
635
635
  }
636
636
  _readLocaleFile() {
637
637
  let n = {};
638
- const m = this._resolveLocaleFile(this.directory, this.locale);
638
+ const u = this._resolveLocaleFile(this.directory, this.locale);
639
639
  try {
640
- y.fs.readFileSync && (n = JSON.parse(y.fs.readFileSync(m, "utf-8")));
640
+ y.fs.readFileSync && (n = JSON.parse(y.fs.readFileSync(u, "utf-8")));
641
641
  } catch (s) {
642
- if (s instanceof SyntaxError && (s.message = "syntax error in " + m), s.code === "ENOENT")
642
+ if (s instanceof SyntaxError && (s.message = "syntax error in " + u), s.code === "ENOENT")
643
643
  n = {};
644
644
  else
645
645
  throw s;
646
646
  }
647
647
  this.cache[this.locale] = n;
648
648
  }
649
- _resolveLocaleFile(n, m) {
650
- let s = y.resolve(n, "./", m + ".json");
651
- if (this.fallbackToLanguage && !this._fileExistsSync(s) && ~m.lastIndexOf("_")) {
652
- const u = y.resolve(n, "./", m.split("_")[0] + ".json");
653
- this._fileExistsSync(u) && (s = u);
649
+ _resolveLocaleFile(n, u) {
650
+ let s = y.resolve(n, "./", u + ".json");
651
+ if (this.fallbackToLanguage && !this._fileExistsSync(s) && ~u.lastIndexOf("_")) {
652
+ const r = y.resolve(n, "./", u.split("_")[0] + ".json");
653
+ this._fileExistsSync(r) && (s = r);
654
654
  }
655
655
  return s;
656
656
  }
@@ -658,31 +658,31 @@ class Vt {
658
658
  return y.exists(n);
659
659
  }
660
660
  }
661
- function Ft(i, n) {
661
+ function Fe(i, n) {
662
662
  y = n;
663
- const m = new Vt(i);
663
+ const u = new Ve(i);
664
664
  return {
665
- __: m.__.bind(m),
666
- __n: m.__n.bind(m),
667
- setLocale: m.setLocale.bind(m),
668
- getLocale: m.getLocale.bind(m),
669
- updateLocale: m.updateLocale.bind(m),
670
- locale: m.locale
665
+ __: u.__.bind(u),
666
+ __n: u.__n.bind(u),
667
+ setLocale: u.setLocale.bind(u),
668
+ getLocale: u.getLocale.bind(u),
669
+ updateLocale: u.updateLocale.bind(u),
670
+ locale: u.locale
671
671
  };
672
672
  }
673
- const Ht = (i) => Ft(i, jt);
674
- let O;
673
+ const He = (i) => Fe(i, je);
674
+ let E;
675
675
  try {
676
- O = At(import.meta.url);
676
+ E = Ae(import.meta.url);
677
677
  } catch {
678
- O = process.cwd();
678
+ E = process.cwd();
679
679
  }
680
- const $t = O.substring(0, O.lastIndexOf("node_modules"));
681
- $t || process.cwd(), process.cwd, process.exit, process.nextTick, typeof process.stdout.columns < "u" && process.stdout.columns, Ht({
682
- directory: at(O, "../../../locales"),
680
+ const Ke = E.substring(0, E.lastIndexOf("node_modules"));
681
+ Ke || process.cwd(), process.cwd, process.exit, process.nextTick, typeof process.stdout.columns < "u" && process.stdout.columns, He({
682
+ directory: ae(E, "../../../locales"),
683
683
  updateFiles: !1
684
684
  });
685
- const it = [
685
+ const ie = [
686
686
  {
687
687
  id: "anthropic",
688
688
  name: "Anthropic",
@@ -3922,6 +3922,51 @@ Compared to other leading proprietary and open-weights models Command A delivers
3922
3922
  }
3923
3923
  }
3924
3924
  },
3925
+ {
3926
+ id: "gemini-3-flash-preview",
3927
+ name: "Gemini 3 Flash Preview",
3928
+ description: "Google's ultra-fast frontier model optimized for speed and efficiency. Delivers state-of-the-art performance while maintaining low latency and cost, with improved reasoning and coding capabilities.",
3929
+ match: {
3930
+ or: [
3931
+ {
3932
+ equals: "gemini-3-flash-preview"
3933
+ },
3934
+ {
3935
+ starts_with: "gemini-3-flash-preview-"
3936
+ }
3937
+ ]
3938
+ },
3939
+ context_window: 1e6,
3940
+ price_comments: "See https://ai.google.dev/gemini-api/docs/pricing. Standard pricing shown; Batch API offers 50% discount on input/output.",
3941
+ prices: {
3942
+ input_mtok: 0.5,
3943
+ cache_read_mtok: 0.05,
3944
+ output_mtok: 3,
3945
+ input_audio_mtok: 1,
3946
+ cache_audio_read_mtok: 0.1
3947
+ }
3948
+ },
3949
+ {
3950
+ id: "gemini-3-pro-image-preview",
3951
+ name: "Gemini 3 Pro Image Preview",
3952
+ description: "Google's image generation model optimized for high-quality image generation. Supports 1K/2K and 4K resolution outputs with flexible pricing based on image dimensions.",
3953
+ match: {
3954
+ or: [
3955
+ {
3956
+ starts_with: "gemini-3-pro-image-preview"
3957
+ },
3958
+ {
3959
+ equals: "gemini-3-pro-image-preview"
3960
+ }
3961
+ ]
3962
+ },
3963
+ context_window: 1e6,
3964
+ price_comments: "See https://ai.google.dev/gemini-api/docs/pricing#gemini-3-pro-image. Image output is priced at $120 per 1M tokens, with each 1K/2K image = 1120 tokens = $0.134/image and each 4K image = 2000 tokens = $0.24/image.",
3965
+ prices: {
3966
+ input_mtok: 2,
3967
+ output_mtok: 120
3968
+ }
3969
+ },
3925
3970
  {
3926
3971
  id: "gemini-3-pro-preview",
3927
3972
  name: "Gemini 3 Pro Preview",
@@ -3932,7 +3977,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
3932
3977
  starts_with: "gemini-3-pro-preview"
3933
3978
  },
3934
3979
  {
3935
- starts_with: "gemini-3-pro-image-preview"
3980
+ equals: "gemini-3-pro-text-preview"
3936
3981
  }
3937
3982
  ]
3938
3983
  },
@@ -18221,104 +18266,169 @@ Compared to other leading proprietary and open-weights models Command A delivers
18221
18266
  cache_read_mtok: 0.75,
18222
18267
  output_mtok: 15
18223
18268
  }
18269
+ },
18270
+ {
18271
+ id: "grok-4-1-fast-non-reasoning",
18272
+ name: "Grok 4.1 Fast Non-Reasoning",
18273
+ description: "A frontier multimodal model optimized specifically for high-performance agentic tool calling.",
18274
+ match: {
18275
+ or: [
18276
+ {
18277
+ equals: "grok-4-1-fast-non-reasoning"
18278
+ },
18279
+ {
18280
+ equals: "grok-4-1-fast-non-reasoning-latest"
18281
+ }
18282
+ ]
18283
+ },
18284
+ context_window: 2e6,
18285
+ prices: {
18286
+ input_mtok: 0.2,
18287
+ cache_read_mtok: 0.05,
18288
+ output_mtok: 0.5
18289
+ }
18290
+ },
18291
+ {
18292
+ id: "grok-4-1-fast-reasoning",
18293
+ name: "Grok 4.1 Fast Reasoning",
18294
+ description: "A frontier multimodal model optimized specifically for high-performance agentic tool calling.",
18295
+ match: {
18296
+ or: [
18297
+ {
18298
+ equals: "grok-4-1-fast"
18299
+ },
18300
+ {
18301
+ equals: "grok-4-1-fast-reasoning"
18302
+ },
18303
+ {
18304
+ equals: "grok-4-1-fast-reasoning-latest"
18305
+ }
18306
+ ]
18307
+ },
18308
+ context_window: 2e6,
18309
+ prices: {
18310
+ input_mtok: 0.2,
18311
+ cache_read_mtok: 0.05,
18312
+ output_mtok: 0.5
18313
+ }
18314
+ },
18315
+ {
18316
+ id: "grok-code-fast-1",
18317
+ name: "Grok Code Fast 1",
18318
+ description: "A speedy and economical reasoning model that excels at agentic coding.",
18319
+ match: {
18320
+ or: [
18321
+ {
18322
+ equals: "grok-code-fast"
18323
+ },
18324
+ {
18325
+ equals: "grok-code-fast-1"
18326
+ },
18327
+ {
18328
+ equals: "grok-code-fast-1-0825"
18329
+ }
18330
+ ]
18331
+ },
18332
+ context_window: 256e3,
18333
+ prices: {
18334
+ input_mtok: 0.2,
18335
+ cache_read_mtok: 0.02,
18336
+ output_mtok: 1.5
18337
+ }
18224
18338
  }
18225
18339
  ]
18226
18340
  }
18227
18341
  ];
18228
- function Kt(i, n) {
18342
+ function $e(i, n, u) {
18229
18343
  if (n <= 0) return 0;
18230
- let m = 0;
18231
- const s = [...i.tiers].sort((h, _) => h.start - _.start), u = s[0]?.start ?? n, k = Math.min(n, u);
18232
- m += k * i.base / 1e6;
18233
- for (let h = 0; h < s.length; h++) {
18234
- const _ = s[h], q = s[h + 1]?.start ?? 1 / 0, B = Math.max(0, Math.min(n, q) - _.start);
18235
- B > 0 && (m += B * _.price / 1e6);
18236
- }
18237
- return m;
18344
+ let s = i.base;
18345
+ for (const r of i.tiers)
18346
+ u > r.start && (s = r.price);
18347
+ return s * n / 1e6;
18238
18348
  }
18239
- function C(i, n, m) {
18240
- return i === void 0 || n === void 0 ? 0 : typeof i == "number" ? i * n / 1e6 : Kt(i, n);
18349
+ function R(i, n, u, s) {
18350
+ return i === void 0 || n === void 0 ? 0 : typeof i == "number" ? i * n / 1e6 : $e(i, n, s);
18241
18351
  }
18242
- function Wt(i, n) {
18243
- let m = 0, s = 0;
18244
- 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;
18245
- let q = i.input_audio_tokens ?? 0;
18246
- if (q -= h, q < 0)
18352
+ function We(i, n) {
18353
+ let u = 0, s = 0;
18354
+ const r = i.input_tokens ?? 0, h = i.cache_read_tokens ?? 0, k = i.cache_write_tokens ?? 0, _ = i.cache_audio_read_tokens ?? 0, q = i.output_audio_tokens ?? 0;
18355
+ let M = i.input_audio_tokens ?? 0;
18356
+ if (M -= _, M < 0)
18247
18357
  throw new Error("cache_audio_read_tokens cannot be greater than input_audio_tokens");
18248
18358
  let B = i.input_tokens ?? 0;
18249
- if (B -= u, B -= k, B -= q, B < 0)
18359
+ if (B -= h, B -= k, B -= M, B < 0)
18250
18360
  throw new Error("Uncached text input tokens cannot be negative");
18251
- let Q = u;
18252
- if (Q -= h, Q < 0)
18361
+ let S = h;
18362
+ if (S -= _, S < 0)
18253
18363
  throw new Error("cache_audio_read_tokens cannot be greater than cache_read_tokens");
18254
- m += C(n.input_mtok, B), m += C(n.cache_read_mtok, Q), m += C(n.cache_write_mtok, k), m += C(n.input_audio_mtok, q), m += C(n.cache_audio_read_mtok, h);
18255
- let P = i.output_tokens ?? 0;
18256
- if (P -= _, P < 0)
18364
+ u += R(n.input_mtok, B, "input_mtok", r), u += R(n.cache_read_mtok, S, "cache_read_mtok", r), u += R(n.cache_write_mtok, k, "cache_write_mtok", r), u += R(n.input_audio_mtok, M, "input_audio_mtok", r), u += R(n.cache_audio_read_mtok, _, "cache_audio_read_mtok", r);
18365
+ let A = i.output_tokens ?? 0;
18366
+ if (A -= q, A < 0)
18257
18367
  throw new Error("output_audio_tokens cannot be greater than output_tokens");
18258
- s += C(n.output_mtok, P), s += C(n.output_audio_mtok, i.output_audio_tokens);
18259
- let S = m + s;
18260
- return n.requests_kcount !== void 0 && (S += n.requests_kcount / 1e3), {
18261
- input_price: m,
18368
+ s += R(n.output_mtok, A, "output_mtok", r), s += R(n.output_audio_mtok, i.output_audio_tokens, "output_audio_mtok", r);
18369
+ let G = u + s;
18370
+ return n.requests_kcount !== void 0 && (G += n.requests_kcount / 1e3), {
18371
+ input_price: u,
18262
18372
  output_price: s,
18263
- total_price: S
18373
+ total_price: G
18264
18374
  };
18265
18375
  }
18266
- function Ut(i, n) {
18376
+ function Ue(i, n) {
18267
18377
  if (!Array.isArray(i.prices))
18268
18378
  return i.prices;
18269
- for (let m = i.prices.length - 1; m >= 0; m--) {
18270
- const s = i.prices[m], u = s.constraint;
18271
- if (u === void 0)
18379
+ for (let u = i.prices.length - 1; u >= 0; u--) {
18380
+ const s = i.prices[u], r = s.constraint;
18381
+ if (r === void 0)
18272
18382
  return s.prices;
18273
- if (u.type === "start_date") {
18274
- if (n >= new Date(u.start_date))
18383
+ if (r.type === "start_date") {
18384
+ if (n >= new Date(r.start_date))
18275
18385
  return s.prices;
18276
18386
  } else {
18277
- const k = n.toISOString().slice(11, 19), h = u.start_time, _ = u.end_time;
18278
- if (_ < h) {
18279
- if (k >= h || k < _)
18387
+ const h = n.toISOString().slice(11, 19), k = r.start_time, _ = r.end_time;
18388
+ if (_ < k) {
18389
+ if (h >= k || h < _)
18280
18390
  return s.prices;
18281
- } else if (k >= h && k < _)
18391
+ } else if (h >= k && h < _)
18282
18392
  return s.prices;
18283
18393
  }
18284
18394
  }
18285
18395
  return i.prices[0].prices;
18286
18396
  }
18287
- function E(i, n) {
18288
- return "or" in i ? i.or.some((m) => E(m, n)) : "and" in i ? i.and.every((m) => E(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;
18397
+ function D(i, n) {
18398
+ return "or" in i ? i.or.some((u) => D(u, n)) : "and" in i ? i.and.every((u) => D(u, 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;
18289
18399
  }
18290
- function Yt(i, n) {
18291
- const m = n.toLowerCase().trim(), s = i.find((u) => u.id === m);
18292
- return s || i.find((u) => u.provider_match && E(u.provider_match, m));
18400
+ function Ye(i, n) {
18401
+ const u = n.toLowerCase().trim(), s = i.find((r) => r.id === u);
18402
+ return s || i.find((r) => r.provider_match && D(r.provider_match, u));
18293
18403
  }
18294
- function Jt(i, { modelId: n, providerApiUrl: m, providerId: s }) {
18404
+ function Je(i, { modelId: n, providerApiUrl: u, providerId: s }) {
18295
18405
  if (s)
18296
- return Yt(i, s);
18297
- if (m)
18298
- return i.find((u) => new RegExp(u.api_pattern).test(m));
18406
+ return Ye(i, s);
18407
+ if (u)
18408
+ return i.find((r) => new RegExp(r.api_pattern).test(u));
18299
18409
  if (n)
18300
- return i.find((u) => u.model_match && E(u.model_match, n));
18410
+ return i.find((r) => r.model_match && D(r.model_match, n));
18301
18411
  }
18302
- function Zt(i, n) {
18303
- return i.find((m) => E(m.match, n));
18412
+ function Ze(i, n) {
18413
+ return i.find((u) => D(u.match, n));
18304
18414
  }
18305
- let Xt = it;
18306
- Promise.resolve(it);
18307
- function te(i, n, m) {
18308
- const s = n.toLowerCase().trim(), u = m?.provider ?? Jt(Xt, { modelId: s, providerApiUrl: m?.providerApiUrl, providerId: m?.providerId });
18309
- if (!u) return null;
18310
- const k = Zt(u.models, s);
18311
- if (!k) return null;
18312
- const h = m?.timestamp ?? /* @__PURE__ */ new Date(), _ = Ut(k, h), q = Wt(i, _);
18415
+ let Xe = ie;
18416
+ Promise.resolve(ie);
18417
+ function et(i, n, u) {
18418
+ const s = n.toLowerCase().trim(), r = u?.provider ?? Je(Xe, { modelId: s, providerApiUrl: u?.providerApiUrl, providerId: u?.providerId });
18419
+ if (!r) return null;
18420
+ const h = Ze(r.models, s);
18421
+ if (!h) return null;
18422
+ const k = u?.timestamp ?? /* @__PURE__ */ new Date(), _ = Ue(h, k), q = We(i, _);
18313
18423
  return {
18314
18424
  auto_update_timestamp: void 0,
18315
- model: k,
18425
+ model: h,
18316
18426
  model_price: _,
18317
- provider: u,
18427
+ provider: r,
18318
18428
  ...q
18319
18429
  };
18320
18430
  }
18321
- const f = dt(Gt(process.argv)).scriptName("genai-prices").command(
18431
+ const f = de(Ge(process.argv)).scriptName("genai-prices").command(
18322
18432
  "list [provider]",
18323
18433
  "List providers and models",
18324
18434
  (i) => i.positional("provider", { describe: "Provider ID to filter", type: "string" })
@@ -18327,25 +18437,25 @@ const f = dt(Gt(process.argv)).scriptName("genai-prices").command(
18327
18437
  "Calculate price",
18328
18438
  (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" })
18329
18439
  ).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();
18330
- function ee() {
18440
+ function tt() {
18331
18441
  if (f._[0] === "list") {
18332
- const m = it;
18442
+ const u = ie;
18333
18443
  if (f.provider) {
18334
- const s = m.find((u) => u.id === f.provider);
18444
+ const s = u.find((r) => r.id === f.provider);
18335
18445
  s || (console.error(`Provider ${f.provider} not found.`), process.exit(1)), console.log(`${s.name}: (${s.models.length} models)`);
18336
- for (const u of s.models)
18337
- console.log(` ${s.id}:${u.id}${u.name ? ": " + u.name : ""}`);
18446
+ for (const r of s.models)
18447
+ console.log(` ${s.id}:${r.id}${r.name ? ": " + r.name : ""}`);
18338
18448
  } else
18339
- for (const s of m) {
18449
+ for (const s of u) {
18340
18450
  console.log(`${s.name}: (${s.models.length} models)`);
18341
- for (const u of s.models)
18342
- console.log(` ${s.id}:${u.id}${u.name ? ": " + u.name : ""}`);
18451
+ for (const r of s.models)
18452
+ console.log(` ${s.id}:${r.id}${r.name ? ": " + r.name : ""}`);
18343
18453
  }
18344
18454
  process.exit(0);
18345
18455
  }
18346
- const n = f._[0] === "calc" ? Array.isArray(f.model) ? f.model : [f.model] : f._.filter((m) => typeof m == "string");
18456
+ const n = f._[0] === "calc" ? Array.isArray(f.model) ? f.model : [f.model] : f._.filter((u) => typeof u == "string");
18347
18457
  if (n.length > 0) {
18348
- const m = {
18458
+ const u = {
18349
18459
  cache_audio_read_tokens: f["cache-audio-read-tokens"] !== void 0 ? Number(f["cache-audio-read-tokens"]) : void 0,
18350
18460
  cache_read_tokens: f["cache-read-tokens"] !== void 0 ? Number(f["cache-read-tokens"]) : void 0,
18351
18461
  cache_write_tokens: f["cache-write-tokens"] !== void 0 ? Number(f["cache-write-tokens"]) : void 0,
@@ -18355,34 +18465,34 @@ function ee() {
18355
18465
  output_tokens: f["output-tokens"] !== void 0 ? Number(f["output-tokens"]) : void 0,
18356
18466
  requests: f.requests !== void 0 ? Number(f.requests) : void 0
18357
18467
  }, s = f.timestamp ? new Date(String(f.timestamp)) : void 0;
18358
- let u = !1;
18359
- for (const k of n) {
18360
- let h, _ = k;
18361
- _.includes(":") && ([h, _] = _.split(":", 2));
18468
+ let r = !1;
18469
+ for (const h of n) {
18470
+ let k, _ = h;
18471
+ _.includes(":") && ([k, _] = _.split(":", 2));
18362
18472
  try {
18363
- const q = te(m, _, { providerId: h, timestamp: s });
18473
+ const q = et(u, _, { providerId: k, timestamp: s });
18364
18474
  if (!q) {
18365
- u = !0, console.error(`No price found for model ${k}`);
18475
+ r = !0, console.error(`No price found for model ${h}`);
18366
18476
  continue;
18367
18477
  }
18368
- const B = q.model.context_window, Q = [
18478
+ const M = q.model.context_window, B = [
18369
18479
  ["Provider", q.provider.name],
18370
18480
  ["Model", q.model.name ?? q.model.id],
18371
18481
  ["Model Prices", JSON.stringify(q.model_price)],
18372
- ["Context Window", B !== void 0 ? B.toLocaleString() : void 0],
18482
+ ["Context Window", M !== void 0 ? M.toLocaleString() : void 0],
18373
18483
  ["Total Price", `$${q.total_price}`],
18374
18484
  ["Input Price", `$${q.input_price}`],
18375
18485
  ["Output Price", `$${q.output_price}`]
18376
18486
  ];
18377
- for (const [P, S] of Q)
18378
- S !== void 0 && console.log(`${P.padStart(14)}: ${S}`);
18487
+ for (const [S, A] of B)
18488
+ A !== void 0 && console.log(`${S.padStart(14)}: ${A}`);
18379
18489
  console.log("");
18380
18490
  } catch (q) {
18381
- u = !0, q instanceof Error && console.error(`Error for model ${k}:`, q.message);
18491
+ r = !0, q instanceof Error && console.error(`Error for model ${h}:`, q.message);
18382
18492
  }
18383
18493
  }
18384
- process.exit(u ? 1 : 0);
18494
+ process.exit(r ? 1 : 0);
18385
18495
  }
18386
- dt().showHelp(), process.exit(1);
18496
+ de().showHelp(), process.exit(1);
18387
18497
  }
18388
- ee();
18498
+ tt();