@archivist-gg/dnd5e 0.1.0 → 0.2.0

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.
Files changed (67) hide show
  1. package/dist/background/background.codec.js +4 -4
  2. package/dist/background/background.parser.js +3 -3
  3. package/dist/background/background.schema.js +2 -2
  4. package/dist/{chunk-FFULAF2P.js → chunk-2BWAID3Y.js} +2 -2
  5. package/dist/{chunk-FUK7QSN5.js → chunk-42Y5IJKT.js} +1 -1
  6. package/dist/{chunk-537BHVSH.js → chunk-4JHOHWBI.js} +1 -1
  7. package/dist/{chunk-ZLG6FQFB.js → chunk-5WQD3WNZ.js} +16 -1
  8. package/dist/{chunk-FEOB24KP.js → chunk-73HOFQQ5.js} +1 -1
  9. package/dist/{chunk-4SSDYJS2.js → chunk-7VJ6BOA5.js} +5 -1
  10. package/dist/{chunk-DABBCYTT.js → chunk-CZPMTQOY.js} +1 -1
  11. package/dist/{chunk-DRNZJNJP.js → chunk-DZXSWSBP.js} +1 -1
  12. package/dist/{chunk-RVYYKYFL.js → chunk-GE4TLPWM.js} +1 -1
  13. package/dist/{chunk-4C2KOKLF.js → chunk-K6Q5OUGK.js} +12 -0
  14. package/dist/{chunk-PMADYMUI.js → chunk-L7E2UT5A.js} +1 -1
  15. package/dist/{chunk-CDW7R2QT.js → chunk-NXSWH3AE.js} +4 -1
  16. package/dist/{chunk-IDTDACM6.js → chunk-PHQRGDRQ.js} +1 -1
  17. package/dist/{chunk-BAXWWGFJ.js → chunk-Q5K6LWBZ.js} +1 -1
  18. package/dist/chunk-R5SQHP2X.js +1092 -0
  19. package/dist/{chunk-Z6GXV2GO.js → chunk-TLYDBT5F.js} +1 -1
  20. package/dist/{chunk-QQ5W2AZP.js → chunk-TQZB4OCJ.js} +67 -12
  21. package/dist/{chunk-A7T5L7SS.js → chunk-TUIFSVLI.js} +1 -1
  22. package/dist/{chunk-XURS6Q6Q.js → chunk-V6SOFUJW.js} +19 -5
  23. package/dist/{chunk-Z4TL2V7S.js → chunk-VTYUBINW.js} +1 -1
  24. package/dist/{chunk-B7UXKNLD.js → chunk-W7HWMMBF.js} +1 -1
  25. package/dist/{chunk-SSXBYF3P.js → chunk-XLSVNUTK.js} +1 -1
  26. package/dist/{chunk-GIOH5JB5.js → chunk-XTIQWSFM.js} +1 -1
  27. package/dist/{chunk-PKC77VZP.js → chunk-ZZGEVJKX.js} +1 -1
  28. package/dist/class/class.codec.js +5 -5
  29. package/dist/class/class.parser.js +4 -4
  30. package/dist/class/class.schema.js +3 -3
  31. package/dist/feat/feat.codec.js +4 -4
  32. package/dist/feat/feat.parser.js +3 -3
  33. package/dist/feat/feat.schema.js +2 -2
  34. package/dist/index.js +622 -118
  35. package/dist/item/item.actions-map.d.ts +10 -3
  36. package/dist/item/item.actions-map.js +13 -8
  37. package/dist/item/item.codec.js +3 -3
  38. package/dist/item/item.parser.js +2 -2
  39. package/dist/item/item.schema.d.ts +13 -0
  40. package/dist/item/item.schema.js +1 -1
  41. package/dist/item/item.types.d.ts +17 -0
  42. package/dist/pc/pc.decision-engine.js +8 -1
  43. package/dist/pc/pc.equipment.d.ts +2 -1
  44. package/dist/pc/pc.equipment.js +9 -1
  45. package/dist/pc/pc.feature-effects.d.ts +31 -9
  46. package/dist/pc/pc.feature-effects.js +11 -1
  47. package/dist/pc/pc.parser.js +1 -1
  48. package/dist/pc/pc.pools.js +8 -3
  49. package/dist/pc/pc.recalc.js +80 -62
  50. package/dist/pc/pc.resolver.d.ts +71 -1
  51. package/dist/pc/pc.resolver.js +21 -254
  52. package/dist/pc/pc.schema.d.ts +21 -0
  53. package/dist/pc/pc.schema.js +1 -1
  54. package/dist/pc/pc.types.d.ts +80 -1
  55. package/dist/race/race.codec.js +5 -5
  56. package/dist/race/race.parser.js +4 -4
  57. package/dist/race/race.schema.js +3 -3
  58. package/dist/schemas/choice-schema.js +1 -1
  59. package/dist/schemas/feature-schema.js +2 -2
  60. package/dist/subclass/subclass.codec.js +5 -5
  61. package/dist/subclass/subclass.parser.js +4 -4
  62. package/dist/subclass/subclass.schema.js +3 -3
  63. package/dist/types/choice.d.ts +5 -0
  64. package/dist/weapon/weapon-mastery.d.ts +12 -0
  65. package/package.json +1 -1
  66. package/dist/chunk-6PXE7T7C.js +0 -79
  67. package/dist/chunk-TJCNX6UZ.js +0 -521
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-4TIJKN6O.js";
6
6
  import {
7
7
  featureSchema
8
- } from "./chunk-DABBCYTT.js";
8
+ } from "./chunk-CZPMTQOY.js";
9
9
  import {
10
10
  resourceSchema
11
11
  } from "./chunk-PZOWBI3B.js";
@@ -1,3 +1,6 @@
1
+ import {
2
+ bareEntitySlug
3
+ } from "./chunk-R5SQHP2X.js";
1
4
  import {
2
5
  defaultSlotForType,
3
6
  effectiveArmor,
@@ -12,6 +15,27 @@ import {
12
15
  resolveBaseItem
13
16
  } from "./chunk-DC74TZNA.js";
14
17
 
18
+ // src/weapon/weapon-mastery.ts
19
+ var MASTERY = {
20
+ cleave: { label: "Cleave", description: "If you hit a creature with a melee attack roll using this weapon, you can make an attack roll with the weapon against a second creature within 5 feet of the first that is also within your reach. On a hit, the second creature takes the weapon's damage, but don't add your ability modifier to that damage unless it is negative. You can make this extra attack only once per turn.", gist: "hit a 2nd creature in reach" },
21
+ graze: { label: "Graze", description: "If your attack roll with this weapon misses a creature, you can deal damage to that creature equal to the ability modifier you used to make the attack roll. This damage is the same type dealt by the weapon, and the damage can be increased only by increasing the ability modifier.", gist: "on miss: ability-mod damage" },
22
+ nick: { label: "Nick", description: "When you make the extra attack of the Light property, you can make it as part of the Attack action instead of as a Bonus Action. You can make this extra attack only once per turn.", gist: "extra Light attack (no Bonus Action)" },
23
+ push: { label: "Push", description: "If you hit a creature with this weapon, you can push the creature up to 10 feet straight away from yourself if it is Large or smaller.", gist: "on hit: pushed 10 ft" },
24
+ sap: { label: "Sap", description: "If you hit a creature with this weapon, that creature has Disadvantage on its next attack roll before the start of your next turn.", gist: "on hit: target Disadvantage" },
25
+ slow: { label: "Slow", description: "If you hit a creature with this weapon and deal damage, you can reduce its Speed by 10 feet until the start of your next turn. If the creature is hit more than once by weapons that have this property, the Speed reduction doesn't exceed 10 feet.", gist: "on hit: -10 ft Speed" },
26
+ topple: { label: "Topple", description: "If you hit a creature with this weapon, you can force the creature to make a Constitution saving throw (DC 8 plus the ability modifier used to make the attack roll and your Proficiency Bonus). On a failed save, the creature has the Prone condition.", gist: "on fail: Prone" },
27
+ vex: { label: "Vex", description: "If you hit a creature with this weapon and deal damage, you have Advantage on your next attack roll against that creature before the end of your next turn.", gist: "on hit: you gain Advantage next" }
28
+ };
29
+ function masteryGist(slug) {
30
+ var _a;
31
+ return (_a = MASTERY[slug]) == null ? void 0 : _a.gist;
32
+ }
33
+ function masteryDerived(slug, abilityMod, proficiencyBonus) {
34
+ if (slug === "topple") return { label: "Save DC", value: 8 + proficiencyBonus + abilityMod };
35
+ if (slug === "graze") return { label: "On miss", value: abilityMod };
36
+ return void 0;
37
+ }
38
+
15
39
  // src/pc/pc.equipment.ts
16
40
  var ABILITY_KEYS = ["str", "dex", "con", "int", "wis", "cha"];
17
41
  function isAbilityKey(k) {
@@ -304,9 +328,17 @@ function computeAC(equippedSlots, resolved, mods, registry) {
304
328
  function hasProperty(weapon, prop) {
305
329
  return weapon.properties.some((p) => p === prop);
306
330
  }
307
- function attackAbility(weapon, mods, override) {
331
+ function attackAbility(weapon, mods, weaponAbilities) {
308
332
  const isRanged = /ranged/.test(weapon.category);
309
- if (override && !isRanged) return override;
333
+ if (!isRanged) {
334
+ const scoped = weaponAbilities.find((o2) => {
335
+ var _a;
336
+ return (_a = o2.weaponSlugs) == null ? void 0 : _a.includes(bareEntitySlug(weapon.slug));
337
+ });
338
+ const glob = weaponAbilities.find((o2) => !o2.weaponSlugs);
339
+ const o = scoped != null ? scoped : glob;
340
+ if (o) return o.ability;
341
+ }
310
342
  if (isRanged) return "dex";
311
343
  if (hasProperty(weapon, "finesse")) return mods.dex >= mods.str ? "dex" : "str";
312
344
  return "str";
@@ -336,6 +368,7 @@ function magicBonusesForWeaponEntry(entry, registry, ctx) {
336
368
  let damageTypeOverride;
337
369
  let propertiesOverride;
338
370
  const informational = [];
371
+ let itemRiders = [];
339
372
  if (entity && isItemEntity(entity)) {
340
373
  sourceName = entity.name;
341
374
  itemName = entity.name;
@@ -350,6 +383,10 @@ function magicBonusesForWeaponEntry(entry, registry, ctx) {
350
383
  if ((dmgOut == null ? void 0 : dmgOut.kind) === "applied") itemDamage = dmgOut.value;
351
384
  else if ((dmgOut == null ? void 0 : dmgOut.kind) === "informational")
352
385
  informational.push({ field: "weapon_damage", source: entity.name, value: dmgOut.value, conditions: dmgOut.conditions });
386
+ itemRiders = Array.isArray(entity.damage_riders) ? entity.damage_riders.filter((r) => {
387
+ var _a2;
388
+ return ((_a2 = r.applies_to) != null ? _a2 : "weapon") !== "spell";
389
+ }).map((r) => ({ amount: r.amount, damage_type: r.damage_type, source: entity.name })) : [];
353
390
  }
354
391
  return {
355
392
  atk: itemAttack + entryAttack,
@@ -359,12 +396,13 @@ function magicBonusesForWeaponEntry(entry, registry, ctx) {
359
396
  itemName,
360
397
  damageTypeOverride,
361
398
  propertiesOverride,
362
- informational
399
+ informational,
400
+ riders: itemRiders
363
401
  };
364
402
  }
365
403
  function buildAttackRow(args) {
366
- var _a, _b;
367
- const { id, name, weapon, baseDice, ability, mods, proficient, proficiencyBonus, magic } = args;
404
+ var _a, _b, _c;
405
+ const { id, name, weapon, baseDice, ability, mods, proficient, proficiencyBonus, magic, weaponMasteries } = args;
368
406
  const abilityMod = mods[ability];
369
407
  const pb = proficient ? proficiencyBonus : 0;
370
408
  const toHit = abilityMod + pb + magic.atk;
@@ -388,14 +426,21 @@ function buildAttackRow(args) {
388
426
  (p) => typeof p === "string"
389
427
  );
390
428
  const finalProps = (_a = magic.propertiesOverride) != null ? _a : stringProps;
391
- return {
429
+ const row = {
392
430
  id,
393
431
  name,
394
432
  range,
395
433
  toHit,
396
434
  damageDice,
397
435
  damageType: (_b = magic.damageTypeOverride) != null ? _b : weapon.damage.type,
398
- extraDamage: magic.extra,
436
+ // Riders: item damage_riders (Task 2) + the migrated manual override string.
437
+ ...(() => {
438
+ const riders = [
439
+ ...magic.riders,
440
+ ...magic.extra ? [{ amount: magic.extra, source: "manual" }] : []
441
+ ];
442
+ return riders.length ? { damageRiders: riders } : {};
443
+ })(),
399
444
  properties: finalProps,
400
445
  proficient,
401
446
  breakdown: { toHit: toHitBreakdown, damage: damageBreakdown },
@@ -405,6 +450,15 @@ function buildAttackRow(args) {
405
450
  actionCost: args.actionCost,
406
451
  versatile: args.versatileDice ? { damageDice: formatDice(args.versatileDice) } : void 0
407
452
  };
453
+ const mSlug = (_c = weapon.mastery) == null ? void 0 : _c[0];
454
+ if (mSlug && proficient && weaponMasteries.includes(bareEntitySlug(weapon.slug))) {
455
+ const g = MASTERY[mSlug];
456
+ if (g) {
457
+ const derived = masteryDerived(mSlug, mods[ability], proficiencyBonus);
458
+ row.mastery = { slug: mSlug, label: g.label, description: g.description, gist: masteryGist(mSlug), ...derived ? { derived } : {} };
459
+ }
460
+ }
461
+ return row;
408
462
  }
409
463
  function formatWeaponSubLabel(weapon, properties) {
410
464
  const parts = [];
@@ -412,7 +466,7 @@ function formatWeaponSubLabel(weapon, properties) {
412
466
  if (properties.length > 0) parts.push(properties.join(", "));
413
467
  return parts.join(" \xB7 ");
414
468
  }
415
- function computeAttacks(equippedSlots, mods, profs, registry, warnings, proficiencyBonus, ctx, weaponAbilityOverride) {
469
+ function computeAttacks(equippedSlots, mods, profs, registry, warnings, proficiencyBonus, ctx, weaponMasteries, weaponAbilities = []) {
416
470
  var _a, _b, _c, _d, _e;
417
471
  const rows = [];
418
472
  const handedSlots = [
@@ -443,7 +497,7 @@ function computeAttacks(equippedSlots, mods, profs, registry, warnings, proficie
443
497
  if (!proficient) {
444
498
  warnings.push(`Character not proficient with ${weapon.name}; proficiency bonus excluded.`);
445
499
  }
446
- const ability = attackAbility(weapon, mods, weaponAbilityOverride);
500
+ const ability = attackAbility(weapon, mods, weaponAbilities);
447
501
  const magic = magicBonusesForWeaponEntry(entry, registry, ctx);
448
502
  const ovr = (_b = entry.overrides) != null ? _b : {};
449
503
  const displayName = (_d = (_c = ovr.name) != null ? _c : magic.itemName) != null ? _d : weapon.name;
@@ -460,7 +514,8 @@ function computeAttacks(equippedSlots, mods, profs, registry, warnings, proficie
460
514
  magic,
461
515
  slotKey: key,
462
516
  actionCost: (_e = ovr.action) != null ? _e : "action",
463
- versatileDice
517
+ versatileDice,
518
+ weaponMasteries
464
519
  });
465
520
  rows.push(baseRow);
466
521
  }
@@ -488,13 +543,13 @@ function computeCarriedWeight(resolved, registry) {
488
543
  }
489
544
  return total;
490
545
  }
491
- function computeSlotsAndAttacks(resolved, mods, profs, registry, warnings, proficiencyBonus, weaponAbilityOverride) {
546
+ function computeSlotsAndAttacks(resolved, mods, profs, registry, warnings, proficiencyBonus, weaponAbilities = [], weaponMasteries = []) {
492
547
  var _a, _b, _c;
493
548
  const equippedSlots = assignSlots(resolved, registry, warnings);
494
549
  const overrides = (_a = resolved.definition.overrides) != null ? _a : {};
495
550
  const acOut = computeAC(equippedSlots, resolved, mods, registry);
496
551
  const ctx = buildConditionContext(resolved, equippedSlots);
497
- const attacks = computeAttacks(equippedSlots, mods, profs, registry, warnings, proficiencyBonus, ctx, weaponAbilityOverride);
552
+ const attacks = computeAttacks(equippedSlots, mods, profs, registry, warnings, proficiencyBonus, ctx, weaponMasteries, weaponAbilities);
498
553
  return {
499
554
  ac: acOut.ac,
500
555
  acBreakdown: acOut.breakdown,
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-3DZ74AKK.js";
4
4
  import {
5
5
  choiceSchema
6
- } from "./chunk-CDW7R2QT.js";
6
+ } from "./chunk-NXSWH3AE.js";
7
7
 
8
8
  // src/background/background.schema.ts
9
9
  import { z } from "zod";
@@ -1,3 +1,6 @@
1
+ import {
2
+ bareEntitySlug
3
+ } from "./chunk-R5SQHP2X.js";
1
4
  import {
2
5
  ABILITY_KEYS
3
6
  } from "./chunk-WP2CX2JO.js";
@@ -14,11 +17,12 @@ function emptyFeatureEffectTotals() {
14
17
  resistances: [],
15
18
  condition_immunities: [],
16
19
  proficiencies: { skills: [], tools: [], languages: [], saves: [], armor: [], weapons: [] },
17
- weaponAbility: null,
20
+ weaponAbilities: [],
18
21
  rollModifiers: [],
19
22
  critRange: 20,
20
23
  extraAttack: 0,
21
- attackNotes: []
24
+ attackNotes: [],
25
+ damageBonuses: []
22
26
  };
23
27
  }
24
28
  var ABILITY_NAME_TO_KEY = {
@@ -55,7 +59,7 @@ function computeFeatureEffects(features, opts) {
55
59
  return out;
56
60
  }
57
61
  function applyEffect(out, eff, label) {
58
- var _a;
62
+ var _a, _b;
59
63
  switch (eff.kind) {
60
64
  case "initiative-bonus":
61
65
  out.initiative_bonus += eff.value;
@@ -98,9 +102,14 @@ function applyEffect(out, eff, label) {
98
102
  case "ac-bonus":
99
103
  out.ac_terms.push({ value: eff.value, requires_armor: eff.requires_armor === true, label });
100
104
  break;
101
- case "weapon-ability":
102
- if (out.weaponAbility === null && eff.ability !== "spellcasting") out.weaponAbility = eff.ability;
105
+ case "weapon-ability": {
106
+ if (eff.ability !== "spellcasting") {
107
+ const w = eff.weapons;
108
+ const weaponSlugs = !w || w === "chosen" ? void 0 : Array.isArray(w) ? w.map(bareEntitySlug) : [bareEntitySlug(w)];
109
+ out.weaponAbilities.push({ ability: eff.ability, weaponSlugs });
110
+ }
103
111
  break;
112
+ }
104
113
  case "roll-modifier":
105
114
  out.rollModifiers.push({ mode: eff.mode, roll: eff.roll, scope: eff.scope, condition: eff.condition, label });
106
115
  break;
@@ -116,6 +125,11 @@ function applyEffect(out, eff, label) {
116
125
  case "attack-rule":
117
126
  if (eff.flag === "no-ranged-in-melee-disadvantage") out.attackNotes.push("No disadvantage firing in melee");
118
127
  break;
128
+ case "damage-bonus":
129
+ if (((_b = eff.applies_to) != null ? _b : "weapon") !== "spell") {
130
+ out.damageBonuses.push({ amount: eff.amount, damage_type: eff.damage_type, source: label });
131
+ }
132
+ break;
119
133
  default:
120
134
  break;
121
135
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseBackground
3
- } from "./chunk-DRNZJNJP.js";
3
+ } from "./chunk-DZXSWSBP.js";
4
4
 
5
5
  // src/background/background.codec.ts
6
6
  import yaml from "js-yaml";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-4TIJKN6O.js";
6
6
  import {
7
7
  featureSchema
8
- } from "./chunk-DABBCYTT.js";
8
+ } from "./chunk-CZPMTQOY.js";
9
9
  import {
10
10
  resourceSchema
11
11
  } from "./chunk-PZOWBI3B.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseSubclass
3
- } from "./chunk-PMADYMUI.js";
3
+ } from "./chunk-L7E2UT5A.js";
4
4
 
5
5
  // src/subclass/subclass.codec.ts
6
6
  import yaml from "js-yaml";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  featEntitySchema
3
- } from "./chunk-BAXWWGFJ.js";
3
+ } from "./chunk-Q5K6LWBZ.js";
4
4
 
5
5
  // src/feat/feat.parser.ts
6
6
  import { parseYaml } from "@archivist-gg/core";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseRace
3
- } from "./chunk-IDTDACM6.js";
3
+ } from "./chunk-PHQRGDRQ.js";
4
4
 
5
5
  // src/race/race.codec.ts
6
6
  import yaml from "js-yaml";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  classCodec
3
- } from "../chunk-RVYYKYFL.js";
4
- import "../chunk-FUK7QSN5.js";
5
- import "../chunk-Z6GXV2GO.js";
3
+ } from "../chunk-GE4TLPWM.js";
4
+ import "../chunk-42Y5IJKT.js";
5
+ import "../chunk-TLYDBT5F.js";
6
6
  import "../chunk-4TIJKN6O.js";
7
- import "../chunk-DABBCYTT.js";
7
+ import "../chunk-CZPMTQOY.js";
8
8
  import "../chunk-WYGD2UGN.js";
9
9
  import "../chunk-PZOWBI3B.js";
10
10
  import "../chunk-3DZ74AKK.js";
11
- import "../chunk-CDW7R2QT.js";
11
+ import "../chunk-NXSWH3AE.js";
12
12
  import "../chunk-NXR3BD2V.js";
13
13
  export {
14
14
  classCodec
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  parseClass
3
- } from "../chunk-FUK7QSN5.js";
4
- import "../chunk-Z6GXV2GO.js";
3
+ } from "../chunk-42Y5IJKT.js";
4
+ import "../chunk-TLYDBT5F.js";
5
5
  import "../chunk-4TIJKN6O.js";
6
- import "../chunk-DABBCYTT.js";
6
+ import "../chunk-CZPMTQOY.js";
7
7
  import "../chunk-WYGD2UGN.js";
8
8
  import "../chunk-PZOWBI3B.js";
9
9
  import "../chunk-3DZ74AKK.js";
10
- import "../chunk-CDW7R2QT.js";
10
+ import "../chunk-NXSWH3AE.js";
11
11
  import "../chunk-NXR3BD2V.js";
12
12
  export {
13
13
  parseClass
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  classEntitySchema
3
- } from "../chunk-Z6GXV2GO.js";
3
+ } from "../chunk-TLYDBT5F.js";
4
4
  import "../chunk-4TIJKN6O.js";
5
- import "../chunk-DABBCYTT.js";
5
+ import "../chunk-CZPMTQOY.js";
6
6
  import "../chunk-WYGD2UGN.js";
7
7
  import "../chunk-PZOWBI3B.js";
8
8
  import "../chunk-3DZ74AKK.js";
9
- import "../chunk-CDW7R2QT.js";
9
+ import "../chunk-NXSWH3AE.js";
10
10
  import "../chunk-NXR3BD2V.js";
11
11
  export {
12
12
  classEntitySchema
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  featCodec
3
- } from "../chunk-FEOB24KP.js";
4
- import "../chunk-GIOH5JB5.js";
5
- import "../chunk-BAXWWGFJ.js";
6
- import "../chunk-CDW7R2QT.js";
3
+ } from "../chunk-73HOFQQ5.js";
4
+ import "../chunk-XTIQWSFM.js";
5
+ import "../chunk-Q5K6LWBZ.js";
6
+ import "../chunk-NXSWH3AE.js";
7
7
  import "../chunk-NXR3BD2V.js";
8
8
  export {
9
9
  featCodec
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  parseFeat
3
- } from "../chunk-GIOH5JB5.js";
4
- import "../chunk-BAXWWGFJ.js";
5
- import "../chunk-CDW7R2QT.js";
3
+ } from "../chunk-XTIQWSFM.js";
4
+ import "../chunk-Q5K6LWBZ.js";
5
+ import "../chunk-NXSWH3AE.js";
6
6
  import "../chunk-NXR3BD2V.js";
7
7
  export {
8
8
  parseFeat
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  featEntitySchema
3
- } from "../chunk-BAXWWGFJ.js";
4
- import "../chunk-CDW7R2QT.js";
3
+ } from "../chunk-Q5K6LWBZ.js";
4
+ import "../chunk-NXSWH3AE.js";
5
5
  import "../chunk-NXR3BD2V.js";
6
6
  export {
7
7
  featEntitySchema