playlist-data-engine 1.7.2 → 1.7.3
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/README.md +6 -3
- package/dist/core/parser/TrackExtras.d.ts +150 -1
- package/dist/core/parser/TrackExtras.d.ts.map +1 -1
- package/dist/gateway-C_p9Ku3O.js +1211 -0
- package/dist/gateway-Ceg-5xug.cjs +1 -0
- package/dist/gateway.d.ts +2 -1
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +1 -1
- package/dist/gateway.mjs +19 -14
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/playlist-data-engine.js +34 -34
- package/dist/playlist-data-engine.mjs +961 -1240
- package/dist/utils/playlistUtils.d.ts +37 -0
- package/dist/utils/playlistUtils.d.ts.map +1 -1
- package/dist/utils/validators.d.ts +27 -0
- package/dist/utils/validators.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/gateway-DUk4nCao.cjs +0 -1
- package/dist/gateway-DyR4M-uH.js +0 -681
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { d as
|
|
2
|
-
import { A as
|
|
1
|
+
import { d as an, h as sn, l as Fi, n as nn, o as rn, p as on, q as ln, s as cn, t as Bt, w as un, u as dn, x as hn, y as pn, z as mn } from "./unifyBeatMap-k6vw_JPQ.js";
|
|
2
|
+
import { A as Hp, C as zp, E as qp, F as Up, k as jp, B as Gp, j as Vp, H as Zp, I as Yp, J as Xp, D as Kp, K as Jp, L as Qp, M as em, N as tm, O as am, Q as im, T as sm, U as nm, V as rm, e as om, W as lm, X as cm, Y as um, Z as dm, _ as hm, $ as pm, G as mm, a0 as gm, a1 as fm, a2 as ym, a3 as vm, a4 as bm, a5 as wm, a6 as Sm, a7 as _m, a8 as km, a9 as Am, aa as Tm, ab as Cm, ac as Im, ad as Mm, ae as Em, P as Dm, af as Rm, R as xm, ag as Pm, ah as $m, ai as Nm, S as Om, aj as Bm, ak as Lm, al as Fm, am as Wm, an as Hm, a as zm, ao as qm, ap as Um, aq as jm, ar as Gm, as as Vm, at as Zm, au as Ym, av as Xm, aw as Km, ax as Jm, ay as Qm, az as eg, aA as tg, aB as ag, aC as ig, aD as sg, aE as ng, aF as rg, aG as og, aH as lg, aI as cg, aJ as ug, aK as dg, aL as hg, aM as pg, aN as mg, aO as gg, aP as fg, aQ as yg, aR as vg, aS as bg, aT as wg, i as Sg, aU as _g, f as kg, aV as Ag, aW as Tg, aX as Cg, b as Ig, aY as Mg, m as Eg, aZ as Dg, a_ as Rg, a$ as xg, b0 as Pg, r as $g, v as Ng, b1 as Og, b2 as Bg, b3 as Lg, b4 as Fg, b5 as Wg, b6 as Hg } from "./unifyBeatMap-k6vw_JPQ.js";
|
|
3
3
|
import { a as wt, L as ye } from "./arweaveGatewayManager-DDSO5sLJ.js";
|
|
4
|
-
import { A as
|
|
5
|
-
import { M as ge } from "./gateway-
|
|
6
|
-
import { D as
|
|
4
|
+
import { A as qg, D as Ug, K as jg, b as Gg, c as Vg, d as Zg, g as Yg, i as Xg, p as Kg } from "./arweaveGatewayManager-DDSO5sLJ.js";
|
|
5
|
+
import { M as ge, g as gn, r as fn } from "./gateway-C_p9Ku3O.js";
|
|
6
|
+
import { D as Qg, K as ef, e as tf, a as af, f as sf, b as nf, c as rf, d as of, h as lf, i as cf, j as uf, k as df, l as hf, m as pf, n as mf, o as gf, p as ff, q as yf, s as vf, t as bf, u as wf, v as Sf, w as _f, x as kf, y as Af, z as Tf } from "./gateway-C_p9Ku3O.js";
|
|
7
7
|
const yn = {
|
|
8
8
|
0: "",
|
|
9
9
|
1: "I",
|
|
@@ -17,13 +17,13 @@ const yn = {
|
|
|
17
17
|
9: "IX",
|
|
18
18
|
10: "X"
|
|
19
19
|
}, ot = 10, vn = 10, bn = 1e3, Ma = 1.5;
|
|
20
|
-
function
|
|
20
|
+
function th(s) {
|
|
21
21
|
return typeof s == "number" && Number.isInteger(s) && s >= 0 && s <= 10;
|
|
22
22
|
}
|
|
23
23
|
function wn(s) {
|
|
24
24
|
return Math.max(0, Math.min(10, Math.floor(s)));
|
|
25
25
|
}
|
|
26
|
-
function
|
|
26
|
+
function ah(s) {
|
|
27
27
|
return typeof s == "string" && ["normal", "aggressive"].includes(s);
|
|
28
28
|
}
|
|
29
29
|
const et = {
|
|
@@ -2574,8 +2574,8 @@ class _e {
|
|
|
2574
2574
|
* Generate a random float between 0.0 and 1.0
|
|
2575
2575
|
*/
|
|
2576
2576
|
random() {
|
|
2577
|
-
const e =
|
|
2578
|
-
return this.counter++,
|
|
2577
|
+
const e = an(this.seed, this.counter.toString());
|
|
2578
|
+
return this.counter++, sn(e);
|
|
2579
2579
|
}
|
|
2580
2580
|
/**
|
|
2581
2581
|
* Generate a random integer between min (inclusive) and max (exclusive)
|
|
@@ -2696,7 +2696,7 @@ const An = {
|
|
|
2696
2696
|
13: 1,
|
|
2697
2697
|
14: 1,
|
|
2698
2698
|
15: 1
|
|
2699
|
-
},
|
|
2699
|
+
}, ih = {
|
|
2700
2700
|
/** Default tuning factor (no adjustment) */
|
|
2701
2701
|
DEFAULT: 1,
|
|
2702
2702
|
/** 10% easier encounters */
|
|
@@ -2717,10 +2717,10 @@ function Tn(s, e) {
|
|
|
2717
2717
|
function ca(s, e) {
|
|
2718
2718
|
return s.reduce((t, a) => t + Tn(a, e), 0);
|
|
2719
2719
|
}
|
|
2720
|
-
function
|
|
2720
|
+
function Wi(s) {
|
|
2721
2721
|
return Yt[s] || 0;
|
|
2722
2722
|
}
|
|
2723
|
-
function
|
|
2723
|
+
function Hi(s) {
|
|
2724
2724
|
if (s <= 0) return 0;
|
|
2725
2725
|
const e = Object.keys(Yt).map(Number).sort((n, r) => n - r);
|
|
2726
2726
|
let t = 0, a = e.length - 1, i = 0;
|
|
@@ -2730,14 +2730,14 @@ function qi(s) {
|
|
|
2730
2730
|
}
|
|
2731
2731
|
return i;
|
|
2732
2732
|
}
|
|
2733
|
-
function
|
|
2733
|
+
function sh(s, e = 1) {
|
|
2734
2734
|
return Math.round(s * e);
|
|
2735
2735
|
}
|
|
2736
2736
|
function kt(s) {
|
|
2737
2737
|
return s <= 0 ? 1 : s >= 15 ? Da[15] : Da[s] || 1;
|
|
2738
2738
|
}
|
|
2739
|
-
function
|
|
2740
|
-
const t = s.reduce((i, n) => i +
|
|
2739
|
+
function nh(s, e) {
|
|
2740
|
+
const t = s.reduce((i, n) => i + Wi(n), 0), a = e !== void 0 ? e : kt(s.length);
|
|
2741
2741
|
return Math.round(t * a);
|
|
2742
2742
|
}
|
|
2743
2743
|
function Cn(s) {
|
|
@@ -2745,7 +2745,7 @@ function Cn(s) {
|
|
|
2745
2745
|
const e = s.reduce((t, a) => t + a, 0);
|
|
2746
2746
|
return Math.floor(e / s.length);
|
|
2747
2747
|
}
|
|
2748
|
-
function
|
|
2748
|
+
function rh(s) {
|
|
2749
2749
|
return typeof s == "string" && ["easy", "medium", "hard", "deadly"].includes(s);
|
|
2750
2750
|
}
|
|
2751
2751
|
class In {
|
|
@@ -3276,7 +3276,7 @@ class In {
|
|
|
3276
3276
|
i = Math.ceil(e.history.length / Math.max(1, e.combatants.length));
|
|
3277
3277
|
const n = t.filter((c) => c.isDefeated).reduce((c, u) => {
|
|
3278
3278
|
const d = u.character.cr ?? u.character.level;
|
|
3279
|
-
return c +
|
|
3279
|
+
return c + Wi(d);
|
|
3280
3280
|
}, 0), r = e.winner ? `${e.winner.character.name} won the combat!` : "Combat ended in a draw.";
|
|
3281
3281
|
let o = 0, l = [];
|
|
3282
3282
|
if (this.config.treasure) {
|
|
@@ -5555,16 +5555,16 @@ const xn = [
|
|
|
5555
5555
|
...On,
|
|
5556
5556
|
...Bn
|
|
5557
5557
|
];
|
|
5558
|
-
function
|
|
5558
|
+
function oh(s) {
|
|
5559
5559
|
return tt.find((e) => e.id === s);
|
|
5560
5560
|
}
|
|
5561
|
-
function
|
|
5561
|
+
function lh(s) {
|
|
5562
5562
|
return tt.filter((e) => e.category === s);
|
|
5563
5563
|
}
|
|
5564
|
-
function
|
|
5564
|
+
function ch(s) {
|
|
5565
5565
|
return tt.filter((e) => e.archetype === s);
|
|
5566
5566
|
}
|
|
5567
|
-
const
|
|
5567
|
+
const zi = {
|
|
5568
5568
|
common: {
|
|
5569
5569
|
statMultiplier: 1,
|
|
5570
5570
|
hpMultiplier: 1,
|
|
@@ -5595,15 +5595,15 @@ const Ui = {
|
|
|
5595
5595
|
}
|
|
5596
5596
|
};
|
|
5597
5597
|
function We(s) {
|
|
5598
|
-
return
|
|
5598
|
+
return zi[s];
|
|
5599
5599
|
}
|
|
5600
|
-
function
|
|
5601
|
-
return `1d${
|
|
5600
|
+
function uh(s) {
|
|
5601
|
+
return `1d${zi[s].signatureDieSize}`;
|
|
5602
5602
|
}
|
|
5603
5603
|
function Fn() {
|
|
5604
5604
|
return ["common", "uncommon", "elite", "boss"];
|
|
5605
5605
|
}
|
|
5606
|
-
function
|
|
5606
|
+
function dh(s) {
|
|
5607
5607
|
const e = Fn(), t = e.indexOf(s);
|
|
5608
5608
|
if (!(t === -1 || t === e.length - 1))
|
|
5609
5609
|
return e[t + 1];
|
|
@@ -5659,14 +5659,14 @@ const at = ["STR", "DEX", "CON", "INT", "WIS", "CHA"];
|
|
|
5659
5659
|
function De(s) {
|
|
5660
5660
|
return at.includes(s);
|
|
5661
5661
|
}
|
|
5662
|
-
const
|
|
5662
|
+
const qi = [
|
|
5663
5663
|
"http://",
|
|
5664
5664
|
"https://",
|
|
5665
5665
|
"/",
|
|
5666
5666
|
"assets/"
|
|
5667
5667
|
];
|
|
5668
|
-
function
|
|
5669
|
-
return typeof s != "string" || s.trim() === "" ? !1 :
|
|
5668
|
+
function Ui(s) {
|
|
5669
|
+
return typeof s != "string" || s.trim() === "" ? !1 : qi.some((e) => s.startsWith(e));
|
|
5670
5670
|
}
|
|
5671
5671
|
function xa(s, e) {
|
|
5672
5672
|
return s === void 0 ? { valid: !0, errors: [] } : typeof s != "string" ? {
|
|
@@ -5675,10 +5675,10 @@ function xa(s, e) {
|
|
|
5675
5675
|
} : s.trim() === "" ? {
|
|
5676
5676
|
valid: !1,
|
|
5677
5677
|
errors: [`${e} cannot be an empty string`]
|
|
5678
|
-
} :
|
|
5678
|
+
} : Ui(s) ? { valid: !0, errors: [] } : {
|
|
5679
5679
|
valid: !1,
|
|
5680
5680
|
errors: [
|
|
5681
|
-
`${e} must start with one of: ${
|
|
5681
|
+
`${e} must start with one of: ${qi.join(", ")} (got: "${s}")`
|
|
5682
5682
|
]
|
|
5683
5683
|
};
|
|
5684
5684
|
}
|
|
@@ -5978,16 +5978,16 @@ class Ge {
|
|
|
5978
5978
|
return /^[a-z][a-z0-9_]*$/.test(e);
|
|
5979
5979
|
}
|
|
5980
5980
|
}
|
|
5981
|
-
function
|
|
5981
|
+
function hh(s, e) {
|
|
5982
5982
|
return Ge.validateClassFeature(s, e);
|
|
5983
5983
|
}
|
|
5984
|
-
function
|
|
5984
|
+
function ph(s, e) {
|
|
5985
5985
|
return Ge.validateRacialTrait(s, e);
|
|
5986
5986
|
}
|
|
5987
|
-
function
|
|
5987
|
+
function mh(s) {
|
|
5988
5988
|
return Ge.validateClassFeatures(s);
|
|
5989
5989
|
}
|
|
5990
|
-
function
|
|
5990
|
+
function gh(s) {
|
|
5991
5991
|
return Ge.validateRacialTraits(s);
|
|
5992
5992
|
}
|
|
5993
5993
|
function jn(s) {
|
|
@@ -6029,7 +6029,7 @@ function jn(s) {
|
|
|
6029
6029
|
errors: e
|
|
6030
6030
|
};
|
|
6031
6031
|
}
|
|
6032
|
-
function
|
|
6032
|
+
function ji(s, e) {
|
|
6033
6033
|
const t = [];
|
|
6034
6034
|
if (!s)
|
|
6035
6035
|
return { valid: !0, errors: [] };
|
|
@@ -6227,25 +6227,25 @@ class Se {
|
|
|
6227
6227
|
* @returns Validation result with unmet prerequisites if any
|
|
6228
6228
|
*/
|
|
6229
6229
|
static validateSkillPrerequisites(e, t) {
|
|
6230
|
-
return
|
|
6230
|
+
return ji(e, t);
|
|
6231
6231
|
}
|
|
6232
6232
|
}
|
|
6233
|
-
function
|
|
6233
|
+
function fh(s) {
|
|
6234
6234
|
return Se.validateSkill(s);
|
|
6235
6235
|
}
|
|
6236
|
-
function
|
|
6236
|
+
function yh(s) {
|
|
6237
6237
|
return Se.validateSkills(s);
|
|
6238
6238
|
}
|
|
6239
|
-
function
|
|
6239
|
+
function vh(s) {
|
|
6240
6240
|
return Se.validateSkillProficiency(s);
|
|
6241
6241
|
}
|
|
6242
|
-
function
|
|
6242
|
+
function bh(s) {
|
|
6243
6243
|
return Se.validateSkillProficiencies(s);
|
|
6244
6244
|
}
|
|
6245
|
-
function
|
|
6245
|
+
function wh(s) {
|
|
6246
6246
|
return Se.validateSkillListDefinition(s);
|
|
6247
6247
|
}
|
|
6248
|
-
function
|
|
6248
|
+
function Sh(s, e) {
|
|
6249
6249
|
return Se.validateSkillPrerequisites(s, e);
|
|
6250
6250
|
}
|
|
6251
6251
|
const Lt = [
|
|
@@ -6333,7 +6333,7 @@ class Re {
|
|
|
6333
6333
|
* @returns Validation result with unmet prerequisites if any
|
|
6334
6334
|
*/
|
|
6335
6335
|
static validateSpellPrerequisites(e, t) {
|
|
6336
|
-
return
|
|
6336
|
+
return ji(e, t);
|
|
6337
6337
|
}
|
|
6338
6338
|
/**
|
|
6339
6339
|
* Check if a string is a valid ability score
|
|
@@ -6365,16 +6365,16 @@ class Re {
|
|
|
6365
6365
|
return Ft.includes(e);
|
|
6366
6366
|
}
|
|
6367
6367
|
}
|
|
6368
|
-
function
|
|
6368
|
+
function _h(s) {
|
|
6369
6369
|
return Re.validateSpell(s);
|
|
6370
6370
|
}
|
|
6371
|
-
function
|
|
6371
|
+
function kh(s) {
|
|
6372
6372
|
return Re.validateSpells(s);
|
|
6373
6373
|
}
|
|
6374
|
-
function
|
|
6374
|
+
function Ah(s) {
|
|
6375
6375
|
return Re.validatePrerequisites(s);
|
|
6376
6376
|
}
|
|
6377
|
-
function
|
|
6377
|
+
function Th(s, e) {
|
|
6378
6378
|
return Re.validateSpellPrerequisites(s, e);
|
|
6379
6379
|
}
|
|
6380
6380
|
class he {
|
|
@@ -6563,7 +6563,7 @@ class he {
|
|
|
6563
6563
|
return this.getAllSkills().filter((t) => t.prerequisites ? this.validatePrerequisites(t, e).valid : !0);
|
|
6564
6564
|
}
|
|
6565
6565
|
}
|
|
6566
|
-
function
|
|
6566
|
+
function Ch() {
|
|
6567
6567
|
return he.getInstance();
|
|
6568
6568
|
}
|
|
6569
6569
|
const Xe = ["STR", "DEX", "CON", "INT", "WIS", "CHA"], Wa = ["weapon", "armor", "item", "box"], Ha = ["common", "uncommon", "rare", "very_rare", "legendary"], za = [
|
|
@@ -7298,7 +7298,7 @@ const Ie = {
|
|
|
7298
7298
|
amplitude: 0.7,
|
|
7299
7299
|
treble: 0.5
|
|
7300
7300
|
}
|
|
7301
|
-
},
|
|
7301
|
+
}, Gi = {
|
|
7302
7302
|
// Cantrips (Level 0)
|
|
7303
7303
|
"Acid Splash": { name: "Acid Splash", level: 0, school: "Evocation", casting_time: "1 action", range: "60 feet", components: ["V", "S"], duration: "Instantaneous", description: "Hurls a bubble of acid at a creature or point. On hit, deals acid damage to creatures in a small splash radius. Dexterity save for half damage." },
|
|
7304
7304
|
"Fire Bolt": { name: "Fire Bolt", level: 0, school: "Evocation", casting_time: "1 action", range: "120 feet", components: ["V", "S"], duration: "Instantaneous", description: "Hurls a mote of fire at a creature or object. On hit, deals fire damage. One of the most reliable damaging cantrips for ranged combat." },
|
|
@@ -7617,7 +7617,7 @@ const Ie = {
|
|
|
7617
7617
|
20: { 1: 4, 2: 4, 3: 4, 4: 4, 5: 4 }
|
|
7618
7618
|
}
|
|
7619
7619
|
};
|
|
7620
|
-
function
|
|
7620
|
+
function Vi(s) {
|
|
7621
7621
|
if (s in Ie)
|
|
7622
7622
|
return Ie[s];
|
|
7623
7623
|
try {
|
|
@@ -7661,7 +7661,7 @@ const At = {
|
|
|
7661
7661
|
18: 265e3,
|
|
7662
7662
|
19: 305e3,
|
|
7663
7663
|
20: 355e3
|
|
7664
|
-
},
|
|
7664
|
+
}, Zi = {
|
|
7665
7665
|
1: 2,
|
|
7666
7666
|
2: 2,
|
|
7667
7667
|
3: 2,
|
|
@@ -7808,7 +7808,7 @@ const At = {
|
|
|
7808
7808
|
"Triumphant",
|
|
7809
7809
|
"Immortal"
|
|
7810
7810
|
]
|
|
7811
|
-
},
|
|
7811
|
+
}, Ih = {
|
|
7812
7812
|
// STR-based
|
|
7813
7813
|
athletics: "STR",
|
|
7814
7814
|
// DEX-based
|
|
@@ -7843,7 +7843,7 @@ function Za(s) {
|
|
|
7843
7843
|
} catch {
|
|
7844
7844
|
}
|
|
7845
7845
|
}
|
|
7846
|
-
function
|
|
7846
|
+
function Yi(s, e) {
|
|
7847
7847
|
if (s in Va) {
|
|
7848
7848
|
const t = Va[s];
|
|
7849
7849
|
if (t && e in t)
|
|
@@ -7862,7 +7862,7 @@ function Ki(s, e) {
|
|
|
7862
7862
|
} catch {
|
|
7863
7863
|
}
|
|
7864
7864
|
}
|
|
7865
|
-
const
|
|
7865
|
+
const Mh = 10, Xn = 50;
|
|
7866
7866
|
class Me {
|
|
7867
7867
|
constructor() {
|
|
7868
7868
|
this.allSpellsCache = null, this.levelCache = null, this.schoolCache = null, this.manager = R.getInstance();
|
|
@@ -7991,7 +7991,7 @@ class Me {
|
|
|
7991
7991
|
* @returns Number of spell slots at this level, or 0 if not a spellcaster
|
|
7992
7992
|
*/
|
|
7993
7993
|
getSpellSlotsForClass(e, t) {
|
|
7994
|
-
const a =
|
|
7994
|
+
const a = Yi(e, t);
|
|
7995
7995
|
return a ? Object.values(a).reduce((n, r) => n + r, 0) : 0;
|
|
7996
7996
|
}
|
|
7997
7997
|
/**
|
|
@@ -8078,7 +8078,7 @@ class Me {
|
|
|
8078
8078
|
};
|
|
8079
8079
|
}
|
|
8080
8080
|
}
|
|
8081
|
-
function
|
|
8081
|
+
function Eh() {
|
|
8082
8082
|
return Me.getInstance();
|
|
8083
8083
|
}
|
|
8084
8084
|
class R {
|
|
@@ -8856,7 +8856,7 @@ ${n.map((d) => ` - ${d}`).join(`
|
|
|
8856
8856
|
* @private
|
|
8857
8857
|
*/
|
|
8858
8858
|
validateImageField(e, t) {
|
|
8859
|
-
return
|
|
8859
|
+
return Ui(e) ? null : `${t}: ${e} (URLs must start with: http://, https://, /, or assets/)`;
|
|
8860
8860
|
}
|
|
8861
8861
|
/**
|
|
8862
8862
|
* Validate multiple image URLs and collect errors
|
|
@@ -8880,7 +8880,7 @@ ${n.map((d) => ` - ${d}`).join(`
|
|
|
8880
8880
|
const Kn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
8881
8881
|
__proto__: null,
|
|
8882
8882
|
ExtensionManager: R
|
|
8883
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
8883
|
+
}, Symbol.toStringTag, { value: "Module" })), Xi = {
|
|
8884
8884
|
Human: {
|
|
8885
8885
|
ability_bonuses: { STR: 1, DEX: 1, CON: 1, INT: 1, WIS: 1, CHA: 1 },
|
|
8886
8886
|
speed: 30,
|
|
@@ -8941,12 +8941,12 @@ const Kn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
8941
8941
|
traits: ["Darkvision", "Hellish Resistance", "Infernal Legacy"],
|
|
8942
8942
|
description: "Tieflings are humanoids with infernal blood, often bearing horns, tails, and other fiendish features. Their ancestry grants them resistance to fire and innate magical abilities. Though often feared and distrusted due to their appearance, tieflings are as varied in morality and ambition as any other race, with many becoming powerful warlocks, sorcerers, or charismatic leaders."
|
|
8943
8943
|
}
|
|
8944
|
-
},
|
|
8944
|
+
}, Dh = Xi, Jn = Object.entries(Xi).map(([s, e]) => ({
|
|
8945
8945
|
race: s,
|
|
8946
8946
|
...e
|
|
8947
8947
|
}));
|
|
8948
8948
|
let Wt = null, Ht = null;
|
|
8949
|
-
async function
|
|
8949
|
+
async function Rh(s) {
|
|
8950
8950
|
try {
|
|
8951
8951
|
Wt || (Ht || (Ht = Promise.resolve().then(() => Kn)), Wt = (await Ht).ExtensionManager);
|
|
8952
8952
|
const t = Wt.getInstance().get("races.data");
|
|
@@ -9431,7 +9431,7 @@ class se {
|
|
|
9431
9431
|
return e;
|
|
9432
9432
|
}
|
|
9433
9433
|
}
|
|
9434
|
-
function
|
|
9434
|
+
function xh() {
|
|
9435
9435
|
return se.getInstance();
|
|
9436
9436
|
}
|
|
9437
9437
|
const Qn = {
|
|
@@ -11034,8 +11034,8 @@ const nr = {
|
|
|
11034
11034
|
{ minLevel: 20, die: "2d8" },
|
|
11035
11035
|
{ minLevel: 25, die: "2d10" },
|
|
11036
11036
|
{ minLevel: 30, die: "3d8" }
|
|
11037
|
-
],
|
|
11038
|
-
function
|
|
11037
|
+
], Ki = 0.2, lr = 0.2;
|
|
11038
|
+
function Ji(s) {
|
|
11039
11039
|
switch (s) {
|
|
11040
11040
|
case "brute":
|
|
11041
11041
|
return "STR";
|
|
@@ -11046,14 +11046,14 @@ function es(s) {
|
|
|
11046
11046
|
}
|
|
11047
11047
|
}
|
|
11048
11048
|
function Qa(s, e, t) {
|
|
11049
|
-
const a = We(t), i = nr[t], n = Math.pow(e, i), r =
|
|
11049
|
+
const a = We(t), i = nr[t], n = Math.pow(e, i), r = Qi(e);
|
|
11050
11050
|
return Math.round(s * n * a.hpMultiplier * r);
|
|
11051
11051
|
}
|
|
11052
|
-
function
|
|
11052
|
+
function Qi(s) {
|
|
11053
11053
|
return s >= 1 ? 1 : s <= 0 ? 0.5 : 0.5 + 0.5 * s;
|
|
11054
11054
|
}
|
|
11055
11055
|
function ft(s, e, t, a) {
|
|
11056
|
-
const i =
|
|
11056
|
+
const i = Ji(a), n = Math.floor(((s[i] ?? 10) - 10) / 2), r = Math.ceil(1 + (e - 1) / 4), o = cr(e), l = Math.floor(Ki * (e - 1)), c = n + l, u = Math.floor(rr * (e - 1)), d = r + n + u;
|
|
11057
11057
|
return { damageDie: o, damageModifier: c, attackBonus: d };
|
|
11058
11058
|
}
|
|
11059
11059
|
function cr(s) {
|
|
@@ -11072,7 +11072,7 @@ function ei(s, e, t, a) {
|
|
|
11072
11072
|
return n + i + r + o;
|
|
11073
11073
|
}
|
|
11074
11074
|
function ur(s, e, t) {
|
|
11075
|
-
const a =
|
|
11075
|
+
const a = Ji(t), i = Math.floor(((s[a] ?? 10) - 10) / 2), n = Math.floor(Ki * (e - 1));
|
|
11076
11076
|
return i + n;
|
|
11077
11077
|
}
|
|
11078
11078
|
const T = class T {
|
|
@@ -11694,21 +11694,21 @@ const T = class T {
|
|
|
11694
11694
|
rarity: r,
|
|
11695
11695
|
seed: `${t}-equipment`
|
|
11696
11696
|
});
|
|
11697
|
-
let
|
|
11697
|
+
let F, Q;
|
|
11698
11698
|
if (u?.attackLevel !== void 0) {
|
|
11699
11699
|
const D = ft(m, u.attackLevel, r, h.archetype);
|
|
11700
|
-
|
|
11700
|
+
F = D.damageDie, Q = D.damageModifier;
|
|
11701
11701
|
} else {
|
|
11702
11702
|
const D = ft(m, g, r, h.archetype);
|
|
11703
|
-
|
|
11703
|
+
F = D.damageDie, Q = D.damageModifier;
|
|
11704
11704
|
}
|
|
11705
11705
|
const X = [];
|
|
11706
11706
|
if ($.weapon) {
|
|
11707
11707
|
const D = ze.getEquipmentName($.weapon.id), N = et[D];
|
|
11708
11708
|
N && X.push({
|
|
11709
11709
|
name: D,
|
|
11710
|
-
damage: `${
|
|
11711
|
-
damage_dice:
|
|
11710
|
+
damage: `${F} + ${Q}`,
|
|
11711
|
+
damage_dice: F,
|
|
11712
11712
|
damage_type: N.damage?.damageType || h.signatureAbility.damageType,
|
|
11713
11713
|
type: h.signatureAbility.attackType,
|
|
11714
11714
|
range: h.signatureAbility.range,
|
|
@@ -11718,8 +11718,8 @@ const T = class T {
|
|
|
11718
11718
|
}
|
|
11719
11719
|
X.length === 0 && X.push({
|
|
11720
11720
|
name: h.signatureAbility.name,
|
|
11721
|
-
damage: `${
|
|
11722
|
-
damage_dice:
|
|
11721
|
+
damage: `${F} + ${Q}`,
|
|
11722
|
+
damage_dice: F,
|
|
11723
11723
|
damage_type: h.signatureAbility.damageType,
|
|
11724
11724
|
type: h.signatureAbility.attackType,
|
|
11725
11725
|
range: h.signatureAbility.range,
|
|
@@ -11739,8 +11739,8 @@ const T = class T {
|
|
|
11739
11739
|
let K;
|
|
11740
11740
|
if (u?.defenseLevel !== void 0 ? K = ei(m, u.defenseLevel, h.baseAC, $) : K = ei(m, g, h.baseAC, $), a !== void 0) {
|
|
11741
11741
|
const D = h.archetype === "brute" ? "STR" : h.archetype === "archer" ? "DEX" : "CHA", N = T.estimateWeaponDPR(
|
|
11742
|
-
|
|
11743
|
-
|
|
11742
|
+
F,
|
|
11743
|
+
Q,
|
|
11744
11744
|
b,
|
|
11745
11745
|
f[D]
|
|
11746
11746
|
), be = T.getMinHPRatio(a), de = Math.ceil(N * be);
|
|
@@ -11895,7 +11895,7 @@ const T = class T {
|
|
|
11895
11895
|
* @returns Stat multiplier
|
|
11896
11896
|
*/
|
|
11897
11897
|
static getStatMultiplierForFractionalCR(e) {
|
|
11898
|
-
return
|
|
11898
|
+
return Qi(e);
|
|
11899
11899
|
}
|
|
11900
11900
|
/**
|
|
11901
11901
|
* Get damage die notation for rarity
|
|
@@ -12011,10 +12011,10 @@ const T = class T {
|
|
|
12011
12011
|
`Boss encounters must have count=1. Requested count=${i} with baseRarity='boss'. Boss enemies are designed for solo encounters against a party. Use a lower rarity (common/uncommon/elite) for multi-enemy encounters, or set count=1 for a boss encounter.`
|
|
12012
12012
|
);
|
|
12013
12013
|
const y = e.map((V) => V.level), b = ca(y, n), I = Math.round(b * l), C = kt(i), E = Math.round(I / C / i);
|
|
12014
|
-
let x =
|
|
12014
|
+
let x = Hi(E);
|
|
12015
12015
|
const P = T.getSeededRNG(a), $ = P.random();
|
|
12016
12016
|
$ < 0.25 ? x = Math.min(x * 1.5, 30) : $ > 0.75 && (x = Math.max(x * 0.67, 0.125));
|
|
12017
|
-
const
|
|
12017
|
+
const F = o ? T.getRarityDistribution(i, x) : Array(i).fill(r), Q = T.selectTemplatesForMix(
|
|
12018
12018
|
i,
|
|
12019
12019
|
P,
|
|
12020
12020
|
h,
|
|
@@ -12024,7 +12024,7 @@ const T = class T {
|
|
|
12024
12024
|
g
|
|
12025
12025
|
), X = [];
|
|
12026
12026
|
for (let V = 0; V < i; V++) {
|
|
12027
|
-
const oe =
|
|
12027
|
+
const oe = Q[V];
|
|
12028
12028
|
if (!oe)
|
|
12029
12029
|
throw new Error(`No template available for enemy at index ${V}`);
|
|
12030
12030
|
const K = T.generate({
|
|
@@ -12032,7 +12032,7 @@ const T = class T {
|
|
|
12032
12032
|
templateId: oe.id,
|
|
12033
12033
|
cr: x,
|
|
12034
12034
|
// Pass CR for proper level scaling (Task 1.4)
|
|
12035
|
-
rarity:
|
|
12035
|
+
rarity: F[V],
|
|
12036
12036
|
// Use distributed rarity (Task 2.3)
|
|
12037
12037
|
difficultyMultiplier: l,
|
|
12038
12038
|
audioProfile: g,
|
|
@@ -12119,7 +12119,7 @@ const T = class T {
|
|
|
12119
12119
|
const $ = E[P];
|
|
12120
12120
|
if (!$)
|
|
12121
12121
|
throw new Error(`No template available for enemy at index ${P}`);
|
|
12122
|
-
const
|
|
12122
|
+
const F = T.generate({
|
|
12123
12123
|
seed: `${t}-${P}`,
|
|
12124
12124
|
templateId: $.id,
|
|
12125
12125
|
cr: b,
|
|
@@ -12131,7 +12131,7 @@ const T = class T {
|
|
|
12131
12131
|
track: g,
|
|
12132
12132
|
...f ? { statLevels: f } : {}
|
|
12133
12133
|
});
|
|
12134
|
-
x.push(
|
|
12134
|
+
x.push(F);
|
|
12135
12135
|
}
|
|
12136
12136
|
return m && !r && T.applyLeaderPromotion(x, C, n), x;
|
|
12137
12137
|
}
|
|
@@ -12646,13 +12646,13 @@ function ti(s, e = 20) {
|
|
|
12646
12646
|
percent: s.length > 0 ? o.count / s.length * 100 : 0
|
|
12647
12647
|
}));
|
|
12648
12648
|
}
|
|
12649
|
-
const
|
|
12649
|
+
const es = {
|
|
12650
12650
|
easy: { min: 0.9, max: 1 },
|
|
12651
12651
|
medium: { min: 0.7, max: 0.8 },
|
|
12652
12652
|
hard: { min: 0.5, max: 0.6 },
|
|
12653
12653
|
deadly: { min: 0.3, max: 0.4 }
|
|
12654
12654
|
};
|
|
12655
|
-
class
|
|
12655
|
+
class Ph {
|
|
12656
12656
|
/**
|
|
12657
12657
|
* Validate an encounter by running simulations and analyzing results.
|
|
12658
12658
|
*
|
|
@@ -12680,7 +12680,7 @@ class jh {
|
|
|
12680
12680
|
* @returns Complete balance analysis report
|
|
12681
12681
|
*/
|
|
12682
12682
|
analyze(e, t) {
|
|
12683
|
-
const { summary: a } = e, i = a.playerWinRate, n =
|
|
12683
|
+
const { summary: a } = e, i = a.playerWinRate, n = es[t], r = this.classifyDifficulty(i), o = this.calculateBalanceScore(i, n), l = this.classifyVariance(i, n), c = this.calculateConfidence(a.totalRuns), u = this.generateRecommendations(
|
|
12684
12684
|
i,
|
|
12685
12685
|
n,
|
|
12686
12686
|
r,
|
|
@@ -12824,7 +12824,7 @@ class jh {
|
|
|
12824
12824
|
return o;
|
|
12825
12825
|
}
|
|
12826
12826
|
}
|
|
12827
|
-
class
|
|
12827
|
+
class $h {
|
|
12828
12828
|
/**
|
|
12829
12829
|
* Run a parameter sweep.
|
|
12830
12830
|
*
|
|
@@ -13036,7 +13036,7 @@ class Gh {
|
|
|
13036
13036
|
};
|
|
13037
13037
|
}
|
|
13038
13038
|
}
|
|
13039
|
-
class
|
|
13039
|
+
class Nh {
|
|
13040
13040
|
/**
|
|
13041
13041
|
* Compare two encounter configurations using identical-seed simulation.
|
|
13042
13042
|
*
|
|
@@ -13288,13 +13288,13 @@ const ie = class ie {
|
|
|
13288
13288
|
onProgress: h
|
|
13289
13289
|
} = i, p = [];
|
|
13290
13290
|
let g = 0;
|
|
13291
|
-
const m = e.map((O) => O.level), f = ca(m, a), y = kt(u), b = f / y, I =
|
|
13291
|
+
const m = e.map((O) => O.level), f = ca(m, a), y = kt(u), b = f / y, I = Hi(b);
|
|
13292
13292
|
let C = ie.CR_FLOOR, E = ie.CR_CEILING, x = Math.max(C, Math.min(E, I));
|
|
13293
|
-
const P =
|
|
13294
|
-
let $ = !1,
|
|
13293
|
+
const P = es[a];
|
|
13294
|
+
let $ = !1, F = null, Q = !1;
|
|
13295
13295
|
for (let O = 0; O < c; O++) {
|
|
13296
13296
|
if (d?.aborted) {
|
|
13297
|
-
|
|
13297
|
+
Q = !0;
|
|
13298
13298
|
break;
|
|
13299
13299
|
}
|
|
13300
13300
|
h?.(O + 1, c, x);
|
|
@@ -13319,7 +13319,7 @@ const ie = class ie {
|
|
|
13319
13319
|
};
|
|
13320
13320
|
p.push(N);
|
|
13321
13321
|
const be = (P.min + P.max) / 2;
|
|
13322
|
-
if ((!
|
|
13322
|
+
if ((!F || Math.abs(N.winRate - be) < Math.abs(F.winRate - be)) && (F = N), N.winRate >= P.min && N.winRate <= P.max) {
|
|
13323
13323
|
$ = !0;
|
|
13324
13324
|
break;
|
|
13325
13325
|
}
|
|
@@ -13331,14 +13331,14 @@ const ie = class ie {
|
|
|
13331
13331
|
} else
|
|
13332
13332
|
x = de;
|
|
13333
13333
|
}
|
|
13334
|
-
const X =
|
|
13335
|
-
|
|
13334
|
+
const X = F?.cr ?? x, V = this.generateEnemy(t, X, o), oe = this.calculateMarginOfError(F?.totalRuns ?? l), K = this.formatConfidenceInterval(
|
|
13335
|
+
F?.winRate ?? 0,
|
|
13336
13336
|
oe
|
|
13337
13337
|
);
|
|
13338
13338
|
return {
|
|
13339
13339
|
targetDifficulty: a,
|
|
13340
13340
|
recommendedCR: this.roundCR(X),
|
|
13341
|
-
winRate:
|
|
13341
|
+
winRate: F?.winRate ?? 0,
|
|
13342
13342
|
expectedWinRateRange: P,
|
|
13343
13343
|
confidenceInterval: K,
|
|
13344
13344
|
marginOfError: oe,
|
|
@@ -13348,7 +13348,7 @@ const ie = class ie {
|
|
|
13348
13348
|
probes: p,
|
|
13349
13349
|
initialCREstimate: this.roundCR(I),
|
|
13350
13350
|
suggestedEnemy: V,
|
|
13351
|
-
wasCancelled:
|
|
13351
|
+
wasCancelled: Q
|
|
13352
13352
|
};
|
|
13353
13353
|
}
|
|
13354
13354
|
/**
|
|
@@ -13507,7 +13507,7 @@ function Jt(s) {
|
|
|
13507
13507
|
maxMultiplier: s.maxMultiplier ?? Ee.maxMultiplier
|
|
13508
13508
|
} : Ee;
|
|
13509
13509
|
}
|
|
13510
|
-
function
|
|
13510
|
+
function Oh(s, e = Ee.combo.okBreaksCombo) {
|
|
13511
13511
|
return s === "miss" || s === "wrongKey" ? !0 : s === "ok" ? e : !1;
|
|
13512
13512
|
}
|
|
13513
13513
|
function v(s, e, t) {
|
|
@@ -13549,16 +13549,16 @@ class je extends Error {
|
|
|
13549
13549
|
super("Encountered Promise during synchronous parse. Use .parseAsync() instead.");
|
|
13550
13550
|
}
|
|
13551
13551
|
}
|
|
13552
|
-
class
|
|
13552
|
+
class ts extends Error {
|
|
13553
13553
|
constructor(e) {
|
|
13554
13554
|
super(`Encountered unidirectional transform during encode: ${e}`), this.name = "ZodEncodeError";
|
|
13555
13555
|
}
|
|
13556
13556
|
}
|
|
13557
|
-
const
|
|
13557
|
+
const as = {};
|
|
13558
13558
|
function xe(s) {
|
|
13559
|
-
return
|
|
13559
|
+
return as;
|
|
13560
13560
|
}
|
|
13561
|
-
function
|
|
13561
|
+
function is(s) {
|
|
13562
13562
|
const e = Object.values(s).filter((a) => typeof a == "number");
|
|
13563
13563
|
return Object.entries(s).filter(([a, i]) => e.indexOf(+a) === -1).map(([a, i]) => i);
|
|
13564
13564
|
}
|
|
@@ -13593,7 +13593,7 @@ function fr(s, e) {
|
|
|
13593
13593
|
return r % o / 10 ** n;
|
|
13594
13594
|
}
|
|
13595
13595
|
const ii = /* @__PURE__ */ Symbol("evaluating");
|
|
13596
|
-
function
|
|
13596
|
+
function L(s, e, t) {
|
|
13597
13597
|
let a;
|
|
13598
13598
|
Object.defineProperty(s, e, {
|
|
13599
13599
|
get() {
|
|
@@ -13631,7 +13631,7 @@ function si(s) {
|
|
|
13631
13631
|
function yr(s) {
|
|
13632
13632
|
return s.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, "");
|
|
13633
13633
|
}
|
|
13634
|
-
const
|
|
13634
|
+
const ss = "captureStackTrace" in Error ? Error.captureStackTrace : (...s) => {
|
|
13635
13635
|
};
|
|
13636
13636
|
function Tt(s) {
|
|
13637
13637
|
return typeof s == "object" && s !== null && !Array.isArray(s);
|
|
@@ -13655,7 +13655,7 @@ function Ve(s) {
|
|
|
13655
13655
|
const t = e.prototype;
|
|
13656
13656
|
return !(Tt(t) === !1 || Object.prototype.hasOwnProperty.call(t, "isPrototypeOf") === !1);
|
|
13657
13657
|
}
|
|
13658
|
-
function
|
|
13658
|
+
function ns(s) {
|
|
13659
13659
|
return Ve(s) ? { ...s } : Array.isArray(s) ? [...s] : s;
|
|
13660
13660
|
}
|
|
13661
13661
|
const br = /* @__PURE__ */ new Set(["string", "number", "symbol"]);
|
|
@@ -13857,7 +13857,7 @@ function st(...s) {
|
|
|
13857
13857
|
inst: a
|
|
13858
13858
|
} : { ...e };
|
|
13859
13859
|
}
|
|
13860
|
-
const
|
|
13860
|
+
const rs = (s, e) => {
|
|
13861
13861
|
s.name = "$ZodError", Object.defineProperty(s, "_zod", {
|
|
13862
13862
|
value: s._zod,
|
|
13863
13863
|
enumerable: !1
|
|
@@ -13868,7 +13868,7 @@ const ls = (s, e) => {
|
|
|
13868
13868
|
value: () => s.message,
|
|
13869
13869
|
enumerable: !1
|
|
13870
13870
|
});
|
|
13871
|
-
},
|
|
13871
|
+
}, os = v("$ZodError", rs), ls = v("$ZodError", rs, { Parent: Error });
|
|
13872
13872
|
function Er(s, e = (t) => t.message) {
|
|
13873
13873
|
const t = {}, a = [];
|
|
13874
13874
|
for (const i of s.issues)
|
|
@@ -13902,7 +13902,7 @@ const fa = (s) => (e, t, a, i) => {
|
|
|
13902
13902
|
throw new je();
|
|
13903
13903
|
if (r.issues.length) {
|
|
13904
13904
|
const o = new (i?.Err ?? s)(r.issues.map((l) => Pe(l, n, xe())));
|
|
13905
|
-
throw
|
|
13905
|
+
throw ss(o, i?.callee), o;
|
|
13906
13906
|
}
|
|
13907
13907
|
return r.value;
|
|
13908
13908
|
}, ya = (s) => async (e, t, a, i) => {
|
|
@@ -13910,7 +13910,7 @@ const fa = (s) => (e, t, a, i) => {
|
|
|
13910
13910
|
let r = e._zod.run({ value: t, issues: [] }, n);
|
|
13911
13911
|
if (r instanceof Promise && (r = await r), r.issues.length) {
|
|
13912
13912
|
const o = new (i?.Err ?? s)(r.issues.map((l) => Pe(l, n, xe())));
|
|
13913
|
-
throw
|
|
13913
|
+
throw ss(o, i?.callee), o;
|
|
13914
13914
|
}
|
|
13915
13915
|
return r.value;
|
|
13916
13916
|
}, $t = (s) => (e, t, a) => {
|
|
@@ -13919,16 +13919,16 @@ const fa = (s) => (e, t, a, i) => {
|
|
|
13919
13919
|
throw new je();
|
|
13920
13920
|
return n.issues.length ? {
|
|
13921
13921
|
success: !1,
|
|
13922
|
-
error: new (s ??
|
|
13922
|
+
error: new (s ?? os)(n.issues.map((r) => Pe(r, i, xe())))
|
|
13923
13923
|
} : { success: !0, data: n.value };
|
|
13924
|
-
}, Rr = /* @__PURE__ */ $t(
|
|
13924
|
+
}, Rr = /* @__PURE__ */ $t(ls), Nt = (s) => async (e, t, a) => {
|
|
13925
13925
|
const i = a ? Object.assign(a, { async: !0 }) : { async: !0 };
|
|
13926
13926
|
let n = e._zod.run({ value: t, issues: [] }, i);
|
|
13927
13927
|
return n instanceof Promise && (n = await n), n.issues.length ? {
|
|
13928
13928
|
success: !1,
|
|
13929
13929
|
error: new s(n.issues.map((r) => Pe(r, i, xe())))
|
|
13930
13930
|
} : { success: !0, data: n.value };
|
|
13931
|
-
}, xr = /* @__PURE__ */ Nt(
|
|
13931
|
+
}, xr = /* @__PURE__ */ Nt(ls), Pr = (s) => (e, t, a) => {
|
|
13932
13932
|
const i = a ? Object.assign(a, { direction: "backward" }) : { direction: "backward" };
|
|
13933
13933
|
return fa(s)(e, t, i);
|
|
13934
13934
|
}, $r = (s) => (e, t, a) => fa(s)(e, t, a), Nr = (s) => async (e, t, a) => {
|
|
@@ -13944,33 +13944,33 @@ const fa = (s) => (e, t, a, i) => {
|
|
|
13944
13944
|
function Kr() {
|
|
13945
13945
|
return new RegExp(Xr, "u");
|
|
13946
13946
|
}
|
|
13947
|
-
const Jr = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, Qr = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/, eo = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/, to = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, ao = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,
|
|
13948
|
-
function
|
|
13947
|
+
const Jr = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, Qr = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/, eo = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/, to = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, ao = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/, cs = /^[A-Za-z0-9_-]*$/, io = /^\+[1-9]\d{6,14}$/, us = "(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))", so = /* @__PURE__ */ new RegExp(`^${us}$`);
|
|
13948
|
+
function ds(s) {
|
|
13949
13949
|
const e = "(?:[01]\\d|2[0-3]):[0-5]\\d";
|
|
13950
13950
|
return typeof s.precision == "number" ? s.precision === -1 ? `${e}` : s.precision === 0 ? `${e}:[0-5]\\d` : `${e}:[0-5]\\d\\.\\d{${s.precision}}` : `${e}(?::[0-5]\\d(?:\\.\\d+)?)?`;
|
|
13951
13951
|
}
|
|
13952
13952
|
function no(s) {
|
|
13953
|
-
return new RegExp(`^${
|
|
13953
|
+
return new RegExp(`^${ds(s)}$`);
|
|
13954
13954
|
}
|
|
13955
13955
|
function ro(s) {
|
|
13956
|
-
const e =
|
|
13956
|
+
const e = ds({ precision: s.precision }), t = ["Z"];
|
|
13957
13957
|
s.local && t.push(""), s.offset && t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");
|
|
13958
13958
|
const a = `${e}(?:${t.join("|")})`;
|
|
13959
|
-
return new RegExp(`^${
|
|
13959
|
+
return new RegExp(`^${us}T(?:${a})$`);
|
|
13960
13960
|
}
|
|
13961
13961
|
const oo = (s) => {
|
|
13962
13962
|
const e = s ? `[\\s\\S]{${s?.minimum ?? 0},${s?.maximum ?? ""}}` : "[\\s\\S]*";
|
|
13963
13963
|
return new RegExp(`^${e}$`);
|
|
13964
|
-
}, lo = /^-?\d+$/,
|
|
13964
|
+
}, lo = /^-?\d+$/, hs = /^-?\d+(?:\.\d+)?$/, co = /^(?:true|false)$/i, uo = /^[^A-Z]*$/, ho = /^[^a-z]*$/, ue = /* @__PURE__ */ v("$ZodCheck", (s, e) => {
|
|
13965
13965
|
var t;
|
|
13966
13966
|
s._zod ?? (s._zod = {}), s._zod.def = e, (t = s._zod).onattach ?? (t.onattach = []);
|
|
13967
|
-
}),
|
|
13967
|
+
}), ps = {
|
|
13968
13968
|
number: "number",
|
|
13969
13969
|
bigint: "bigint",
|
|
13970
13970
|
object: "date"
|
|
13971
|
-
},
|
|
13971
|
+
}, ms = /* @__PURE__ */ v("$ZodCheckLessThan", (s, e) => {
|
|
13972
13972
|
ue.init(s, e);
|
|
13973
|
-
const t =
|
|
13973
|
+
const t = ps[typeof e.value];
|
|
13974
13974
|
s._zod.onattach.push((a) => {
|
|
13975
13975
|
const i = a._zod.bag, n = (e.inclusive ? i.maximum : i.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;
|
|
13976
13976
|
e.value < n && (e.inclusive ? i.maximum = e.value : i.exclusiveMaximum = e.value);
|
|
@@ -13985,9 +13985,9 @@ const oo = (s) => {
|
|
|
13985
13985
|
continue: !e.abort
|
|
13986
13986
|
});
|
|
13987
13987
|
};
|
|
13988
|
-
}),
|
|
13988
|
+
}), gs = /* @__PURE__ */ v("$ZodCheckGreaterThan", (s, e) => {
|
|
13989
13989
|
ue.init(s, e);
|
|
13990
|
-
const t =
|
|
13990
|
+
const t = ps[typeof e.value];
|
|
13991
13991
|
s._zod.onattach.push((a) => {
|
|
13992
13992
|
const i = a._zod.bag, n = (e.inclusive ? i.minimum : i.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;
|
|
13993
13993
|
e.value > n && (e.inclusive ? i.minimum = e.value : i.exclusiveMinimum = e.value);
|
|
@@ -14326,7 +14326,7 @@ const Co = {
|
|
|
14326
14326
|
return i(l, a, o);
|
|
14327
14327
|
};
|
|
14328
14328
|
}
|
|
14329
|
-
|
|
14329
|
+
L(s, "~standard", () => ({
|
|
14330
14330
|
validate: (i) => {
|
|
14331
14331
|
try {
|
|
14332
14332
|
const n = Rr(s, i);
|
|
@@ -14474,7 +14474,7 @@ const Co = {
|
|
|
14474
14474
|
}
|
|
14475
14475
|
};
|
|
14476
14476
|
});
|
|
14477
|
-
function
|
|
14477
|
+
function fs(s) {
|
|
14478
14478
|
if (s === "")
|
|
14479
14479
|
return !0;
|
|
14480
14480
|
if (s.length % 4 !== 0)
|
|
@@ -14487,7 +14487,7 @@ function vs(s) {
|
|
|
14487
14487
|
}
|
|
14488
14488
|
const Go = /* @__PURE__ */ v("$ZodBase64", (s, e) => {
|
|
14489
14489
|
e.pattern ?? (e.pattern = ao), H.init(s, e), s._zod.bag.contentEncoding = "base64", s._zod.check = (t) => {
|
|
14490
|
-
|
|
14490
|
+
fs(t.value) || t.issues.push({
|
|
14491
14491
|
code: "invalid_format",
|
|
14492
14492
|
format: "base64",
|
|
14493
14493
|
input: t.value,
|
|
@@ -14497,13 +14497,13 @@ const Go = /* @__PURE__ */ v("$ZodBase64", (s, e) => {
|
|
|
14497
14497
|
};
|
|
14498
14498
|
});
|
|
14499
14499
|
function Vo(s) {
|
|
14500
|
-
if (!
|
|
14500
|
+
if (!cs.test(s))
|
|
14501
14501
|
return !1;
|
|
14502
14502
|
const e = s.replace(/[-_]/g, (a) => a === "-" ? "+" : "/"), t = e.padEnd(Math.ceil(e.length / 4) * 4, "=");
|
|
14503
|
-
return
|
|
14503
|
+
return fs(t);
|
|
14504
14504
|
}
|
|
14505
14505
|
const Zo = /* @__PURE__ */ v("$ZodBase64URL", (s, e) => {
|
|
14506
|
-
e.pattern ?? (e.pattern =
|
|
14506
|
+
e.pattern ?? (e.pattern = cs), H.init(s, e), s._zod.bag.contentEncoding = "base64url", s._zod.check = (t) => {
|
|
14507
14507
|
Vo(t.value) || t.issues.push({
|
|
14508
14508
|
code: "invalid_format",
|
|
14509
14509
|
format: "base64url",
|
|
@@ -14539,8 +14539,8 @@ const Ko = /* @__PURE__ */ v("$ZodJWT", (s, e) => {
|
|
|
14539
14539
|
continue: !e.abort
|
|
14540
14540
|
});
|
|
14541
14541
|
};
|
|
14542
|
-
}),
|
|
14543
|
-
U.init(s, e), s._zod.pattern = s._zod.bag.pattern ??
|
|
14542
|
+
}), ys = /* @__PURE__ */ v("$ZodNumber", (s, e) => {
|
|
14543
|
+
U.init(s, e), s._zod.pattern = s._zod.bag.pattern ?? hs, s._zod.parse = (t, a) => {
|
|
14544
14544
|
if (e.coerce)
|
|
14545
14545
|
try {
|
|
14546
14546
|
t.value = Number(t.value);
|
|
@@ -14559,7 +14559,7 @@ const Ko = /* @__PURE__ */ v("$ZodJWT", (s, e) => {
|
|
|
14559
14559
|
}), t;
|
|
14560
14560
|
};
|
|
14561
14561
|
}), Jo = /* @__PURE__ */ v("$ZodNumberFormat", (s, e) => {
|
|
14562
|
-
mo.init(s, e),
|
|
14562
|
+
mo.init(s, e), ys.init(s, e);
|
|
14563
14563
|
}), Qo = /* @__PURE__ */ v("$ZodBoolean", (s, e) => {
|
|
14564
14564
|
U.init(s, e), s._zod.pattern = co, s._zod.parse = (t, a) => {
|
|
14565
14565
|
if (e.coerce)
|
|
@@ -14618,7 +14618,7 @@ function Ct(s, e, t, a, i) {
|
|
|
14618
14618
|
}
|
|
14619
14619
|
s.value === void 0 ? t in a && (e.value[t] = void 0) : e.value[t] = s.value;
|
|
14620
14620
|
}
|
|
14621
|
-
function
|
|
14621
|
+
function vs(s) {
|
|
14622
14622
|
const e = Object.keys(s.shape);
|
|
14623
14623
|
for (const a of e)
|
|
14624
14624
|
if (!s.shape?.[a]?._zod?.traits?.has("$ZodType"))
|
|
@@ -14632,7 +14632,7 @@ function ws(s) {
|
|
|
14632
14632
|
optionalKeys: new Set(t)
|
|
14633
14633
|
};
|
|
14634
14634
|
}
|
|
14635
|
-
function
|
|
14635
|
+
function bs(s, e, t, a, i, n) {
|
|
14636
14636
|
const r = [], o = i.keySet, l = i.catchall._zod, c = l.def.type, u = l.optout === "optional";
|
|
14637
14637
|
for (const d in e) {
|
|
14638
14638
|
if (o.has(d))
|
|
@@ -14663,8 +14663,8 @@ const il = /* @__PURE__ */ v("$ZodObject", (s, e) => {
|
|
|
14663
14663
|
}
|
|
14664
14664
|
});
|
|
14665
14665
|
}
|
|
14666
|
-
const a = ha(() =>
|
|
14667
|
-
|
|
14666
|
+
const a = ha(() => vs(e));
|
|
14667
|
+
L(s._zod, "propValues", () => {
|
|
14668
14668
|
const o = e.shape, l = {};
|
|
14669
14669
|
for (const c in o) {
|
|
14670
14670
|
const u = o[c]._zod;
|
|
@@ -14694,11 +14694,11 @@ const il = /* @__PURE__ */ v("$ZodObject", (s, e) => {
|
|
|
14694
14694
|
const p = d[h], g = p._zod.optout === "optional", m = p._zod.run({ value: c[h], issues: [] }, l);
|
|
14695
14695
|
m instanceof Promise ? u.push(m.then((f) => Ct(f, o, h, c, g))) : Ct(m, o, h, c, g);
|
|
14696
14696
|
}
|
|
14697
|
-
return n ?
|
|
14697
|
+
return n ? bs(u, c, o, l, a.value, s) : u.length ? Promise.all(u).then(() => o) : o;
|
|
14698
14698
|
};
|
|
14699
14699
|
}), sl = /* @__PURE__ */ v("$ZodObjectJIT", (s, e) => {
|
|
14700
14700
|
il.init(s, e);
|
|
14701
|
-
const t = s._zod.parse, a = ha(() =>
|
|
14701
|
+
const t = s._zod.parse, a = ha(() => vs(e)), i = (h) => {
|
|
14702
14702
|
const p = new To(["shape", "payload", "ctx"]), g = a.value, m = (I) => {
|
|
14703
14703
|
const C = si(I);
|
|
14704
14704
|
return `shape[${C}]._zod.run({ value: input[${C}], issues: [] }, ctx)`;
|
|
@@ -14752,12 +14752,12 @@ const il = /* @__PURE__ */ v("$ZodObject", (s, e) => {
|
|
|
14752
14752
|
return (I, C) => b(h, I, C);
|
|
14753
14753
|
};
|
|
14754
14754
|
let n;
|
|
14755
|
-
const r = Tt, o = !
|
|
14755
|
+
const r = Tt, o = !as.jitless, c = o && vr.value, u = e.catchall;
|
|
14756
14756
|
let d;
|
|
14757
14757
|
s._zod.parse = (h, p) => {
|
|
14758
14758
|
d ?? (d = a.value);
|
|
14759
14759
|
const g = h.value;
|
|
14760
|
-
return r(g) ? o && c && p?.async === !1 && p.jitless !== !0 ? (n || (n = i(e.shape)), h = n(h, p), u ?
|
|
14760
|
+
return r(g) ? o && c && p?.async === !1 && p.jitless !== !0 ? (n || (n = i(e.shape)), h = n(h, p), u ? bs([], g, h, p, d, s) : h) : t(h, p) : (h.issues.push({
|
|
14761
14761
|
expected: "object",
|
|
14762
14762
|
code: "invalid_type",
|
|
14763
14763
|
input: g,
|
|
@@ -14778,10 +14778,10 @@ function oi(s, e, t, a) {
|
|
|
14778
14778
|
}), e);
|
|
14779
14779
|
}
|
|
14780
14780
|
const nl = /* @__PURE__ */ v("$ZodUnion", (s, e) => {
|
|
14781
|
-
U.init(s, e),
|
|
14781
|
+
U.init(s, e), L(s._zod, "optin", () => e.options.some((i) => i._zod.optin === "optional") ? "optional" : void 0), L(s._zod, "optout", () => e.options.some((i) => i._zod.optout === "optional") ? "optional" : void 0), L(s._zod, "values", () => {
|
|
14782
14782
|
if (e.options.every((i) => i._zod.values))
|
|
14783
14783
|
return new Set(e.options.flatMap((i) => Array.from(i._zod.values)));
|
|
14784
|
-
}),
|
|
14784
|
+
}), L(s._zod, "pattern", () => {
|
|
14785
14785
|
if (e.options.every((i) => i._zod.pattern)) {
|
|
14786
14786
|
const i = e.options.map((n) => n._zod.pattern);
|
|
14787
14787
|
return new RegExp(`^(${i.map((n) => ma(n.source)).join("|")})$`);
|
|
@@ -14912,7 +14912,7 @@ const ol = /* @__PURE__ */ v("$ZodRecord", (s, e) => {
|
|
|
14912
14912
|
let l = e.keyType._zod.run({ value: o, issues: [] }, a);
|
|
14913
14913
|
if (l instanceof Promise)
|
|
14914
14914
|
throw new Error("Async schemas not supported in object keys currently");
|
|
14915
|
-
if (typeof o == "string" &&
|
|
14915
|
+
if (typeof o == "string" && hs.test(o) && l.issues.length) {
|
|
14916
14916
|
const d = e.keyType._zod.run({ value: Number(o), issues: [] }, a);
|
|
14917
14917
|
if (d instanceof Promise)
|
|
14918
14918
|
throw new Error("Async schemas not supported in object keys currently");
|
|
@@ -14939,7 +14939,7 @@ const ol = /* @__PURE__ */ v("$ZodRecord", (s, e) => {
|
|
|
14939
14939
|
};
|
|
14940
14940
|
}), ll = /* @__PURE__ */ v("$ZodEnum", (s, e) => {
|
|
14941
14941
|
U.init(s, e);
|
|
14942
|
-
const t =
|
|
14942
|
+
const t = is(e.entries), a = new Set(t);
|
|
14943
14943
|
s._zod.values = a, s._zod.pattern = new RegExp(`^(${t.filter((i) => br.has(typeof i)).map((i) => typeof i == "string" ? Pt(i) : i.toString()).join("|")})$`), s._zod.parse = (i, n) => {
|
|
14944
14944
|
const r = i.value;
|
|
14945
14945
|
return a.has(r) || i.issues.push({
|
|
@@ -14952,7 +14952,7 @@ const ol = /* @__PURE__ */ v("$ZodRecord", (s, e) => {
|
|
|
14952
14952
|
}), cl = /* @__PURE__ */ v("$ZodTransform", (s, e) => {
|
|
14953
14953
|
U.init(s, e), s._zod.parse = (t, a) => {
|
|
14954
14954
|
if (a.direction === "backward")
|
|
14955
|
-
throw new
|
|
14955
|
+
throw new ts(s.constructor.name);
|
|
14956
14956
|
const i = e.transform(t.value, t);
|
|
14957
14957
|
if (a.async)
|
|
14958
14958
|
return (i instanceof Promise ? i : Promise.resolve(i)).then((r) => (t.value = r, t));
|
|
@@ -14964,8 +14964,8 @@ const ol = /* @__PURE__ */ v("$ZodRecord", (s, e) => {
|
|
|
14964
14964
|
function ci(s, e) {
|
|
14965
14965
|
return s.issues.length && e === void 0 ? { issues: [], value: void 0 } : s;
|
|
14966
14966
|
}
|
|
14967
|
-
const
|
|
14968
|
-
U.init(s, e), s._zod.optin = "optional", s._zod.optout = "optional",
|
|
14967
|
+
const ws = /* @__PURE__ */ v("$ZodOptional", (s, e) => {
|
|
14968
|
+
U.init(s, e), s._zod.optin = "optional", s._zod.optout = "optional", L(s._zod, "values", () => e.innerType._zod.values ? /* @__PURE__ */ new Set([...e.innerType._zod.values, void 0]) : void 0), L(s._zod, "pattern", () => {
|
|
14969
14969
|
const t = e.innerType._zod.pattern;
|
|
14970
14970
|
return t ? new RegExp(`^(${ma(t.source)})?$`) : void 0;
|
|
14971
14971
|
}), s._zod.parse = (t, a) => {
|
|
@@ -14976,14 +14976,14 @@ const _s = /* @__PURE__ */ v("$ZodOptional", (s, e) => {
|
|
|
14976
14976
|
return t.value === void 0 ? t : e.innerType._zod.run(t, a);
|
|
14977
14977
|
};
|
|
14978
14978
|
}), ul = /* @__PURE__ */ v("$ZodExactOptional", (s, e) => {
|
|
14979
|
-
|
|
14979
|
+
ws.init(s, e), L(s._zod, "values", () => e.innerType._zod.values), L(s._zod, "pattern", () => e.innerType._zod.pattern), s._zod.parse = (t, a) => e.innerType._zod.run(t, a);
|
|
14980
14980
|
}), dl = /* @__PURE__ */ v("$ZodNullable", (s, e) => {
|
|
14981
|
-
U.init(s, e),
|
|
14981
|
+
U.init(s, e), L(s._zod, "optin", () => e.innerType._zod.optin), L(s._zod, "optout", () => e.innerType._zod.optout), L(s._zod, "pattern", () => {
|
|
14982
14982
|
const t = e.innerType._zod.pattern;
|
|
14983
14983
|
return t ? new RegExp(`^(${ma(t.source)}|null)$`) : void 0;
|
|
14984
|
-
}),
|
|
14984
|
+
}), L(s._zod, "values", () => e.innerType._zod.values ? /* @__PURE__ */ new Set([...e.innerType._zod.values, null]) : void 0), s._zod.parse = (t, a) => t.value === null ? t : e.innerType._zod.run(t, a);
|
|
14985
14985
|
}), hl = /* @__PURE__ */ v("$ZodDefault", (s, e) => {
|
|
14986
|
-
U.init(s, e), s._zod.optin = "optional",
|
|
14986
|
+
U.init(s, e), s._zod.optin = "optional", L(s._zod, "values", () => e.innerType._zod.values), s._zod.parse = (t, a) => {
|
|
14987
14987
|
if (a.direction === "backward")
|
|
14988
14988
|
return e.innerType._zod.run(t, a);
|
|
14989
14989
|
if (t.value === void 0)
|
|
@@ -14996,9 +14996,9 @@ function ui(s, e) {
|
|
|
14996
14996
|
return s.value === void 0 && (s.value = e.defaultValue), s;
|
|
14997
14997
|
}
|
|
14998
14998
|
const pl = /* @__PURE__ */ v("$ZodPrefault", (s, e) => {
|
|
14999
|
-
U.init(s, e), s._zod.optin = "optional",
|
|
14999
|
+
U.init(s, e), s._zod.optin = "optional", L(s._zod, "values", () => e.innerType._zod.values), s._zod.parse = (t, a) => (a.direction === "backward" || t.value === void 0 && (t.value = e.defaultValue), e.innerType._zod.run(t, a));
|
|
15000
15000
|
}), ml = /* @__PURE__ */ v("$ZodNonOptional", (s, e) => {
|
|
15001
|
-
U.init(s, e),
|
|
15001
|
+
U.init(s, e), L(s._zod, "values", () => {
|
|
15002
15002
|
const t = e.innerType._zod.values;
|
|
15003
15003
|
return t ? new Set([...t].filter((a) => a !== void 0)) : void 0;
|
|
15004
15004
|
}), s._zod.parse = (t, a) => {
|
|
@@ -15015,7 +15015,7 @@ function di(s, e) {
|
|
|
15015
15015
|
}), s;
|
|
15016
15016
|
}
|
|
15017
15017
|
const gl = /* @__PURE__ */ v("$ZodCatch", (s, e) => {
|
|
15018
|
-
U.init(s, e),
|
|
15018
|
+
U.init(s, e), L(s._zod, "optin", () => e.innerType._zod.optin), L(s._zod, "optout", () => e.innerType._zod.optout), L(s._zod, "values", () => e.innerType._zod.values), s._zod.parse = (t, a) => {
|
|
15019
15019
|
if (a.direction === "backward")
|
|
15020
15020
|
return e.innerType._zod.run(t, a);
|
|
15021
15021
|
const i = e.innerType._zod.run(t, a);
|
|
@@ -15034,7 +15034,7 @@ const gl = /* @__PURE__ */ v("$ZodCatch", (s, e) => {
|
|
|
15034
15034
|
}), t.issues = []), t);
|
|
15035
15035
|
};
|
|
15036
15036
|
}), fl = /* @__PURE__ */ v("$ZodPipe", (s, e) => {
|
|
15037
|
-
U.init(s, e),
|
|
15037
|
+
U.init(s, e), L(s._zod, "values", () => e.in._zod.values), L(s._zod, "optin", () => e.in._zod.optin), L(s._zod, "optout", () => e.out._zod.optout), L(s._zod, "propValues", () => e.in._zod.propValues), s._zod.parse = (t, a) => {
|
|
15038
15038
|
if (a.direction === "backward") {
|
|
15039
15039
|
const n = e.out._zod.run(t, a);
|
|
15040
15040
|
return n instanceof Promise ? n.then((r) => vt(r, e.in, a)) : vt(n, e.in, a);
|
|
@@ -15047,7 +15047,7 @@ function vt(s, e, t) {
|
|
|
15047
15047
|
return s.issues.length ? (s.aborted = !0, s) : e._zod.run({ value: s.value, issues: s.issues }, t);
|
|
15048
15048
|
}
|
|
15049
15049
|
const yl = /* @__PURE__ */ v("$ZodReadonly", (s, e) => {
|
|
15050
|
-
U.init(s, e),
|
|
15050
|
+
U.init(s, e), L(s._zod, "propValues", () => e.innerType._zod.propValues), L(s._zod, "values", () => e.innerType._zod.values), L(s._zod, "optin", () => e.innerType?._zod?.optin), L(s._zod, "optout", () => e.innerType?._zod?.optout), s._zod.parse = (t, a) => {
|
|
15051
15051
|
if (a.direction === "backward")
|
|
15052
15052
|
return e.innerType._zod.run(t, a);
|
|
15053
15053
|
const i = e.innerType._zod.run(t, a);
|
|
@@ -15425,7 +15425,7 @@ function Kl(s, e) {
|
|
|
15425
15425
|
}
|
|
15426
15426
|
// @__NO_SIDE_EFFECTS__
|
|
15427
15427
|
function fi(s, e) {
|
|
15428
|
-
return new
|
|
15428
|
+
return new ms({
|
|
15429
15429
|
check: "less_than",
|
|
15430
15430
|
...M(e),
|
|
15431
15431
|
value: s,
|
|
@@ -15434,7 +15434,7 @@ function fi(s, e) {
|
|
|
15434
15434
|
}
|
|
15435
15435
|
// @__NO_SIDE_EFFECTS__
|
|
15436
15436
|
function zt(s, e) {
|
|
15437
|
-
return new
|
|
15437
|
+
return new ms({
|
|
15438
15438
|
check: "less_than",
|
|
15439
15439
|
...M(e),
|
|
15440
15440
|
value: s,
|
|
@@ -15443,7 +15443,7 @@ function zt(s, e) {
|
|
|
15443
15443
|
}
|
|
15444
15444
|
// @__NO_SIDE_EFFECTS__
|
|
15445
15445
|
function yi(s, e) {
|
|
15446
|
-
return new
|
|
15446
|
+
return new gs({
|
|
15447
15447
|
check: "greater_than",
|
|
15448
15448
|
...M(e),
|
|
15449
15449
|
value: s,
|
|
@@ -15452,7 +15452,7 @@ function yi(s, e) {
|
|
|
15452
15452
|
}
|
|
15453
15453
|
// @__NO_SIDE_EFFECTS__
|
|
15454
15454
|
function qt(s, e) {
|
|
15455
|
-
return new
|
|
15455
|
+
return new gs({
|
|
15456
15456
|
check: "greater_than",
|
|
15457
15457
|
...M(e),
|
|
15458
15458
|
value: s,
|
|
@@ -15468,7 +15468,7 @@ function vi(s, e) {
|
|
|
15468
15468
|
});
|
|
15469
15469
|
}
|
|
15470
15470
|
// @__NO_SIDE_EFFECTS__
|
|
15471
|
-
function
|
|
15471
|
+
function Ss(s, e) {
|
|
15472
15472
|
return new go({
|
|
15473
15473
|
check: "max_length",
|
|
15474
15474
|
...M(e),
|
|
@@ -15484,7 +15484,7 @@ function It(s, e) {
|
|
|
15484
15484
|
});
|
|
15485
15485
|
}
|
|
15486
15486
|
// @__NO_SIDE_EFFECTS__
|
|
15487
|
-
function
|
|
15487
|
+
function _s(s, e) {
|
|
15488
15488
|
return new yo({
|
|
15489
15489
|
check: "length_equals",
|
|
15490
15490
|
...M(e),
|
|
@@ -15610,7 +15610,7 @@ function hc(s, e) {
|
|
|
15610
15610
|
});
|
|
15611
15611
|
return t._zod.check = s, t;
|
|
15612
15612
|
}
|
|
15613
|
-
function
|
|
15613
|
+
function ks(s) {
|
|
15614
15614
|
let e = s?.target ?? "draft-2020-12";
|
|
15615
15615
|
return e === "draft-4" && (e = "draft-04"), e === "draft-7" && (e = "draft-07"), {
|
|
15616
15616
|
processors: s.processors ?? {},
|
|
@@ -15657,7 +15657,7 @@ function Z(s, e, t = { path: [], schemaPath: [] }) {
|
|
|
15657
15657
|
const l = e.metadataRegistry.get(s);
|
|
15658
15658
|
return l && Object.assign(r.schema, l), e.io === "input" && ne(s) && (delete r.schema.examples, delete r.schema.default), e.io === "input" && r.schema._prefault && ((a = r.schema).default ?? (a.default = r.schema._prefault)), delete r.schema._prefault, e.seen.get(s).schema;
|
|
15659
15659
|
}
|
|
15660
|
-
function
|
|
15660
|
+
function As(s, e) {
|
|
15661
15661
|
const t = s.seen.get(e);
|
|
15662
15662
|
if (!t)
|
|
15663
15663
|
throw new Error("Unprocessed schema. This is a bug in Zod.");
|
|
@@ -15729,7 +15729,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
15729
15729
|
}
|
|
15730
15730
|
}
|
|
15731
15731
|
}
|
|
15732
|
-
function
|
|
15732
|
+
function Ts(s, e) {
|
|
15733
15733
|
const t = s.seen.get(e);
|
|
15734
15734
|
if (!t)
|
|
15735
15735
|
throw new Error("Unprocessed schema. This is a bug in Zod.");
|
|
@@ -15838,11 +15838,11 @@ function ne(s, e) {
|
|
|
15838
15838
|
return !1;
|
|
15839
15839
|
}
|
|
15840
15840
|
const pc = (s, e = {}) => (t) => {
|
|
15841
|
-
const a =
|
|
15842
|
-
return Z(s, a),
|
|
15841
|
+
const a = ks({ ...t, processors: e });
|
|
15842
|
+
return Z(s, a), As(a, s), Ts(a, s);
|
|
15843
15843
|
}, Mt = (s, e, t = {}) => (a) => {
|
|
15844
|
-
const { libraryOptions: i, target: n } = a ?? {}, r =
|
|
15845
|
-
return Z(s, r),
|
|
15844
|
+
const { libraryOptions: i, target: n } = a ?? {}, r = ks({ ...i ?? {}, target: n, io: e, processors: t });
|
|
15845
|
+
return Z(s, r), As(r, s), Ts(r, s);
|
|
15846
15846
|
}, mc = {
|
|
15847
15847
|
guid: "uuid",
|
|
15848
15848
|
url: "uri",
|
|
@@ -15872,7 +15872,7 @@ const pc = (s, e = {}) => (t) => {
|
|
|
15872
15872
|
t.not = {};
|
|
15873
15873
|
}, bc = (s, e, t, a) => {
|
|
15874
15874
|
}, wc = (s, e, t, a) => {
|
|
15875
|
-
const i = s._zod.def, n =
|
|
15875
|
+
const i = s._zod.def, n = is(i.entries);
|
|
15876
15876
|
n.every((r) => typeof r == "number") && (t.type = "number"), n.every((r) => typeof r == "string") && (t.type = "string"), t.enum = n;
|
|
15877
15877
|
}, Sc = (s, e, t, a) => {
|
|
15878
15878
|
if (e.unrepresentable === "throw")
|
|
@@ -15983,7 +15983,7 @@ const pc = (s, e = {}) => (t) => {
|
|
|
15983
15983
|
Z(i.innerType, e, a);
|
|
15984
15984
|
const n = e.seen.get(s);
|
|
15985
15985
|
n.ref = i.innerType, t.readOnly = !0;
|
|
15986
|
-
},
|
|
15986
|
+
}, Cs = (s, e, t, a) => {
|
|
15987
15987
|
const i = s._zod.def;
|
|
15988
15988
|
Z(i.innerType, e, a);
|
|
15989
15989
|
const n = e.seen.get(s);
|
|
@@ -16013,7 +16013,7 @@ function zc(s) {
|
|
|
16013
16013
|
return /* @__PURE__ */ Gl(Hc, s);
|
|
16014
16014
|
}
|
|
16015
16015
|
const qc = (s, e) => {
|
|
16016
|
-
|
|
16016
|
+
os.init(s, e), s.name = "ZodError", Object.defineProperties(s, {
|
|
16017
16017
|
format: {
|
|
16018
16018
|
value: (t) => Dr(s, t)
|
|
16019
16019
|
// enumerable: false,
|
|
@@ -16055,7 +16055,7 @@ const qc = (s, e) => {
|
|
|
16055
16055
|
]
|
|
16056
16056
|
}), {
|
|
16057
16057
|
parent: !0
|
|
16058
|
-
}), s.with = s.check, s.clone = (t, a) => Ne(s, t, a), s.brand = () => s, s.register = ((t, a) => (t.add(s, a), s)), s.parse = (t, a) => Uc(s, t, a, { callee: s.parse }), s.safeParse = (t, a) => Gc(s, t, a), s.parseAsync = async (t, a) => jc(s, t, a, { callee: s.parseAsync }), s.safeParseAsync = async (t, a) => Vc(s, t, a), s.spa = s.safeParseAsync, s.encode = (t, a) => Zc(s, t, a), s.decode = (t, a) => Yc(s, t, a), s.encodeAsync = async (t, a) => Xc(s, t, a), s.decodeAsync = async (t, a) => Kc(s, t, a), s.safeEncode = (t, a) => Jc(s, t, a), s.safeDecode = (t, a) => Qc(s, t, a), s.safeEncodeAsync = async (t, a) => eu(s, t, a), s.safeDecodeAsync = async (t, a) => tu(s, t, a), s.refine = (t, a) => s.check(Vu(t, a)), s.superRefine = (t) => s.check(Zu(t)), s.overwrite = (t) => s.check(/* @__PURE__ */ Ze(t)), s.optional = () => _i(s), s.exactOptional = () => $u(s), s.nullable = () => ki(s), s.nullish = () => _i(ki(s)), s.nonoptional = (t) => Wu(s, t), s.array = () =>
|
|
16058
|
+
}), s.with = s.check, s.clone = (t, a) => Ne(s, t, a), s.brand = () => s, s.register = ((t, a) => (t.add(s, a), s)), s.parse = (t, a) => Uc(s, t, a, { callee: s.parse }), s.safeParse = (t, a) => Gc(s, t, a), s.parseAsync = async (t, a) => jc(s, t, a, { callee: s.parseAsync }), s.safeParseAsync = async (t, a) => Vc(s, t, a), s.spa = s.safeParseAsync, s.encode = (t, a) => Zc(s, t, a), s.decode = (t, a) => Yc(s, t, a), s.encodeAsync = async (t, a) => Xc(s, t, a), s.decodeAsync = async (t, a) => Kc(s, t, a), s.safeEncode = (t, a) => Jc(s, t, a), s.safeDecode = (t, a) => Qc(s, t, a), s.safeEncodeAsync = async (t, a) => eu(s, t, a), s.safeDecodeAsync = async (t, a) => tu(s, t, a), s.refine = (t, a) => s.check(Vu(t, a)), s.superRefine = (t) => s.check(Zu(t)), s.overwrite = (t) => s.check(/* @__PURE__ */ Ze(t)), s.optional = () => _i(s), s.exactOptional = () => $u(s), s.nullable = () => ki(s), s.nullish = () => _i(ki(s)), s.nonoptional = (t) => Wu(s, t), s.array = () => J(s), s.or = (t) => ba([s, t]), s.and = (t) => Eu(s, t), s.transform = (t) => Ai(s, xu(t)), s.default = (t) => Bu(s, t), s.prefault = (t) => Fu(s, t), s.catch = (t) => zu(s, t), s.pipe = (t) => Ai(s, t), s.readonly = () => ju(s), s.describe = (t) => {
|
|
16059
16059
|
const a = s.clone();
|
|
16060
16060
|
return Je.add(a, { description: t }), a;
|
|
16061
16061
|
}, Object.defineProperty(s, "description", {
|
|
@@ -16068,18 +16068,18 @@ const qc = (s, e) => {
|
|
|
16068
16068
|
return Je.get(s);
|
|
16069
16069
|
const a = s.clone();
|
|
16070
16070
|
return Je.add(a, t[0]), a;
|
|
16071
|
-
}, s.isOptional = () => s.safeParse(void 0).success, s.isNullable = () => s.safeParse(null).success, s.apply = (t) => t(s), s)),
|
|
16071
|
+
}, s.isOptional = () => s.safeParse(void 0).success, s.isNullable = () => s.safeParse(null).success, s.apply = (t) => t(s), s)), Is = /* @__PURE__ */ v("_ZodString", (s, e) => {
|
|
16072
16072
|
va.init(s, e), j.init(s, e), s._zod.processJSONSchema = (a, i, n) => gc(s, a, i);
|
|
16073
16073
|
const t = s._zod.bag;
|
|
16074
|
-
s.format = t.format ?? null, s.minLength = t.minimum ?? null, s.maxLength = t.maximum ?? null, s.regex = (...a) => s.check(/* @__PURE__ */ Jl(...a)), s.includes = (...a) => s.check(/* @__PURE__ */ tc(...a)), s.startsWith = (...a) => s.check(/* @__PURE__ */ ac(...a)), s.endsWith = (...a) => s.check(/* @__PURE__ */ ic(...a)), s.min = (...a) => s.check(/* @__PURE__ */ It(...a)), s.max = (...a) => s.check(/* @__PURE__ */
|
|
16074
|
+
s.format = t.format ?? null, s.minLength = t.minimum ?? null, s.maxLength = t.maximum ?? null, s.regex = (...a) => s.check(/* @__PURE__ */ Jl(...a)), s.includes = (...a) => s.check(/* @__PURE__ */ tc(...a)), s.startsWith = (...a) => s.check(/* @__PURE__ */ ac(...a)), s.endsWith = (...a) => s.check(/* @__PURE__ */ ic(...a)), s.min = (...a) => s.check(/* @__PURE__ */ It(...a)), s.max = (...a) => s.check(/* @__PURE__ */ Ss(...a)), s.length = (...a) => s.check(/* @__PURE__ */ _s(...a)), s.nonempty = (...a) => s.check(/* @__PURE__ */ It(1, ...a)), s.lowercase = (a) => s.check(/* @__PURE__ */ Ql(a)), s.uppercase = (a) => s.check(/* @__PURE__ */ ec(a)), s.trim = () => s.check(/* @__PURE__ */ nc()), s.normalize = (...a) => s.check(/* @__PURE__ */ sc(...a)), s.toLowerCase = () => s.check(/* @__PURE__ */ rc()), s.toUpperCase = () => s.check(/* @__PURE__ */ oc()), s.slugify = () => s.check(/* @__PURE__ */ lc());
|
|
16075
16075
|
}), au = /* @__PURE__ */ v("ZodString", (s, e) => {
|
|
16076
|
-
va.init(s, e),
|
|
16076
|
+
va.init(s, e), Is.init(s, e), s.email = (t) => s.check(/* @__PURE__ */ _l(iu, t)), s.url = (t) => s.check(/* @__PURE__ */ Il(su, t)), s.jwt = (t) => s.check(/* @__PURE__ */ zl(bu, t)), s.emoji = (t) => s.check(/* @__PURE__ */ Ml(nu, t)), s.guid = (t) => s.check(/* @__PURE__ */ gi(bi, t)), s.uuid = (t) => s.check(/* @__PURE__ */ kl(bt, t)), s.uuidv4 = (t) => s.check(/* @__PURE__ */ Al(bt, t)), s.uuidv6 = (t) => s.check(/* @__PURE__ */ Tl(bt, t)), s.uuidv7 = (t) => s.check(/* @__PURE__ */ Cl(bt, t)), s.nanoid = (t) => s.check(/* @__PURE__ */ El(ru, t)), s.guid = (t) => s.check(/* @__PURE__ */ gi(bi, t)), s.cuid = (t) => s.check(/* @__PURE__ */ Dl(ou, t)), s.cuid2 = (t) => s.check(/* @__PURE__ */ Rl(lu, t)), s.ulid = (t) => s.check(/* @__PURE__ */ xl(cu, t)), s.base64 = (t) => s.check(/* @__PURE__ */ Fl(fu, t)), s.base64url = (t) => s.check(/* @__PURE__ */ Wl(yu, t)), s.xid = (t) => s.check(/* @__PURE__ */ Pl(uu, t)), s.ksuid = (t) => s.check(/* @__PURE__ */ $l(du, t)), s.ipv4 = (t) => s.check(/* @__PURE__ */ Nl(hu, t)), s.ipv6 = (t) => s.check(/* @__PURE__ */ Ol(pu, t)), s.cidrv4 = (t) => s.check(/* @__PURE__ */ Bl(mu, t)), s.cidrv6 = (t) => s.check(/* @__PURE__ */ Ll(gu, t)), s.e164 = (t) => s.check(/* @__PURE__ */ Hl(vu, t)), s.datetime = (t) => s.check(Oc(t)), s.date = (t) => s.check(Lc(t)), s.time = (t) => s.check(Wc(t)), s.duration = (t) => s.check(zc(t));
|
|
16077
16077
|
});
|
|
16078
|
-
function
|
|
16078
|
+
function _(s) {
|
|
16079
16079
|
return /* @__PURE__ */ Sl(au, s);
|
|
16080
16080
|
}
|
|
16081
16081
|
const q = /* @__PURE__ */ v("ZodStringFormat", (s, e) => {
|
|
16082
|
-
H.init(s, e),
|
|
16082
|
+
H.init(s, e), Is.init(s, e);
|
|
16083
16083
|
}), iu = /* @__PURE__ */ v("ZodEmail", (s, e) => {
|
|
16084
16084
|
Eo.init(s, e), q.init(s, e);
|
|
16085
16085
|
}), bi = /* @__PURE__ */ v("ZodGUID", (s, e) => {
|
|
@@ -16118,16 +16118,16 @@ const q = /* @__PURE__ */ v("ZodStringFormat", (s, e) => {
|
|
|
16118
16118
|
Yo.init(s, e), q.init(s, e);
|
|
16119
16119
|
}), bu = /* @__PURE__ */ v("ZodJWT", (s, e) => {
|
|
16120
16120
|
Ko.init(s, e), q.init(s, e);
|
|
16121
|
-
}),
|
|
16122
|
-
|
|
16121
|
+
}), Ms = /* @__PURE__ */ v("ZodNumber", (s, e) => {
|
|
16122
|
+
ys.init(s, e), j.init(s, e), s._zod.processJSONSchema = (a, i, n) => fc(s, a, i), s.gt = (a, i) => s.check(/* @__PURE__ */ yi(a, i)), s.gte = (a, i) => s.check(/* @__PURE__ */ qt(a, i)), s.min = (a, i) => s.check(/* @__PURE__ */ qt(a, i)), s.lt = (a, i) => s.check(/* @__PURE__ */ fi(a, i)), s.lte = (a, i) => s.check(/* @__PURE__ */ zt(a, i)), s.max = (a, i) => s.check(/* @__PURE__ */ zt(a, i)), s.int = (a) => s.check(wi(a)), s.safe = (a) => s.check(wi(a)), s.positive = (a) => s.check(/* @__PURE__ */ yi(0, a)), s.nonnegative = (a) => s.check(/* @__PURE__ */ qt(0, a)), s.negative = (a) => s.check(/* @__PURE__ */ fi(0, a)), s.nonpositive = (a) => s.check(/* @__PURE__ */ zt(0, a)), s.multipleOf = (a, i) => s.check(/* @__PURE__ */ vi(a, i)), s.step = (a, i) => s.check(/* @__PURE__ */ vi(a, i)), s.finite = () => s;
|
|
16123
16123
|
const t = s._zod.bag;
|
|
16124
16124
|
s.minValue = Math.max(t.minimum ?? Number.NEGATIVE_INFINITY, t.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null, s.maxValue = Math.min(t.maximum ?? Number.POSITIVE_INFINITY, t.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null, s.isInt = (t.format ?? "").includes("int") || Number.isSafeInteger(t.multipleOf ?? 0.5), s.isFinite = !0, s.format = t.format ?? null;
|
|
16125
16125
|
});
|
|
16126
|
-
function
|
|
16127
|
-
return /* @__PURE__ */ Vl(
|
|
16126
|
+
function k(s) {
|
|
16127
|
+
return /* @__PURE__ */ Vl(Ms, s);
|
|
16128
16128
|
}
|
|
16129
16129
|
const wu = /* @__PURE__ */ v("ZodNumberFormat", (s, e) => {
|
|
16130
|
-
Jo.init(s, e),
|
|
16130
|
+
Jo.init(s, e), Ms.init(s, e);
|
|
16131
16131
|
});
|
|
16132
16132
|
function wi(s) {
|
|
16133
16133
|
return /* @__PURE__ */ Zl(wu, s);
|
|
@@ -16151,15 +16151,15 @@ function Au(s) {
|
|
|
16151
16151
|
return /* @__PURE__ */ Kl(ku, s);
|
|
16152
16152
|
}
|
|
16153
16153
|
const Tu = /* @__PURE__ */ v("ZodArray", (s, e) => {
|
|
16154
|
-
al.init(s, e), j.init(s, e), s._zod.processJSONSchema = (t, a, i) => kc(s, t, a, i), s.element = e.element, s.min = (t, a) => s.check(/* @__PURE__ */ It(t, a)), s.nonempty = (t) => s.check(/* @__PURE__ */ It(1, t)), s.max = (t, a) => s.check(/* @__PURE__ */
|
|
16154
|
+
al.init(s, e), j.init(s, e), s._zod.processJSONSchema = (t, a, i) => kc(s, t, a, i), s.element = e.element, s.min = (t, a) => s.check(/* @__PURE__ */ It(t, a)), s.nonempty = (t) => s.check(/* @__PURE__ */ It(1, t)), s.max = (t, a) => s.check(/* @__PURE__ */ Ss(t, a)), s.length = (t, a) => s.check(/* @__PURE__ */ _s(t, a)), s.unwrap = () => s.element;
|
|
16155
16155
|
});
|
|
16156
|
-
function
|
|
16156
|
+
function J(s, e) {
|
|
16157
16157
|
return /* @__PURE__ */ cc(Tu, s, e);
|
|
16158
16158
|
}
|
|
16159
16159
|
const Cu = /* @__PURE__ */ v("ZodObject", (s, e) => {
|
|
16160
|
-
sl.init(s, e), j.init(s, e), s._zod.processJSONSchema = (t, a, i) => Ac(s, t, a, i),
|
|
16160
|
+
sl.init(s, e), j.init(s, e), s._zod.processJSONSchema = (t, a, i) => Ac(s, t, a, i), L(s, "shape", () => e.shape), s.keyof = () => _t(Object.keys(s._zod.def.shape)), s.catchall = (t) => s.clone({ ...s._zod.def, catchall: t }), s.passthrough = () => s.clone({ ...s._zod.def, catchall: Si() }), s.loose = () => s.clone({ ...s._zod.def, catchall: Si() }), s.strict = () => s.clone({ ...s._zod.def, catchall: Au() }), s.strip = () => s.clone({ ...s._zod.def, catchall: void 0 }), s.extend = (t) => Ar(s, t), s.safeExtend = (t) => Tr(s, t), s.merge = (t) => Cr(s, t), s.pick = (t) => _r(s, t), s.omit = (t) => kr(s, t), s.partial = (...t) => Ir(Es, s, t[0]), s.required = (...t) => Mr(Ds, s, t[0]);
|
|
16161
16161
|
});
|
|
16162
|
-
function
|
|
16162
|
+
function B(s, e) {
|
|
16163
16163
|
const t = {
|
|
16164
16164
|
type: "object",
|
|
16165
16165
|
shape: s ?? {},
|
|
@@ -16240,7 +16240,7 @@ function _t(s, e) {
|
|
|
16240
16240
|
const Ru = /* @__PURE__ */ v("ZodTransform", (s, e) => {
|
|
16241
16241
|
cl.init(s, e), j.init(s, e), s._zod.processJSONSchema = (t, a, i) => _c(s, t), s._zod.parse = (t, a) => {
|
|
16242
16242
|
if (a.direction === "backward")
|
|
16243
|
-
throw new
|
|
16243
|
+
throw new ts(s.constructor.name);
|
|
16244
16244
|
t.addIssue = (n) => {
|
|
16245
16245
|
if (typeof n == "string")
|
|
16246
16246
|
t.issues.push(st(n, t.value, e));
|
|
@@ -16259,17 +16259,17 @@ function xu(s) {
|
|
|
16259
16259
|
transform: s
|
|
16260
16260
|
});
|
|
16261
16261
|
}
|
|
16262
|
-
const
|
|
16263
|
-
|
|
16262
|
+
const Es = /* @__PURE__ */ v("ZodOptional", (s, e) => {
|
|
16263
|
+
ws.init(s, e), j.init(s, e), s._zod.processJSONSchema = (t, a, i) => Cs(s, t, a, i), s.unwrap = () => s._zod.def.innerType;
|
|
16264
16264
|
});
|
|
16265
16265
|
function _i(s) {
|
|
16266
|
-
return new
|
|
16266
|
+
return new Es({
|
|
16267
16267
|
type: "optional",
|
|
16268
16268
|
innerType: s
|
|
16269
16269
|
});
|
|
16270
16270
|
}
|
|
16271
16271
|
const Pu = /* @__PURE__ */ v("ZodExactOptional", (s, e) => {
|
|
16272
|
-
ul.init(s, e), j.init(s, e), s._zod.processJSONSchema = (t, a, i) =>
|
|
16272
|
+
ul.init(s, e), j.init(s, e), s._zod.processJSONSchema = (t, a, i) => Cs(s, t, a, i), s.unwrap = () => s._zod.def.innerType;
|
|
16273
16273
|
});
|
|
16274
16274
|
function $u(s) {
|
|
16275
16275
|
return new Pu({
|
|
@@ -16294,7 +16294,7 @@ function Bu(s, e) {
|
|
|
16294
16294
|
type: "default",
|
|
16295
16295
|
innerType: s,
|
|
16296
16296
|
get defaultValue() {
|
|
16297
|
-
return typeof e == "function" ? e() :
|
|
16297
|
+
return typeof e == "function" ? e() : ns(e);
|
|
16298
16298
|
}
|
|
16299
16299
|
});
|
|
16300
16300
|
}
|
|
@@ -16306,15 +16306,15 @@ function Fu(s, e) {
|
|
|
16306
16306
|
type: "prefault",
|
|
16307
16307
|
innerType: s,
|
|
16308
16308
|
get defaultValue() {
|
|
16309
|
-
return typeof e == "function" ? e() :
|
|
16309
|
+
return typeof e == "function" ? e() : ns(e);
|
|
16310
16310
|
}
|
|
16311
16311
|
});
|
|
16312
16312
|
}
|
|
16313
|
-
const
|
|
16313
|
+
const Ds = /* @__PURE__ */ v("ZodNonOptional", (s, e) => {
|
|
16314
16314
|
ml.init(s, e), j.init(s, e), s._zod.processJSONSchema = (t, a, i) => Ec(s, t, a, i), s.unwrap = () => s._zod.def.innerType;
|
|
16315
16315
|
});
|
|
16316
16316
|
function Wu(s, e) {
|
|
16317
|
-
return new
|
|
16317
|
+
return new Ds({
|
|
16318
16318
|
type: "nonoptional",
|
|
16319
16319
|
innerType: s,
|
|
16320
16320
|
...M(e)
|
|
@@ -16359,426 +16359,137 @@ function Vu(s, e = {}) {
|
|
|
16359
16359
|
function Zu(s) {
|
|
16360
16360
|
return /* @__PURE__ */ dc(s);
|
|
16361
16361
|
}
|
|
16362
|
-
const Yu = Ce.map((s) => s), Xu =
|
|
16363
|
-
id:
|
|
16364
|
-
uuid:
|
|
16365
|
-
playlist_index:
|
|
16366
|
-
chain_name:
|
|
16367
|
-
token_address:
|
|
16368
|
-
token_id:
|
|
16369
|
-
tx_id:
|
|
16370
|
-
platform:
|
|
16371
|
-
title:
|
|
16372
|
-
artist:
|
|
16373
|
-
description:
|
|
16374
|
-
album:
|
|
16375
|
-
image_url:
|
|
16376
|
-
image_thumb_url:
|
|
16377
|
-
audio_url:
|
|
16378
|
-
audio_url_lossless:
|
|
16379
|
-
duration:
|
|
16380
|
-
genre:
|
|
16381
|
-
tags:
|
|
16382
|
-
bpm:
|
|
16383
|
-
key:
|
|
16384
|
-
attributes: St(
|
|
16362
|
+
const Yu = Ce.map((s) => s), Xu = B({
|
|
16363
|
+
id: _(),
|
|
16364
|
+
uuid: _(),
|
|
16365
|
+
playlist_index: k().nonnegative(),
|
|
16366
|
+
chain_name: _(),
|
|
16367
|
+
token_address: _().optional(),
|
|
16368
|
+
token_id: _().optional(),
|
|
16369
|
+
tx_id: _().optional(),
|
|
16370
|
+
platform: _(),
|
|
16371
|
+
title: _(),
|
|
16372
|
+
artist: _(),
|
|
16373
|
+
description: _().optional(),
|
|
16374
|
+
album: _().optional(),
|
|
16375
|
+
image_url: _().url(),
|
|
16376
|
+
image_thumb_url: _().url().optional(),
|
|
16377
|
+
audio_url: _().url(),
|
|
16378
|
+
audio_url_lossless: _().url().optional(),
|
|
16379
|
+
duration: k().nonnegative(),
|
|
16380
|
+
genre: _(),
|
|
16381
|
+
tags: J(_()),
|
|
16382
|
+
bpm: k().positive().optional(),
|
|
16383
|
+
key: _().optional(),
|
|
16384
|
+
attributes: St(_(), ba([_(), k()])).optional()
|
|
16385
16385
|
}).refine(
|
|
16386
16386
|
(s) => s.chain_name === "AR" ? !!s.tx_id : !!s.token_address && !!s.token_id,
|
|
16387
16387
|
{
|
|
16388
16388
|
message: "AR chain tracks must have tx_id; other chains must have token_address and token_id",
|
|
16389
16389
|
path: ["chain_name"]
|
|
16390
16390
|
}
|
|
16391
|
-
),
|
|
16392
|
-
name:
|
|
16393
|
-
description:
|
|
16394
|
-
image:
|
|
16395
|
-
creator:
|
|
16396
|
-
genre:
|
|
16397
|
-
tags:
|
|
16398
|
-
tracks:
|
|
16399
|
-
}),
|
|
16400
|
-
bass_dominance:
|
|
16401
|
-
mid_dominance:
|
|
16402
|
-
treble_dominance:
|
|
16403
|
-
average_amplitude:
|
|
16404
|
-
spectral_centroid:
|
|
16405
|
-
spectral_rolloff:
|
|
16406
|
-
zero_crossing_rate:
|
|
16407
|
-
color_palette:
|
|
16408
|
-
colors:
|
|
16409
|
-
primary_color:
|
|
16410
|
-
secondary_color:
|
|
16411
|
-
accent_color:
|
|
16412
|
-
brightness:
|
|
16413
|
-
saturation:
|
|
16391
|
+
), Bh = B({
|
|
16392
|
+
name: _(),
|
|
16393
|
+
description: _().optional(),
|
|
16394
|
+
image: _().url(),
|
|
16395
|
+
creator: _(),
|
|
16396
|
+
genre: _().optional(),
|
|
16397
|
+
tags: J(_()).optional(),
|
|
16398
|
+
tracks: J(Xu)
|
|
16399
|
+
}), Lh = B({
|
|
16400
|
+
bass_dominance: k().min(0).max(1),
|
|
16401
|
+
mid_dominance: k().min(0).max(1),
|
|
16402
|
+
treble_dominance: k().min(0).max(1),
|
|
16403
|
+
average_amplitude: k().min(0).max(1),
|
|
16404
|
+
spectral_centroid: k().optional(),
|
|
16405
|
+
spectral_rolloff: k().optional(),
|
|
16406
|
+
zero_crossing_rate: k().optional(),
|
|
16407
|
+
color_palette: B({
|
|
16408
|
+
colors: J(_()),
|
|
16409
|
+
primary_color: _(),
|
|
16410
|
+
secondary_color: _().optional(),
|
|
16411
|
+
accent_color: _().optional(),
|
|
16412
|
+
brightness: k().min(0).max(1),
|
|
16413
|
+
saturation: k().min(0).max(1),
|
|
16414
16414
|
is_monochrome: ta()
|
|
16415
16415
|
}).optional(),
|
|
16416
|
-
analysis_metadata:
|
|
16417
|
-
duration_analyzed:
|
|
16416
|
+
analysis_metadata: B({
|
|
16417
|
+
duration_analyzed: k().positive(),
|
|
16418
16418
|
full_buffer_analyzed: ta(),
|
|
16419
|
-
sample_positions:
|
|
16420
|
-
analyzed_at:
|
|
16419
|
+
sample_positions: J(k()),
|
|
16420
|
+
analyzed_at: _()
|
|
16421
16421
|
})
|
|
16422
|
-
}), Ti =
|
|
16423
|
-
STR:
|
|
16424
|
-
DEX:
|
|
16425
|
-
CON:
|
|
16426
|
-
INT:
|
|
16427
|
-
WIS:
|
|
16428
|
-
CHA:
|
|
16429
|
-
}),
|
|
16430
|
-
name:
|
|
16422
|
+
}), Ti = B({
|
|
16423
|
+
STR: k().min(1).max(20),
|
|
16424
|
+
DEX: k().min(1).max(20),
|
|
16425
|
+
CON: k().min(1).max(20),
|
|
16426
|
+
INT: k().min(1).max(20),
|
|
16427
|
+
WIS: k().min(1).max(20),
|
|
16428
|
+
CHA: k().min(1).max(20)
|
|
16429
|
+
}), Fh = B({
|
|
16430
|
+
name: _(),
|
|
16431
16431
|
race: _t(["Human", "Elf", "Dwarf", "Halfling", "Dragonborn", "Gnome", "Half-Elf", "Half-Orc", "Tiefling"]),
|
|
16432
16432
|
class: _t(Yu),
|
|
16433
|
-
level:
|
|
16433
|
+
level: k().min(1).max(20),
|
|
16434
16434
|
ability_scores: Ti,
|
|
16435
16435
|
ability_modifiers: Ti,
|
|
16436
|
-
proficiency_bonus:
|
|
16437
|
-
hp:
|
|
16438
|
-
current:
|
|
16439
|
-
max:
|
|
16440
|
-
temp:
|
|
16436
|
+
proficiency_bonus: k().min(2).max(6),
|
|
16437
|
+
hp: B({
|
|
16438
|
+
current: k().nonnegative(),
|
|
16439
|
+
max: k().positive(),
|
|
16440
|
+
temp: k().nonnegative()
|
|
16441
16441
|
}),
|
|
16442
|
-
armor_class:
|
|
16443
|
-
initiative:
|
|
16444
|
-
speed:
|
|
16445
|
-
skills: St(
|
|
16446
|
-
saving_throws: St(
|
|
16447
|
-
racial_traits:
|
|
16448
|
-
class_features:
|
|
16449
|
-
spells:
|
|
16450
|
-
spell_slots: St(
|
|
16451
|
-
total:
|
|
16452
|
-
used:
|
|
16442
|
+
armor_class: k().positive(),
|
|
16443
|
+
initiative: k(),
|
|
16444
|
+
speed: k().positive(),
|
|
16445
|
+
skills: St(_(), _t(["none", "proficient", "expertise"])),
|
|
16446
|
+
saving_throws: St(_(), ta()),
|
|
16447
|
+
racial_traits: J(_()),
|
|
16448
|
+
class_features: J(_()),
|
|
16449
|
+
spells: B({
|
|
16450
|
+
spell_slots: St(_(), B({
|
|
16451
|
+
total: k().nonnegative(),
|
|
16452
|
+
used: k().nonnegative()
|
|
16453
16453
|
})),
|
|
16454
|
-
known_spells:
|
|
16455
|
-
cantrips:
|
|
16454
|
+
known_spells: J(_()),
|
|
16455
|
+
cantrips: J(_())
|
|
16456
16456
|
}).optional(),
|
|
16457
|
-
equipment:
|
|
16458
|
-
weapons:
|
|
16459
|
-
armor:
|
|
16460
|
-
items:
|
|
16457
|
+
equipment: B({
|
|
16458
|
+
weapons: J(_()),
|
|
16459
|
+
armor: J(_()),
|
|
16460
|
+
items: J(_())
|
|
16461
16461
|
}).optional(),
|
|
16462
|
-
appearance:
|
|
16463
|
-
body_type:
|
|
16464
|
-
skin_tone:
|
|
16465
|
-
hair_style:
|
|
16466
|
-
hair_color:
|
|
16467
|
-
eye_color:
|
|
16468
|
-
facial_features:
|
|
16469
|
-
primary_color:
|
|
16470
|
-
secondary_color:
|
|
16471
|
-
aura_color:
|
|
16462
|
+
appearance: B({
|
|
16463
|
+
body_type: _(),
|
|
16464
|
+
skin_tone: _(),
|
|
16465
|
+
hair_style: _(),
|
|
16466
|
+
hair_color: _(),
|
|
16467
|
+
eye_color: _(),
|
|
16468
|
+
facial_features: J(_()),
|
|
16469
|
+
primary_color: _().optional(),
|
|
16470
|
+
secondary_color: _().optional(),
|
|
16471
|
+
aura_color: _().optional()
|
|
16472
16472
|
}).optional(),
|
|
16473
|
-
xp:
|
|
16474
|
-
current:
|
|
16475
|
-
next_level:
|
|
16473
|
+
xp: B({
|
|
16474
|
+
current: k().nonnegative(),
|
|
16475
|
+
next_level: k().positive()
|
|
16476
16476
|
}),
|
|
16477
|
-
seed:
|
|
16478
|
-
generated_at:
|
|
16477
|
+
seed: _(),
|
|
16478
|
+
generated_at: _()
|
|
16479
|
+
}), Ku = B({
|
|
16480
|
+
type: _(),
|
|
16481
|
+
value: _()
|
|
16482
|
+
}), Wh = B({
|
|
16483
|
+
name: _(),
|
|
16484
|
+
uri: _().optional(),
|
|
16485
|
+
mime_type: _().optional(),
|
|
16486
|
+
conditions: J(Ku)
|
|
16487
|
+
}), Hh = B({
|
|
16488
|
+
name: _(),
|
|
16489
|
+
uri: _().optional(),
|
|
16490
|
+
mime_type: _().optional()
|
|
16479
16491
|
});
|
|
16480
|
-
|
|
16481
|
-
if (!s || !s.metadata) return null;
|
|
16482
|
-
if (typeof s.metadata == "string")
|
|
16483
|
-
try {
|
|
16484
|
-
const e = JSON.parse(s.metadata);
|
|
16485
|
-
return typeof e == "object" && e !== null && !Array.isArray(e) ? e : null;
|
|
16486
|
-
} catch {
|
|
16487
|
-
return null;
|
|
16488
|
-
}
|
|
16489
|
-
return typeof s.metadata == "object" && !Array.isArray(s.metadata) ? s.metadata : null;
|
|
16490
|
-
}
|
|
16491
|
-
function Ku(s) {
|
|
16492
|
-
const e = { stems: [], mixes: [], hasExtras: !1 };
|
|
16493
|
-
if (!s) return e;
|
|
16494
|
-
const t = id(s), a = sd(s), i = typeof s.vrm == "string" ? s.vrm : void 0, n = ed(s.lyrics), r = Ci(s.visualizer), o = Ci(s.video), l = td(s.merch), c = ad(s.credits), u = typeof s.midi == "string" ? s.midi : void 0, d = typeof s.step_mania == "string" ? s.step_mania : void 0, h = typeof s.clone_hero == "string" ? s.clone_hero : void 0, p = typeof s.external_url == "string" ? s.external_url : void 0;
|
|
16495
|
-
return {
|
|
16496
|
-
hasExtras: t.length > 0 || a.length > 0 || !!i || !!n || !!r || !!o || !!l || !!c || !!u || !!d || !!h || !!p,
|
|
16497
|
-
...t.length > 0 ? { stems: t } : {},
|
|
16498
|
-
...a.length > 0 ? { mixes: a } : {},
|
|
16499
|
-
...i ? { vrm: i } : {},
|
|
16500
|
-
...n ? { lyrics: n } : {},
|
|
16501
|
-
...r ? { visualizer: r } : {},
|
|
16502
|
-
...o ? { video: o } : {},
|
|
16503
|
-
...l ? { merch: l } : {},
|
|
16504
|
-
...c ? { credits: c } : {},
|
|
16505
|
-
...u ? { midi: u } : {},
|
|
16506
|
-
...d ? { step_mania: d } : {},
|
|
16507
|
-
...h ? { clone_hero: h } : {},
|
|
16508
|
-
...p ? { external_url: p } : {}
|
|
16509
|
-
};
|
|
16510
|
-
}
|
|
16511
|
-
const Ju = ["audio/wav", "audio/x-wav", "audio/flac"];
|
|
16512
|
-
function Qu(s, e, t) {
|
|
16513
|
-
const a = e?.["Selected Mix"], i = typeof s == "string" && s || typeof a == "string" && a || null;
|
|
16514
|
-
if (!i || i === "default") return null;
|
|
16515
|
-
const n = (t ?? []).filter((c) => c.name === i);
|
|
16516
|
-
if (n.length === 0) return null;
|
|
16517
|
-
const r = (c) => Ju.includes((c.mime_type ?? "").toLowerCase()), o = n.find(r), l = n.find((c) => !r(c)) ?? n[0];
|
|
16518
|
-
return {
|
|
16519
|
-
name: i,
|
|
16520
|
-
...l?.uri ? { audio_url: l.uri } : {},
|
|
16521
|
-
...o?.uri && o.uri !== l?.uri ? { audio_url_lossless: o.uri } : {}
|
|
16522
|
-
};
|
|
16523
|
-
}
|
|
16524
|
-
function ed(s) {
|
|
16525
|
-
if (s) {
|
|
16526
|
-
if (typeof s == "string") return { text: s };
|
|
16527
|
-
if (typeof s == "object" && !Array.isArray(s)) {
|
|
16528
|
-
const e = s;
|
|
16529
|
-
return { text: typeof e.text == "string" ? e.text : void 0 };
|
|
16530
|
-
}
|
|
16531
|
-
}
|
|
16532
|
-
}
|
|
16533
|
-
function Ci(s) {
|
|
16534
|
-
if (!s || typeof s != "object" || Array.isArray(s)) return;
|
|
16535
|
-
const e = s;
|
|
16536
|
-
if (typeof e.uri == "string")
|
|
16537
|
-
return {
|
|
16538
|
-
uri: e.uri,
|
|
16539
|
-
mime_type: typeof e.mime_type == "string" ? e.mime_type : void 0
|
|
16540
|
-
};
|
|
16541
|
-
}
|
|
16542
|
-
function td(s) {
|
|
16543
|
-
if (!s || typeof s != "object" || Array.isArray(s)) return;
|
|
16544
|
-
const e = s;
|
|
16545
|
-
if (typeof e.uri == "string")
|
|
16546
|
-
return {
|
|
16547
|
-
uri: e.uri,
|
|
16548
|
-
mime_type: typeof e.mime_type == "string" ? e.mime_type : void 0,
|
|
16549
|
-
type: typeof e.type == "string" ? e.type : void 0
|
|
16550
|
-
};
|
|
16551
|
-
}
|
|
16552
|
-
function ad(s) {
|
|
16553
|
-
if (!Array.isArray(s)) return;
|
|
16554
|
-
const e = [];
|
|
16555
|
-
for (const t of s)
|
|
16556
|
-
if (t && typeof t == "object") {
|
|
16557
|
-
const a = t;
|
|
16558
|
-
typeof a.name == "string" && typeof a.credit == "string" && e.push({ name: a.name, credit: a.credit });
|
|
16559
|
-
}
|
|
16560
|
-
return e.length > 0 ? e : void 0;
|
|
16561
|
-
}
|
|
16562
|
-
function id(s) {
|
|
16563
|
-
const e = s.stems;
|
|
16564
|
-
if (!Array.isArray(e)) return [];
|
|
16565
|
-
const t = [];
|
|
16566
|
-
for (const a of e)
|
|
16567
|
-
if (a && typeof a == "object") {
|
|
16568
|
-
const i = a;
|
|
16569
|
-
t.push({
|
|
16570
|
-
name: typeof i.name == "string" ? i.name : "",
|
|
16571
|
-
uri: typeof i.uri == "string" ? i.uri : void 0,
|
|
16572
|
-
mime_type: typeof i.mime_type == "string" ? i.mime_type : void 0
|
|
16573
|
-
});
|
|
16574
|
-
}
|
|
16575
|
-
return t;
|
|
16576
|
-
}
|
|
16577
|
-
function sd(s) {
|
|
16578
|
-
const e = s.mixes;
|
|
16579
|
-
if (!Array.isArray(e)) return [];
|
|
16580
|
-
const t = [];
|
|
16581
|
-
for (const a of e)
|
|
16582
|
-
if (a && typeof a == "object") {
|
|
16583
|
-
const i = a, n = nd(i.name), r = rd(i.conditions);
|
|
16584
|
-
t.push({
|
|
16585
|
-
name: n || "",
|
|
16586
|
-
uri: typeof i.uri == "string" ? i.uri : void 0,
|
|
16587
|
-
mime_type: typeof i.mime_type == "string" ? i.mime_type : void 0,
|
|
16588
|
-
conditions: r
|
|
16589
|
-
});
|
|
16590
|
-
}
|
|
16591
|
-
return t;
|
|
16592
|
-
}
|
|
16593
|
-
function nd(s) {
|
|
16594
|
-
if (typeof s == "string") return s;
|
|
16595
|
-
if (s && typeof s == "object" && !Array.isArray(s)) {
|
|
16596
|
-
const e = s;
|
|
16597
|
-
if (typeof e.value == "string") return e.value;
|
|
16598
|
-
}
|
|
16599
|
-
return "";
|
|
16600
|
-
}
|
|
16601
|
-
function rd(s) {
|
|
16602
|
-
if (!Array.isArray(s)) return [];
|
|
16603
|
-
const e = [];
|
|
16604
|
-
for (const t of s)
|
|
16605
|
-
if (t && typeof t == "object") {
|
|
16606
|
-
const a = t;
|
|
16607
|
-
typeof a.type == "string" && typeof a.value == "string" && e.push({ type: a.type, value: a.value });
|
|
16608
|
-
}
|
|
16609
|
-
return e;
|
|
16610
|
-
}
|
|
16611
|
-
function Qh(s, e) {
|
|
16612
|
-
const t = [], a = /* @__PURE__ */ new Date();
|
|
16613
|
-
for (const i of s.mixes || []) {
|
|
16614
|
-
if (i.conditions.length === 0) {
|
|
16615
|
-
t.push({
|
|
16616
|
-
mix: i,
|
|
16617
|
-
conditions: [],
|
|
16618
|
-
allMet: !0,
|
|
16619
|
-
unmetConditions: []
|
|
16620
|
-
});
|
|
16621
|
-
continue;
|
|
16622
|
-
}
|
|
16623
|
-
const n = [], r = [];
|
|
16624
|
-
for (const o of i.conditions) {
|
|
16625
|
-
const l = od(o, e, a);
|
|
16626
|
-
n.push(l), l.met || r.push(l);
|
|
16627
|
-
}
|
|
16628
|
-
t.push({
|
|
16629
|
-
mix: i,
|
|
16630
|
-
conditions: n,
|
|
16631
|
-
allMet: r.length === 0,
|
|
16632
|
-
unmetConditions: r
|
|
16633
|
-
});
|
|
16634
|
-
}
|
|
16635
|
-
return t;
|
|
16636
|
-
}
|
|
16637
|
-
function od(s, e, t = /* @__PURE__ */ new Date()) {
|
|
16638
|
-
const { type: a, value: i } = s, n = e?.environment, r = e?.appState;
|
|
16639
|
-
switch (a) {
|
|
16640
|
-
case "weather": {
|
|
16641
|
-
const o = n?.weather?.weatherType || "", l = o.toLowerCase() === i.toLowerCase();
|
|
16642
|
-
return {
|
|
16643
|
-
type: a,
|
|
16644
|
-
value: i,
|
|
16645
|
-
met: l,
|
|
16646
|
-
reason: l ? `Weather is ${o}` : `Weather is ${o} (need ${i})`
|
|
16647
|
-
};
|
|
16648
|
-
}
|
|
16649
|
-
case "day": {
|
|
16650
|
-
const l = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"][t.getDay()], c = l.toLowerCase() === i.toLowerCase();
|
|
16651
|
-
return {
|
|
16652
|
-
type: a,
|
|
16653
|
-
value: i,
|
|
16654
|
-
met: c,
|
|
16655
|
-
reason: c ? `Today is ${l}` : `Today is ${l} (need ${i})`
|
|
16656
|
-
};
|
|
16657
|
-
}
|
|
16658
|
-
case "start_time": {
|
|
16659
|
-
const o = t.getHours() * 60 + t.getMinutes(), l = Ii(i), c = o >= l;
|
|
16660
|
-
return {
|
|
16661
|
-
type: a,
|
|
16662
|
-
value: i,
|
|
16663
|
-
met: c,
|
|
16664
|
-
reason: c ? `Time is after ${i}` : `Time is before ${i}`
|
|
16665
|
-
};
|
|
16666
|
-
}
|
|
16667
|
-
case "end_time": {
|
|
16668
|
-
const o = t.getHours() * 60 + t.getMinutes(), l = Ii(i), c = o < l;
|
|
16669
|
-
return {
|
|
16670
|
-
type: a,
|
|
16671
|
-
value: i,
|
|
16672
|
-
met: c,
|
|
16673
|
-
reason: c ? `Time is before ${i}` : `Time is after ${i}`
|
|
16674
|
-
};
|
|
16675
|
-
}
|
|
16676
|
-
case "min_plays": {
|
|
16677
|
-
const o = parseInt(i, 10), l = r?.playCount ?? 0, c = l >= o;
|
|
16678
|
-
return {
|
|
16679
|
-
type: a,
|
|
16680
|
-
value: i,
|
|
16681
|
-
met: c,
|
|
16682
|
-
reason: c ? `Played ${l} times (need ${o})` : `Played ${l} times (need ${o})`
|
|
16683
|
-
};
|
|
16684
|
-
}
|
|
16685
|
-
case "max_plays": {
|
|
16686
|
-
const o = parseInt(i, 10), l = r?.playCount ?? 0, c = l <= o;
|
|
16687
|
-
return {
|
|
16688
|
-
type: a,
|
|
16689
|
-
value: i,
|
|
16690
|
-
met: c,
|
|
16691
|
-
reason: c ? `Played ${l} times (max ${o})` : `Played ${l} times (exceeds max ${o})`
|
|
16692
|
-
};
|
|
16693
|
-
}
|
|
16694
|
-
case "every_x_plays": {
|
|
16695
|
-
const o = parseInt(i, 10), l = r?.playCount ?? 0, c = o > 0 && l > 0 && l % o === 0;
|
|
16696
|
-
return {
|
|
16697
|
-
type: a,
|
|
16698
|
-
value: i,
|
|
16699
|
-
met: c,
|
|
16700
|
-
reason: c ? `Play #${l} (every ${o} plays)` : `Play #${l} (not a multiple of ${o})`
|
|
16701
|
-
};
|
|
16702
|
-
}
|
|
16703
|
-
case "altitude": {
|
|
16704
|
-
const o = n?.geolocation?.altitude;
|
|
16705
|
-
if (o == null)
|
|
16706
|
-
return { type: a, value: i, met: !1, reason: "Altitude unavailable" };
|
|
16707
|
-
const l = ld(i), c = cd(o, l.operator, l.threshold);
|
|
16708
|
-
return {
|
|
16709
|
-
type: a,
|
|
16710
|
-
value: i,
|
|
16711
|
-
met: c,
|
|
16712
|
-
reason: c ? `Altitude ${o}m ${l.operator} ${l.threshold}m` : `Altitude ${o}m (need ${l.operator} ${l.threshold}m)`
|
|
16713
|
-
};
|
|
16714
|
-
}
|
|
16715
|
-
case "favorite": {
|
|
16716
|
-
const o = r?.isFavorite ?? !1, l = i.toLowerCase() === "true", c = o === l;
|
|
16717
|
-
return {
|
|
16718
|
-
type: a,
|
|
16719
|
-
value: i,
|
|
16720
|
-
met: c,
|
|
16721
|
-
reason: c ? o ? "Track is favorited" : "Track is not favorited" : o ? "Track is favorited (need unfavorited)" : "Track is not favorited (need favorited)"
|
|
16722
|
-
};
|
|
16723
|
-
}
|
|
16724
|
-
case "birthday": {
|
|
16725
|
-
if (!r?.userBirthday)
|
|
16726
|
-
return { type: a, value: i, met: !1, reason: "Birthday not set" };
|
|
16727
|
-
const l = `${String(t.getMonth() + 1).padStart(2, "0")}-${String(t.getDate()).padStart(2, "0")}` === r.userBirthday;
|
|
16728
|
-
return {
|
|
16729
|
-
type: a,
|
|
16730
|
-
value: i,
|
|
16731
|
-
met: l,
|
|
16732
|
-
reason: l ? "It's your birthday!" : `Not your birthday (need ${r.userBirthday})`
|
|
16733
|
-
};
|
|
16734
|
-
}
|
|
16735
|
-
case "weight":
|
|
16736
|
-
return {
|
|
16737
|
-
type: a,
|
|
16738
|
-
value: i,
|
|
16739
|
-
met: !0,
|
|
16740
|
-
reason: `Weight ${i} (used for random selection, always available)`
|
|
16741
|
-
};
|
|
16742
|
-
default:
|
|
16743
|
-
return {
|
|
16744
|
-
type: a,
|
|
16745
|
-
value: i,
|
|
16746
|
-
met: !0,
|
|
16747
|
-
reason: `Custom condition: ${a} = ${i}`
|
|
16748
|
-
};
|
|
16749
|
-
}
|
|
16750
|
-
}
|
|
16751
|
-
function Ii(s) {
|
|
16752
|
-
const e = s.split(":");
|
|
16753
|
-
if (e.length !== 2) return 0;
|
|
16754
|
-
const t = parseInt(e[0], 10), a = parseInt(e[1], 10);
|
|
16755
|
-
return isNaN(t) || isNaN(a) ? 0 : t * 60 + a;
|
|
16756
|
-
}
|
|
16757
|
-
function ld(s) {
|
|
16758
|
-
const e = s.match(/^(>=|<=|>|<|=)?\s*(\d+(?:\.\d+)?)\s*$/);
|
|
16759
|
-
return e ? {
|
|
16760
|
-
operator: e[1] || ">=",
|
|
16761
|
-
threshold: parseFloat(e[2])
|
|
16762
|
-
} : { operator: ">=", threshold: parseFloat(s) || 0 };
|
|
16763
|
-
}
|
|
16764
|
-
function cd(s, e, t) {
|
|
16765
|
-
switch (e) {
|
|
16766
|
-
case ">":
|
|
16767
|
-
return s > t;
|
|
16768
|
-
case ">=":
|
|
16769
|
-
return s >= t;
|
|
16770
|
-
case "<":
|
|
16771
|
-
return s < t;
|
|
16772
|
-
case "<=":
|
|
16773
|
-
return s <= t;
|
|
16774
|
-
case "=":
|
|
16775
|
-
case "==":
|
|
16776
|
-
return s === t;
|
|
16777
|
-
default:
|
|
16778
|
-
return s >= t;
|
|
16779
|
-
}
|
|
16780
|
-
}
|
|
16781
|
-
class ud {
|
|
16492
|
+
class Ju {
|
|
16782
16493
|
/**
|
|
16783
16494
|
* Generate a unique RPG-style character name from track metadata and character class
|
|
16784
16495
|
*
|
|
@@ -17169,7 +16880,7 @@ class fe {
|
|
|
17169
16880
|
return i;
|
|
17170
16881
|
}
|
|
17171
16882
|
}
|
|
17172
|
-
const
|
|
16883
|
+
const Ci = [
|
|
17173
16884
|
// ========================================
|
|
17174
16885
|
// BARBARIAN FEATURES
|
|
17175
16886
|
// ========================================
|
|
@@ -18328,7 +18039,7 @@ const Mi = [
|
|
|
18328
18039
|
source: "default",
|
|
18329
18040
|
tags: ["magic"]
|
|
18330
18041
|
}
|
|
18331
|
-
],
|
|
18042
|
+
], Ii = [
|
|
18332
18043
|
// ========================================
|
|
18333
18044
|
// HUMAN TRAITS
|
|
18334
18045
|
// ========================================
|
|
@@ -18585,7 +18296,7 @@ const Mi = [
|
|
|
18585
18296
|
source: "default",
|
|
18586
18297
|
tags: ["magic", "spell"]
|
|
18587
18298
|
}
|
|
18588
|
-
],
|
|
18299
|
+
], Mi = [
|
|
18589
18300
|
// STR-based skills
|
|
18590
18301
|
{
|
|
18591
18302
|
id: "athletics",
|
|
@@ -18753,7 +18464,7 @@ const Mi = [
|
|
|
18753
18464
|
source: "default",
|
|
18754
18465
|
description: "Covers influencing others through reason, charm, and good faith. Use this skill when you need to convince someone to see your point of view, negotiate favorable terms, get someone to do you a favor, or rally people to your cause. This skill works best when you're being honest."
|
|
18755
18466
|
}
|
|
18756
|
-
],
|
|
18467
|
+
], zh = [
|
|
18757
18468
|
"physical",
|
|
18758
18469
|
"exploration",
|
|
18759
18470
|
"combat",
|
|
@@ -18766,7 +18477,7 @@ const Mi = [
|
|
|
18766
18477
|
"perception",
|
|
18767
18478
|
"practical",
|
|
18768
18479
|
"entertainment"
|
|
18769
|
-
],
|
|
18480
|
+
], Qu = {
|
|
18770
18481
|
"appearance.bodyTypes": ["slender", "athletic", "muscular", "stocky"],
|
|
18771
18482
|
"appearance.skinTones": [
|
|
18772
18483
|
"#F5E6D3",
|
|
@@ -18843,110 +18554,110 @@ const Mi = [
|
|
|
18843
18554
|
"soft features"
|
|
18844
18555
|
]
|
|
18845
18556
|
};
|
|
18846
|
-
function
|
|
18557
|
+
function Rs() {
|
|
18847
18558
|
const s = R.getInstance();
|
|
18848
|
-
for (const [e, t] of Object.entries(
|
|
18559
|
+
for (const [e, t] of Object.entries(Qu))
|
|
18849
18560
|
s.initializeDefaults(e, [...t]);
|
|
18850
18561
|
}
|
|
18851
|
-
function
|
|
18562
|
+
function ed() {
|
|
18852
18563
|
return R.getInstance().getRegisteredCategories().some((t) => String(t).startsWith("appearance."));
|
|
18853
18564
|
}
|
|
18854
|
-
function
|
|
18855
|
-
|
|
18565
|
+
function xs() {
|
|
18566
|
+
ed() || Rs();
|
|
18856
18567
|
}
|
|
18857
|
-
const
|
|
18568
|
+
const td = Object.values(Gi), ad = Object.entries(Kt).map(([s, e]) => ({
|
|
18858
18569
|
class: s,
|
|
18859
18570
|
cantrips: e.cantrips,
|
|
18860
18571
|
spells_by_level: e.spells_by_level
|
|
18861
18572
|
}));
|
|
18862
|
-
function
|
|
18573
|
+
function Ps() {
|
|
18863
18574
|
const s = R.getInstance();
|
|
18864
|
-
s.initializeDefaults("spells",
|
|
18865
|
-
for (const e of
|
|
18575
|
+
s.initializeDefaults("spells", td);
|
|
18576
|
+
for (const e of ad) {
|
|
18866
18577
|
const t = `spells.${e.class}`;
|
|
18867
18578
|
s.initializeDefaults(t, [e]);
|
|
18868
18579
|
}
|
|
18869
18580
|
}
|
|
18870
|
-
function
|
|
18581
|
+
function id() {
|
|
18871
18582
|
return R.getInstance().getRegisteredCategories().some((t) => String(t).startsWith("spells"));
|
|
18872
18583
|
}
|
|
18873
18584
|
function ia() {
|
|
18874
|
-
|
|
18585
|
+
id() || Ps();
|
|
18875
18586
|
}
|
|
18876
|
-
const
|
|
18587
|
+
const sd = Object.values(et).map((s) => ({
|
|
18877
18588
|
...s,
|
|
18878
18589
|
source: "default",
|
|
18879
18590
|
spawnWeight: s.spawnWeight ?? 1,
|
|
18880
18591
|
// Default to normal spawn rate
|
|
18881
18592
|
tags: s.tags ?? []
|
|
18882
18593
|
}));
|
|
18883
|
-
function
|
|
18884
|
-
R.getInstance().initializeDefaults("equipment",
|
|
18594
|
+
function $s() {
|
|
18595
|
+
R.getInstance().initializeDefaults("equipment", sd);
|
|
18885
18596
|
}
|
|
18886
|
-
function
|
|
18597
|
+
function nd() {
|
|
18887
18598
|
return R.getInstance().getRegisteredCategories().some((t) => t === "equipment");
|
|
18888
18599
|
}
|
|
18889
|
-
function
|
|
18890
|
-
|
|
18600
|
+
function Ns() {
|
|
18601
|
+
nd() || $s();
|
|
18891
18602
|
}
|
|
18892
|
-
function
|
|
18603
|
+
function Os() {
|
|
18893
18604
|
R.getInstance().initializeDefaults("races", [...Yn]);
|
|
18894
18605
|
}
|
|
18895
|
-
function
|
|
18606
|
+
function rd() {
|
|
18896
18607
|
return R.getInstance().getRegisteredCategories().some((t) => t === "races");
|
|
18897
18608
|
}
|
|
18898
|
-
function
|
|
18899
|
-
|
|
18609
|
+
function Bs() {
|
|
18610
|
+
rd() || Os();
|
|
18900
18611
|
}
|
|
18901
|
-
function
|
|
18612
|
+
function Ls() {
|
|
18902
18613
|
R.getInstance().initializeDefaults("races.data", [...Jn]);
|
|
18903
18614
|
}
|
|
18904
|
-
function
|
|
18615
|
+
function od() {
|
|
18905
18616
|
return R.getInstance().getRegisteredCategories().some((t) => t === "races.data");
|
|
18906
18617
|
}
|
|
18907
|
-
function
|
|
18908
|
-
|
|
18618
|
+
function ld() {
|
|
18619
|
+
od() || Ls();
|
|
18909
18620
|
}
|
|
18910
|
-
function
|
|
18621
|
+
function Fs() {
|
|
18911
18622
|
R.getInstance().initializeDefaults("classes", [...Vn]);
|
|
18912
18623
|
}
|
|
18913
|
-
function
|
|
18624
|
+
function cd() {
|
|
18914
18625
|
return R.getInstance().getRegisteredCategories().some((t) => t === "classes");
|
|
18915
18626
|
}
|
|
18916
|
-
function
|
|
18917
|
-
|
|
18627
|
+
function Ws() {
|
|
18628
|
+
cd() || Fs();
|
|
18918
18629
|
}
|
|
18919
|
-
function
|
|
18920
|
-
Ps(),
|
|
18630
|
+
function qh() {
|
|
18631
|
+
Rs(), Ps(), $s(), Os(), Ls(), Fs(), Hs(), qs();
|
|
18921
18632
|
}
|
|
18922
|
-
function
|
|
18923
|
-
|
|
18633
|
+
function Uh() {
|
|
18634
|
+
xs(), ia(), Ns(), Bs(), ld(), Ws(), zs(), hd();
|
|
18924
18635
|
}
|
|
18925
|
-
function
|
|
18636
|
+
function Hs() {
|
|
18926
18637
|
const s = R.getInstance(), e = {};
|
|
18927
|
-
for (const a of
|
|
18638
|
+
for (const a of Ci)
|
|
18928
18639
|
e[a.class] || (e[a.class] = []), e[a.class].push(a);
|
|
18929
|
-
s.initializeDefaults("classFeatures", [...
|
|
18640
|
+
s.initializeDefaults("classFeatures", [...Ci]);
|
|
18930
18641
|
for (const [a, i] of Object.entries(e)) {
|
|
18931
18642
|
const n = `classFeatures.${a}`;
|
|
18932
18643
|
s.initializeDefaults(n, i);
|
|
18933
18644
|
}
|
|
18934
18645
|
const t = {};
|
|
18935
|
-
for (const a of
|
|
18646
|
+
for (const a of Ii)
|
|
18936
18647
|
t[a.race] || (t[a.race] = []), t[a.race].push(a);
|
|
18937
|
-
s.initializeDefaults("racialTraits", [...
|
|
18648
|
+
s.initializeDefaults("racialTraits", [...Ii]);
|
|
18938
18649
|
for (const [a, i] of Object.entries(t)) {
|
|
18939
18650
|
const n = `racialTraits.${a}`;
|
|
18940
18651
|
s.initializeDefaults(n, i);
|
|
18941
18652
|
}
|
|
18942
18653
|
}
|
|
18943
|
-
function
|
|
18654
|
+
function ud() {
|
|
18944
18655
|
return R.getInstance().getRegisteredCategories().some((t) => t === "classFeatures" || t === "racialTraits");
|
|
18945
18656
|
}
|
|
18946
|
-
function
|
|
18947
|
-
|
|
18657
|
+
function zs() {
|
|
18658
|
+
ud() || Hs();
|
|
18948
18659
|
}
|
|
18949
|
-
function
|
|
18660
|
+
function qs() {
|
|
18950
18661
|
const s = R.getInstance(), e = {
|
|
18951
18662
|
STR: [],
|
|
18952
18663
|
DEX: [],
|
|
@@ -18955,22 +18666,22 @@ function js() {
|
|
|
18955
18666
|
WIS: [],
|
|
18956
18667
|
CHA: []
|
|
18957
18668
|
};
|
|
18958
|
-
for (const t of
|
|
18669
|
+
for (const t of Mi)
|
|
18959
18670
|
e[t.ability].push(t);
|
|
18960
|
-
s.initializeDefaults("skills", [...
|
|
18671
|
+
s.initializeDefaults("skills", [...Mi]);
|
|
18961
18672
|
for (const [t, a] of Object.entries(e)) {
|
|
18962
18673
|
const i = `skills.${t}`;
|
|
18963
18674
|
s.initializeDefaults(i, a);
|
|
18964
18675
|
}
|
|
18965
18676
|
}
|
|
18966
|
-
function
|
|
18677
|
+
function dd() {
|
|
18967
18678
|
const s = R.getInstance();
|
|
18968
18679
|
return s.hasCustomData("skills") || s.getDefaults("skills").length > 0;
|
|
18969
18680
|
}
|
|
18970
|
-
function
|
|
18971
|
-
|
|
18681
|
+
function hd() {
|
|
18682
|
+
dd() || qs();
|
|
18972
18683
|
}
|
|
18973
|
-
class
|
|
18684
|
+
class pd {
|
|
18974
18685
|
/**
|
|
18975
18686
|
* Select a random race deterministically from seeded RNG
|
|
18976
18687
|
*
|
|
@@ -19012,7 +18723,7 @@ class Td {
|
|
|
19012
18723
|
* ```
|
|
19013
18724
|
*/
|
|
19014
18725
|
static select(e) {
|
|
19015
|
-
|
|
18726
|
+
Bs();
|
|
19016
18727
|
const t = R.getInstance(), a = t.get("races"), i = t.getWeights("races"), n = t.getMode("races") || "default";
|
|
19017
18728
|
return fe.select(a, i, e, n);
|
|
19018
18729
|
}
|
|
@@ -19069,7 +18780,7 @@ const Ca = class Ca {
|
|
|
19069
18780
|
* ```
|
|
19070
18781
|
*/
|
|
19071
18782
|
static suggest(e, t) {
|
|
19072
|
-
|
|
18783
|
+
Ws();
|
|
19073
18784
|
const a = R.getInstance(), i = a.get("classes"), n = this.calculateAllAffinities(e, i), r = this.calculateProbabilities(n), o = a.getWeights("classes"), l = this.applyCustomWeights(r, o, i), c = Object.entries(l).map(([u, d]) => [u, d]);
|
|
19074
18785
|
return t.weightedChoice(c);
|
|
19075
18786
|
}
|
|
@@ -19378,7 +19089,7 @@ class Ut {
|
|
|
19378
19089
|
};
|
|
19379
19090
|
}
|
|
19380
19091
|
}
|
|
19381
|
-
class
|
|
19092
|
+
class md {
|
|
19382
19093
|
/**
|
|
19383
19094
|
* Get skill list definition for a class from ExtensionManager
|
|
19384
19095
|
*
|
|
@@ -19412,7 +19123,7 @@ class Cd {
|
|
|
19412
19123
|
const i = he.getInstance(), n = i.getAllSkills(), r = {};
|
|
19413
19124
|
for (const h of n)
|
|
19414
19125
|
r[h.id] = "none";
|
|
19415
|
-
const o =
|
|
19126
|
+
const o = Vi(e);
|
|
19416
19127
|
if (!o)
|
|
19417
19128
|
return console.warn(`SkillAssigner: Unknown class "${e}", using default skill assignment`), r;
|
|
19418
19129
|
const l = this.validateSkills(o.available_skills, i), c = a ? this.filterSkillsByPrerequisites(l, i, a) : l, u = this.getSkillListDefinition(e), d = this.selectSkills(
|
|
@@ -19531,7 +19242,7 @@ class Cd {
|
|
|
19531
19242
|
return i.slice(0, t);
|
|
19532
19243
|
}
|
|
19533
19244
|
}
|
|
19534
|
-
const
|
|
19245
|
+
const gd = [
|
|
19535
19246
|
"Wizard",
|
|
19536
19247
|
"Sorcerer",
|
|
19537
19248
|
"Warlock",
|
|
@@ -19540,7 +19251,7 @@ const Id = [
|
|
|
19540
19251
|
"Druid",
|
|
19541
19252
|
"Paladin"
|
|
19542
19253
|
];
|
|
19543
|
-
class
|
|
19254
|
+
class fd {
|
|
19544
19255
|
/**
|
|
19545
19256
|
* Generate character appearance from seed and audio profile
|
|
19546
19257
|
*
|
|
@@ -19548,8 +19259,8 @@ class Md {
|
|
|
19548
19259
|
* and WeightedSelector for spawn rate control.
|
|
19549
19260
|
*/
|
|
19550
19261
|
static generate(e, t, a) {
|
|
19551
|
-
|
|
19552
|
-
const i = new _e(e), n = R.getInstance(), r = n.get("appearance.bodyTypes"), o = n.getWeights("appearance.bodyTypes"), l = n.getMode("appearance.bodyTypes") || "default", c = n.get("appearance.skinTones"), u = n.getWeights("appearance.skinTones"), d = n.getMode("appearance.skinTones") || "default", h = n.get("appearance.hairStyles"), p = n.getWeights("appearance.hairStyles"), g = n.getMode("appearance.hairStyles") || "default", m = n.get("appearance.hairColors"), f = n.getWeights("appearance.hairColors"), y = n.getMode("appearance.hairColors") || "default", b = n.get("appearance.eyeColors"), I = n.getWeights("appearance.eyeColors"), C = n.getMode("appearance.eyeColors") || "default", E = n.get("appearance.facialFeatures"), x = n.getWeights("appearance.facialFeatures"), P = n.getMode("appearance.facialFeatures") || "default", $ = fe.select(r, o, i, l),
|
|
19262
|
+
xs();
|
|
19263
|
+
const i = new _e(e), n = R.getInstance(), r = n.get("appearance.bodyTypes"), o = n.getWeights("appearance.bodyTypes"), l = n.getMode("appearance.bodyTypes") || "default", c = n.get("appearance.skinTones"), u = n.getWeights("appearance.skinTones"), d = n.getMode("appearance.skinTones") || "default", h = n.get("appearance.hairStyles"), p = n.getWeights("appearance.hairStyles"), g = n.getMode("appearance.hairStyles") || "default", m = n.get("appearance.hairColors"), f = n.getWeights("appearance.hairColors"), y = n.getMode("appearance.hairColors") || "default", b = n.get("appearance.eyeColors"), I = n.getWeights("appearance.eyeColors"), C = n.getMode("appearance.eyeColors") || "default", E = n.get("appearance.facialFeatures"), x = n.getWeights("appearance.facialFeatures"), P = n.getMode("appearance.facialFeatures") || "default", $ = fe.select(r, o, i, l), F = fe.select(c, u, i, d), Q = fe.select(h, p, i, g), X = fe.select(m, f, i, y), V = fe.select(b, I, i, C), oe = i.randomInt(1, 4), K = fe.selectMultiple(
|
|
19553
19264
|
E,
|
|
19554
19265
|
x,
|
|
19555
19266
|
i,
|
|
@@ -19557,10 +19268,10 @@ class Md {
|
|
|
19557
19268
|
P
|
|
19558
19269
|
), O = a.color_palette, D = O?.primary_color, N = O?.secondary_color, be = O?.accent_color;
|
|
19559
19270
|
let de;
|
|
19560
|
-
return
|
|
19271
|
+
return gd.includes(t) && (de = this.generateAuraColor(t, O?.primary_color)), {
|
|
19561
19272
|
body_type: $,
|
|
19562
|
-
skin_tone:
|
|
19563
|
-
hair_style:
|
|
19273
|
+
skin_tone: F,
|
|
19274
|
+
hair_style: Q,
|
|
19564
19275
|
hair_color: X,
|
|
19565
19276
|
eye_color: V,
|
|
19566
19277
|
facial_features: K,
|
|
@@ -19599,7 +19310,7 @@ class Md {
|
|
|
19599
19310
|
return `#${u(o)}${u(l)}${u(c)}`;
|
|
19600
19311
|
}
|
|
19601
19312
|
}
|
|
19602
|
-
class
|
|
19313
|
+
class Ei {
|
|
19603
19314
|
/**
|
|
19604
19315
|
* Check if a class is a spellcaster
|
|
19605
19316
|
*
|
|
@@ -19625,7 +19336,7 @@ class Ri {
|
|
|
19625
19336
|
const a = {};
|
|
19626
19337
|
for (let n = 0; n <= 9; n++)
|
|
19627
19338
|
a[n] = { total: 0, used: 0 };
|
|
19628
|
-
const i =
|
|
19339
|
+
const i = Yi(e, t);
|
|
19629
19340
|
if (!i)
|
|
19630
19341
|
return a;
|
|
19631
19342
|
for (const [n, r] of Object.entries(i)) {
|
|
@@ -19715,7 +19426,7 @@ class Ri {
|
|
|
19715
19426
|
static filterSpellsByPrerequisites(e, t) {
|
|
19716
19427
|
const a = [];
|
|
19717
19428
|
for (const i of e) {
|
|
19718
|
-
const n =
|
|
19429
|
+
const n = Gi[i];
|
|
19719
19430
|
if (!n) {
|
|
19720
19431
|
a.push(i);
|
|
19721
19432
|
continue;
|
|
@@ -19811,7 +19522,7 @@ class Ri {
|
|
|
19811
19522
|
};
|
|
19812
19523
|
}
|
|
19813
19524
|
}
|
|
19814
|
-
const
|
|
19525
|
+
const Di = {
|
|
19815
19526
|
Barbarian: {
|
|
19816
19527
|
weapons: ["Greataxe", "Handaxe"],
|
|
19817
19528
|
armor: ["No Armor"],
|
|
@@ -19874,9 +19585,9 @@ const xi = {
|
|
|
19874
19585
|
items: ["Spellbook", "Component Pouch", "Scholar's Pack", "Ink & Quill"]
|
|
19875
19586
|
}
|
|
19876
19587
|
};
|
|
19877
|
-
function
|
|
19878
|
-
if (s in
|
|
19879
|
-
return
|
|
19588
|
+
function yd(s) {
|
|
19589
|
+
if (s in Di)
|
|
19590
|
+
return Di[s];
|
|
19880
19591
|
try {
|
|
19881
19592
|
const e = R.getInstance(), t = `classStartingEquipment.${s}`, a = e.get(t);
|
|
19882
19593
|
if (a && Array.isArray(a) && a.length > 0) {
|
|
@@ -20385,7 +20096,7 @@ class Et {
|
|
|
20385
20096
|
* Safe to call multiple times
|
|
20386
20097
|
*/
|
|
20387
20098
|
static ensureInitialized() {
|
|
20388
|
-
|
|
20099
|
+
Ns();
|
|
20389
20100
|
}
|
|
20390
20101
|
/**
|
|
20391
20102
|
* Get equipment data from extended database (defaults + custom)
|
|
@@ -20417,7 +20128,7 @@ class Et {
|
|
|
20417
20128
|
*/
|
|
20418
20129
|
static getStartingEquipment(e) {
|
|
20419
20130
|
this.ensureInitialized();
|
|
20420
|
-
const t =
|
|
20131
|
+
const t = yd(e);
|
|
20421
20132
|
return t ? {
|
|
20422
20133
|
weapons: [...t.weapons],
|
|
20423
20134
|
armor: [...t.armor],
|
|
@@ -21054,7 +20765,7 @@ class wa {
|
|
|
21054
20765
|
*/
|
|
21055
20766
|
static generate(e, t, a, i = {}) {
|
|
21056
20767
|
const n = new _e(e), r = i.level || 1, o = i.gameMode || "standard";
|
|
21057
|
-
|
|
20768
|
+
zs();
|
|
21058
20769
|
const l = se.getInstance();
|
|
21059
20770
|
i.extensions && wa.registerExtensions(i.extensions);
|
|
21060
20771
|
let c;
|
|
@@ -21073,7 +20784,7 @@ class wa {
|
|
|
21073
20784
|
);
|
|
21074
20785
|
d = W, c = u;
|
|
21075
20786
|
}
|
|
21076
|
-
const h = d ||
|
|
20787
|
+
const h = d || pd.select(n);
|
|
21077
20788
|
if (c !== void 0 && u !== "pure") {
|
|
21078
20789
|
const W = l.getAvailableSubraces(h);
|
|
21079
20790
|
if (!W.includes(c))
|
|
@@ -21081,26 +20792,26 @@ class wa {
|
|
|
21081
20792
|
`Invalid subrace "${c}" for race "${h}". Available subraces: ${W.length > 0 ? W.join(", ") : "none"}`
|
|
21082
20793
|
);
|
|
21083
20794
|
} else if (c === void 0 && u === void 0) {
|
|
21084
|
-
const
|
|
20795
|
+
const ee = ["pure", ...l.getAvailableSubraces(h)], Ye = n.randomChoice(ee);
|
|
21085
20796
|
c = Ye === "pure" ? void 0 : Ye;
|
|
21086
20797
|
}
|
|
21087
|
-
const p = i.forceClass || sa.suggest(t, n), g = i.forceName || new
|
|
20798
|
+
const p = i.forceClass || sa.suggest(t, n), g = i.forceName || new Ju().generateName(
|
|
21088
20799
|
e,
|
|
21089
20800
|
a,
|
|
21090
20801
|
t,
|
|
21091
20802
|
p,
|
|
21092
20803
|
i.deterministicName || !0
|
|
21093
|
-
), m = Ut.calculateBaseScores(t, n), f = Ut.applyRacialBonuses(m, h), y = Ut.calculateModifiers(f), b =
|
|
20804
|
+
), m = Ut.calculateBaseScores(t, n), f = Ut.applyRacialBonuses(m, h), y = Ut.calculateModifiers(f), b = Vi(p);
|
|
21094
20805
|
if (!b)
|
|
21095
20806
|
throw new Error(`Unknown class: ${p}. Cannot generate character.`);
|
|
21096
|
-
const C = ua(h)?.speed ?? 30, E = b.hit_die + y.CON, x = 10 + y.DEX, P = y.DEX, $ =
|
|
20807
|
+
const C = ua(h)?.speed ?? 30, E = b.hit_die + y.CON, x = 10 + y.DEX, P = y.DEX, $ = Zi[r], F = md.assignSkills(p, n), Q = {
|
|
21097
20808
|
STR: b.saving_throws.includes("STR"),
|
|
21098
20809
|
DEX: b.saving_throws.includes("DEX"),
|
|
21099
20810
|
CON: b.saving_throws.includes("CON"),
|
|
21100
20811
|
INT: b.saving_throws.includes("INT"),
|
|
21101
20812
|
WIS: b.saving_throws.includes("WIS"),
|
|
21102
20813
|
CHA: b.saving_throws.includes("CHA")
|
|
21103
|
-
}, X =
|
|
20814
|
+
}, X = fd.generate(e, p, t), V = l.getClassFeatures(p, r), oe = c ? l.getRacialTraitsForSubrace(h, c) : l.getBaseRacialTraits(h), K = Et.initializeEquipment(p), O = {
|
|
21104
20815
|
name: g,
|
|
21105
20816
|
race: h,
|
|
21106
20817
|
subrace: c,
|
|
@@ -21114,8 +20825,8 @@ class wa {
|
|
|
21114
20825
|
armor_class: x,
|
|
21115
20826
|
initiative: P,
|
|
21116
20827
|
speed: C,
|
|
21117
|
-
skills:
|
|
21118
|
-
saving_throws:
|
|
20828
|
+
skills: F,
|
|
20829
|
+
saving_throws: Q,
|
|
21119
20830
|
racial_traits: [],
|
|
21120
20831
|
// Empty for now, will populate after validation
|
|
21121
20832
|
class_features: [],
|
|
@@ -21132,15 +20843,15 @@ class wa {
|
|
|
21132
20843
|
seed: e,
|
|
21133
20844
|
generated_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
21134
20845
|
gameMode: o
|
|
21135
|
-
}, D =
|
|
20846
|
+
}, D = Ei.initializeSpells(p, r, O), N = [];
|
|
21136
20847
|
for (const W of V) {
|
|
21137
|
-
const
|
|
21138
|
-
|
|
20848
|
+
const ee = l.validatePrerequisites(W, O);
|
|
20849
|
+
ee.valid || console.warn(`Feature "${W.name}" (${W.id}) failed prerequisite validation:`, ee.errors), N.push(W);
|
|
21139
20850
|
}
|
|
21140
20851
|
const be = [];
|
|
21141
20852
|
for (const W of oe) {
|
|
21142
|
-
const
|
|
21143
|
-
|
|
20853
|
+
const ee = l.validatePrerequisites(W, O);
|
|
20854
|
+
ee.valid || console.warn(`Trait "${W.name}" (${W.id}) failed prerequisite validation:`, ee.errors), be.push(W);
|
|
21144
20855
|
}
|
|
21145
20856
|
const de = {
|
|
21146
20857
|
name: g,
|
|
@@ -21160,8 +20871,8 @@ class wa {
|
|
|
21160
20871
|
armor_class: x,
|
|
21161
20872
|
initiative: P,
|
|
21162
20873
|
speed: C,
|
|
21163
|
-
skills:
|
|
21164
|
-
saving_throws:
|
|
20874
|
+
skills: F,
|
|
20875
|
+
saving_throws: Q,
|
|
21165
20876
|
racial_traits: be.map((W) => W.id),
|
|
21166
20877
|
class_features: N.map((W) => W.id),
|
|
21167
20878
|
appearance: X,
|
|
@@ -21177,22 +20888,22 @@ class wa {
|
|
|
21177
20888
|
};
|
|
21178
20889
|
if (Dt.applyMultipleEffects(de, be), Dt.applyMultipleEffects(de, N), K) {
|
|
21179
20890
|
const W = [
|
|
21180
|
-
...K.weapons.filter((
|
|
21181
|
-
...K.armor.filter((
|
|
21182
|
-
...K.items.filter((
|
|
20891
|
+
...K.weapons.filter((ee) => ee.equipped),
|
|
20892
|
+
...K.armor.filter((ee) => ee.equipped),
|
|
20893
|
+
...K.items.filter((ee) => ee.equipped)
|
|
21183
20894
|
];
|
|
21184
|
-
for (const
|
|
21185
|
-
const Ye = Et.getEquipmentDataStatic(
|
|
20895
|
+
for (const ee of W) {
|
|
20896
|
+
const Ye = Et.getEquipmentDataStatic(ee.name);
|
|
21186
20897
|
if (Ye) {
|
|
21187
|
-
const
|
|
21188
|
-
re.equipItem(de, Ye,
|
|
20898
|
+
const tn = ee.instanceId;
|
|
20899
|
+
re.equipItem(de, Ye, tn).applied || (ee.equipped = !1);
|
|
21189
20900
|
}
|
|
21190
20901
|
}
|
|
21191
20902
|
}
|
|
21192
|
-
return
|
|
20903
|
+
return Ei.filterCharacterSpells(de);
|
|
21193
20904
|
}
|
|
21194
20905
|
}
|
|
21195
|
-
function
|
|
20906
|
+
function jh(s) {
|
|
21196
20907
|
return typeof s == "string" && [
|
|
21197
20908
|
"humanoid",
|
|
21198
20909
|
"beast",
|
|
@@ -21204,16 +20915,16 @@ function ip(s) {
|
|
|
21204
20915
|
"monstrosity"
|
|
21205
20916
|
].includes(s);
|
|
21206
20917
|
}
|
|
21207
|
-
function
|
|
20918
|
+
function Gh(s) {
|
|
21208
20919
|
return typeof s == "string" && ["common", "uncommon", "elite", "boss"].includes(s);
|
|
21209
20920
|
}
|
|
21210
|
-
function
|
|
20921
|
+
function Vh(s) {
|
|
21211
20922
|
return typeof s == "string" && ["brute", "archer", "support"].includes(s);
|
|
21212
20923
|
}
|
|
21213
|
-
function
|
|
20924
|
+
function Zh(s) {
|
|
21214
20925
|
return typeof s == "string" && ["easy", "medium", "hard", "deadly"].includes(s);
|
|
21215
20926
|
}
|
|
21216
|
-
class
|
|
20927
|
+
class Yh {
|
|
21217
20928
|
/**
|
|
21218
20929
|
* Calculate average party level
|
|
21219
20930
|
*
|
|
@@ -21434,34 +21145,34 @@ class op {
|
|
|
21434
21145
|
};
|
|
21435
21146
|
}
|
|
21436
21147
|
}
|
|
21437
|
-
const
|
|
21148
|
+
const te = [];
|
|
21438
21149
|
for (let s = 0; s < 256; ++s)
|
|
21439
|
-
|
|
21440
|
-
function
|
|
21441
|
-
return (
|
|
21150
|
+
te.push((s + 256).toString(16).slice(1));
|
|
21151
|
+
function vd(s, e = 0) {
|
|
21152
|
+
return (te[s[e + 0]] + te[s[e + 1]] + te[s[e + 2]] + te[s[e + 3]] + "-" + te[s[e + 4]] + te[s[e + 5]] + "-" + te[s[e + 6]] + te[s[e + 7]] + "-" + te[s[e + 8]] + te[s[e + 9]] + "-" + te[s[e + 10]] + te[s[e + 11]] + te[s[e + 12]] + te[s[e + 13]] + te[s[e + 14]] + te[s[e + 15]]).toLowerCase();
|
|
21442
21153
|
}
|
|
21443
21154
|
let jt;
|
|
21444
|
-
const
|
|
21445
|
-
function
|
|
21155
|
+
const bd = new Uint8Array(16);
|
|
21156
|
+
function wd() {
|
|
21446
21157
|
if (!jt) {
|
|
21447
21158
|
if (typeof crypto > "u" || !crypto.getRandomValues)
|
|
21448
21159
|
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
21449
21160
|
jt = crypto.getRandomValues.bind(crypto);
|
|
21450
21161
|
}
|
|
21451
|
-
return jt(
|
|
21162
|
+
return jt(bd);
|
|
21452
21163
|
}
|
|
21453
|
-
const
|
|
21454
|
-
function
|
|
21164
|
+
const Sd = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), Ri = { randomUUID: Sd };
|
|
21165
|
+
function _d(s, e, t) {
|
|
21455
21166
|
s = s || {};
|
|
21456
|
-
const a = s.random ?? s.rng?.() ??
|
|
21167
|
+
const a = s.random ?? s.rng?.() ?? wd();
|
|
21457
21168
|
if (a.length < 16)
|
|
21458
21169
|
throw new Error("Random bytes length must be >= 16");
|
|
21459
|
-
return a[6] = a[6] & 15 | 64, a[8] = a[8] & 63 | 128,
|
|
21170
|
+
return a[6] = a[6] & 15 | 64, a[8] = a[8] & 63 | 128, vd(a);
|
|
21460
21171
|
}
|
|
21461
|
-
function
|
|
21462
|
-
return
|
|
21172
|
+
function kd(s, e, t) {
|
|
21173
|
+
return Ri.randomUUID && !s ? Ri.randomUUID() : _d(s);
|
|
21463
21174
|
}
|
|
21464
|
-
class
|
|
21175
|
+
class Xh {
|
|
21465
21176
|
constructor(e = {}) {
|
|
21466
21177
|
this.options = {
|
|
21467
21178
|
validateAudioUrls: !1,
|
|
@@ -21525,7 +21236,7 @@ class lp {
|
|
|
21525
21236
|
const a = ge.parseMetadata(e.metadata);
|
|
21526
21237
|
if (!a && this.options.strict)
|
|
21527
21238
|
throw new Error(`Failed to parse metadata for track at index ${t}`);
|
|
21528
|
-
const i = e.chain_name, n = e.token_address, r = e.token_id, o = e.tx_id, l = e.platform, c = e.id || (i === "AR" ? `AR-${o}` : `${i}-${n}-${r}`), u = e.uuid ||
|
|
21239
|
+
const i = e.chain_name, n = e.token_address, r = e.token_id, o = e.tx_id, l = e.platform, c = e.id || (i === "AR" ? `AR-${o}` : `${i}-${n}-${r}`), u = e.uuid || kd(), d = ge.extractTitle(a || {}), h = ge.extractArtist(a || {}), g = typeof e.artwork_url == "string" && e.artwork_url || typeof e.image_url == "string" && e.image_url || null || ge.extractImageUrl(a || {}), m = ge.extractImageThumbUrl(a || {}), y = typeof e.audio_url == "string" && e.audio_url || null || ge.extractAudioUrl(a || {}), b = ge.extractAudioUrlLossless(a || {}), I = ge.convertAttributes(a?.attributes), C = gn(a || {}), E = fn(e.selected_mix, I, C.mixes), x = E?.audio_url || y, P = E ? E.audio_url_lossless : b;
|
|
21529
21240
|
if (!x) {
|
|
21530
21241
|
if (this.options.strict)
|
|
21531
21242
|
throw new Error(`No audio URL found for track: ${d || c}`);
|
|
@@ -21541,7 +21252,7 @@ class lp {
|
|
|
21541
21252
|
throw new Error(`Missing required fields for track: ${JSON.stringify({ title: d, artist: h, imageUrl: g })}`);
|
|
21542
21253
|
return null;
|
|
21543
21254
|
}
|
|
21544
|
-
const $ = ge.extractDescription(a || {}) ?? void 0,
|
|
21255
|
+
const $ = ge.extractDescription(a || {}) ?? void 0, F = typeof a?.album == "string" ? a.album : void 0, Q = a?.duration ? Number(a.duration) : 0, X = ge.extractGenre(a || {}), V = ge.extractTags(a || {}), oe = a?.bpm ? Number(a.bpm) : void 0, K = typeof a?.key == "string" ? a.key : void 0, O = {
|
|
21545
21256
|
id: c,
|
|
21546
21257
|
uuid: u,
|
|
21547
21258
|
playlist_index: t,
|
|
@@ -21550,12 +21261,12 @@ class lp {
|
|
|
21550
21261
|
title: d,
|
|
21551
21262
|
artist: h,
|
|
21552
21263
|
description: $,
|
|
21553
|
-
album:
|
|
21264
|
+
album: F,
|
|
21554
21265
|
image_url: g,
|
|
21555
21266
|
audio_url: x,
|
|
21556
21267
|
audio_url_lossless: P && P !== x ? P : void 0,
|
|
21557
21268
|
...E ? { selected_mix: E.name } : {},
|
|
21558
|
-
duration:
|
|
21269
|
+
duration: Q,
|
|
21559
21270
|
genre: X,
|
|
21560
21271
|
tags: V,
|
|
21561
21272
|
bpm: oe,
|
|
@@ -21583,7 +21294,7 @@ class lp {
|
|
|
21583
21294
|
}
|
|
21584
21295
|
}
|
|
21585
21296
|
}
|
|
21586
|
-
class
|
|
21297
|
+
class Kh {
|
|
21587
21298
|
/**
|
|
21588
21299
|
* Initialize ColorExtractor with canvas for image processing
|
|
21589
21300
|
* Canvas is only created in browser environments (safe for Node.js)
|
|
@@ -21792,7 +21503,7 @@ class cp {
|
|
|
21792
21503
|
};
|
|
21793
21504
|
}
|
|
21794
21505
|
}
|
|
21795
|
-
const Gt = ye.for("BeatSubdivider"),
|
|
21506
|
+
const Gt = ye.for("BeatSubdivider"), Ad = {
|
|
21796
21507
|
tolerance: 0.02,
|
|
21797
21508
|
// 20ms tolerance
|
|
21798
21509
|
defaultIntensity: 0.5,
|
|
@@ -21808,7 +21519,7 @@ class nt {
|
|
|
21808
21519
|
*/
|
|
21809
21520
|
constructor(e) {
|
|
21810
21521
|
this.options = {
|
|
21811
|
-
...
|
|
21522
|
+
...Ad,
|
|
21812
21523
|
...e
|
|
21813
21524
|
}, Gt.debug("BeatSubdivider initialized", { options: this.options });
|
|
21814
21525
|
}
|
|
@@ -21823,13 +21534,13 @@ class nt {
|
|
|
21823
21534
|
* @returns The subdivided beat map
|
|
21824
21535
|
* @throws Error if configuration is invalid
|
|
21825
21536
|
*/
|
|
21826
|
-
subdivide(e, t =
|
|
21537
|
+
subdivide(e, t = Fi) {
|
|
21827
21538
|
if (Gt.debug("Starting per-beat subdivision", {
|
|
21828
21539
|
audioId: e.audioId,
|
|
21829
21540
|
beatCount: e.beats.length,
|
|
21830
21541
|
explicitAssignments: t.beatSubdivisions.size,
|
|
21831
21542
|
defaultSubdivision: t.defaultSubdivision
|
|
21832
|
-
}),
|
|
21543
|
+
}), nn(t), rn(t, e.beats.length), e.beats.length === 0)
|
|
21833
21544
|
return this.createEmptySubdividedBeatMap(e, t);
|
|
21834
21545
|
const a = /* @__PURE__ */ new Set();
|
|
21835
21546
|
let i = 0;
|
|
@@ -21844,7 +21555,7 @@ class nt {
|
|
|
21844
21555
|
for (let m = 0; m < e.beats.length; m++) {
|
|
21845
21556
|
const f = t.beatSubdivisions.get(m) ?? t.defaultSubdivision;
|
|
21846
21557
|
t.beatSubdivisions.has(m) && r++, a.add(f);
|
|
21847
|
-
const y =
|
|
21558
|
+
const y = on(f);
|
|
21848
21559
|
i = Math.max(i, y);
|
|
21849
21560
|
const b = e.beats[m], I = m < e.beats.length - 1 ? e.beats[m + 1] : null, C = e.detectedBeatIndices.includes(m);
|
|
21850
21561
|
if (f === "rest" || f === "half" && b.beatInMeasure % 2 !== 0)
|
|
@@ -22295,7 +22006,7 @@ class nt {
|
|
|
22295
22006
|
return nt.fromJSON(a);
|
|
22296
22007
|
}
|
|
22297
22008
|
}
|
|
22298
|
-
class
|
|
22009
|
+
class Jh {
|
|
22299
22010
|
// Track direction for change detection
|
|
22300
22011
|
/**
|
|
22301
22012
|
* Create a new GrooveAnalyzer instance
|
|
@@ -22303,7 +22014,7 @@ class up {
|
|
|
22303
22014
|
* @param options - Optional configuration to customize groove analysis behavior
|
|
22304
22015
|
*/
|
|
22305
22016
|
constructor(e) {
|
|
22306
|
-
this.recentOffsets = [], this.establishedOffset = 0, this.pocketDirection = "neutral", this.hotness = 0, this.streakLength = 0, this.hitCount = 0, this.lastBpm = 120, this.grooveStartTime = null, this.maxHotness = 0, this.maxGrooveStreak = 0, this.hotnessSamples = [], this.grooveHitCount = 0, this.previousDirection = "neutral", this.options = { ...
|
|
22017
|
+
this.recentOffsets = [], this.establishedOffset = 0, this.pocketDirection = "neutral", this.hotness = 0, this.streakLength = 0, this.hitCount = 0, this.lastBpm = 120, this.grooveStartTime = null, this.maxHotness = 0, this.maxGrooveStreak = 0, this.hotnessSamples = [], this.grooveHitCount = 0, this.previousDirection = "neutral", this.options = { ...ln, ...e };
|
|
22307
22018
|
}
|
|
22308
22019
|
/**
|
|
22309
22020
|
* Set difficulty level for groove penalties.
|
|
@@ -22328,7 +22039,7 @@ class up {
|
|
|
22328
22039
|
* ```
|
|
22329
22040
|
*/
|
|
22330
22041
|
setDifficulty(e) {
|
|
22331
|
-
const t =
|
|
22042
|
+
const t = cn(e.preset, e.customPenalties);
|
|
22332
22043
|
this.options.hotnessLossOnMiss = t.hotnessLossOnMiss, this.options.hotnessLossOnBreak = t.hotnessLossOnBreak;
|
|
22333
22044
|
}
|
|
22334
22045
|
/**
|
|
@@ -22509,7 +22220,7 @@ class up {
|
|
|
22509
22220
|
* @returns Pocket window size in seconds
|
|
22510
22221
|
*/
|
|
22511
22222
|
calculatePocketWindow(e) {
|
|
22512
|
-
const a =
|
|
22223
|
+
const a = un(this.hotness) / 1e3, i = 120 / e;
|
|
22513
22224
|
return a * i;
|
|
22514
22225
|
}
|
|
22515
22226
|
/**
|
|
@@ -22548,8 +22259,8 @@ class up {
|
|
|
22548
22259
|
return Math.abs(e) < this.options.neutralDeadZone ? "neutral" : e < 0 ? "push" : "pull";
|
|
22549
22260
|
}
|
|
22550
22261
|
}
|
|
22551
|
-
function
|
|
22552
|
-
const a =
|
|
22262
|
+
function Qh(s, e = Fi, t) {
|
|
22263
|
+
const a = dn(s);
|
|
22553
22264
|
return new nt(t).subdivide(a, e);
|
|
22554
22265
|
}
|
|
22555
22266
|
function Le(s) {
|
|
@@ -22564,7 +22275,7 @@ function Sa(s, e) {
|
|
|
22564
22275
|
beats: e
|
|
22565
22276
|
};
|
|
22566
22277
|
}
|
|
22567
|
-
function
|
|
22278
|
+
function ep(s, e, t) {
|
|
22568
22279
|
const a = Le(s);
|
|
22569
22280
|
if (e < 0 || e >= a.length)
|
|
22570
22281
|
throw new Error(
|
|
@@ -22584,7 +22295,7 @@ function hp(s, e, t) {
|
|
|
22584
22295
|
});
|
|
22585
22296
|
return Sa(s, i);
|
|
22586
22297
|
}
|
|
22587
|
-
function
|
|
22298
|
+
function tp(s, e) {
|
|
22588
22299
|
const t = Le(s), a = t.length;
|
|
22589
22300
|
for (const r of e)
|
|
22590
22301
|
if (r.beatIndex < 0 || r.beatIndex >= a)
|
|
@@ -22609,7 +22320,7 @@ function pp(s, e) {
|
|
|
22609
22320
|
});
|
|
22610
22321
|
return Sa(s, n);
|
|
22611
22322
|
}
|
|
22612
|
-
function
|
|
22323
|
+
function ap(s) {
|
|
22613
22324
|
const e = Le(s), t = /* @__PURE__ */ new Map();
|
|
22614
22325
|
for (let a = 0; a < e.length; a++) {
|
|
22615
22326
|
const i = e[a];
|
|
@@ -22617,7 +22328,7 @@ function mp(s) {
|
|
|
22617
22328
|
}
|
|
22618
22329
|
return t;
|
|
22619
22330
|
}
|
|
22620
|
-
function
|
|
22331
|
+
function ip(s) {
|
|
22621
22332
|
const t = Le(s).map((a) => {
|
|
22622
22333
|
if (a.requiredKey === void 0)
|
|
22623
22334
|
return a;
|
|
@@ -22626,20 +22337,20 @@ function gp(s) {
|
|
|
22626
22337
|
});
|
|
22627
22338
|
return Sa(s, t);
|
|
22628
22339
|
}
|
|
22629
|
-
function
|
|
22340
|
+
function sp(s) {
|
|
22630
22341
|
return Le(s).some((t) => t.requiredKey !== void 0);
|
|
22631
22342
|
}
|
|
22632
|
-
function
|
|
22343
|
+
function np(s) {
|
|
22633
22344
|
return Le(s).filter((t) => t.requiredKey !== void 0).length;
|
|
22634
22345
|
}
|
|
22635
|
-
function
|
|
22346
|
+
function rp(s) {
|
|
22636
22347
|
const e = Le(s), t = /* @__PURE__ */ new Set();
|
|
22637
22348
|
for (const a of e)
|
|
22638
22349
|
a.requiredKey !== void 0 && t.add(a.requiredKey);
|
|
22639
22350
|
return Array.from(t).sort();
|
|
22640
22351
|
}
|
|
22641
22352
|
const Y = ye.for("SubdivisionPlaybackController");
|
|
22642
|
-
class
|
|
22353
|
+
class op {
|
|
22643
22354
|
/**
|
|
22644
22355
|
* Create a new SubdivisionPlaybackController
|
|
22645
22356
|
*
|
|
@@ -22665,7 +22376,7 @@ class bp {
|
|
|
22665
22376
|
*/
|
|
22666
22377
|
constructor(e, t, a = {}) {
|
|
22667
22378
|
this.unifiedMap = e, this.audioContext = t, this.options = {
|
|
22668
|
-
...
|
|
22379
|
+
...hn,
|
|
22669
22380
|
...a
|
|
22670
22381
|
};
|
|
22671
22382
|
const i = {
|
|
@@ -22685,7 +22396,7 @@ class bp {
|
|
|
22685
22396
|
pendingMeasureNumber: null,
|
|
22686
22397
|
transitionTimestamp: null,
|
|
22687
22398
|
scheduledBeats: /* @__PURE__ */ new Map(),
|
|
22688
|
-
thresholds:
|
|
22399
|
+
thresholds: pn("medium")
|
|
22689
22400
|
}, this.subscribers = /* @__PURE__ */ new Set(), this.regenerateBeats(), Y.debug("SubdivisionPlaybackController initialized", {
|
|
22690
22401
|
audioId: e.audioId,
|
|
22691
22402
|
duration: e.duration,
|
|
@@ -22758,7 +22469,7 @@ class bp {
|
|
|
22758
22469
|
* ```
|
|
22759
22470
|
*/
|
|
22760
22471
|
setSubdivision(e) {
|
|
22761
|
-
if (!
|
|
22472
|
+
if (!mn(e))
|
|
22762
22473
|
throw new Error(`Invalid subdivision type: ${e}`);
|
|
22763
22474
|
if (this.state.currentSubdivision === e)
|
|
22764
22475
|
return;
|
|
@@ -23239,7 +22950,7 @@ class bp {
|
|
|
23239
22950
|
this.stop(), this.subscribers.clear(), this.state.scheduledBeats.clear(), Y.debug("SubdivisionPlaybackController disposed");
|
|
23240
22951
|
}
|
|
23241
22952
|
}
|
|
23242
|
-
const
|
|
22953
|
+
const Td = [
|
|
23243
22954
|
0,
|
|
23244
22955
|
// Level 1
|
|
23245
22956
|
300,
|
|
@@ -23280,7 +22991,7 @@ const Bd = [
|
|
|
23280
22991
|
// Level 19
|
|
23281
22992
|
355e3
|
|
23282
22993
|
// Level 20
|
|
23283
|
-
],
|
|
22994
|
+
], Cd = {
|
|
23284
22995
|
stationary: 1,
|
|
23285
22996
|
walking: 1.2,
|
|
23286
22997
|
running: 1.5,
|
|
@@ -23296,18 +23007,18 @@ const Bd = [
|
|
|
23296
23007
|
rhythm_game_groove: 0.5
|
|
23297
23008
|
// +50% max from groove hotness
|
|
23298
23009
|
};
|
|
23299
|
-
class
|
|
23010
|
+
class Us {
|
|
23300
23011
|
/**
|
|
23301
23012
|
* Create a new XPCalculator
|
|
23302
23013
|
* @param options - Configuration options for XP calculation
|
|
23303
23014
|
*/
|
|
23304
23015
|
constructor(e) {
|
|
23305
23016
|
this.config = {
|
|
23306
|
-
level_thresholds: e?.level_thresholds ||
|
|
23017
|
+
level_thresholds: e?.level_thresholds || Td,
|
|
23307
23018
|
xp_per_second: e?.xp_per_second ?? 1,
|
|
23308
23019
|
xp_per_track_completion: e?.xp_per_track_completion ?? 50,
|
|
23309
23020
|
activity_bonuses: {
|
|
23310
|
-
...
|
|
23021
|
+
...Cd,
|
|
23311
23022
|
...e?.activity_bonuses
|
|
23312
23023
|
},
|
|
23313
23024
|
track_mastery_threshold: e?.track_mastery_threshold ?? 10,
|
|
@@ -23510,13 +23221,13 @@ class Gs {
|
|
|
23510
23221
|
return { ...this.config };
|
|
23511
23222
|
}
|
|
23512
23223
|
}
|
|
23513
|
-
class
|
|
23224
|
+
class lp {
|
|
23514
23225
|
/**
|
|
23515
23226
|
* Create a new SessionTracker
|
|
23516
23227
|
* @param xpCalculator - Optional custom XPCalculator instance
|
|
23517
23228
|
*/
|
|
23518
23229
|
constructor(e) {
|
|
23519
|
-
this.activeSessions = /* @__PURE__ */ new Map(), this.sessionHistory = [], this.sessionCounter = 0, this.xpCalculator = e || new
|
|
23230
|
+
this.activeSessions = /* @__PURE__ */ new Map(), this.sessionHistory = [], this.sessionCounter = 0, this.xpCalculator = e || new Us();
|
|
23520
23231
|
}
|
|
23521
23232
|
/**
|
|
23522
23233
|
* Start a new listening session
|
|
@@ -23727,7 +23438,7 @@ class wp {
|
|
|
23727
23438
|
return Array.from(this.activeSessions.keys());
|
|
23728
23439
|
}
|
|
23729
23440
|
}
|
|
23730
|
-
const
|
|
23441
|
+
const xi = [4, 8, 12, 16, 19];
|
|
23731
23442
|
class ke {
|
|
23732
23443
|
/**
|
|
23733
23444
|
* Set configuration for uncapped mode progression
|
|
@@ -23781,7 +23492,7 @@ class ke {
|
|
|
23781
23492
|
newHitPointsTotal: c,
|
|
23782
23493
|
proficiencyBonusIncrease: d,
|
|
23783
23494
|
newProficiencyBonus: u
|
|
23784
|
-
}, p = n ||
|
|
23495
|
+
}, p = n || xi.includes(t);
|
|
23785
23496
|
if (this.statManager && p) {
|
|
23786
23497
|
const m = this.statManager.processLevelUp(e, t);
|
|
23787
23498
|
m && m.increases.length > 0 && (h.abilityScoreIncreases = m.increases.map((f) => ({
|
|
@@ -23791,7 +23502,7 @@ class ke {
|
|
|
23791
23502
|
ability: m.increases[0].ability,
|
|
23792
23503
|
increase: m.increases[0].delta
|
|
23793
23504
|
}));
|
|
23794
|
-
} else
|
|
23505
|
+
} else xi.includes(t) && (h.abilityScoreIncrease = {
|
|
23795
23506
|
ability: "STR",
|
|
23796
23507
|
// Default, can be customized by caller
|
|
23797
23508
|
increase: 2
|
|
@@ -23963,7 +23674,7 @@ class ke {
|
|
|
23963
23674
|
if (!t) {
|
|
23964
23675
|
if (e < 1 || e > 20)
|
|
23965
23676
|
throw new Error("Standard proficiency bonus only defined for levels 1-20");
|
|
23966
|
-
return
|
|
23677
|
+
return Zi[e];
|
|
23967
23678
|
}
|
|
23968
23679
|
return this.uncappedConfig?.proficiencyBonusFormula ? this.uncappedConfig.proficiencyBonusFormula(e) : e <= 4 ? 2 : e <= 8 ? 3 : e <= 12 ? 4 : e <= 16 ? 5 : 2 + Math.floor((e - 1) / 4);
|
|
23969
23680
|
}
|
|
@@ -24108,7 +23819,7 @@ class ke {
|
|
|
24108
23819
|
e.equipment && re.reapplyEquipmentEffects(e);
|
|
24109
23820
|
}
|
|
24110
23821
|
}
|
|
24111
|
-
class
|
|
23822
|
+
class Id {
|
|
24112
23823
|
constructor() {
|
|
24113
23824
|
this.name = "D&D 5e Standard";
|
|
24114
23825
|
}
|
|
@@ -24125,7 +23836,7 @@ class Fd {
|
|
|
24125
23836
|
return !e?.forcedAbilities || e.forcedAbilities.length === 0;
|
|
24126
23837
|
}
|
|
24127
23838
|
}
|
|
24128
|
-
class
|
|
23839
|
+
class Md {
|
|
24129
23840
|
constructor() {
|
|
24130
23841
|
this.name = "D&D 5e Smart";
|
|
24131
23842
|
}
|
|
@@ -24174,7 +23885,7 @@ class Wd {
|
|
|
24174
23885
|
return i;
|
|
24175
23886
|
}
|
|
24176
23887
|
}
|
|
24177
|
-
class
|
|
23888
|
+
class Ed {
|
|
24178
23889
|
constructor() {
|
|
24179
23890
|
this.name = "Balanced";
|
|
24180
23891
|
}
|
|
@@ -24196,7 +23907,7 @@ class Hd {
|
|
|
24196
23907
|
return !1;
|
|
24197
23908
|
}
|
|
24198
23909
|
}
|
|
24199
|
-
class
|
|
23910
|
+
class Dd {
|
|
24200
23911
|
constructor() {
|
|
24201
23912
|
this.name = "Primary Only";
|
|
24202
23913
|
}
|
|
@@ -24219,7 +23930,7 @@ class zd {
|
|
|
24219
23930
|
return i;
|
|
24220
23931
|
}
|
|
24221
23932
|
}
|
|
24222
|
-
class
|
|
23933
|
+
class Rd {
|
|
24223
23934
|
constructor() {
|
|
24224
23935
|
this.name = "Random";
|
|
24225
23936
|
}
|
|
@@ -24236,7 +23947,7 @@ class qd {
|
|
|
24236
23947
|
return !1;
|
|
24237
23948
|
}
|
|
24238
23949
|
}
|
|
24239
|
-
class
|
|
23950
|
+
class xd {
|
|
24240
23951
|
constructor() {
|
|
24241
23952
|
this.name = "Manual";
|
|
24242
23953
|
}
|
|
@@ -24247,7 +23958,7 @@ class Ud {
|
|
|
24247
23958
|
return !0;
|
|
24248
23959
|
}
|
|
24249
23960
|
}
|
|
24250
|
-
class
|
|
23961
|
+
class Pd {
|
|
24251
23962
|
constructor(e, t) {
|
|
24252
23963
|
this.fn = e, this.name = t || "Custom Function";
|
|
24253
23964
|
}
|
|
@@ -24258,36 +23969,36 @@ class jd {
|
|
|
24258
23969
|
return !1;
|
|
24259
23970
|
}
|
|
24260
23971
|
}
|
|
24261
|
-
function
|
|
23972
|
+
function Pi(s) {
|
|
24262
23973
|
if (typeof s != "string" && typeof s != "function")
|
|
24263
23974
|
return s;
|
|
24264
23975
|
if (typeof s == "function")
|
|
24265
|
-
return new
|
|
23976
|
+
return new Pd(s);
|
|
24266
23977
|
switch (s) {
|
|
24267
23978
|
case "dnD5e":
|
|
24268
|
-
return new
|
|
23979
|
+
return new Id();
|
|
24269
23980
|
case "dnD5e_smart":
|
|
24270
|
-
return new
|
|
23981
|
+
return new Md();
|
|
24271
23982
|
case "balanced":
|
|
24272
|
-
return new
|
|
23983
|
+
return new Ed();
|
|
24273
23984
|
case "primary_only":
|
|
24274
|
-
return new
|
|
23985
|
+
return new Dd();
|
|
24275
23986
|
case "random":
|
|
24276
|
-
return new
|
|
23987
|
+
return new Rd();
|
|
24277
23988
|
case "manual":
|
|
24278
|
-
return new
|
|
23989
|
+
return new xd();
|
|
24279
23990
|
default:
|
|
24280
23991
|
const e = s;
|
|
24281
23992
|
throw new Error(`Unknown strategy type: ${e}`);
|
|
24282
23993
|
}
|
|
24283
23994
|
}
|
|
24284
|
-
const
|
|
23995
|
+
const $i = [4, 8, 12, 16, 19], Ni = {
|
|
24285
23996
|
strategy: "dnD5e",
|
|
24286
23997
|
autoApply: !0
|
|
24287
23998
|
};
|
|
24288
|
-
class
|
|
23999
|
+
class $d {
|
|
24289
24000
|
constructor(e) {
|
|
24290
|
-
this.config = this.mergeWithDefaults(e), this.strategy =
|
|
24001
|
+
this.config = this.mergeWithDefaults(e), this.strategy = Pi(this.config.strategy);
|
|
24291
24002
|
}
|
|
24292
24003
|
/**
|
|
24293
24004
|
* Increase stats manually (e.g., from potions, items, events)
|
|
@@ -24388,7 +24099,7 @@ class Gd {
|
|
|
24388
24099
|
* @returns Result with stat increases, or null if no increase at this level
|
|
24389
24100
|
*/
|
|
24390
24101
|
processLevelUp(e, t, a) {
|
|
24391
|
-
const n = (e.gameMode || "standard") === "uncapped", r = this.config.statIncreaseLevels?.length ? this.config.statIncreaseLevels :
|
|
24102
|
+
const n = (e.gameMode || "standard") === "uncapped", r = this.config.statIncreaseLevels?.length ? this.config.statIncreaseLevels : $i;
|
|
24392
24103
|
if (!(n || r.includes(t)))
|
|
24393
24104
|
return null;
|
|
24394
24105
|
const c = this.strategy.selectIncreases(
|
|
@@ -24418,7 +24129,7 @@ class Gd {
|
|
|
24418
24129
|
*/
|
|
24419
24130
|
updateConfig(e) {
|
|
24420
24131
|
const t = this.config.strategy;
|
|
24421
|
-
this.config = this.mergeWithDefaults(e), e.strategy && e.strategy !== t && (this.strategy =
|
|
24132
|
+
this.config = this.mergeWithDefaults(e), e.strategy && e.strategy !== t && (this.strategy = Pi(this.config.strategy));
|
|
24422
24133
|
}
|
|
24423
24134
|
/**
|
|
24424
24135
|
* Get current configuration
|
|
@@ -24522,9 +24233,9 @@ class Gd {
|
|
|
24522
24233
|
mergeWithDefaults(e) {
|
|
24523
24234
|
return {
|
|
24524
24235
|
maxStatCap: e?.maxStatCap ?? 20,
|
|
24525
|
-
strategy: e?.strategy ??
|
|
24526
|
-
autoApply: e?.autoApply ??
|
|
24527
|
-
statIncreaseLevels: e?.statIncreaseLevels ??
|
|
24236
|
+
strategy: e?.strategy ?? Ni.strategy,
|
|
24237
|
+
autoApply: e?.autoApply ?? Ni.autoApply,
|
|
24238
|
+
statIncreaseLevels: e?.statIncreaseLevels ?? $i
|
|
24528
24239
|
};
|
|
24529
24240
|
}
|
|
24530
24241
|
}
|
|
@@ -24791,9 +24502,9 @@ const Ia = class Ia {
|
|
|
24791
24502
|
};
|
|
24792
24503
|
Ia.customThresholds = /* @__PURE__ */ new Map();
|
|
24793
24504
|
let ae = Ia;
|
|
24794
|
-
class
|
|
24505
|
+
class cp {
|
|
24795
24506
|
constructor(e) {
|
|
24796
|
-
this.xpCalculator = new
|
|
24507
|
+
this.xpCalculator = new Us(), this.statManager = e, this.statManager && ke.setStatManager(this.statManager);
|
|
24797
24508
|
}
|
|
24798
24509
|
/**
|
|
24799
24510
|
* Add XP from any source (combat, quests, custom activities)
|
|
@@ -24831,7 +24542,7 @@ class Sp {
|
|
|
24831
24542
|
};
|
|
24832
24543
|
if (i.xp.current += t, !this.statManager) {
|
|
24833
24544
|
const d = (i.gameMode || "standard") === "standard" ? "dnD5e" : "dnD5e_smart";
|
|
24834
|
-
this.statManager = new
|
|
24545
|
+
this.statManager = new $d({ strategy: d }), ke.setStatManager(this.statManager);
|
|
24835
24546
|
}
|
|
24836
24547
|
let n = !1, r;
|
|
24837
24548
|
const o = [], l = i.gameMode === "uncapped", c = ke.calculateLevel(i.xp.current, l);
|
|
@@ -25142,7 +24853,7 @@ class Sp {
|
|
|
25142
24853
|
return ae.getPrestigeInfo(i, n, r);
|
|
25143
24854
|
}
|
|
25144
24855
|
}
|
|
25145
|
-
class
|
|
24856
|
+
class up {
|
|
25146
24857
|
/**
|
|
25147
24858
|
* Create a new RhythmXPCalculator instance
|
|
25148
24859
|
*
|
|
@@ -25392,7 +25103,7 @@ class _p {
|
|
|
25392
25103
|
});
|
|
25393
25104
|
}
|
|
25394
25105
|
}
|
|
25395
|
-
class
|
|
25106
|
+
class dp {
|
|
25396
25107
|
/**
|
|
25397
25108
|
* Enchant equipment with new properties (creates per-instance modification)
|
|
25398
25109
|
*
|
|
@@ -26050,7 +25761,7 @@ const oa = {
|
|
|
26050
25761
|
tags: ["magic", "enhanced", "+2", "armor"]
|
|
26051
25762
|
}
|
|
26052
25763
|
};
|
|
26053
|
-
class
|
|
25764
|
+
class Nd {
|
|
26054
25765
|
/**
|
|
26055
25766
|
* Open a box and generate its contents
|
|
26056
25767
|
*
|
|
@@ -26314,7 +26025,7 @@ const Fe = {
|
|
|
26314
26025
|
very_rare: 3,
|
|
26315
26026
|
legendary: 4
|
|
26316
26027
|
};
|
|
26317
|
-
class
|
|
26028
|
+
class hp {
|
|
26318
26029
|
/**
|
|
26319
26030
|
* Spawn multiple items from an array of equipment names
|
|
26320
26031
|
*
|
|
@@ -26637,7 +26348,7 @@ class Ap {
|
|
|
26637
26348
|
const o = R.getInstance().get("equipment").find((d) => d.name === t);
|
|
26638
26349
|
if (!o || o.type !== "box")
|
|
26639
26350
|
return null;
|
|
26640
|
-
const l = e.equipment.items, c =
|
|
26351
|
+
const l = e.equipment.items, c = Nd.openBox(o, a, l);
|
|
26641
26352
|
if (!c.success)
|
|
26642
26353
|
return { character: e, result: c };
|
|
26643
26354
|
if (c.consumedItems && c.consumedItems.length > 0)
|
|
@@ -26714,7 +26425,7 @@ class Ap {
|
|
|
26714
26425
|
}
|
|
26715
26426
|
}
|
|
26716
26427
|
const Vt = "geolocation_cache";
|
|
26717
|
-
class
|
|
26428
|
+
class Oi {
|
|
26718
26429
|
constructor(e, t) {
|
|
26719
26430
|
if (this.cache = null, this.cacheTTL = 300 * 1e3, this.cacheStats = { hits: 0, misses: 0 }, this.logger = ye.for("GeolocationProvider"), typeof e == "number" || e === void 0)
|
|
26720
26431
|
this.cacheTTL = (e ?? 5) * 60 * 1e3, this.useLocalStorage = (t ?? !0) && this.isLocalStorageAvailable();
|
|
@@ -27009,7 +26720,7 @@ class Li {
|
|
|
27009
26720
|
return e >= 7 && e <= 18 && t >= 275 && t <= 290 || e >= 33 && e <= 43 && t >= 124 && t <= 132 || e >= 36 && e <= 47 && t >= 8 && t <= 19 || e >= 36 && e <= 44 && t >= 358 && t <= 360 || e >= 36 && e <= 44 && t >= 0 && t <= 10 || e >= 55 && e <= 71 && t >= 4 && t <= 32 || e >= 24 && e <= 31 && t >= 268 && t <= 272 || e >= 55 && e <= 62 && t >= 210 && t <= 220 || e >= 50 && e <= 62 && t >= 156 && t <= 163;
|
|
27010
26721
|
}
|
|
27011
26722
|
}
|
|
27012
|
-
class
|
|
26723
|
+
class Od {
|
|
27013
26724
|
constructor() {
|
|
27014
26725
|
this.logger = ye.for("MotionDetector"), this.isListening = !1, this.lastMotion = null, this.motionCallback = null, this.lastProcessedTime = 0, this.minSampleIntervalMs = 83, this.deltaBuffer = [], this.bufferSize = 24, this.confirmedActivity = "unknown", this.candidateActivity = null, this.candidateStartTime = 0, this.confirmationMs = 1500, this.handleMotion = (e) => {
|
|
27015
26726
|
if (!this.isListening || !this.motionCallback) return;
|
|
@@ -27119,94 +26830,94 @@ class Zd {
|
|
|
27119
26830
|
Date.now() - this.candidateStartTime >= this.confirmationMs && (this.confirmedActivity = a, this.candidateActivity = null);
|
|
27120
26831
|
}
|
|
27121
26832
|
}
|
|
27122
|
-
const
|
|
27123
|
-
id:
|
|
27124
|
-
main:
|
|
27125
|
-
description:
|
|
27126
|
-
icon:
|
|
27127
|
-
}),
|
|
27128
|
-
temp:
|
|
27129
|
-
feels_like:
|
|
27130
|
-
temp_min:
|
|
27131
|
-
temp_max:
|
|
27132
|
-
pressure:
|
|
27133
|
-
humidity:
|
|
27134
|
-
sea_level:
|
|
27135
|
-
grnd_level:
|
|
27136
|
-
temp_kf:
|
|
27137
|
-
}),
|
|
27138
|
-
speed:
|
|
27139
|
-
deg:
|
|
27140
|
-
gust:
|
|
27141
|
-
}),
|
|
27142
|
-
all:
|
|
27143
|
-
}),
|
|
27144
|
-
type:
|
|
27145
|
-
id:
|
|
27146
|
-
country:
|
|
27147
|
-
sunrise:
|
|
27148
|
-
sunset:
|
|
27149
|
-
pod:
|
|
26833
|
+
const js = B({
|
|
26834
|
+
id: k(),
|
|
26835
|
+
main: _(),
|
|
26836
|
+
description: _(),
|
|
26837
|
+
icon: _().optional()
|
|
26838
|
+
}), Gs = B({
|
|
26839
|
+
temp: k(),
|
|
26840
|
+
feels_like: k().optional(),
|
|
26841
|
+
temp_min: k().optional(),
|
|
26842
|
+
temp_max: k().optional(),
|
|
26843
|
+
pressure: k(),
|
|
26844
|
+
humidity: k().nonnegative(),
|
|
26845
|
+
sea_level: k().optional(),
|
|
26846
|
+
grnd_level: k().optional(),
|
|
26847
|
+
temp_kf: k().optional()
|
|
26848
|
+
}), Vs = B({
|
|
26849
|
+
speed: k().nonnegative(),
|
|
26850
|
+
deg: k().min(0).max(360).optional(),
|
|
26851
|
+
gust: k().optional()
|
|
26852
|
+
}), Zs = B({
|
|
26853
|
+
all: k().min(0).max(100)
|
|
26854
|
+
}), Bd = B({
|
|
26855
|
+
type: k().optional(),
|
|
26856
|
+
id: k().optional(),
|
|
26857
|
+
country: _().optional(),
|
|
26858
|
+
sunrise: k().nonnegative(),
|
|
26859
|
+
sunset: k().nonnegative(),
|
|
26860
|
+
pod: _().optional()
|
|
27150
26861
|
// Part of day (d/n) - forecast only
|
|
27151
|
-
}),
|
|
27152
|
-
"1h":
|
|
26862
|
+
}), Ys = B({
|
|
26863
|
+
"1h": k().optional(),
|
|
27153
26864
|
// Precipitation volume for last 1 hour
|
|
27154
|
-
"3h":
|
|
26865
|
+
"3h": k().optional()
|
|
27155
26866
|
// Precipitation volume for last 3 hours
|
|
27156
|
-
}),
|
|
27157
|
-
"1h":
|
|
27158
|
-
"3h":
|
|
27159
|
-
}),
|
|
27160
|
-
lon:
|
|
27161
|
-
lat:
|
|
27162
|
-
}),
|
|
27163
|
-
coord:
|
|
27164
|
-
weather:
|
|
27165
|
-
base:
|
|
27166
|
-
main:
|
|
27167
|
-
visibility:
|
|
27168
|
-
wind:
|
|
27169
|
-
rain:
|
|
27170
|
-
snow:
|
|
27171
|
-
clouds:
|
|
27172
|
-
dt:
|
|
27173
|
-
sys:
|
|
27174
|
-
timezone:
|
|
27175
|
-
id:
|
|
27176
|
-
name:
|
|
27177
|
-
cod:
|
|
27178
|
-
}),
|
|
27179
|
-
dt:
|
|
27180
|
-
main:
|
|
27181
|
-
weather:
|
|
27182
|
-
clouds:
|
|
27183
|
-
wind:
|
|
27184
|
-
visibility:
|
|
27185
|
-
pop:
|
|
26867
|
+
}), Xs = B({
|
|
26868
|
+
"1h": k().optional(),
|
|
26869
|
+
"3h": k().optional()
|
|
26870
|
+
}), Ks = B({
|
|
26871
|
+
lon: k().min(-180).max(180),
|
|
26872
|
+
lat: k().min(-90).max(90)
|
|
26873
|
+
}), Ld = B({
|
|
26874
|
+
coord: Ks.optional(),
|
|
26875
|
+
weather: J(js).min(1),
|
|
26876
|
+
base: _().optional(),
|
|
26877
|
+
main: Gs,
|
|
26878
|
+
visibility: k().nonnegative().optional(),
|
|
26879
|
+
wind: Vs.optional(),
|
|
26880
|
+
rain: Ys.optional(),
|
|
26881
|
+
snow: Xs.optional(),
|
|
26882
|
+
clouds: Zs.optional(),
|
|
26883
|
+
dt: k().nonnegative(),
|
|
26884
|
+
sys: Bd,
|
|
26885
|
+
timezone: k().optional(),
|
|
26886
|
+
id: k().optional(),
|
|
26887
|
+
name: _().optional(),
|
|
26888
|
+
cod: k().optional()
|
|
26889
|
+
}), Fd = B({
|
|
26890
|
+
dt: k().nonnegative(),
|
|
26891
|
+
main: Gs,
|
|
26892
|
+
weather: J(js).min(1),
|
|
26893
|
+
clouds: Zs.optional(),
|
|
26894
|
+
wind: Vs.optional(),
|
|
26895
|
+
visibility: k().nonnegative().optional(),
|
|
26896
|
+
pop: k().min(0).max(1).optional(),
|
|
27186
26897
|
// Probability of precipitation
|
|
27187
|
-
rain:
|
|
27188
|
-
snow:
|
|
27189
|
-
sys:
|
|
27190
|
-
pod:
|
|
26898
|
+
rain: Ys.optional(),
|
|
26899
|
+
snow: Xs.optional(),
|
|
26900
|
+
sys: B({
|
|
26901
|
+
pod: _().optional()
|
|
27191
26902
|
}).optional(),
|
|
27192
|
-
dt_txt:
|
|
27193
|
-
}),
|
|
27194
|
-
cod: ba([
|
|
27195
|
-
message:
|
|
27196
|
-
cnt:
|
|
27197
|
-
list:
|
|
27198
|
-
city:
|
|
27199
|
-
id:
|
|
27200
|
-
name:
|
|
27201
|
-
coord:
|
|
27202
|
-
country:
|
|
27203
|
-
population:
|
|
27204
|
-
timezone:
|
|
27205
|
-
sunrise:
|
|
27206
|
-
sunset:
|
|
26903
|
+
dt_txt: _().optional()
|
|
26904
|
+
}), Wd = B({
|
|
26905
|
+
cod: ba([_(), k()]),
|
|
26906
|
+
message: k().optional(),
|
|
26907
|
+
cnt: k().nonnegative().optional(),
|
|
26908
|
+
list: J(Fd).min(1),
|
|
26909
|
+
city: B({
|
|
26910
|
+
id: k(),
|
|
26911
|
+
name: _(),
|
|
26912
|
+
coord: Ks,
|
|
26913
|
+
country: _().optional(),
|
|
26914
|
+
population: k().optional(),
|
|
26915
|
+
timezone: k().optional(),
|
|
26916
|
+
sunrise: k().optional(),
|
|
26917
|
+
sunset: k().optional()
|
|
27207
26918
|
}).optional()
|
|
27208
|
-
}),
|
|
27209
|
-
class
|
|
26919
|
+
}), Bi = "weather_api_cache";
|
|
26920
|
+
class Hd {
|
|
27210
26921
|
constructor(e, t, a) {
|
|
27211
26922
|
if (this.baseUrl = "https://api.openweathermap.org/data/2.5/weather", this.forecastUrl = "https://api.openweathermap.org/data/2.5/forecast", this.cache = /* @__PURE__ */ new Map(), this.forecastCache = /* @__PURE__ */ new Map(), this.cacheTTL = 720 * 1e3, this.forecastCacheTTL = 3600 * 1e3, this.cacheStats = { hits: 0, misses: 0 }, this.logger = ye.for("WeatherAPIClient"), this.lastKnownLocation = null, this.weatherApiMetrics = {
|
|
27212
26923
|
successCount: 0,
|
|
@@ -27246,7 +26957,7 @@ class Qd {
|
|
|
27246
26957
|
*/
|
|
27247
26958
|
loadFromLocalStorage() {
|
|
27248
26959
|
try {
|
|
27249
|
-
const e = localStorage.getItem(
|
|
26960
|
+
const e = localStorage.getItem(Bi);
|
|
27250
26961
|
if (e) {
|
|
27251
26962
|
const t = JSON.parse(e), a = Date.now();
|
|
27252
26963
|
for (const [i, n] of Object.entries(t))
|
|
@@ -27265,7 +26976,7 @@ class Qd {
|
|
|
27265
26976
|
const e = {};
|
|
27266
26977
|
for (const [t, a] of this.cache.entries())
|
|
27267
26978
|
e[t] = a;
|
|
27268
|
-
localStorage.setItem(
|
|
26979
|
+
localStorage.setItem(Bi, JSON.stringify(e));
|
|
27269
26980
|
} catch (e) {
|
|
27270
26981
|
this.logger.warn("Failed to save weather cache to localStorage", { error: e });
|
|
27271
26982
|
}
|
|
@@ -27608,7 +27319,7 @@ class Qd {
|
|
|
27608
27319
|
const o = `${this.baseUrl}?lat=${e}&lon=${t}&appid=${this.apiKey}&units=metric`, l = await fetch(o);
|
|
27609
27320
|
if (!l.ok)
|
|
27610
27321
|
throw new Error(`Weather API error: ${l.statusText}`);
|
|
27611
|
-
const c = await l.json(), u =
|
|
27322
|
+
const c = await l.json(), u = Ld.safeParse(c);
|
|
27612
27323
|
if (!u.success)
|
|
27613
27324
|
return this.logger.error("Weather API response validation failed", {
|
|
27614
27325
|
errors: u.error.issues,
|
|
@@ -27727,7 +27438,7 @@ class Qd {
|
|
|
27727
27438
|
const c = Math.ceil(i / 3), u = `${this.forecastUrl}?lat=${e}&lon=${t}&appid=${this.apiKey}&units=metric&cnt=${c}`, d = await fetch(u);
|
|
27728
27439
|
if (!d.ok)
|
|
27729
27440
|
throw new Error(`Weather Forecast API error: ${d.statusText}`);
|
|
27730
|
-
const h = await d.json(), p =
|
|
27441
|
+
const h = await d.json(), p = Wd.safeParse(h);
|
|
27731
27442
|
if (!p.success)
|
|
27732
27443
|
return this.logger.error("Weather Forecast API response validation failed", {
|
|
27733
27444
|
errors: p.error.issues,
|
|
@@ -27930,26 +27641,26 @@ const w = {
|
|
|
27930
27641
|
function ka(s) {
|
|
27931
27642
|
return s.useColors === !1 ? !1 : typeof process < "u" && process.stdout?.isTTY === !0;
|
|
27932
27643
|
}
|
|
27933
|
-
function
|
|
27644
|
+
function A(s, e, t) {
|
|
27934
27645
|
return t ? `${e}${s}${w.reset}` : s;
|
|
27935
27646
|
}
|
|
27936
|
-
function
|
|
27647
|
+
function zd(s, e) {
|
|
27937
27648
|
switch (s) {
|
|
27938
27649
|
case "healthy":
|
|
27939
|
-
return
|
|
27650
|
+
return A("●", w.green, e);
|
|
27940
27651
|
case "degraded":
|
|
27941
|
-
return
|
|
27652
|
+
return A("●", w.yellow, e);
|
|
27942
27653
|
case "failed":
|
|
27943
|
-
return
|
|
27654
|
+
return A("●", w.red, e);
|
|
27944
27655
|
default:
|
|
27945
|
-
return
|
|
27656
|
+
return A("○", w.dim, e);
|
|
27946
27657
|
}
|
|
27947
27658
|
}
|
|
27948
|
-
function
|
|
27949
|
-
return s ?
|
|
27659
|
+
function qd(s, e) {
|
|
27660
|
+
return s ? A("✓ Granted", w.green, e) : A("✗ Denied", w.red, e);
|
|
27950
27661
|
}
|
|
27951
|
-
function
|
|
27952
|
-
return s ?
|
|
27662
|
+
function Ud(s, e) {
|
|
27663
|
+
return s ? A("Available", w.green, e) : A("Unavailable", w.red, e);
|
|
27953
27664
|
}
|
|
27954
27665
|
function Aa(s) {
|
|
27955
27666
|
const e = new Date(s), t = e.getHours().toString().padStart(2, "0"), a = e.getMinutes().toString().padStart(2, "0"), i = e.getSeconds().toString().padStart(2, "0");
|
|
@@ -27958,7 +27669,7 @@ function Aa(s) {
|
|
|
27958
27669
|
function Qe(s) {
|
|
27959
27670
|
return s < 1e3 ? `${s}ms` : s < 6e4 ? `${(s / 1e3).toFixed(1)}s` : s < 36e5 ? `${Math.floor(s / 6e4)}m ${Math.floor(s % 6e4 / 1e3)}s` : `${Math.floor(s / 36e5)}h ${Math.floor(s % 36e5 / 6e4)}m`;
|
|
27960
27671
|
}
|
|
27961
|
-
function
|
|
27672
|
+
function Li(s, e) {
|
|
27962
27673
|
const t = s + e;
|
|
27963
27674
|
return t === 0 ? "N/A" : `${(s / t * 100).toFixed(1)}%`;
|
|
27964
27675
|
}
|
|
@@ -27966,7 +27677,7 @@ function Rt(s, e) {
|
|
|
27966
27677
|
const t = [], a = s.totalCalls > 0;
|
|
27967
27678
|
if (t.push(` Calls: ${s.totalCalls}`), t.push(` Success: ${a ? `${s.successRate.toFixed(1)}%` : "N/A"}`), a) {
|
|
27968
27679
|
const i = s.average < 500 ? w.green : s.average < 1500 ? w.yellow : w.red;
|
|
27969
|
-
t.push(` Avg Time: ${
|
|
27680
|
+
t.push(` Avg Time: ${A(`${s.average}ms`, i, e)}`), t.push(` Min/Avg/Max: ${s.min}/${s.average}/${s.max}ms`), t.push(` P95/P99: ${s.p95}/${s.p99}ms`);
|
|
27970
27681
|
} else
|
|
27971
27682
|
t.push(" Avg Time: N/A");
|
|
27972
27683
|
return t;
|
|
@@ -27982,19 +27693,19 @@ ${" ".repeat(i)}${o}${" ".repeat(n)}
|
|
|
27982
27693
|
${r}
|
|
27983
27694
|
`;
|
|
27984
27695
|
}
|
|
27985
|
-
function
|
|
27696
|
+
function Js(s, e = {}) {
|
|
27986
27697
|
const t = { ..._a, ...e }, a = ka(t), i = 60;
|
|
27987
|
-
console.log(Ta("ENVIRONMENTAL SENSORS", i, a)), t.showTimestamp && (console.log(`${
|
|
27698
|
+
console.log(Ta("ENVIRONMENTAL SENSORS", i, a)), t.showTimestamp && (console.log(`${A("Timestamp:", w.dim, a)} ${Aa(s.timestamp)}`), console.log(`${A("Diagnostic Mode:", w.dim, a)} ${s.diagnosticMode ? A("ENABLED", w.yellow, a) : "Disabled"}`), console.log("")), console.log(A("┌─ SENSOR STATUS", w.cyan, a)), console.log(ce(22) + (a ? w.reset : ""));
|
|
27988
27699
|
for (const o of s.sensors) {
|
|
27989
|
-
const l =
|
|
27700
|
+
const l = zd(o.status.health, a), c = A(
|
|
27990
27701
|
o.status.health.toUpperCase().padEnd(8),
|
|
27991
27702
|
o.status.health === "healthy" ? w.green : o.status.health === "failed" ? w.red : w.yellow,
|
|
27992
27703
|
a
|
|
27993
27704
|
);
|
|
27994
27705
|
if (console.log(`
|
|
27995
|
-
${
|
|
27706
|
+
${A(o.type.toUpperCase().padEnd(12), w.bright, a)}`), console.log(` Health: ${l} ${c}`), console.log(` Permission: ${qd(o.permission, a)}`), console.log(` Availability:${Ud(o.availability, a)}`), o.status.consecutiveFailures > 0 && console.log(` Failures: ${A(o.status.consecutiveFailures.toString(), w.red, a)} consecutive`), o.status.lastError) {
|
|
27996
27707
|
const u = o.status.lastError.length > 40 ? o.status.lastError.substring(0, 37) + "..." : o.status.lastError;
|
|
27997
|
-
console.log(` Last Error: ${
|
|
27708
|
+
console.log(` Last Error: ${A(u, w.red, a)}`);
|
|
27998
27709
|
}
|
|
27999
27710
|
if (o.status.lastSuccessTimestamp) {
|
|
28000
27711
|
const u = Date.now() - o.status.lastSuccessTimestamp;
|
|
@@ -28002,58 +27713,58 @@ function en(s, e = {}) {
|
|
|
28002
27713
|
}
|
|
28003
27714
|
}
|
|
28004
27715
|
console.log(`
|
|
28005
|
-
${
|
|
28006
|
-
${
|
|
28007
|
-
${
|
|
28008
|
-
${
|
|
28009
|
-
${
|
|
27716
|
+
${A("┌─ CACHE STATISTICS", w.cyan, a)}`), console.log(ce(22) + (a ? w.reset : "")), console.log(`
|
|
27717
|
+
${A("GEOLOCATION", w.bright, a)}`), console.log(` Cache Age: ${s.cache.geolocation.age !== null ? Qe(s.cache.geolocation.age) : "N/A"}`), console.log(` Expired: ${s.cache.geolocation.isExpired ? A("Yes", w.red, a) : A("No", w.green, a)}`), console.log(` Hit Rate: ${Li(s.cache.geolocation.stats.hits, s.cache.geolocation.stats.misses)} (${s.cache.geolocation.stats.hits}h/${s.cache.geolocation.stats.misses}m)`), console.log(`
|
|
27718
|
+
${A("WEATHER API", w.bright, a)}`), console.log(` Cache Size: ${s.cache.weather.size} entries`), console.log(" TTL: 12 minutes"), console.log(` Hit Rate: ${Li(s.cache.weather.stats.hits, s.cache.weather.stats.misses)} (${s.cache.weather.stats.hits}h/${s.cache.weather.stats.misses}m)`), console.log(`
|
|
27719
|
+
${A("┌─ API PERFORMANCE", w.cyan, a)}`), console.log(ce(20) + (a ? w.reset : "")), console.log(`
|
|
27720
|
+
${A("WEATHER API", w.bright, a)}`);
|
|
28010
27721
|
const n = Rt(s.performance.weatherApi, a);
|
|
28011
27722
|
for (const o of n)
|
|
28012
27723
|
console.log(o);
|
|
28013
27724
|
console.log(`
|
|
28014
|
-
${
|
|
27725
|
+
${A("FORECAST API", w.bright, a)}`);
|
|
28015
27726
|
const r = Rt(s.performance.forecastApi, a);
|
|
28016
27727
|
for (const o of r)
|
|
28017
27728
|
console.log(o);
|
|
28018
27729
|
if (s.recentFailures.length > 0) {
|
|
28019
27730
|
const o = s.recentFailures.slice(0, t.maxFailures);
|
|
28020
27731
|
console.log(`
|
|
28021
|
-
${
|
|
27732
|
+
${A("┌─ RECENT FAILURES", w.red, a)}`), console.log(ce(22) + (a ? w.reset : ""));
|
|
28022
27733
|
for (const l of o) {
|
|
28023
27734
|
const c = Qe(Date.now() - l.timestamp);
|
|
28024
27735
|
console.log(`
|
|
28025
|
-
${
|
|
27736
|
+
${A(l.sensorType.toUpperCase(), w.bright, a)} - ${A(c, w.dim, a)} ago`), console.log(` Error: ${A(l.error, w.red, a)}`), console.log(` Retry: ${l.retryAttempt}${l.willRetry ? " (will retry)" : " (final)"}`);
|
|
28026
27737
|
}
|
|
28027
27738
|
}
|
|
28028
27739
|
console.log(`
|
|
28029
|
-
${
|
|
28030
|
-
Geolocation: ${s.context.hasGeolocation ?
|
|
27740
|
+
${A("┌─ CONTEXT DATA", w.cyan, a)}`), console.log(ce(17) + (a ? w.reset : "")), console.log(`
|
|
27741
|
+
Geolocation: ${s.context.hasGeolocation ? A("✓", w.green, a) : A("✗", w.red, a)}`), console.log(` Motion: ${s.context.hasMotion ? A("✓", w.green, a) : A("✗", w.red, a)}`), console.log(` Weather: ${s.context.hasWeather ? A("✓", w.green, a) : A("✗", w.red, a)}`), console.log(` Biome: ${s.context.hasBiome ? A("✓", w.green, a) : A("✗", w.red, a)}`), console.log(`
|
|
28031
27742
|
${ce(i)}
|
|
28032
27743
|
`);
|
|
28033
27744
|
}
|
|
28034
|
-
function
|
|
27745
|
+
function Qs(s, e = {}) {
|
|
28035
27746
|
const t = { ..._a, ...e }, a = ka(t), i = 60;
|
|
28036
|
-
console.log(Ta("GAMING PLATFORM SENSORS", i, a)), t.showTimestamp && console.log(`${
|
|
28037
|
-
`), console.log(
|
|
28038
|
-
${
|
|
28039
|
-
${
|
|
27747
|
+
console.log(Ta("GAMING PLATFORM SENSORS", i, a)), t.showTimestamp && console.log(`${A("Timestamp:", w.dim, a)} ${Aa(s.timestamp)}
|
|
27748
|
+
`), console.log(A("┌─ PLATFORM STATUS", w.cyan, a)), console.log(ce(22) + (a ? w.reset : "")), console.log(`
|
|
27749
|
+
${A("STEAM", w.bright, a)}`), console.log(` Authenticated: ${s.steam.isAuthenticated ? A("✓", w.green, a) : A("✗", w.red, a)}`), console.log(` API Key: ${s.steam.apiKey ? A("✓ Configured", w.green, a) : A("✗ Missing", w.red, a)}`), s.steam.userId && console.log(` User ID: ${s.steam.userId}`), console.log(`
|
|
27750
|
+
${A("┌─ GAMING CONTEXT", w.cyan, a)}`), console.log(ce(20) + (a ? w.reset : ""));
|
|
28040
27751
|
const n = s.gamingContext.isActivelyGaming;
|
|
28041
27752
|
if (console.log(`
|
|
28042
|
-
Active Gaming: ${n ?
|
|
27753
|
+
Active Gaming: ${n ? A("✓ Yes", w.green, a) : A("✗ No", w.dim, a)}`), console.log(` Platform: ${A(s.gamingContext.platformSource.toUpperCase(), n ? w.green : w.dim, a)}`), s.gamingContext.currentGame) {
|
|
28043
27754
|
const l = s.gamingContext.currentGame;
|
|
28044
27755
|
console.log(`
|
|
28045
|
-
${
|
|
27756
|
+
${A("Current Game:", w.bright, a)}`), console.log(` Name: ${A(l.name, w.cyan, a)}`), console.log(` Source: ${l.source}`), l.genre && l.genre.length > 0 && console.log(` Genre: ${l.genre.join(", ")}`), l.sessionDuration && console.log(` Session: ${Qe(l.sessionDuration * 1e3 * 60)}`), l.partySize && console.log(` Party: ${l.partySize} player${l.partySize > 1 ? "s" : ""}`);
|
|
28046
27757
|
}
|
|
28047
27758
|
if (s.gamingContext.gamesPlayedWhileListening.length > 0) {
|
|
28048
27759
|
console.log(`
|
|
28049
|
-
${
|
|
27760
|
+
${A("Games While Listening:", w.bright, a)}`);
|
|
28050
27761
|
for (const l of s.gamingContext.gamesPlayedWhileListening)
|
|
28051
27762
|
console.log(` • ${l}`);
|
|
28052
27763
|
}
|
|
28053
27764
|
if (console.log(`
|
|
28054
|
-
${
|
|
28055
|
-
Active: ${s.polling.isActive ?
|
|
28056
|
-
${
|
|
27765
|
+
${A("┌─ POLLING STATUS", w.cyan, a)}`), console.log(ce(19) + (a ? w.reset : "")), console.log(`
|
|
27766
|
+
Active: ${s.polling.isActive ? A("✓", w.green, a) : A("✗", w.dim, a)}`), console.log(` Interval: ${Qe(s.polling.intervalMs)}`), s.polling.exponentialBackoff > 1 && console.log(` Backoff: ${A(`${s.polling.exponentialBackoff}x`, w.yellow, a)}`), console.log(`
|
|
27767
|
+
${A("┌─ CACHE", w.cyan, a)}`), console.log(ce(10) + (a ? w.reset : "")), console.log(`
|
|
28057
27768
|
Game Metadata: ${s.cache.gameMetadataCacheSize} entries`), s.cache.cachedGames.length > 0) {
|
|
28058
27769
|
console.log(" Cached Games:");
|
|
28059
27770
|
for (const l of s.cache.cachedGames.slice(0, 5))
|
|
@@ -28061,13 +27772,13 @@ ${k("┌─ CACHE", w.cyan, a)}`), console.log(ce(10) + (a ? w.reset : "")), con
|
|
|
28061
27772
|
s.cache.cachedGames.length > 5 && console.log(` ... and ${s.cache.cachedGames.length - 5} more`);
|
|
28062
27773
|
}
|
|
28063
27774
|
console.log(`
|
|
28064
|
-
${
|
|
28065
|
-
${
|
|
27775
|
+
${A("┌─ API PERFORMANCE", w.cyan, a)}`), console.log(ce(20) + (a ? w.reset : "")), console.log(`
|
|
27776
|
+
${A("CURRENT GAME API", w.bright, a)}`);
|
|
28066
27777
|
const r = Rt(s.performance.currentGameApi, a);
|
|
28067
27778
|
for (const l of r)
|
|
28068
27779
|
console.log(l);
|
|
28069
27780
|
console.log(`
|
|
28070
|
-
${
|
|
27781
|
+
${A("METADATA API", w.bright, a)}`);
|
|
28071
27782
|
const o = Rt(s.performance.metadataApi, a);
|
|
28072
27783
|
for (const l of o)
|
|
28073
27784
|
console.log(l);
|
|
@@ -28075,33 +27786,33 @@ ${k("┌─ API PERFORMANCE", w.cyan, a)}`), console.log(ce(20) + (a ? w.reset :
|
|
|
28075
27786
|
${ce(i)}
|
|
28076
27787
|
`);
|
|
28077
27788
|
}
|
|
28078
|
-
function
|
|
27789
|
+
function jd(s, e = {}) {
|
|
28079
27790
|
const t = { ..._a, ...e }, a = ka(t);
|
|
28080
27791
|
if (console.log(Ta("SENSOR SYSTEM DASHBOARD", 70, a)), t.showTimestamp) {
|
|
28081
27792
|
const n = s.environmental?.timestamp || s.gaming?.timestamp || Date.now();
|
|
28082
|
-
console.log(`${
|
|
27793
|
+
console.log(`${A("Generated:", w.dim, a)} ${Aa(n)}
|
|
28083
27794
|
`);
|
|
28084
27795
|
}
|
|
28085
|
-
if (console.log(
|
|
27796
|
+
if (console.log(A("┌─ QUICK HEALTH SUMMARY", w.cyan, a)), console.log(ce(26) + (a ? w.reset : "")), s.environmental) {
|
|
28086
27797
|
let n = 0;
|
|
28087
27798
|
for (const o of s.environmental.sensors)
|
|
28088
27799
|
o.status.health === "healthy" && n++;
|
|
28089
27800
|
const r = n === s.environmental.sensors.length;
|
|
28090
27801
|
console.log(`
|
|
28091
|
-
Environmental: ${r ?
|
|
27802
|
+
Environmental: ${r ? A(`✓ ${n}/${n} Healthy`, w.green, a) : A(`⚠ ${n}/${s.environmental.sensors.length} Healthy`, w.yellow, a)}`);
|
|
28092
27803
|
}
|
|
28093
27804
|
if (s.gaming) {
|
|
28094
27805
|
const n = s.gaming.steam.isAuthenticated;
|
|
28095
|
-
console.log(` Gaming: ${n ?
|
|
27806
|
+
console.log(` Gaming: ${n ? A("✓ Connected", w.green, a) : A("✗ Disconnected", w.dim, a)}`);
|
|
28096
27807
|
}
|
|
28097
|
-
console.log(""), s.environmental &&
|
|
27808
|
+
console.log(""), s.environmental && Js(s.environmental, t), s.gaming && Qs(s.gaming, t);
|
|
28098
27809
|
}
|
|
28099
|
-
const
|
|
28100
|
-
displayEnvironmentalDiagnostics:
|
|
28101
|
-
displayGamingDiagnostics:
|
|
28102
|
-
displaySystemDashboard:
|
|
27810
|
+
const en = {
|
|
27811
|
+
displayEnvironmentalDiagnostics: Js,
|
|
27812
|
+
displayGamingDiagnostics: Qs,
|
|
27813
|
+
displaySystemDashboard: jd
|
|
28103
27814
|
};
|
|
28104
|
-
class
|
|
27815
|
+
class pp {
|
|
28105
27816
|
/**
|
|
28106
27817
|
* Initialize environmental sensors with optional weather API key, retry config, or full config
|
|
28107
27818
|
*
|
|
@@ -28149,7 +27860,7 @@ class Tp {
|
|
|
28149
27860
|
const n = e;
|
|
28150
27861
|
a = n.weather?.apiKey ?? "", i = n.geolocation, n.retry && (this.retryConfig = { ...this.retryConfig, ...n.retry }), n.xpModifier && (this.xpConfig = { ...this.xpConfig, ...n.xpModifier });
|
|
28151
27862
|
}
|
|
28152
|
-
this.geolocation = i ? new
|
|
27863
|
+
this.geolocation = i ? new Oi(i) : new Oi(), this.motion = new Od(), this.weather = new Hd(a), this.initializeSensorStatuses();
|
|
28153
27864
|
}
|
|
28154
27865
|
/**
|
|
28155
27866
|
* Initialize sensor statuses to 'unknown' state
|
|
@@ -28642,7 +28353,7 @@ class Tp {
|
|
|
28642
28353
|
* sensors.printDashboard({ useColors: false, compact: true });
|
|
28643
28354
|
*/
|
|
28644
28355
|
printDashboard(e) {
|
|
28645
|
-
|
|
28356
|
+
en.displayEnvironmentalDiagnostics(this.getDiagnostics(), e);
|
|
28646
28357
|
}
|
|
28647
28358
|
/**
|
|
28648
28359
|
* Get solar information including sunrise, sunset, and day stage.
|
|
@@ -28670,7 +28381,7 @@ class Tp {
|
|
|
28670
28381
|
return this.weather.getSolarInfo(e, t, a);
|
|
28671
28382
|
}
|
|
28672
28383
|
}
|
|
28673
|
-
class
|
|
28384
|
+
class Gd {
|
|
28674
28385
|
constructor(e = "") {
|
|
28675
28386
|
this.baseUrl = "https://api.steampowered.com", this.logger = ye.for("SteamAPIClient"), this.currentGameApiMetrics = {
|
|
28676
28387
|
successCount: 0,
|
|
@@ -28860,7 +28571,7 @@ class sh {
|
|
|
28860
28571
|
}
|
|
28861
28572
|
}
|
|
28862
28573
|
}
|
|
28863
|
-
class
|
|
28574
|
+
class mp {
|
|
28864
28575
|
// 24 hours
|
|
28865
28576
|
/**
|
|
28866
28577
|
* Initialize GamingPlatformSensors with optional Steam configuration
|
|
@@ -28888,7 +28599,7 @@ class Cp {
|
|
|
28888
28599
|
totalGamingMinutes: 0,
|
|
28889
28600
|
gamesPlayedWhileListening: [],
|
|
28890
28601
|
lastUpdated: Date.now()
|
|
28891
|
-
}, this.contextCallback = null, this.gameMetadataCache = /* @__PURE__ */ new Map(), this.cacheExpiryMs = 864e5, "steam" in e && e.steam && (this.steamApiKey = e.steam.apiKey, this.steamUserId = e.steam.steamId, e.steam.pollInterval && (this.pollIntervalMs = e.steam.pollInterval)), "metadataCacheExpiry" in e && e.metadataCacheExpiry && (this.cacheExpiryMs = e.metadataCacheExpiry), "maxBackoffMs" in e && e.maxBackoffMs && (this.maxBackoffMs = e.maxBackoffMs), "xpModifier" in e && e.xpModifier && (this.xpConfig = { ...this.xpConfig, ...e.xpModifier }), this.steam = new
|
|
28602
|
+
}, this.contextCallback = null, this.gameMetadataCache = /* @__PURE__ */ new Map(), this.cacheExpiryMs = 864e5, "steam" in e && e.steam && (this.steamApiKey = e.steam.apiKey, this.steamUserId = e.steam.steamId, e.steam.pollInterval && (this.pollIntervalMs = e.steam.pollInterval)), "metadataCacheExpiry" in e && e.metadataCacheExpiry && (this.cacheExpiryMs = e.metadataCacheExpiry), "maxBackoffMs" in e && e.maxBackoffMs && (this.maxBackoffMs = e.maxBackoffMs), "xpModifier" in e && e.xpModifier && (this.xpConfig = { ...this.xpConfig, ...e.xpModifier }), this.steam = new Gd(this.steamApiKey);
|
|
28892
28603
|
}
|
|
28893
28604
|
/**
|
|
28894
28605
|
* Authenticate with Steam
|
|
@@ -29059,10 +28770,10 @@ class Cp {
|
|
|
29059
28770
|
* gamingSensors.printDashboard({ useColors: false, compact: true });
|
|
29060
28771
|
*/
|
|
29061
28772
|
printDashboard(e) {
|
|
29062
|
-
|
|
28773
|
+
en.displayGamingDiagnostics(this.getDiagnostics(), e);
|
|
29063
28774
|
}
|
|
29064
28775
|
}
|
|
29065
|
-
const
|
|
28776
|
+
const Vd = {
|
|
29066
28777
|
geolocation: {
|
|
29067
28778
|
cacheTTL: 300 * 1e3,
|
|
29068
28779
|
// 5 minutes
|
|
@@ -29114,7 +28825,7 @@ const nh = {
|
|
|
29114
28825
|
backoffMultiplier: 2
|
|
29115
28826
|
}
|
|
29116
28827
|
};
|
|
29117
|
-
function
|
|
28828
|
+
function Zd() {
|
|
29118
28829
|
const s = {};
|
|
29119
28830
|
if (typeof process < "u" && process.env?.WEATHER_API_KEY && (s.weather = { ...s.weather, apiKey: process.env.WEATHER_API_KEY }), typeof process < "u" && process.env?.STEAM_API_KEY && (s.gaming = {
|
|
29120
28831
|
...s.gaming,
|
|
@@ -29128,9 +28839,9 @@ function rh() {
|
|
|
29128
28839
|
}
|
|
29129
28840
|
return s;
|
|
29130
28841
|
}
|
|
29131
|
-
function
|
|
29132
|
-
const e =
|
|
29133
|
-
return la(
|
|
28842
|
+
function gp(s = {}) {
|
|
28843
|
+
const e = Zd();
|
|
28844
|
+
return la(Vd, la(e, s));
|
|
29134
28845
|
}
|
|
29135
28846
|
function la(s, e) {
|
|
29136
28847
|
const t = { ...s };
|
|
@@ -29140,7 +28851,7 @@ function la(s, e) {
|
|
|
29140
28851
|
}
|
|
29141
28852
|
return t;
|
|
29142
28853
|
}
|
|
29143
|
-
const
|
|
28854
|
+
const Yd = [
|
|
29144
28855
|
0,
|
|
29145
28856
|
300,
|
|
29146
28857
|
900,
|
|
@@ -29163,7 +28874,7 @@ const oh = [
|
|
|
29163
28874
|
355e3
|
|
29164
28875
|
], Ke = {
|
|
29165
28876
|
xp: {
|
|
29166
|
-
level_thresholds:
|
|
28877
|
+
level_thresholds: Yd,
|
|
29167
28878
|
xp_per_second: 1,
|
|
29168
28879
|
xp_per_track_completion: 50,
|
|
29169
28880
|
activity_bonuses: {
|
|
@@ -29199,7 +28910,7 @@ const oh = [
|
|
|
29199
28910
|
showNotifications: !0
|
|
29200
28911
|
}
|
|
29201
28912
|
};
|
|
29202
|
-
function
|
|
28913
|
+
function fp(s) {
|
|
29203
28914
|
return s ? {
|
|
29204
28915
|
xp: {
|
|
29205
28916
|
...Ke.xp,
|
|
@@ -31782,25 +31493,25 @@ class ve {
|
|
|
31782
31493
|
};
|
|
31783
31494
|
}
|
|
31784
31495
|
}
|
|
31785
|
-
const
|
|
31786
|
-
function
|
|
31496
|
+
const yp = S.WEAPON_ENCHANTMENTS, vp = S.ARMOR_ENCHANTMENTS, bp = S.RESISTANCE_ENCHANTMENTS, wp = S.CURSES, Sp = S.ALL_ENCHANTMENTS, _p = (s) => ve.getEnchantment(s), kp = (s) => ve.getCurse(s), Ap = () => ve.getAllEnchantments(), Tp = () => ve.getAllCurses(), Cp = (s) => ve.getEnchantmentsByType(s), Ip = (s) => ve.createStrengthEnchantment(s), Mp = (s) => ve.createDexterityEnchantment(s), Ep = (s) => ve.createConstitutionEnchantment(s), Dp = (s) => ve.createIntelligenceEnchantment(s), Rp = (s) => ve.createWisdomEnchantment(s), xp = (s) => ve.createCharismaEnchantment(s);
|
|
31497
|
+
function Pp(s) {
|
|
31787
31498
|
return rt.find((e) => e.name === s);
|
|
31788
31499
|
}
|
|
31789
|
-
function
|
|
31500
|
+
function $p(s) {
|
|
31790
31501
|
return rt.filter((e) => e.type === s);
|
|
31791
31502
|
}
|
|
31792
|
-
function
|
|
31503
|
+
function Np(s) {
|
|
31793
31504
|
return rt.filter((e) => e.rarity === s);
|
|
31794
31505
|
}
|
|
31795
|
-
function
|
|
31506
|
+
function Op() {
|
|
31796
31507
|
return rt.filter((s) => s.tags?.includes("cursed"));
|
|
31797
31508
|
}
|
|
31798
|
-
function
|
|
31509
|
+
function Bp(s) {
|
|
31799
31510
|
return rt.filter(
|
|
31800
31511
|
(e) => e.properties?.some((t) => t.type === s)
|
|
31801
31512
|
);
|
|
31802
31513
|
}
|
|
31803
|
-
function
|
|
31514
|
+
function Lp(s, e) {
|
|
31804
31515
|
const t = oa[e];
|
|
31805
31516
|
return t ? {
|
|
31806
31517
|
...s,
|
|
@@ -31820,379 +31531,389 @@ function Xp(s, e) {
|
|
|
31820
31531
|
export {
|
|
31821
31532
|
En as AICombatRunner,
|
|
31822
31533
|
Vn as ALL_CLASSES,
|
|
31823
|
-
|
|
31824
|
-
|
|
31534
|
+
Sp as ALL_ENCHANTMENTS,
|
|
31535
|
+
Hp as ALL_GRID_TYPES,
|
|
31825
31536
|
Yn as ALL_RACES,
|
|
31826
|
-
|
|
31537
|
+
vp as ARMOR_ENCHANTMENTS,
|
|
31827
31538
|
Ut as AbilityScoreCalculator,
|
|
31828
31539
|
Ti as AbilityScoresSchema,
|
|
31829
|
-
|
|
31830
|
-
|
|
31540
|
+
fd as AppearanceGenerator,
|
|
31541
|
+
qg as ArweaveGatewayManager,
|
|
31831
31542
|
le as AttackResolver,
|
|
31832
|
-
|
|
31543
|
+
Lh as AudioProfileSchema,
|
|
31833
31544
|
vn as BASE_PLAYS_THRESHOLD,
|
|
31834
31545
|
bn as BASE_XP_THRESHOLD,
|
|
31835
|
-
|
|
31836
|
-
|
|
31837
|
-
|
|
31838
|
-
|
|
31839
|
-
|
|
31840
|
-
|
|
31841
|
-
|
|
31842
|
-
|
|
31546
|
+
zp as BEAT_ACCURACY_THRESHOLDS,
|
|
31547
|
+
qp as BEAT_DETECTION_ALGORITHM,
|
|
31548
|
+
Up as BEAT_DETECTION_VERSION,
|
|
31549
|
+
Ph as BalanceValidator,
|
|
31550
|
+
Ed as BalancedStrategy,
|
|
31551
|
+
jp as BeatInterpolator,
|
|
31552
|
+
Gp as BeatMapGenerator,
|
|
31553
|
+
Vp as BeatStream,
|
|
31843
31554
|
nt as BeatSubdivider,
|
|
31844
|
-
|
|
31845
|
-
|
|
31555
|
+
Zp as BeatTracker,
|
|
31556
|
+
Nd as BoxOpener,
|
|
31846
31557
|
Zn as CLASS_AUDIO_PREFERENCES,
|
|
31847
31558
|
Ie as CLASS_DATA,
|
|
31848
31559
|
Kt as CLASS_SPELL_LISTS,
|
|
31849
|
-
|
|
31850
|
-
|
|
31560
|
+
Di as CLASS_STARTING_EQUIPMENT,
|
|
31561
|
+
Yp as CONSECUTIVE_KEY_LIMITS,
|
|
31851
31562
|
Yt as CR_TO_XP,
|
|
31852
|
-
|
|
31563
|
+
wp as CURSES,
|
|
31853
31564
|
wa as CharacterGenerator,
|
|
31854
|
-
|
|
31855
|
-
|
|
31565
|
+
Fh as CharacterSheetSchema,
|
|
31566
|
+
cp as CharacterUpdater,
|
|
31856
31567
|
sa as ClassSuggester,
|
|
31857
|
-
|
|
31568
|
+
Kh as ColorExtractor,
|
|
31858
31569
|
_n as CombatAI,
|
|
31859
31570
|
In as CombatEngine,
|
|
31860
31571
|
Mn as CombatMetricsTracker,
|
|
31861
31572
|
xt as CombatSimulator,
|
|
31862
31573
|
hr as CombatantAccumulator,
|
|
31863
|
-
|
|
31864
|
-
|
|
31865
|
-
|
|
31866
|
-
|
|
31867
|
-
|
|
31868
|
-
|
|
31869
|
-
|
|
31870
|
-
|
|
31871
|
-
|
|
31574
|
+
Nh as ComparativeAnalyzer,
|
|
31575
|
+
Xp as CompositeStreamGenerator,
|
|
31576
|
+
Kp as DDR_PATTERN_LIBRARY,
|
|
31577
|
+
Jp as DEFAULT_BEATMAP_GENERATOR_OPTIONS,
|
|
31578
|
+
Qp as DEFAULT_BEATSTREAM_OPTIONS,
|
|
31579
|
+
em as DEFAULT_BEAT_INTERPOLATION_OPTIONS,
|
|
31580
|
+
tm as DEFAULT_BUTTON_MAPPING_CONFIG,
|
|
31581
|
+
Ci as DEFAULT_CLASS_FEATURES,
|
|
31582
|
+
am as DEFAULT_DOWNBEAT_CONFIG,
|
|
31872
31583
|
tt as DEFAULT_ENEMY_TEMPLATES,
|
|
31873
31584
|
et as DEFAULT_EQUIPMENT,
|
|
31874
|
-
|
|
31875
|
-
|
|
31876
|
-
|
|
31585
|
+
Ug as DEFAULT_GATEWAYS,
|
|
31586
|
+
ln as DEFAULT_GROOVE_OPTIONS,
|
|
31587
|
+
Qg as DEFAULT_IPFS_GATEWAY,
|
|
31877
31588
|
Ke as DEFAULT_PROGRESSION_CONFIG,
|
|
31878
31589
|
Jn as DEFAULT_RACE_DATA_ARRAY,
|
|
31879
|
-
|
|
31880
|
-
|
|
31590
|
+
Ii as DEFAULT_RACIAL_TRAITS,
|
|
31591
|
+
im as DEFAULT_RHYTHMIC_BALANCE_CONFIG,
|
|
31881
31592
|
Ee as DEFAULT_RHYTHM_XP_CONFIG,
|
|
31882
|
-
|
|
31883
|
-
|
|
31884
|
-
|
|
31885
|
-
|
|
31886
|
-
|
|
31887
|
-
|
|
31888
|
-
|
|
31889
|
-
|
|
31593
|
+
Vd as DEFAULT_SENSOR_CONFIG,
|
|
31594
|
+
Mi as DEFAULT_SKILLS,
|
|
31595
|
+
zh as DEFAULT_SKILL_CATEGORIES,
|
|
31596
|
+
Fi as DEFAULT_SUBDIVISION_CONFIG,
|
|
31597
|
+
hn as DEFAULT_SUBDIVISION_PLAYBACK_OPTIONS,
|
|
31598
|
+
sm as DEFAULT_TEMPO_AWARE_CONFIG,
|
|
31599
|
+
nm as DEFAULT_TIME_SIGNATURE,
|
|
31600
|
+
rm as DensityAnalyzer,
|
|
31890
31601
|
z as DiceRoller,
|
|
31891
31602
|
ai as DifficultyCalculator,
|
|
31892
|
-
|
|
31893
|
-
|
|
31894
|
-
|
|
31895
|
-
|
|
31896
|
-
|
|
31897
|
-
|
|
31603
|
+
om as DifficultyVariantGenerator,
|
|
31604
|
+
Md as DnD5eSmartStrategy,
|
|
31605
|
+
Id as DnD5eStandardStrategy,
|
|
31606
|
+
lm as EASY_ACCURACY_THRESHOLDS,
|
|
31607
|
+
cm as EASY_GROOVE_PENALTIES,
|
|
31608
|
+
um as EASY_QUARTER_NOTE_BPM,
|
|
31898
31609
|
S as ENCHANTMENT_LIBRARY,
|
|
31899
31610
|
Da as ENEMY_COUNT_MULTIPLIER,
|
|
31900
|
-
|
|
31611
|
+
es as EXPECTED_WIN_RATES,
|
|
31901
31612
|
ve as EnchantmentLibrary,
|
|
31902
31613
|
it as EnemyGenerator,
|
|
31903
|
-
|
|
31614
|
+
pp as EnvironmentalSensors,
|
|
31904
31615
|
re as EquipmentEffectApplier,
|
|
31905
31616
|
Et as EquipmentGenerator,
|
|
31906
|
-
|
|
31907
|
-
|
|
31617
|
+
dp as EquipmentModifier,
|
|
31618
|
+
hp as EquipmentSpawnHelper,
|
|
31908
31619
|
Xt as EquipmentValidator,
|
|
31909
31620
|
R as ExtensionManager,
|
|
31910
31621
|
Dt as FeatureEffectApplier,
|
|
31911
31622
|
se as FeatureQuery,
|
|
31912
31623
|
Ge as FeatureValidator,
|
|
31913
|
-
|
|
31914
|
-
|
|
31915
|
-
|
|
31916
|
-
|
|
31917
|
-
|
|
31918
|
-
|
|
31919
|
-
|
|
31920
|
-
|
|
31921
|
-
|
|
31922
|
-
|
|
31923
|
-
|
|
31624
|
+
dm as GAUSSIAN_SMOOTH_PRESETS,
|
|
31625
|
+
hm as GROOVE_PENALTY_PRESETS,
|
|
31626
|
+
pm as GROOVE_TIERS,
|
|
31627
|
+
mm as GUITAR_HERO_PATTERN_LIBRARY,
|
|
31628
|
+
mp as GamingPlatformSensors,
|
|
31629
|
+
Jh as GrooveAnalyzer,
|
|
31630
|
+
gm as HARD_ACCURACY_THRESHOLDS,
|
|
31631
|
+
fm as HARD_GROOVE_PENALTIES,
|
|
31632
|
+
ym as HARD_RESTRICT_BPM,
|
|
31633
|
+
vm as HOP_SIZE_PRESETS,
|
|
31634
|
+
bm as HighBpmGridRestrictionRule,
|
|
31924
31635
|
oa as ITEM_CREATION_TEMPLATES,
|
|
31925
31636
|
kn as InitiativeRoller,
|
|
31926
|
-
|
|
31927
|
-
|
|
31637
|
+
jg as KNOWN_GATEWAY_HOSTS,
|
|
31638
|
+
ef as KNOWN_IPFS_GATEWAY_HOSTS,
|
|
31928
31639
|
ke as LevelUpProcessor,
|
|
31929
|
-
|
|
31640
|
+
Gg as LogLevel,
|
|
31930
31641
|
ye as Logger,
|
|
31931
31642
|
rt as MAGIC_ITEMS,
|
|
31932
31643
|
Xn as MASTERY_BONUS_XP,
|
|
31933
|
-
|
|
31934
|
-
|
|
31644
|
+
Mh as MASTERY_THRESHOLD,
|
|
31645
|
+
wm as MAX_BEATS_PER_MEASURE,
|
|
31935
31646
|
ot as MAX_PRESTIGE_LEVEL,
|
|
31936
|
-
|
|
31937
|
-
|
|
31938
|
-
|
|
31939
|
-
|
|
31940
|
-
|
|
31941
|
-
|
|
31942
|
-
|
|
31647
|
+
Sm as MAX_SUBDIVISION_DENSITY,
|
|
31648
|
+
_m as MEDIUM_ACCURACY_THRESHOLDS,
|
|
31649
|
+
km as MEDIUM_GROOVE_PENALTIES,
|
|
31650
|
+
Am as MEDIUM_RESTRICT_BPM,
|
|
31651
|
+
Tm as MEL_BANDS_PRESETS,
|
|
31652
|
+
Cm as MIN_BEATS_PER_MEASURE,
|
|
31653
|
+
xd as ManualStrategy,
|
|
31943
31654
|
ge as MetadataExtractor,
|
|
31944
|
-
|
|
31945
|
-
|
|
31946
|
-
|
|
31655
|
+
Ku as MixConditionSchema,
|
|
31656
|
+
Wh as MixInfoSchema,
|
|
31657
|
+
Im as MultiBandAnalyzer,
|
|
31658
|
+
Ju as NamingEngine,
|
|
31659
|
+
Mm as OnsetStrengthEnvelope,
|
|
31947
31660
|
yn as PRESTIGE_ROMAN_NUMERALS,
|
|
31948
31661
|
Ma as PRESTIGE_SCALING_FACTOR,
|
|
31949
|
-
|
|
31950
|
-
|
|
31951
|
-
|
|
31952
|
-
|
|
31953
|
-
|
|
31954
|
-
|
|
31662
|
+
Zi as PROFICIENCY_BONUS,
|
|
31663
|
+
$h as ParameterSweep,
|
|
31664
|
+
Yh as PartyAnalyzer,
|
|
31665
|
+
Em as PhraseAnalyzer,
|
|
31666
|
+
Dm as PitchDetector,
|
|
31667
|
+
Xh as PlaylistParser,
|
|
31955
31668
|
Xu as PlaylistTrackSchema,
|
|
31956
31669
|
ae as PrestigeSystem,
|
|
31957
|
-
|
|
31958
|
-
|
|
31959
|
-
|
|
31960
|
-
|
|
31961
|
-
|
|
31962
|
-
|
|
31963
|
-
|
|
31964
|
-
|
|
31965
|
-
|
|
31966
|
-
|
|
31967
|
-
|
|
31968
|
-
|
|
31969
|
-
|
|
31670
|
+
Dd as PrimaryOnlyStrategy,
|
|
31671
|
+
Dh as RACE_DATA,
|
|
31672
|
+
zi as RARITY_CONFIGS,
|
|
31673
|
+
bp as RESISTANCE_ENCHANTMENTS,
|
|
31674
|
+
Rm as RHYTHM_PRESETS,
|
|
31675
|
+
pd as RaceSelector,
|
|
31676
|
+
Rd as RandomStrategy,
|
|
31677
|
+
xm as RhythmGenerator,
|
|
31678
|
+
Pm as RhythmQuantizer,
|
|
31679
|
+
up as RhythmXPCalculator,
|
|
31680
|
+
$m as RhythmicBalancer,
|
|
31681
|
+
Ih as SKILL_ABILITY_MAP,
|
|
31682
|
+
Gi as SPELL_DATABASE,
|
|
31970
31683
|
Va as SPELL_SLOTS_BY_CLASS,
|
|
31971
|
-
|
|
31684
|
+
Nm as SUBDIVISION_LIMITS,
|
|
31972
31685
|
Rn as SeededDiceRoller,
|
|
31973
31686
|
_e as SeededRNG,
|
|
31974
|
-
|
|
31975
|
-
|
|
31976
|
-
|
|
31687
|
+
en as SensorDashboard,
|
|
31688
|
+
Bh as ServerlessPlaylistSchema,
|
|
31689
|
+
lp as SessionTracker,
|
|
31977
31690
|
dr as SimulationAggregator,
|
|
31978
|
-
|
|
31691
|
+
md as SkillAssigner,
|
|
31979
31692
|
he as SkillQuery,
|
|
31980
31693
|
Se as SkillValidator,
|
|
31981
|
-
|
|
31694
|
+
Om as SpectrumScanner,
|
|
31982
31695
|
G as SpellCaster,
|
|
31983
|
-
|
|
31696
|
+
Ei as SpellManager,
|
|
31984
31697
|
Me as SpellQuery,
|
|
31985
31698
|
Re as SpellValidator,
|
|
31986
|
-
|
|
31987
|
-
|
|
31988
|
-
|
|
31989
|
-
|
|
31990
|
-
|
|
31991
|
-
|
|
31992
|
-
|
|
31993
|
-
|
|
31994
|
-
|
|
31699
|
+
$d as StatManager,
|
|
31700
|
+
Hh as StemInfoSchema,
|
|
31701
|
+
Bm as StreamScorer,
|
|
31702
|
+
op as SubdivisionPlaybackController,
|
|
31703
|
+
ih as TUNING_FACTORS,
|
|
31704
|
+
Lm as TempoAwareQuantizer,
|
|
31705
|
+
Fm as TempoDetector,
|
|
31706
|
+
Wm as TransientDetector,
|
|
31707
|
+
Hm as VALID_SUBDIVISION_TYPES,
|
|
31708
|
+
yp as WEAPON_ENCHANTMENTS,
|
|
31995
31709
|
fe as WeightedSelector,
|
|
31996
|
-
|
|
31710
|
+
Us as XPCalculator,
|
|
31997
31711
|
An as XP_BUDGET_PER_LEVEL,
|
|
31998
31712
|
At as XP_THRESHOLDS,
|
|
31999
|
-
|
|
32000
|
-
|
|
32001
|
-
|
|
32002
|
-
|
|
32003
|
-
|
|
32004
|
-
|
|
32005
|
-
|
|
32006
|
-
|
|
32007
|
-
|
|
32008
|
-
|
|
31713
|
+
Lp as applyTemplate,
|
|
31714
|
+
sh as applyTuning,
|
|
31715
|
+
ed as areAppearanceDefaultsInitialized,
|
|
31716
|
+
cd as areClassDefaultsInitialized,
|
|
31717
|
+
nd as areEquipmentDefaultsInitialized,
|
|
31718
|
+
ud as areFeatureDefaultsInitialized,
|
|
31719
|
+
od as areRaceDataDefaultsInitialized,
|
|
31720
|
+
rd as areRaceDefaultsInitialized,
|
|
31721
|
+
dd as areSkillDefaultsInitialized,
|
|
31722
|
+
id as areSpellDefaultsInitialized,
|
|
32009
31723
|
wt as arweaveGatewayManager,
|
|
32010
31724
|
qn as asClass,
|
|
32011
|
-
|
|
32012
|
-
|
|
32013
|
-
|
|
32014
|
-
|
|
32015
|
-
|
|
32016
|
-
|
|
32017
|
-
|
|
32018
|
-
|
|
32019
|
-
|
|
32020
|
-
|
|
32021
|
-
|
|
32022
|
-
|
|
32023
|
-
|
|
32024
|
-
|
|
32025
|
-
|
|
32026
|
-
|
|
31725
|
+
ep as assignKeyToBeat,
|
|
31726
|
+
tp as assignKeysToBeats,
|
|
31727
|
+
nh as calculateAdjustedXP,
|
|
31728
|
+
zm as calculateBeatInMeasure,
|
|
31729
|
+
qm as calculateMaxAchievableDensity,
|
|
31730
|
+
Um as calculateStdDev,
|
|
31731
|
+
jm as chartedBeatMapToBeatMap,
|
|
31732
|
+
ip as clearAllKeys,
|
|
31733
|
+
Vg as constructGatewayUrl,
|
|
31734
|
+
Gm as convertToAllowedGridType,
|
|
31735
|
+
xp as createCharismaEnchantment,
|
|
31736
|
+
Ep as createConstitutionEnchantment,
|
|
31737
|
+
Mp as createDexterityEnchantment,
|
|
31738
|
+
Dp as createIntelligenceEnchantment,
|
|
31739
|
+
Zg as createLogger,
|
|
31740
|
+
Vm as createMelFilterbank,
|
|
32027
31741
|
Dn as createSeededRoller,
|
|
32028
|
-
|
|
32029
|
-
|
|
32030
|
-
|
|
32031
|
-
|
|
32032
|
-
|
|
32033
|
-
|
|
32034
|
-
|
|
32035
|
-
|
|
32036
|
-
|
|
32037
|
-
|
|
32038
|
-
|
|
32039
|
-
|
|
32040
|
-
|
|
32041
|
-
|
|
32042
|
-
|
|
32043
|
-
|
|
31742
|
+
Pi as createStatIncreaseStrategy,
|
|
31743
|
+
Ip as createStrengthEnchantment,
|
|
31744
|
+
Rp as createWisdomEnchantment,
|
|
31745
|
+
Zm as deriveAllowedGridTypes,
|
|
31746
|
+
an as deriveSeed,
|
|
31747
|
+
Js as displayEnvironmentalDiagnostics,
|
|
31748
|
+
Qs as displayGamingDiagnostics,
|
|
31749
|
+
jd as displaySystemDashboard,
|
|
31750
|
+
Uh as ensureAllDefaultsInitialized,
|
|
31751
|
+
xs as ensureAppearanceDefaultsInitialized,
|
|
31752
|
+
Ws as ensureClassDefaultsInitialized,
|
|
31753
|
+
Ns as ensureEquipmentDefaultsInitialized,
|
|
31754
|
+
zs as ensureFeatureDefaultsInitialized,
|
|
31755
|
+
ld as ensureRaceDataDefaultsInitialized,
|
|
31756
|
+
Bs as ensureRaceDefaultsInitialized,
|
|
31757
|
+
hd as ensureSkillDefaultsInitialized,
|
|
32044
31758
|
ia as ensureSpellDefaultsInitialized,
|
|
32045
|
-
|
|
32046
|
-
|
|
32047
|
-
|
|
32048
|
-
|
|
32049
|
-
|
|
32050
|
-
|
|
32051
|
-
|
|
32052
|
-
|
|
32053
|
-
|
|
32054
|
-
|
|
31759
|
+
tf as evaluateMixConditions,
|
|
31760
|
+
af as extractIPFSPath,
|
|
31761
|
+
ap as extractKeyMap,
|
|
31762
|
+
Ym as findActiveSegment,
|
|
31763
|
+
sf as findMixByName,
|
|
31764
|
+
Xm as gaussianSmooth,
|
|
31765
|
+
Km as generateSeed,
|
|
31766
|
+
pn as getAccuracyThresholdsForPreset,
|
|
31767
|
+
Tp as getAllCurses,
|
|
31768
|
+
Ap as getAllEnchantments,
|
|
31769
|
+
Yg as getAllGatewayUrls,
|
|
32055
31770
|
Fn as getAllRarities,
|
|
32056
|
-
|
|
32057
|
-
|
|
32058
|
-
|
|
31771
|
+
Jm as getAllowedGridTypes,
|
|
31772
|
+
nf as getArtists,
|
|
31773
|
+
rf as getAudioUrls,
|
|
32059
31774
|
Cn as getAveragePartyLevel,
|
|
32060
|
-
|
|
32061
|
-
|
|
31775
|
+
Hi as getCRFromXP,
|
|
31776
|
+
Vi as getClassData,
|
|
32062
31777
|
Za as getClassSpellList,
|
|
32063
|
-
|
|
32064
|
-
|
|
32065
|
-
|
|
32066
|
-
|
|
32067
|
-
|
|
32068
|
-
|
|
32069
|
-
|
|
32070
|
-
|
|
31778
|
+
yd as getClassStartingEquipment,
|
|
31779
|
+
Qm as getConsecutiveKeyLimit,
|
|
31780
|
+
eg as getControllerModeBalanceDefaults,
|
|
31781
|
+
tg as getControllerModeScoringDefaults,
|
|
31782
|
+
kp as getCurse,
|
|
31783
|
+
Op as getCursedItems,
|
|
31784
|
+
_p as getEnchantment,
|
|
31785
|
+
Cp as getEnchantmentsByType,
|
|
32071
31786
|
kt as getEncounterMultiplier,
|
|
32072
|
-
|
|
32073
|
-
|
|
32074
|
-
|
|
32075
|
-
|
|
32076
|
-
|
|
31787
|
+
xh as getFeatureQuery,
|
|
31788
|
+
of as getFullTracks,
|
|
31789
|
+
ag as getGaussianSmoothMs,
|
|
31790
|
+
lf as getGenres,
|
|
31791
|
+
cn as getGroovePenaltiesForPreset,
|
|
32077
31792
|
Bt as getGrooveTier,
|
|
32078
|
-
|
|
32079
|
-
|
|
32080
|
-
|
|
32081
|
-
|
|
32082
|
-
|
|
32083
|
-
|
|
32084
|
-
|
|
32085
|
-
|
|
32086
|
-
|
|
32087
|
-
|
|
32088
|
-
|
|
32089
|
-
|
|
32090
|
-
|
|
32091
|
-
|
|
32092
|
-
|
|
32093
|
-
|
|
32094
|
-
|
|
32095
|
-
|
|
32096
|
-
|
|
31793
|
+
un as getGrooveWindowMs,
|
|
31794
|
+
dh as getHigherRarity,
|
|
31795
|
+
ig as getHopSizeMs,
|
|
31796
|
+
cf as getImageUrls,
|
|
31797
|
+
Bp as getItemsWithProperty,
|
|
31798
|
+
np as getKeyCount,
|
|
31799
|
+
Pp as getMagicItem,
|
|
31800
|
+
Np as getMagicItemsByRarity,
|
|
31801
|
+
$p as getMagicItemsByType,
|
|
31802
|
+
sg as getMelBands,
|
|
31803
|
+
ng as getMetricGroupSize,
|
|
31804
|
+
rg as getMinHotnessForTier,
|
|
31805
|
+
uf as getMixTracks,
|
|
31806
|
+
df as getMixes,
|
|
31807
|
+
og as getPatternById,
|
|
31808
|
+
lg as getPatternLibrary,
|
|
31809
|
+
cg as getPatternLibraryStats,
|
|
31810
|
+
ug as getPatternsByCategory,
|
|
31811
|
+
dg as getPatternsByDifficulty,
|
|
31812
|
+
hg as getPatternsByKeyCount,
|
|
31813
|
+
pg as getPatternsByTags,
|
|
31814
|
+
hf as getPreferredMixByQuality,
|
|
32097
31815
|
ua as getRaceData,
|
|
32098
|
-
|
|
32099
|
-
|
|
31816
|
+
Rh as getRaceDataAsync,
|
|
31817
|
+
mg as getRandomPattern,
|
|
32100
31818
|
We as getRarityConfig,
|
|
32101
|
-
|
|
32102
|
-
|
|
32103
|
-
|
|
32104
|
-
|
|
32105
|
-
|
|
32106
|
-
|
|
32107
|
-
|
|
32108
|
-
|
|
32109
|
-
|
|
32110
|
-
|
|
32111
|
-
|
|
32112
|
-
|
|
32113
|
-
|
|
32114
|
-
|
|
32115
|
-
|
|
32116
|
-
|
|
32117
|
-
|
|
32118
|
-
|
|
32119
|
-
|
|
32120
|
-
|
|
32121
|
-
|
|
31819
|
+
gg as getRhythmPreset,
|
|
31820
|
+
fg as getRhythmPresetNames,
|
|
31821
|
+
uh as getSignatureDie,
|
|
31822
|
+
Ch as getSkillQuery,
|
|
31823
|
+
Eh as getSpellQuery,
|
|
31824
|
+
Yi as getSpellSlotsForClass,
|
|
31825
|
+
on as getSubdivisionDensity,
|
|
31826
|
+
pf as getTags,
|
|
31827
|
+
oh as getTemplateById,
|
|
31828
|
+
ch as getTemplatesByArchetype,
|
|
31829
|
+
lh as getTemplatesByCategory,
|
|
31830
|
+
yg as getTempoAwareAllowedGridTypes,
|
|
31831
|
+
mf as getTotalDuration,
|
|
31832
|
+
gf as getTrackCount,
|
|
31833
|
+
gn as getTrackExtras,
|
|
31834
|
+
ff as getTrackMetadata,
|
|
31835
|
+
yf as getTrackTitles,
|
|
31836
|
+
vf as getTracks,
|
|
31837
|
+
bf as getUniqueMixes,
|
|
31838
|
+
rp as getUsedKeys,
|
|
31839
|
+
wf as getVRMTracks,
|
|
31840
|
+
Sf as getVRMs,
|
|
32122
31841
|
ca as getXPBudgetForParty,
|
|
32123
31842
|
Tn as getXPBudgetPerLevel,
|
|
32124
|
-
|
|
32125
|
-
|
|
32126
|
-
|
|
32127
|
-
|
|
32128
|
-
|
|
32129
|
-
|
|
32130
|
-
|
|
32131
|
-
|
|
32132
|
-
|
|
32133
|
-
|
|
32134
|
-
|
|
32135
|
-
|
|
32136
|
-
|
|
32137
|
-
|
|
32138
|
-
|
|
32139
|
-
|
|
32140
|
-
|
|
32141
|
-
|
|
32142
|
-
|
|
32143
|
-
|
|
32144
|
-
|
|
32145
|
-
|
|
32146
|
-
|
|
32147
|
-
|
|
32148
|
-
|
|
31843
|
+
Wi as getXPForCR,
|
|
31844
|
+
sp as hasRequiredKeys,
|
|
31845
|
+
sn as hashSeedToFloat,
|
|
31846
|
+
vg as hashSeedToInt,
|
|
31847
|
+
bg as highPassFilter,
|
|
31848
|
+
wg as hzToMel,
|
|
31849
|
+
qh as initializeAllDefaults,
|
|
31850
|
+
Rs as initializeAppearanceDefaults,
|
|
31851
|
+
Fs as initializeClassDefaults,
|
|
31852
|
+
$s as initializeEquipmentDefaults,
|
|
31853
|
+
Hs as initializeFeatureDefaults,
|
|
31854
|
+
Ls as initializeRaceDataDefaults,
|
|
31855
|
+
Os as initializeRaceDefaults,
|
|
31856
|
+
qs as initializeSkillDefaults,
|
|
31857
|
+
Ps as initializeSpellDefaults,
|
|
31858
|
+
Xg as isArweaveUrl,
|
|
31859
|
+
Sg as isFullBeatMapExportData,
|
|
31860
|
+
_g as isGridTypeAllowed,
|
|
31861
|
+
_f as isIPFS,
|
|
31862
|
+
kg as isLevelPackExport,
|
|
31863
|
+
Ag as isMetricStrongBeat,
|
|
31864
|
+
Tg as isMetricWeakBeat,
|
|
31865
|
+
th as isPrestigeLevel,
|
|
31866
|
+
Cg as isStrongBeatForEmphasis,
|
|
31867
|
+
ah as isValidAIPlayStyle,
|
|
32149
31868
|
Ra as isValidClass,
|
|
32150
|
-
|
|
32151
|
-
|
|
32152
|
-
|
|
32153
|
-
|
|
32154
|
-
|
|
32155
|
-
|
|
32156
|
-
|
|
32157
|
-
|
|
32158
|
-
|
|
32159
|
-
|
|
32160
|
-
|
|
32161
|
-
|
|
31869
|
+
Zh as isValidEncounterDifficulty,
|
|
31870
|
+
rh as isValidEncounterDifficultyUtil,
|
|
31871
|
+
Vh as isValidEnemyArchetype,
|
|
31872
|
+
jh as isValidEnemyCategory,
|
|
31873
|
+
Gh as isValidEnemyRarity,
|
|
31874
|
+
mn as isValidSubdivisionType,
|
|
31875
|
+
Zd as loadConfigFromEnv,
|
|
31876
|
+
Ig as mapGridToSubdivision,
|
|
31877
|
+
Mg as melToHz,
|
|
31878
|
+
Eg as mergeButtonMappingConfig,
|
|
31879
|
+
gp as mergeConfig,
|
|
31880
|
+
fp as mergeProgressionConfig,
|
|
32162
31881
|
Jt as mergeRhythmXPConfig,
|
|
32163
|
-
|
|
32164
|
-
|
|
32165
|
-
|
|
32166
|
-
|
|
32167
|
-
|
|
32168
|
-
|
|
32169
|
-
|
|
32170
|
-
|
|
32171
|
-
|
|
32172
|
-
|
|
31882
|
+
Dg as naturalDifficultyToLevel,
|
|
31883
|
+
Kg as parseArweaveUrl,
|
|
31884
|
+
Rg as performBeatFFT,
|
|
31885
|
+
xg as performSTFT,
|
|
31886
|
+
Pg as reapplyDownbeatConfig,
|
|
31887
|
+
$g as resampleAudio,
|
|
31888
|
+
kf as resolveIPFSLink,
|
|
31889
|
+
Af as resolveMixUrl,
|
|
31890
|
+
fn as resolveSelectedMix,
|
|
31891
|
+
Tf as selectMix,
|
|
31892
|
+
Oh as shouldAccuracyBreakCombo,
|
|
31893
|
+
Qh as subdivideBeatMap,
|
|
32173
31894
|
wn as toPrestigeLevel,
|
|
32174
|
-
|
|
32175
|
-
|
|
32176
|
-
|
|
32177
|
-
|
|
32178
|
-
|
|
32179
|
-
|
|
32180
|
-
|
|
32181
|
-
|
|
32182
|
-
|
|
32183
|
-
|
|
32184
|
-
|
|
32185
|
-
|
|
32186
|
-
|
|
32187
|
-
|
|
32188
|
-
|
|
32189
|
-
|
|
32190
|
-
|
|
32191
|
-
|
|
32192
|
-
|
|
32193
|
-
|
|
32194
|
-
|
|
32195
|
-
|
|
32196
|
-
|
|
32197
|
-
|
|
31895
|
+
dn as unifyBeatMap,
|
|
31896
|
+
Ng as validateButtonMappingConfig,
|
|
31897
|
+
hh as validateClassFeature,
|
|
31898
|
+
mh as validateClassFeatures,
|
|
31899
|
+
Og as validateDownbeatConfig,
|
|
31900
|
+
Bg as validateDownbeatConfigAgainstBeats,
|
|
31901
|
+
ph as validateRacialTrait,
|
|
31902
|
+
gh as validateRacialTraits,
|
|
31903
|
+
fh as validateSkill,
|
|
31904
|
+
wh as validateSkillListDefinition,
|
|
31905
|
+
Sh as validateSkillPrerequisites,
|
|
31906
|
+
bh as validateSkillProficiencies,
|
|
31907
|
+
vh as validateSkillProficiency,
|
|
31908
|
+
yh as validateSkills,
|
|
31909
|
+
_h as validateSpell,
|
|
31910
|
+
Th as validateSpellPrerequisites,
|
|
31911
|
+
Ah as validateSpellPrerequisitesSchema,
|
|
31912
|
+
kh as validateSpells,
|
|
31913
|
+
nn as validateSubdivisionConfig,
|
|
31914
|
+
rn as validateSubdivisionConfigAgainstBeats,
|
|
31915
|
+
Lg as validateSubdivisionDensity,
|
|
31916
|
+
Fg as validateSubdivisionLimits,
|
|
31917
|
+
Wg as validateThresholds,
|
|
31918
|
+
Hg as validateTrackMatch
|
|
32198
31919
|
};
|