@archivist-gg/dnd5e 0.3.17 → 0.3.24

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 (439) hide show
  1. package/LICENSE +48 -21
  2. package/README.md +26 -48
  3. package/dist/armor/armor.codec.d.ts +0 -7
  4. package/dist/armor/armor.codec.js +1 -9
  5. package/dist/armor/armor.parser.js +1 -8
  6. package/dist/armor/armor.schema.js +1 -7
  7. package/dist/armor/armor.types.d.ts +0 -3
  8. package/dist/background/background.codec.d.ts +0 -6
  9. package/dist/background/background.codec.js +1 -12
  10. package/dist/background/background.parser.js +1 -11
  11. package/dist/background/background.schema.js +1 -12
  12. package/dist/background/background.types.d.ts +0 -5
  13. package/dist/chunk-2EOGK6R6.js +1 -0
  14. package/dist/chunk-2HRRH3WL.js +1 -0
  15. package/dist/chunk-2LCGKNVM.js +1 -0
  16. package/dist/chunk-2NUDWOFG.js +1 -0
  17. package/dist/chunk-334WLI7V.js +1 -0
  18. package/dist/chunk-3LWOVRLA.js +1 -0
  19. package/dist/chunk-3QQOATV3.js +1 -0
  20. package/dist/chunk-4E2GIWJE.js +1 -0
  21. package/dist/chunk-4GN3GYMP.js +1 -0
  22. package/dist/chunk-4IAMSRHD.js +1 -0
  23. package/dist/chunk-4JEF3CET.js +1 -0
  24. package/dist/chunk-4KVVAENP.js +1 -0
  25. package/dist/chunk-56JK6VCL.js +1 -0
  26. package/dist/chunk-5FEXHY4U.js +1 -0
  27. package/dist/chunk-63YJPWTM.js +1 -0
  28. package/dist/chunk-6ASJ3MVB.js +1 -0
  29. package/dist/chunk-6IC53O3Q.js +1 -0
  30. package/dist/chunk-6LCNV26D.js +1 -0
  31. package/dist/chunk-6W253VHH.js +1 -0
  32. package/dist/chunk-7AKJBRBD.js +1 -0
  33. package/dist/chunk-7EL3GWWJ.js +1 -0
  34. package/dist/chunk-7FPQJDFD.js +1 -0
  35. package/dist/chunk-7J5BNH2D.js +1 -0
  36. package/dist/chunk-7LPKI27J.js +1 -0
  37. package/dist/chunk-7UPYRKMF.js +1 -0
  38. package/dist/chunk-A7H6LX47.js +1 -0
  39. package/dist/chunk-AINRPPLH.js +1 -0
  40. package/dist/chunk-BC52J4LA.js +1 -0
  41. package/dist/chunk-BCXGB4HP.js +1 -0
  42. package/dist/chunk-BGX36NPE.js +1 -0
  43. package/dist/chunk-BPKG6RZ7.js +1 -0
  44. package/dist/chunk-BREHZNTL.js +1 -0
  45. package/dist/chunk-BZ6BGGZS.js +1 -0
  46. package/dist/chunk-CAPYNIGK.js +1 -0
  47. package/dist/chunk-CCFIINBA.js +1 -0
  48. package/dist/chunk-CMIEZQL4.js +1 -0
  49. package/dist/chunk-DVUXUIPV.js +1 -0
  50. package/dist/chunk-DY6FVAGA.js +1 -0
  51. package/dist/chunk-DZITM5AG.js +1 -0
  52. package/dist/chunk-DZKSXSJF.js +1 -0
  53. package/dist/chunk-EAARMPCW.js +1 -0
  54. package/dist/chunk-EVT7MGAC.js +1 -0
  55. package/dist/chunk-FOLHTMSC.js +1 -0
  56. package/dist/chunk-GCYUCIDN.js +1 -0
  57. package/dist/chunk-GIOV6JW7.js +1 -0
  58. package/dist/chunk-HCK6IUB3.js +1 -0
  59. package/dist/chunk-HR5MKCP2.js +1 -0
  60. package/dist/chunk-I26FHSI6.js +1 -0
  61. package/dist/chunk-I4O2FIDT.js +1 -0
  62. package/dist/chunk-IGVRLGLM.js +1 -0
  63. package/dist/chunk-IHPLT2ZT.js +1 -0
  64. package/dist/chunk-IOCJIWCV.js +1 -0
  65. package/dist/chunk-JXDX2DKF.js +1 -0
  66. package/dist/chunk-KBFSJ5WE.js +1 -0
  67. package/dist/chunk-KM75CC6Q.js +1 -0
  68. package/dist/chunk-KZDDFG4O.js +1 -0
  69. package/dist/chunk-LJNT3PJP.js +1 -0
  70. package/dist/chunk-LR6UMA5V.js +1 -0
  71. package/dist/chunk-M6RPOLKS.js +1 -0
  72. package/dist/chunk-MC6PLWRZ.js +1 -0
  73. package/dist/chunk-MGGKZGLG.js +1 -0
  74. package/dist/chunk-N3RYJ7RE.js +1 -0
  75. package/dist/chunk-NEMX7QGG.js +1 -0
  76. package/dist/chunk-NI364WV7.js +1 -0
  77. package/dist/chunk-O2QZ73GA.js +1 -0
  78. package/dist/chunk-O776WL7O.js +1 -0
  79. package/dist/chunk-OTFNINUY.js +1 -0
  80. package/dist/chunk-PQAVMK3T.js +1 -0
  81. package/dist/chunk-PZ3ZZ5H5.js +1 -0
  82. package/dist/chunk-PZ4L2EEG.js +1 -0
  83. package/dist/chunk-PZUPZBTN.js +1 -0
  84. package/dist/chunk-QBA757AU.js +1 -0
  85. package/dist/chunk-QFIGPOFW.js +1 -0
  86. package/dist/chunk-QMEKQTUT.js +1 -0
  87. package/dist/chunk-QVWT67WA.js +1 -0
  88. package/dist/chunk-RDXQAZBA.js +1 -0
  89. package/dist/chunk-RE5Z5RNK.js +1 -0
  90. package/dist/chunk-RL4VY2AL.js +1 -0
  91. package/dist/chunk-RQGTBHJW.js +1 -0
  92. package/dist/chunk-RQZCGXUZ.js +1 -0
  93. package/dist/chunk-S5UCI27C.js +1 -0
  94. package/dist/chunk-SEOASDO4.js +1 -0
  95. package/dist/chunk-SU4MEZ5P.js +1 -0
  96. package/dist/chunk-T55DELVL.js +1 -0
  97. package/dist/chunk-TKIEPC6F.js +1 -0
  98. package/dist/chunk-TLXFGGWH.js +1 -0
  99. package/dist/chunk-UBUKCRZ3.js +1 -0
  100. package/dist/chunk-V6NQ547U.js +1 -0
  101. package/dist/chunk-VA3ZWV7C.js +1 -0
  102. package/dist/chunk-VIP3FH2O.js +1 -0
  103. package/dist/chunk-VTQ4RWEG.js +1 -0
  104. package/dist/chunk-WUHTSLG4.js +1 -0
  105. package/dist/chunk-X22SISGM.js +1 -0
  106. package/dist/chunk-XKJXT2PN.js +1 -0
  107. package/dist/chunk-XQMKH4R4.js +1 -0
  108. package/dist/chunk-YGH7S5ZF.js +1 -0
  109. package/dist/chunk-ZE46ADXS.js +1 -0
  110. package/dist/chunk-ZI3FEUX3.js +1 -0
  111. package/dist/class/class.codec.d.ts +0 -7
  112. package/dist/class/class.codec.js +1 -18
  113. package/dist/class/class.parser.js +1 -17
  114. package/dist/class/class.schema.d.ts +2 -1
  115. package/dist/class/class.schema.js +1 -15
  116. package/dist/class/class.slug.d.ts +0 -11
  117. package/dist/class/class.slug.js +1 -8
  118. package/dist/class/class.standard-array.d.ts +0 -7
  119. package/dist/class/class.standard-array.js +1 -20
  120. package/dist/class/class.types.d.ts +0 -20
  121. package/dist/condition/condition.codec.d.ts +0 -6
  122. package/dist/condition/condition.parser.d.ts +0 -10
  123. package/dist/condition/condition.parser.js +1 -7
  124. package/dist/condition/condition.schema.d.ts +0 -16
  125. package/dist/condition/condition.types.d.ts +0 -3
  126. package/dist/data-srd/index.generated.js +1 -146
  127. package/dist/dnd/amount-text.d.ts +4 -27
  128. package/dist/dnd/amount-text.js +1 -13
  129. package/dist/dnd/constants.d.ts +0 -18
  130. package/dist/dnd/constants.js +1 -42
  131. package/dist/dnd/formula-tags.d.ts +0 -2
  132. package/dist/dnd/formula-tags.js +1 -119
  133. package/dist/dnd/math.d.ts +0 -26
  134. package/dist/dnd/math.js +1 -45
  135. package/dist/dnd/prose-tags.d.ts +1 -15
  136. package/dist/dnd/prose-tags.js +1 -18
  137. package/dist/dnd/resource-die.d.ts +0 -4
  138. package/dist/dnd/resource-die.js +1 -17
  139. package/dist/dnd/resource-formula.d.ts +0 -43
  140. package/dist/dnd/resource-formula.js +1 -14
  141. package/dist/dnd/resource-words.d.ts +0 -2
  142. package/dist/dnd/resource-words.js +1 -30
  143. package/dist/dnd/srd-tag-converter.d.ts +0 -21
  144. package/dist/dnd/srd-tag-converter.js +1 -12
  145. package/dist/dnd/tag-grammar.js +1 -12
  146. package/dist/dnd/warn-once.js +1 -8
  147. package/dist/encounter/encounter.ai-schema.js +1 -8
  148. package/dist/entities/base-item-resolver.d.ts +0 -26
  149. package/dist/entities/base-item-resolver.js +1 -11
  150. package/dist/entities/registry-revision.d.ts +10 -0
  151. package/dist/entities/registry-revision.js +1 -0
  152. package/dist/entities/slug.d.ts +1 -31
  153. package/dist/entities/slug.js +1 -12
  154. package/dist/entities/wikilink-display.d.ts +0 -2
  155. package/dist/entities/wikilink-display.js +1 -10
  156. package/dist/feat/feat.category-codes.d.ts +1 -26
  157. package/dist/feat/feat.category-codes.js +1 -14
  158. package/dist/feat/feat.codec.d.ts +0 -6
  159. package/dist/feat/feat.codec.js +1 -12
  160. package/dist/feat/feat.parser.js +1 -11
  161. package/dist/feat/feat.schema.d.ts +31 -1
  162. package/dist/feat/feat.schema.js +1 -10
  163. package/dist/feat/feat.types.d.ts +0 -6
  164. package/dist/index.js +45 -138113
  165. package/dist/inline-tag-parser.js +1 -6
  166. package/dist/item/item.actions-map.d.ts +4 -63
  167. package/dist/item/item.actions-map.js +1 -10
  168. package/dist/item/item.ai-schema.js +1 -6
  169. package/dist/item/item.attunement.d.ts +0 -14
  170. package/dist/item/item.attunement.js +1 -6
  171. package/dist/item/item.bonuses.js +1 -10
  172. package/dist/item/item.codec.js +1 -9
  173. package/dist/item/item.conditions.d.ts +0 -7
  174. package/dist/item/item.conditions.js +1 -11
  175. package/dist/item/item.conditions.types.d.ts +0 -2
  176. package/dist/item/item.cost.js +1 -29
  177. package/dist/item/item.enrichment.js +1 -9
  178. package/dist/item/item.icon.d.ts +0 -8
  179. package/dist/item/item.icon.js +1 -211
  180. package/dist/item/item.parser.js +1 -8
  181. package/dist/item/item.schema.d.ts +2 -0
  182. package/dist/item/item.schema.js +1 -11
  183. package/dist/item/item.types.d.ts +2 -28
  184. package/dist/monster/monster.ai-schema.js +1 -6
  185. package/dist/monster/monster.codec.d.ts +0 -10
  186. package/dist/monster/monster.enrichment.js +1 -19
  187. package/dist/monster/monster.format.d.ts +0 -69
  188. package/dist/monster/monster.format.js +1 -78
  189. package/dist/monster/monster.parser.d.ts +0 -4
  190. package/dist/monster/monster.parser.js +1 -15
  191. package/dist/monster/monster.resolve.d.ts +0 -4
  192. package/dist/monster/monster.schema.d.ts +0 -9
  193. package/dist/monster/monster.schema.js +1 -34
  194. package/dist/monster/monster.types.d.ts +0 -3
  195. package/dist/monster/monster.types.js +1 -1
  196. package/dist/optional-feature/optional-feature.codec.d.ts +0 -11
  197. package/dist/optional-feature/optional-feature.codec.js +1 -13
  198. package/dist/optional-feature/optional-feature.parser.js +1 -12
  199. package/dist/optional-feature/optional-feature.schema.d.ts +30 -1
  200. package/dist/optional-feature/optional-feature.schema.js +1 -15
  201. package/dist/pack.d.ts +0 -9
  202. package/dist/pc/conditions.constants.js +1 -6
  203. package/dist/pc/decision-recognizer.js +1 -8
  204. package/dist/pc/pc.additional-spells.d.ts +4 -14
  205. package/dist/pc/pc.additional-spells.js +1 -23
  206. package/dist/pc/pc.amount-bindings.d.ts +4 -20
  207. package/dist/pc/pc.amount-bindings.js +1 -23
  208. package/dist/pc/pc.asi-flatten.d.ts +0 -59
  209. package/dist/pc/pc.asi-flatten.js +1 -16
  210. package/dist/pc/pc.conditions.d.ts +1 -0
  211. package/dist/pc/pc.conditions.js +1 -6
  212. package/dist/pc/pc.containment.d.ts +0 -5
  213. package/dist/pc/pc.containment.js +1 -24
  214. package/dist/pc/pc.decision-engine.d.ts +4 -141
  215. package/dist/pc/pc.decision-engine.js +1 -52
  216. package/dist/pc/pc.defense-normalize.d.ts +0 -10
  217. package/dist/pc/pc.defense-normalize.js +1 -6
  218. package/dist/pc/pc.entry-overrides.d.ts +0 -58
  219. package/dist/pc/pc.entry-overrides.js +1 -40
  220. package/dist/pc/pc.equipment.d.ts +2 -22
  221. package/dist/pc/pc.equipment.js +1 -33
  222. package/dist/pc/pc.feature-effects.d.ts +23 -275
  223. package/dist/pc/pc.feature-effects.js +1 -26
  224. package/dist/pc/pc.formula-context.js +1 -11
  225. package/dist/pc/pc.infusions.d.ts +0 -65
  226. package/dist/pc/pc.infusions.js +1 -64
  227. package/dist/pc/pc.item-effects.d.ts +18 -0
  228. package/dist/pc/pc.member-choices.d.ts +18 -49
  229. package/dist/pc/pc.member-choices.js +1 -32
  230. package/dist/pc/pc.parser.js +1 -58
  231. package/dist/pc/pc.pools.d.ts +7 -10
  232. package/dist/pc/pc.pools.js +1 -26
  233. package/dist/pc/pc.proficiencies.d.ts +7 -33
  234. package/dist/pc/pc.proficiencies.js +1 -107
  235. package/dist/pc/pc.proficiency-grants.d.ts +0 -26
  236. package/dist/pc/pc.proficiency-normalize.d.ts +4 -25
  237. package/dist/pc/pc.proficiency-normalize.js +1 -12
  238. package/dist/pc/pc.proficiency-query.d.ts +0 -13
  239. package/dist/pc/pc.proficiency-query.js +1 -27
  240. package/dist/pc/pc.recalc.d.ts +7 -131
  241. package/dist/pc/pc.recalc.js +1 -946
  242. package/dist/pc/pc.resolver.d.ts +0 -104
  243. package/dist/pc/pc.resolver.js +1 -59
  244. package/dist/pc/pc.resource-seed.d.ts +0 -8
  245. package/dist/pc/pc.resource-seed.js +1 -42
  246. package/dist/pc/pc.resources.d.ts +1 -59
  247. package/dist/pc/pc.resources.js +1 -23
  248. package/dist/pc/pc.rest.d.ts +1 -20
  249. package/dist/pc/pc.rest.js +1 -230
  250. package/dist/pc/pc.schema.d.ts +19 -2
  251. package/dist/pc/pc.schema.js +1 -9
  252. package/dist/pc/pc.slotting.d.ts +0 -29
  253. package/dist/pc/pc.slotting.js +1 -28
  254. package/dist/pc/pc.speeds.d.ts +19 -0
  255. package/dist/pc/pc.spell-scope.d.ts +6 -0
  256. package/dist/pc/pc.spellcasting.d.ts +0 -70
  257. package/dist/pc/pc.spellcasting.js +1 -28
  258. package/dist/pc/pc.table-column.d.ts +0 -22
  259. package/dist/pc/pc.table-column.js +1 -18
  260. package/dist/pc/pc.tool-picks.d.ts +0 -27
  261. package/dist/pc/pc.tool-picks.js +1 -18
  262. package/dist/pc/pc.types.d.ts +85 -344
  263. package/dist/pc/pc.weapon-grant.d.ts +0 -6
  264. package/dist/pc/pool-layout.d.ts +0 -39
  265. package/dist/pc/pool-layout.js +1 -18
  266. package/dist/pc/resource-equivalents.d.ts +2 -40
  267. package/dist/pc/roll-scope.js +1 -8
  268. package/dist/pc/roll-tag-labels.d.ts +0 -32
  269. package/dist/pc/roll-tag-labels.js +1 -17
  270. package/dist/pc/spell-source.d.ts +0 -11
  271. package/dist/pc/spell-source.js +1 -8
  272. package/dist/race/race.codec.d.ts +0 -6
  273. package/dist/race/race.codec.js +1 -15
  274. package/dist/race/race.parser.js +1 -14
  275. package/dist/race/race.schema.d.ts +0 -8
  276. package/dist/race/race.schema.js +1 -14
  277. package/dist/race/race.structural.d.ts +0 -6
  278. package/dist/race/race.structural.js +1 -6
  279. package/dist/race/race.types.d.ts +0 -8
  280. package/dist/schemas/attack-schema.d.ts +5 -0
  281. package/dist/schemas/caster-type-schema.d.ts +1 -6
  282. package/dist/schemas/caster-type-schema.js +1 -6
  283. package/dist/schemas/choice-schema.js +1 -7
  284. package/dist/schemas/duration-schema.d.ts +0 -2
  285. package/dist/schemas/duration-schema.js +1 -6
  286. package/dist/schemas/entity-extras-schema.d.ts +0 -30
  287. package/dist/schemas/entity-extras-schema.js +1 -10
  288. package/dist/schemas/equipment-grant-schema.d.ts +0 -2
  289. package/dist/schemas/equipment-grant-schema.js +1 -12
  290. package/dist/schemas/feature-alias.d.ts +0 -27
  291. package/dist/schemas/feature-effect-schema.d.ts +30 -1
  292. package/dist/schemas/feature-effect-schema.js +1 -6
  293. package/dist/schemas/feature-schema.d.ts +0 -6
  294. package/dist/schemas/feature-schema.js +1 -12
  295. package/dist/schemas/resource-schema.d.ts +1 -34
  296. package/dist/schemas/resource-schema.js +1 -12
  297. package/dist/schemas/selection-pool-schema.js +1 -10
  298. package/dist/spell/casting-time.d.ts +0 -15
  299. package/dist/spell/casting-time.js +1 -6
  300. package/dist/spell/spell.access.d.ts +0 -6
  301. package/dist/spell/spell.access.js +1 -45
  302. package/dist/spell/spell.ai-schema.js +1 -6
  303. package/dist/spell/spell.codec.js +1 -9
  304. package/dist/spell/spell.enrichment.js +1 -9
  305. package/dist/spell/spell.filter.d.ts +0 -5
  306. package/dist/spell/spell.filter.js +1 -75
  307. package/dist/spell/spell.parser.d.ts +0 -31
  308. package/dist/spell/spell.parser.js +1 -16
  309. package/dist/spell/spell.scaling.d.ts +0 -46
  310. package/dist/spell/spell.scaling.js +1 -79
  311. package/dist/spell/spell.schema.js +1 -7
  312. package/dist/spell/spell.types.d.ts +0 -7
  313. package/dist/srd/retired-items.d.ts +0 -4
  314. package/dist/srd/retired-items.js +1 -11
  315. package/dist/srd-store.d.ts +0 -33
  316. package/dist/subclass/subclass.codec.d.ts +0 -8
  317. package/dist/subclass/subclass.codec.js +1 -17
  318. package/dist/subclass/subclass.parser.js +1 -16
  319. package/dist/subclass/subclass.schema.d.ts +2 -1
  320. package/dist/subclass/subclass.schema.js +1 -14
  321. package/dist/subclass/subclass.types.d.ts +0 -3
  322. package/dist/types/attack.d.ts +2 -0
  323. package/dist/types/casting-option.d.ts +0 -4
  324. package/dist/types/choice.d.ts +1 -72
  325. package/dist/types/choice.js +1 -24
  326. package/dist/types/edition.d.ts +0 -3
  327. package/dist/types/equipment-grant.d.ts +1 -27
  328. package/dist/types/equipment-grant.js +1 -12
  329. package/dist/types/feature-effect.d.ts +14 -14
  330. package/dist/types/feature.d.ts +0 -22
  331. package/dist/types/optional-feature.types.d.ts +1 -31
  332. package/dist/types/resource.d.ts +1 -21
  333. package/dist/types/selection-pool.d.ts +0 -24
  334. package/dist/weapon/weapon-mastery.d.ts +0 -1
  335. package/dist/weapon/weapon.classify.d.ts +0 -11
  336. package/dist/weapon/weapon.classify.js +1 -7
  337. package/dist/weapon/weapon.codec.d.ts +0 -9
  338. package/dist/weapon/weapon.codec.js +1 -9
  339. package/dist/weapon/weapon.parser.js +1 -8
  340. package/dist/weapon/weapon.schema.js +1 -7
  341. package/dist/weapon/weapon.types.d.ts +0 -3
  342. package/package.json +3 -3
  343. package/src/data-srd/ATTRIBUTION.md +1 -1
  344. package/dist/chunk-2FRUSVZS.js +0 -489
  345. package/dist/chunk-2JSQE3DD.js +0 -206
  346. package/dist/chunk-2LULMQTF.js +0 -14
  347. package/dist/chunk-2UDSN6VW.js +0 -18
  348. package/dist/chunk-3LWMFYKS.js +0 -57
  349. package/dist/chunk-3MGQFFNE.js +0 -110
  350. package/dist/chunk-3TM34RSJ.js +0 -23
  351. package/dist/chunk-3VZZDKRA.js +0 -1014
  352. package/dist/chunk-4U55VNC7.js +0 -22
  353. package/dist/chunk-5GKJAUMX.js +0 -59
  354. package/dist/chunk-5MXFW4O3.js +0 -71
  355. package/dist/chunk-656QCX4U.js +0 -22
  356. package/dist/chunk-6EI737IO.js +0 -19
  357. package/dist/chunk-6GNXYAYP.js +0 -25
  358. package/dist/chunk-6PXTNCBP.js +0 -133
  359. package/dist/chunk-6X2NV665.js +0 -33
  360. package/dist/chunk-7ATNGKBS.js +0 -178
  361. package/dist/chunk-7Q2VPKCD.js +0 -181
  362. package/dist/chunk-7QN7XSAK.js +0 -19
  363. package/dist/chunk-A54HHCWW.js +0 -67
  364. package/dist/chunk-AZRGFUSR.js +0 -18
  365. package/dist/chunk-B3DP42OM.js +0 -55
  366. package/dist/chunk-CJYCVNW2.js +0 -7
  367. package/dist/chunk-CM5CWO4K.js +0 -735
  368. package/dist/chunk-DEEHHLAP.js +0 -271
  369. package/dist/chunk-DOXSFYLH.js +0 -158
  370. package/dist/chunk-DPUJDOKV.js +0 -365
  371. package/dist/chunk-EJP263OP.js +0 -186
  372. package/dist/chunk-EVMUJYUD.js +0 -195
  373. package/dist/chunk-EYX4JMAU.js +0 -101
  374. package/dist/chunk-FANQVQ3D.js +0 -89
  375. package/dist/chunk-FC4IGH5Y.js +0 -18
  376. package/dist/chunk-G6MHJDVT.js +0 -41
  377. package/dist/chunk-G6PBI2BU.js +0 -18
  378. package/dist/chunk-H5PTKYXL.js +0 -101
  379. package/dist/chunk-HHBD4SQ6.js +0 -24
  380. package/dist/chunk-HS6FIOLP.js +0 -52
  381. package/dist/chunk-HTYMW5CH.js +0 -228
  382. package/dist/chunk-IHE6KVC3.js +0 -13
  383. package/dist/chunk-IN4M4X7P.js +0 -34
  384. package/dist/chunk-IUAAXXNO.js +0 -58
  385. package/dist/chunk-JCMUVZIK.js +0 -133
  386. package/dist/chunk-JSM6JFZR.js +0 -709
  387. package/dist/chunk-K5NJBTE2.js +0 -18
  388. package/dist/chunk-KR6JF3BF.js +0 -14
  389. package/dist/chunk-KSTV7J2U.js +0 -112
  390. package/dist/chunk-KU3YLF6D.js +0 -106
  391. package/dist/chunk-LBEXLN6I.js +0 -91
  392. package/dist/chunk-LF5AGJA4.js +0 -81
  393. package/dist/chunk-LHZXYFBU.js +0 -94
  394. package/dist/chunk-LSLSG67V.js +0 -31
  395. package/dist/chunk-LVQLWRCU.js +0 -15
  396. package/dist/chunk-MBX25B6D.js +0 -18
  397. package/dist/chunk-MYY2C5MB.js +0 -233
  398. package/dist/chunk-OFCSP6MT.js +0 -23
  399. package/dist/chunk-ONTGZR5T.js +0 -1806
  400. package/dist/chunk-OOSRUJBI.js +0 -19
  401. package/dist/chunk-PDJSUH24.js +0 -110
  402. package/dist/chunk-PKX6TGRE.js +0 -93
  403. package/dist/chunk-PQZ4LM4Z.js +0 -19
  404. package/dist/chunk-PTXBIDG7.js +0 -63
  405. package/dist/chunk-PVCEA4HZ.js +0 -6
  406. package/dist/chunk-PXVNAY7T.js +0 -84
  407. package/dist/chunk-QH36K2PU.js +0 -158
  408. package/dist/chunk-QS5L5YTJ.js +0 -24
  409. package/dist/chunk-QYZV2MQA.js +0 -97
  410. package/dist/chunk-QZSWN2KT.js +0 -18
  411. package/dist/chunk-RLGQ5PZZ.js +0 -16
  412. package/dist/chunk-RYLXAYIQ.js +0 -18
  413. package/dist/chunk-S3YUXDSC.js +0 -278
  414. package/dist/chunk-S7REMWW4.js +0 -21
  415. package/dist/chunk-T6QIF5XR.js +0 -348
  416. package/dist/chunk-TOM66P2P.js +0 -38
  417. package/dist/chunk-TULQ4FFX.js +0 -353
  418. package/dist/chunk-UA5KS2PL.js +0 -26
  419. package/dist/chunk-UUBJCNQU.js +0 -187
  420. package/dist/chunk-UZXG6QSY.js +0 -58
  421. package/dist/chunk-VPYBK2MG.js +0 -18
  422. package/dist/chunk-VRV3NNTA.js +0 -161
  423. package/dist/chunk-VTTA2ALZ.js +0 -16
  424. package/dist/chunk-W6GC6OKK.js +0 -16
  425. package/dist/chunk-WELIKLZF.js +0 -256
  426. package/dist/chunk-WSVMLNTO.js +0 -31
  427. package/dist/chunk-WYGD2UGN.js +0 -14
  428. package/dist/chunk-XCFC7LGF.js +0 -122
  429. package/dist/chunk-XJ2F2WO6.js +0 -8
  430. package/dist/chunk-Y5VVP73C.js +0 -23
  431. package/dist/chunk-YBLDE5CG.js +0 -42
  432. package/dist/chunk-YD2VAHA6.js +0 -159
  433. package/dist/chunk-YDGMBMYI.js +0 -25
  434. package/dist/chunk-YHYTW5QA.js +0 -20
  435. package/dist/chunk-YKL6SHRJ.js +0 -23
  436. package/dist/chunk-ZCTUYGNV.js +0 -26
  437. package/dist/chunk-ZDAEGJH4.js +0 -102
  438. package/dist/chunk-ZJXSXVFP.js +0 -58
  439. package/dist/chunk-ZUQW5VBZ.js +0 -89
@@ -1,30 +1,4 @@
1
1
  import type { EntityRegistry, RegisteredEntity } from "@archivist-gg/core";
2
- /**
3
- * Convert a vault-path target (e.g. `SRD 5e/Weapons/Longsword`) to a
4
- * registry-compatible slug (`srd-5e_weapon_longsword`). The middle Type folder
5
- * (`segments[length-2]`) supplies the entity-type token so the slug matches
6
- * the now type-namespaced registry key. For a bare basename without any `/`,
7
- * returns the slugified basename - which lets legacy wikilinks like
8
- * `[[longsword]]` continue to resolve when registered under that bare slug.
9
- */
10
2
  export declare function vaultPathToSlug(target: string): string;
11
- /**
12
- * Public: take a `base_item` string (vault-path wikilink, alias-form
13
- * wikilink, bare-slug wikilink, or bare slug) and return the matching
14
- * `RegisteredEntity` or null.
15
- *
16
- * - Empty / null / non-string input -> null
17
- * - String that doesn't unwrap to a slug -> null
18
- * - Slug not present in the registry -> null
19
- *
20
- * The lookup is type-agnostic: callers that need to narrow to a specific
21
- * `entityType` (e.g. "weapon" only) should branch on the result's
22
- * `entityType`. A type-narrowed convenience wrapper is also exported for the
23
- * common weapon/armor cases.
24
- */
25
3
  export declare function resolveBaseItem(baseItem: string | null | undefined, registry: EntityRegistry): RegisteredEntity | null;
26
- /**
27
- * Convenience: resolve and require a specific entityType. Returns null if
28
- * the entry resolves but is the wrong type.
29
- */
30
4
  export declare function resolveBaseItemOfType(baseItem: string | null | undefined, entityType: string, registry: EntityRegistry): RegisteredEntity | null;
@@ -1,11 +1 @@
1
- import {
2
- resolveBaseItem,
3
- resolveBaseItemOfType,
4
- vaultPathToSlug
5
- } from "../chunk-CM5CWO4K.js";
6
- import "../chunk-ZCTUYGNV.js";
7
- export {
8
- resolveBaseItem,
9
- resolveBaseItemOfType,
10
- vaultPathToSlug
11
- };
1
+ import{resolveBaseItem,resolveBaseItemOfType,vaultPathToSlug}from"../chunk-PZ4L2EEG.js";import"../chunk-63YJPWTM.js";export{resolveBaseItem,resolveBaseItemOfType,vaultPathToSlug};
@@ -0,0 +1,10 @@
1
+ export declare function registryRevision(registry: unknown): number | undefined;
2
+ export declare function memoByRevision<T>(cache: WeakMap<object, {
3
+ revision: number;
4
+ value: T;
5
+ }>, registry: object, compute: () => T): T;
6
+ interface BucketSource<T> {
7
+ search(query: string, entityType: string, limit: number): T[];
8
+ }
9
+ export declare function bucketOf<T>(registry: BucketSource<T>, type: string): readonly T[];
10
+ export {};
@@ -0,0 +1 @@
1
+ import{bucketOf,memoByRevision,registryRevision}from"../chunk-QMEKQTUT.js";export{bucketOf,memoByRevision,registryRevision};
@@ -1,35 +1,5 @@
1
- /**
2
- * Converts a display name to a URL/file-safe kebab-case slug.
3
- * "Ancient Red Dragon" -> "ancient-red-dragon"
4
- */
5
1
  export declare function slugify(name: string): string;
6
- /** "srd-2024_fighter" → "fighter", "srd-2024_background_acolyte" → "acolyte".
7
- * Arity-robust: strips a `<prefix>_<type>_<name>` (3-part) or legacy `<prefix>_<name>`
8
- * (2-part) slug down to the bare NAME, and passes a bare slug through unchanged.
9
- * Name-slugs never contain `_`, so for a 3-part-or-longer slug the name is
10
- * `parts.slice(2).join("_")`. Tolerates a nullish slug (degrades to "") so a
11
- * malformed entity can't hard-crash the builder; the resolver backfills real slugs. */
12
2
  export declare function bareEntitySlug(slug: string | null | undefined): string;
13
- /** Whether a link tail is a stored registry slug (`me_feat_wish-magic`) rather than a human name
14
- * ("Wish Magic", "Magic Initiate (Cleric)"). The ONE slug-form rule: `wikilinkTailSlug` reads a tail by it,
15
- * and a registry-free display surface uses it to name a slug-form link instead of printing the raw slug. */
16
3
  export declare function isStoredSlug(tail: string): boolean;
17
- /** A link's BARE name slug, the key `bareEntitySlug` gives an owner: "[[SRD 2024/Classes/Fighter]]" and
18
- * "[[srd-2024_class_fighter]]" both give "fighter".
19
- *
20
- * A link names an entity one of two ways, and the tail is read by its shape:
21
- * - a human NAME tail (a path's file name, or a bare `[[fighter]]`) goes through the SAME `slugify` that mints
22
- * registry slugs, so an apostrophe is DELETED rather than hyphenated ("Mage's Bane" to "mages-bane", where
23
- * the old hand-rolled regex minted "mage-s-bane" and missed every time);
24
- * - a STORED slug tail (`[[me_class_bard-captain-lugen-compatibility]]`, the form every PC note and the Me
25
- * homebrew notes write) goes through `bareEntitySlug`. slugify DELETES the `_`, so it used to mint
26
- * "meclassbard-captain-lugen-compatibility", no owner's bare slug: a Me subclass linking its class that way
27
- * was never offered under it and the Builder's Class step called it an orphan (2026-09-25, Captain Lugen).
28
- * The answer is the BARE slug, never the full one, so a lookup that needs the exact entity must not route a
29
- * stored slug through here: `pc.decision-engine.ts`'s `resolveEntityRef` strips a `[[wikilink]]` WITHOUT this
30
- * helper and looks the full slug up directly.
31
- *
32
- * MOVED here from `pc.decision-engine.ts` in R4-G5 T1, beside `bareEntitySlug`, so `pc.pools.ts` can use it
33
- * without importing the decision engine: the engine imports `pc.pools` for `strandedPicks`, and the old
34
- * direction would be a cycle. The engine keeps a re-export for its plugin importer and its own test. */
35
4
  export declare function wikilinkTailSlug(link: string): string;
5
+ export declare function twinKey(slug: string | null | undefined): string;
@@ -1,12 +1 @@
1
- import {
2
- bareEntitySlug,
3
- isStoredSlug,
4
- slugify,
5
- wikilinkTailSlug
6
- } from "../chunk-ZCTUYGNV.js";
7
- export {
8
- bareEntitySlug,
9
- isStoredSlug,
10
- slugify,
11
- wikilinkTailSlug
12
- };
1
+ import{bareEntitySlug,isStoredSlug,slugify,twinKey,wikilinkTailSlug}from"../chunk-63YJPWTM.js";export{bareEntitySlug,isStoredSlug,slugify,twinKey,wikilinkTailSlug};
@@ -1,3 +1 @@
1
- /** The human name of a wikilink target: `[[Player's Handbook (2024)/OptionalFeatures/Pact of the Blade]]` →
2
- * "Pact of the Blade"; `[[path|Alias]]` → "Alias". The converter emits vault PATHS with no alias. */
3
1
  export declare function wikilinkDisplayName(link: string): string;
@@ -1,10 +1 @@
1
- // src/entities/wikilink-display.ts
2
- function wikilinkDisplayName(link) {
3
- const inner = link.trim().replace(/^\[\[/, "").replace(/\]\]$/, "");
4
- const afterAlias = inner.includes("|") ? inner.slice(inner.lastIndexOf("|") + 1) : inner;
5
- const afterSlash = afterAlias.includes("/") ? afterAlias.slice(afterAlias.lastIndexOf("/") + 1) : afterAlias;
6
- return afterSlash.trim();
7
- }
8
- export {
9
- wikilinkDisplayName
10
- };
1
+ function wikilinkDisplayName(link){const inner=link.trim().replace(/^\[\[/,"").replace(/\]\]$/,"");const afterAlias=inner.includes("|")?inner.slice(inner.lastIndexOf("|")+1):inner;const afterSlash=afterAlias.includes("/")?afterAlias.slice(afterAlias.lastIndexOf("/")+1):afterAlias;return afterSlash.trim()}export{wikilinkDisplayName};
@@ -1,32 +1,7 @@
1
1
  import type { FeatCategory } from "../types/choice.js";
2
- /** 5etools feat `category` codes, as DATA beside the schema (never a renderer switch). The converter emits the raw
3
- * code on `exclusive-feat-category` and `feat-category` prerequisites (today only "D", on 14 documents; the G7
4
- * handoff asks it for a name). `FS:P` and `FS:R` are the Paladin- and Ranger-scoped fighting-style categories.
5
- * Measured in data/feats.json: G 80, EB 29, O 25, D 13, FS 10, DG 9, FS:P 1, FS:R 1. Unknown codes fall back to
6
- * the code itself. */
7
2
  export declare const FEAT_CATEGORY_CODE_LABELS: Readonly<Record<string, string>>;
8
3
  export declare function featCategoryLabel(code: string): string;
9
- /** 5etools `feat_progression.category` codes to the ENGINE's `FeatCategory` vocabulary (R4-G5 §3.2.5,
10
- * invariant 3): the DATA table the class-side progression reader maps through, beside the label table above.
11
- * MEASURED over the converted corpus 2026-09-07: 18 `feat_progression` rows across 15 documents, codes
12
- * {EB 13, FS 4, FS:P 1, FS:R 1, O 1}. The FS four are Fighter 2024 (level 1), Paladin 2024 and Ranger 2024
13
- * (level 2, each carrying `["FS","FS:P"]` / `["FS","FS:R"]`) and the Champion 2024 SUBCLASS (level 7); the 13
14
- * EB rows are the 12 PHB 2024 classes plus the Eberron Artificer, all at level 19. The single `O` row sits on
15
- * an OPTIONAL FEATURE (Lessons of the First Ones) with a `"*"` progression key, outside the class walk, so `O`
16
- * and `G` have zero live class-side carriers and are declared for completeness. `D` (Dragonmark) and `DG`
17
- * (Dark Gift) map to NOTHING on purpose: they are not player-choosable feat categories in this vocabulary, and
18
- * a row carrying only those emits no decision and warns once at the reader. G7 handoff (spec §11): the
19
- * converter re-emits these codes in engine vocabulary and this table retires. */
20
4
  export declare const FEAT_PROGRESSION_CATEGORY: Readonly<Record<string, FeatCategory>>;
21
- /** The ONE `FeatCategory` to optional-feature `feature_type` pairing (R4-G5 §3.2.5). The shape-B suppression
22
- * reads it to decide that a class carrying a fighting-style `feat_progression` row must NOT also be offered the
23
- * recognizer's `fighting_style` optional-feature synthetic at that level. `Partial<Record<...>>` because three
24
- * of the four categories pair with nothing, which is also what makes the lookup return `string | undefined`
25
- * without an own-property guard. */
5
+ export declare function featCategoryOf(value: string): string;
26
6
  export declare const FEATURE_TYPE_FOR_CATEGORY: Readonly<Partial<Record<FeatCategory, string>>>;
27
- /** Reduce a `feat_progression` entry's `category` ARRAY to ONE engine category: the FIRST code that maps wins, so
28
- * the shipped `["FS","FS:P"]` (Paladin) and `["FS","FS:R"]` (Ranger) each yield exactly ONE decision instead of
29
- * two. OWN-property guarded (invariant 3): the codes come from converter data, so `constructor` would otherwise
30
- * index a FUNCTION through the prototype chain. Returns undefined when nothing maps (an all-`D` row); the
31
- * CALLER warns, because this stays pure. */
32
7
  export declare function featProgressionCategory(codes: readonly string[] | undefined): FeatCategory | undefined;
@@ -1,14 +1 @@
1
- import {
2
- FEATURE_TYPE_FOR_CATEGORY,
3
- FEAT_CATEGORY_CODE_LABELS,
4
- FEAT_PROGRESSION_CATEGORY,
5
- featCategoryLabel,
6
- featProgressionCategory
7
- } from "../chunk-YBLDE5CG.js";
8
- export {
9
- FEATURE_TYPE_FOR_CATEGORY,
10
- FEAT_CATEGORY_CODE_LABELS,
11
- FEAT_PROGRESSION_CATEGORY,
12
- featCategoryLabel,
13
- featProgressionCategory
14
- };
1
+ import{FEATURE_TYPE_FOR_CATEGORY,FEAT_CATEGORY_CODE_LABELS,FEAT_PROGRESSION_CATEGORY,featCategoryLabel,featCategoryOf,featProgressionCategory}from"../chunk-3QQOATV3.js";export{FEATURE_TYPE_FOR_CATEGORY,FEAT_CATEGORY_CODE_LABELS,FEAT_PROGRESSION_CATEGORY,featCategoryLabel,featCategoryOf,featProgressionCategory};
@@ -1,9 +1,3 @@
1
1
  import type { DocCodec } from "@archivist-gg/core";
2
2
  import type { FeatEntity } from "./feat.types.js";
3
- /**
4
- * Normalizing codec (0c.1a). `parse` delegates to `parseFeat`, which seeds the
5
- * `edition: "2014"` default and validates against `featEntitySchema`.
6
- * `serialize` stays `yaml.dump` (the edit-save path uses obsidian's separate
7
- * serializer; gate (d) verifies `yaml.dump` round-trips through `parseFeat`).
8
- */
9
3
  export declare const featCodec: DocCodec<FeatEntity>;
@@ -1,12 +1 @@
1
- import {
2
- featCodec
3
- } from "../chunk-RYLXAYIQ.js";
4
- import "../chunk-7QN7XSAK.js";
5
- import "../chunk-PKX6TGRE.js";
6
- import "../chunk-ZJXSXVFP.js";
7
- import "../chunk-5MXFW4O3.js";
8
- import "../chunk-2JSQE3DD.js";
9
- import "../chunk-UA5KS2PL.js";
10
- export {
11
- featCodec
12
- };
1
+ import{featCodec}from"../chunk-2LCGKNVM.js";import"../chunk-IOCJIWCV.js";import"../chunk-334WLI7V.js";import"../chunk-CCFIINBA.js";import"../chunk-KBFSJ5WE.js";import"../chunk-6IC53O3Q.js";import"../chunk-I26FHSI6.js";export{featCodec};
@@ -1,11 +1 @@
1
- import {
2
- parseFeat
3
- } from "../chunk-7QN7XSAK.js";
4
- import "../chunk-PKX6TGRE.js";
5
- import "../chunk-ZJXSXVFP.js";
6
- import "../chunk-5MXFW4O3.js";
7
- import "../chunk-2JSQE3DD.js";
8
- import "../chunk-UA5KS2PL.js";
9
- export {
10
- parseFeat
11
- };
1
+ import{parseFeat}from"../chunk-IOCJIWCV.js";import"../chunk-334WLI7V.js";import"../chunk-CCFIINBA.js";import"../chunk-KBFSJ5WE.js";import"../chunk-6IC53O3Q.js";import"../chunk-I26FHSI6.js";export{parseFeat};
@@ -71,7 +71,8 @@ export declare const featEntitySchema: z.ZodObject<{
71
71
  benefits: z.ZodArray<z.ZodString>;
72
72
  effects: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
73
73
  kind: z.ZodLiteral<"initiative-bonus">;
74
- value: z.ZodNumber;
74
+ value: z.ZodOptional<z.ZodNumber>;
75
+ amount: z.ZodOptional<z.ZodString>;
75
76
  condition: z.ZodOptional<z.ZodString>;
76
77
  subject: z.ZodOptional<z.ZodString>;
77
78
  }, z.core.$strip>, z.ZodObject<{
@@ -198,6 +199,7 @@ export declare const featEntitySchema: z.ZodObject<{
198
199
  unarmed: "unarmed";
199
200
  finesse: "finesse";
200
201
  thrown: "thrown";
202
+ "pact-weapon": "pact-weapon";
201
203
  }>, z.ZodArray<z.ZodEnum<{
202
204
  weapon: "weapon";
203
205
  melee: "melee";
@@ -205,7 +207,17 @@ export declare const featEntitySchema: z.ZodObject<{
205
207
  unarmed: "unarmed";
206
208
  finesse: "finesse";
207
209
  thrown: "thrown";
210
+ "pact-weapon": "pact-weapon";
208
211
  }>>]>>;
212
+ spell_scope: z.ZodOptional<z.ZodObject<{
213
+ list: z.ZodOptional<z.ZodString>;
214
+ level: z.ZodOptional<z.ZodNumber>;
215
+ school: z.ZodOptional<z.ZodString>;
216
+ damage_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
217
+ damage_type_pick: z.ZodOptional<z.ZodString>;
218
+ spells: z.ZodOptional<z.ZodArray<z.ZodString>>;
219
+ once: z.ZodOptional<z.ZodBoolean>;
220
+ }, z.core.$strict>>;
209
221
  condition: z.ZodOptional<z.ZodString>;
210
222
  subject: z.ZodOptional<z.ZodString>;
211
223
  }, z.core.$strip>, z.ZodObject<{
@@ -294,6 +306,23 @@ export declare const featEntitySchema: z.ZodObject<{
294
306
  level: z.ZodNumber;
295
307
  count: z.ZodNumber;
296
308
  }, z.core.$strip>>>;
309
+ applies_to: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
310
+ weapon: "weapon";
311
+ melee: "melee";
312
+ ranged: "ranged";
313
+ unarmed: "unarmed";
314
+ finesse: "finesse";
315
+ thrown: "thrown";
316
+ "pact-weapon": "pact-weapon";
317
+ }>, z.ZodArray<z.ZodEnum<{
318
+ weapon: "weapon";
319
+ melee: "melee";
320
+ ranged: "ranged";
321
+ unarmed: "unarmed";
322
+ finesse: "finesse";
323
+ thrown: "thrown";
324
+ "pact-weapon": "pact-weapon";
325
+ }>>]>>;
297
326
  condition: z.ZodOptional<z.ZodString>;
298
327
  subject: z.ZodOptional<z.ZodString>;
299
328
  }, z.core.$strip>, z.ZodObject<{
@@ -460,6 +489,7 @@ export declare const featEntitySchema: z.ZodObject<{
460
489
  band: "band";
461
490
  tab: "tab";
462
491
  }>>;
492
+ equivalent_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
463
493
  recovery: z.ZodOptional<z.ZodArray<z.ZodObject<{
464
494
  id: z.ZodString;
465
495
  name: z.ZodString;
@@ -1,10 +1 @@
1
- import {
2
- featEntitySchema
3
- } from "../chunk-PKX6TGRE.js";
4
- import "../chunk-ZJXSXVFP.js";
5
- import "../chunk-5MXFW4O3.js";
6
- import "../chunk-2JSQE3DD.js";
7
- import "../chunk-UA5KS2PL.js";
8
- export {
9
- featEntitySchema
10
- };
1
+ import{featEntitySchema}from"../chunk-334WLI7V.js";import"../chunk-CCFIINBA.js";import"../chunk-KBFSJ5WE.js";import"../chunk-6IC53O3Q.js";import"../chunk-I26FHSI6.js";export{featEntitySchema};
@@ -61,18 +61,12 @@ export interface FeatEntity {
61
61
  repeatable: boolean;
62
62
  choices: Choice[];
63
63
  resources?: Resource[];
64
- /** Converter/bundle extras declared by feat.schema.ts §2.4; all optional, none read today. */
65
64
  rendering_hint?: string;
66
65
  additional_spells?: AdditionalSpellsEntry[];
67
66
  has_fluff?: boolean;
68
67
  has_fluff_images?: boolean;
69
- /** RAW 5etools passthrough: `unknown` mirrors the schema's `z.unknown()`. */
70
68
  trait_tags?: unknown;
71
69
  optionalfeature_progression?: ProgressionEntry[];
72
- /** R-G1b-5: a TOP-LEVEL bundle key on `SRD 2024/Feats/Boon of the Night Spirit.md`.
73
- * MAPPED since R4-G3a §10.2.3: the resolver carries it onto the resolved feature's
74
- * `action`, so the feat note shows an Action line and the row files under that economy. */
75
70
  action_cost?: ActionCost;
76
- /** One wikilink, or an array of them for the multi-fluff-image emit. */
77
71
  image?: string | string[];
78
72
  }