playlist-data-engine 1.1.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 (345) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +352 -0
  3. package/dist/__vite-browser-external-DYxpcVy9.js +4 -0
  4. package/dist/constants/DefaultClasses.d.ts +46 -0
  5. package/dist/constants/DefaultClasses.d.ts.map +1 -0
  6. package/dist/constants/DefaultEnchantments.d.ts +337 -0
  7. package/dist/constants/DefaultEnchantments.d.ts.map +1 -0
  8. package/dist/constants/DefaultEnemies.d.ts +83 -0
  9. package/dist/constants/DefaultEnemies.d.ts.map +1 -0
  10. package/dist/constants/DefaultEquipment.d.ts +23 -0
  11. package/dist/constants/DefaultEquipment.d.ts.map +1 -0
  12. package/dist/constants/DefaultFeatures.d.ts +22 -0
  13. package/dist/constants/DefaultFeatures.d.ts.map +1 -0
  14. package/dist/constants/DefaultRaces.d.ts +102 -0
  15. package/dist/constants/DefaultRaces.d.ts.map +1 -0
  16. package/dist/constants/DefaultSkills.d.ts +26 -0
  17. package/dist/constants/DefaultSkills.d.ts.map +1 -0
  18. package/dist/constants/DefaultSpells.d.ts +41 -0
  19. package/dist/constants/DefaultSpells.d.ts.map +1 -0
  20. package/dist/constants/EncounterBalance.d.ts +208 -0
  21. package/dist/constants/EncounterBalance.d.ts.map +1 -0
  22. package/dist/constants/EnemyEquipment.d.ts +71 -0
  23. package/dist/constants/EnemyEquipment.d.ts.map +1 -0
  24. package/dist/constants/EnemyRarity.d.ts +79 -0
  25. package/dist/constants/EnemyRarity.d.ts.map +1 -0
  26. package/dist/constants/EnemyTemplates/Construct.d.ts +63 -0
  27. package/dist/constants/EnemyTemplates/Construct.d.ts.map +1 -0
  28. package/dist/constants/EnemyTemplates/Dragon.d.ts +68 -0
  29. package/dist/constants/EnemyTemplates/Dragon.d.ts.map +1 -0
  30. package/dist/constants/EnemyTemplates/Elemental.d.ts +64 -0
  31. package/dist/constants/EnemyTemplates/Elemental.d.ts.map +1 -0
  32. package/dist/constants/EnemyTemplates/Fiend.d.ts +62 -0
  33. package/dist/constants/EnemyTemplates/Fiend.d.ts.map +1 -0
  34. package/dist/constants/EnemyTemplates/Monstrosity.d.ts +63 -0
  35. package/dist/constants/EnemyTemplates/Monstrosity.d.ts.map +1 -0
  36. package/dist/constants/EnemyTemplates/Undead.d.ts +61 -0
  37. package/dist/constants/EnemyTemplates/Undead.d.ts.map +1 -0
  38. package/dist/constants/ItemTemplates.d.ts +40 -0
  39. package/dist/constants/ItemTemplates.d.ts.map +1 -0
  40. package/dist/constants/MagicItems.d.ts +30 -0
  41. package/dist/constants/MagicItems.d.ts.map +1 -0
  42. package/dist/constants/SpellSlots.d.ts +30 -0
  43. package/dist/constants/SpellSlots.d.ts.map +1 -0
  44. package/dist/constants/StatScaling.d.ts +113 -0
  45. package/dist/constants/StatScaling.d.ts.map +1 -0
  46. package/dist/core/analysis/AudioAnalyzer.d.ts +599 -0
  47. package/dist/core/analysis/AudioAnalyzer.d.ts.map +1 -0
  48. package/dist/core/analysis/ColorExtractor.d.ts +64 -0
  49. package/dist/core/analysis/ColorExtractor.d.ts.map +1 -0
  50. package/dist/core/analysis/EssentiaPitchDetector.d.ts +282 -0
  51. package/dist/core/analysis/EssentiaPitchDetector.d.ts.map +1 -0
  52. package/dist/core/analysis/LevelSerializer.d.ts +265 -0
  53. package/dist/core/analysis/LevelSerializer.d.ts.map +1 -0
  54. package/dist/core/analysis/MelodyContourAnalyzer.d.ts +283 -0
  55. package/dist/core/analysis/MelodyContourAnalyzer.d.ts.map +1 -0
  56. package/dist/core/analysis/MultiBandAnalyzer.d.ts +214 -0
  57. package/dist/core/analysis/MultiBandAnalyzer.d.ts.map +1 -0
  58. package/dist/core/analysis/MusicClassifier.d.ts +524 -0
  59. package/dist/core/analysis/MusicClassifier.d.ts.map +1 -0
  60. package/dist/core/analysis/PitchAnalyzer.d.ts +266 -0
  61. package/dist/core/analysis/PitchAnalyzer.d.ts.map +1 -0
  62. package/dist/core/analysis/PitchDetector.d.ts +251 -0
  63. package/dist/core/analysis/PitchDetector.d.ts.map +1 -0
  64. package/dist/core/analysis/SpectrumScanner.d.ts +52 -0
  65. package/dist/core/analysis/SpectrumScanner.d.ts.map +1 -0
  66. package/dist/core/analysis/beat/BeatInterpolator.d.ts +477 -0
  67. package/dist/core/analysis/beat/BeatInterpolator.d.ts.map +1 -0
  68. package/dist/core/analysis/beat/BeatMapGenerator.d.ts +170 -0
  69. package/dist/core/analysis/beat/BeatMapGenerator.d.ts.map +1 -0
  70. package/dist/core/analysis/beat/BeatStream.d.ts +316 -0
  71. package/dist/core/analysis/beat/BeatStream.d.ts.map +1 -0
  72. package/dist/core/analysis/beat/BeatSubdivider.d.ts +205 -0
  73. package/dist/core/analysis/beat/BeatSubdivider.d.ts.map +1 -0
  74. package/dist/core/analysis/beat/BeatTracker.d.ts +137 -0
  75. package/dist/core/analysis/beat/BeatTracker.d.ts.map +1 -0
  76. package/dist/core/analysis/beat/CompositeStreamGenerator.d.ts +180 -0
  77. package/dist/core/analysis/beat/CompositeStreamGenerator.d.ts.map +1 -0
  78. package/dist/core/analysis/beat/DensityAnalyzer.d.ts +246 -0
  79. package/dist/core/analysis/beat/DensityAnalyzer.d.ts.map +1 -0
  80. package/dist/core/analysis/beat/DifficultyVariantGenerator.d.ts +1082 -0
  81. package/dist/core/analysis/beat/DifficultyVariantGenerator.d.ts.map +1 -0
  82. package/dist/core/analysis/beat/GrooveAnalyzer.d.ts +192 -0
  83. package/dist/core/analysis/beat/GrooveAnalyzer.d.ts.map +1 -0
  84. package/dist/core/analysis/beat/OnsetStrengthEnvelope.d.ts +133 -0
  85. package/dist/core/analysis/beat/OnsetStrengthEnvelope.d.ts.map +1 -0
  86. package/dist/core/analysis/beat/PhraseAnalyzer.d.ts +230 -0
  87. package/dist/core/analysis/beat/PhraseAnalyzer.d.ts.map +1 -0
  88. package/dist/core/analysis/beat/RhythmQuantizer.d.ts +399 -0
  89. package/dist/core/analysis/beat/RhythmQuantizer.d.ts.map +1 -0
  90. package/dist/core/analysis/beat/RhythmicBalancer.d.ts +262 -0
  91. package/dist/core/analysis/beat/RhythmicBalancer.d.ts.map +1 -0
  92. package/dist/core/analysis/beat/StreamScorer.d.ts +275 -0
  93. package/dist/core/analysis/beat/StreamScorer.d.ts.map +1 -0
  94. package/dist/core/analysis/beat/TempoAwareQuantizer.d.ts +256 -0
  95. package/dist/core/analysis/beat/TempoAwareQuantizer.d.ts.map +1 -0
  96. package/dist/core/analysis/beat/TempoDetector.d.ts +220 -0
  97. package/dist/core/analysis/beat/TempoDetector.d.ts.map +1 -0
  98. package/dist/core/analysis/beat/TransientDetector.d.ts +303 -0
  99. package/dist/core/analysis/beat/TransientDetector.d.ts.map +1 -0
  100. package/dist/core/analysis/beat/beatKeyHelpers.d.ts +180 -0
  101. package/dist/core/analysis/beat/beatKeyHelpers.d.ts.map +1 -0
  102. package/dist/core/analysis/beat/index.d.ts +41 -0
  103. package/dist/core/analysis/beat/index.d.ts.map +1 -0
  104. package/dist/core/analysis/beat/utils/audioUtils.d.ts +204 -0
  105. package/dist/core/analysis/beat/utils/audioUtils.d.ts.map +1 -0
  106. package/dist/core/analysis/beat/utils/beatInterpolationDebug.d.ts +404 -0
  107. package/dist/core/analysis/beat/utils/beatInterpolationDebug.d.ts.map +1 -0
  108. package/dist/core/analysis/beat/utils/subdivideBeatMap.d.ts +61 -0
  109. package/dist/core/analysis/beat/utils/subdivideBeatMap.d.ts.map +1 -0
  110. package/dist/core/analysis/beat/utils/unifyBeatMap.d.ts +33 -0
  111. package/dist/core/analysis/beat/utils/unifyBeatMap.d.ts.map +1 -0
  112. package/dist/core/analysis/index.d.ts +18 -0
  113. package/dist/core/analysis/index.d.ts.map +1 -0
  114. package/dist/core/combat/AI/AICombatRunner.d.ts +108 -0
  115. package/dist/core/combat/AI/AICombatRunner.d.ts.map +1 -0
  116. package/dist/core/combat/AI/CombatAI.d.ts +179 -0
  117. package/dist/core/combat/AI/CombatAI.d.ts.map +1 -0
  118. package/dist/core/combat/AI/CombatMetricsTracker.d.ts +30 -0
  119. package/dist/core/combat/AI/CombatMetricsTracker.d.ts.map +1 -0
  120. package/dist/core/combat/Analysis/BalanceValidator.d.ts +170 -0
  121. package/dist/core/combat/Analysis/BalanceValidator.d.ts.map +1 -0
  122. package/dist/core/combat/Analysis/ComparativeAnalyzer.d.ts +231 -0
  123. package/dist/core/combat/Analysis/ComparativeAnalyzer.d.ts.map +1 -0
  124. package/dist/core/combat/Analysis/DifficultyCalculator.d.ts +203 -0
  125. package/dist/core/combat/Analysis/DifficultyCalculator.d.ts.map +1 -0
  126. package/dist/core/combat/Analysis/ParameterSweep.d.ts +201 -0
  127. package/dist/core/combat/Analysis/ParameterSweep.d.ts.map +1 -0
  128. package/dist/core/combat/AttackResolver.d.ts +220 -0
  129. package/dist/core/combat/AttackResolver.d.ts.map +1 -0
  130. package/dist/core/combat/CombatEngine.d.ts +388 -0
  131. package/dist/core/combat/CombatEngine.d.ts.map +1 -0
  132. package/dist/core/combat/DiceRoller.d.ts +115 -0
  133. package/dist/core/combat/DiceRoller.d.ts.map +1 -0
  134. package/dist/core/combat/InitiativeRoller.d.ts +62 -0
  135. package/dist/core/combat/InitiativeRoller.d.ts.map +1 -0
  136. package/dist/core/combat/PartyAnalyzer.d.ts +215 -0
  137. package/dist/core/combat/PartyAnalyzer.d.ts.map +1 -0
  138. package/dist/core/combat/SeededDiceRoller.d.ts +120 -0
  139. package/dist/core/combat/SeededDiceRoller.d.ts.map +1 -0
  140. package/dist/core/combat/Simulation/CombatSimulator.d.ts +366 -0
  141. package/dist/core/combat/Simulation/CombatSimulator.d.ts.map +1 -0
  142. package/dist/core/combat/SpellCaster.d.ts +113 -0
  143. package/dist/core/combat/SpellCaster.d.ts.map +1 -0
  144. package/dist/core/config/index.d.ts +24 -0
  145. package/dist/core/config/index.d.ts.map +1 -0
  146. package/dist/core/config/progressionConfig.d.ts +73 -0
  147. package/dist/core/config/progressionConfig.d.ts.map +1 -0
  148. package/dist/core/config/sensorConfig.d.ts +134 -0
  149. package/dist/core/config/sensorConfig.d.ts.map +1 -0
  150. package/dist/core/equipment/BoxOpener.d.ts +175 -0
  151. package/dist/core/equipment/BoxOpener.d.ts.map +1 -0
  152. package/dist/core/equipment/EquipmentEffectApplier.d.ts +189 -0
  153. package/dist/core/equipment/EquipmentEffectApplier.d.ts.map +1 -0
  154. package/dist/core/equipment/EquipmentModifier.d.ts +327 -0
  155. package/dist/core/equipment/EquipmentModifier.d.ts.map +1 -0
  156. package/dist/core/equipment/EquipmentSpawnHelper.d.ts +246 -0
  157. package/dist/core/equipment/EquipmentSpawnHelper.d.ts.map +1 -0
  158. package/dist/core/equipment/EquipmentValidator.d.ts +173 -0
  159. package/dist/core/equipment/EquipmentValidator.d.ts.map +1 -0
  160. package/dist/core/extensions/ExtensionManager.d.ts +517 -0
  161. package/dist/core/extensions/ExtensionManager.d.ts.map +1 -0
  162. package/dist/core/extensions/WeightedSelector.d.ts +156 -0
  163. package/dist/core/extensions/WeightedSelector.d.ts.map +1 -0
  164. package/dist/core/extensions/index.d.ts +11 -0
  165. package/dist/core/extensions/index.d.ts.map +1 -0
  166. package/dist/core/extensions/initializeDefaults.d.ts +170 -0
  167. package/dist/core/extensions/initializeDefaults.d.ts.map +1 -0
  168. package/dist/core/features/FeatureEffectApplier.d.ts +102 -0
  169. package/dist/core/features/FeatureEffectApplier.d.ts.map +1 -0
  170. package/dist/core/features/FeatureQuery.d.ts +368 -0
  171. package/dist/core/features/FeatureQuery.d.ts.map +1 -0
  172. package/dist/core/features/FeatureTypes.d.ts +199 -0
  173. package/dist/core/features/FeatureTypes.d.ts.map +1 -0
  174. package/dist/core/features/FeatureValidator.d.ts +149 -0
  175. package/dist/core/features/FeatureValidator.d.ts.map +1 -0
  176. package/dist/core/features/index.d.ts +12 -0
  177. package/dist/core/features/index.d.ts.map +1 -0
  178. package/dist/core/generation/AbilityScoreCalculator.d.ts +83 -0
  179. package/dist/core/generation/AbilityScoreCalculator.d.ts.map +1 -0
  180. package/dist/core/generation/AppearanceGenerator.d.ts +32 -0
  181. package/dist/core/generation/AppearanceGenerator.d.ts.map +1 -0
  182. package/dist/core/generation/BeatConverter.d.ts +127 -0
  183. package/dist/core/generation/BeatConverter.d.ts.map +1 -0
  184. package/dist/core/generation/ButtonMapper.d.ts +346 -0
  185. package/dist/core/generation/ButtonMapper.d.ts.map +1 -0
  186. package/dist/core/generation/ButtonPatternLibrary.d.ts +92 -0
  187. package/dist/core/generation/ButtonPatternLibrary.d.ts.map +1 -0
  188. package/dist/core/generation/CRLevelConverter.d.ts +242 -0
  189. package/dist/core/generation/CRLevelConverter.d.ts.map +1 -0
  190. package/dist/core/generation/CharacterGenerator.d.ts +194 -0
  191. package/dist/core/generation/CharacterGenerator.d.ts.map +1 -0
  192. package/dist/core/generation/ClassSuggester.d.ts +184 -0
  193. package/dist/core/generation/ClassSuggester.d.ts.map +1 -0
  194. package/dist/core/generation/EnemyEquipmentGenerator.d.ts +151 -0
  195. package/dist/core/generation/EnemyEquipmentGenerator.d.ts.map +1 -0
  196. package/dist/core/generation/EnemyGenerator.d.ts +595 -0
  197. package/dist/core/generation/EnemyGenerator.d.ts.map +1 -0
  198. package/dist/core/generation/EquipmentGenerator.d.ts +204 -0
  199. package/dist/core/generation/EquipmentGenerator.d.ts.map +1 -0
  200. package/dist/core/generation/LegendaryGenerator.d.ts +213 -0
  201. package/dist/core/generation/LegendaryGenerator.d.ts.map +1 -0
  202. package/dist/core/generation/LevelGenerator.d.ts +390 -0
  203. package/dist/core/generation/LevelGenerator.d.ts.map +1 -0
  204. package/dist/core/generation/NamingEngine.d.ts +136 -0
  205. package/dist/core/generation/NamingEngine.d.ts.map +1 -0
  206. package/dist/core/generation/PitchBeatLinker.d.ts +150 -0
  207. package/dist/core/generation/PitchBeatLinker.d.ts.map +1 -0
  208. package/dist/core/generation/RaceSelector.d.ts +58 -0
  209. package/dist/core/generation/RaceSelector.d.ts.map +1 -0
  210. package/dist/core/generation/RhythmGenerator.d.ts +597 -0
  211. package/dist/core/generation/RhythmGenerator.d.ts.map +1 -0
  212. package/dist/core/generation/SkillAssigner.d.ts +78 -0
  213. package/dist/core/generation/SkillAssigner.d.ts.map +1 -0
  214. package/dist/core/generation/SpellManager.d.ts +132 -0
  215. package/dist/core/generation/SpellManager.d.ts.map +1 -0
  216. package/dist/core/generation/SpellcastingGenerator.d.ts +255 -0
  217. package/dist/core/generation/SpellcastingGenerator.d.ts.map +1 -0
  218. package/dist/core/generation/index.d.ts +41 -0
  219. package/dist/core/generation/index.d.ts.map +1 -0
  220. package/dist/core/parser/MetadataExtractor.d.ts +66 -0
  221. package/dist/core/parser/MetadataExtractor.d.ts.map +1 -0
  222. package/dist/core/parser/PlaylistParser.d.ts +45 -0
  223. package/dist/core/parser/PlaylistParser.d.ts.map +1 -0
  224. package/dist/core/playback/SubdivisionPlaybackController.d.ts +333 -0
  225. package/dist/core/playback/SubdivisionPlaybackController.d.ts.map +1 -0
  226. package/dist/core/playback/index.d.ts +5 -0
  227. package/dist/core/playback/index.d.ts.map +1 -0
  228. package/dist/core/progression/CharacterUpdater.d.ts +203 -0
  229. package/dist/core/progression/CharacterUpdater.d.ts.map +1 -0
  230. package/dist/core/progression/LevelUpProcessor.d.ts +234 -0
  231. package/dist/core/progression/LevelUpProcessor.d.ts.map +1 -0
  232. package/dist/core/progression/PrestigeSystem.d.ts +217 -0
  233. package/dist/core/progression/PrestigeSystem.d.ts.map +1 -0
  234. package/dist/core/progression/RhythmXPCalculator.d.ts +182 -0
  235. package/dist/core/progression/RhythmXPCalculator.d.ts.map +1 -0
  236. package/dist/core/progression/SessionTracker.d.ts +169 -0
  237. package/dist/core/progression/SessionTracker.d.ts.map +1 -0
  238. package/dist/core/progression/XPCalculator.d.ts +128 -0
  239. package/dist/core/progression/XPCalculator.d.ts.map +1 -0
  240. package/dist/core/progression/stat/StatIncreaseStrategy.d.ts +97 -0
  241. package/dist/core/progression/stat/StatIncreaseStrategy.d.ts.map +1 -0
  242. package/dist/core/progression/stat/StatManager.d.ts +179 -0
  243. package/dist/core/progression/stat/StatManager.d.ts.map +1 -0
  244. package/dist/core/sensors/EnvironmentalSensors.d.ts +301 -0
  245. package/dist/core/sensors/EnvironmentalSensors.d.ts.map +1 -0
  246. package/dist/core/sensors/GamingPlatformSensors.d.ts +162 -0
  247. package/dist/core/sensors/GamingPlatformSensors.d.ts.map +1 -0
  248. package/dist/core/sensors/GeolocationProvider.d.ts +156 -0
  249. package/dist/core/sensors/GeolocationProvider.d.ts.map +1 -0
  250. package/dist/core/sensors/MotionDetector.d.ts +58 -0
  251. package/dist/core/sensors/MotionDetector.d.ts.map +1 -0
  252. package/dist/core/sensors/SteamAPIClient.d.ts +108 -0
  253. package/dist/core/sensors/SteamAPIClient.d.ts.map +1 -0
  254. package/dist/core/sensors/WeatherAPIClient.d.ts +360 -0
  255. package/dist/core/sensors/WeatherAPIClient.d.ts.map +1 -0
  256. package/dist/core/sensors/schemas/weather.schema.d.ts +144 -0
  257. package/dist/core/sensors/schemas/weather.schema.d.ts.map +1 -0
  258. package/dist/core/skills/SkillQuery.d.ts +159 -0
  259. package/dist/core/skills/SkillQuery.d.ts.map +1 -0
  260. package/dist/core/skills/SkillTypes.d.ts +233 -0
  261. package/dist/core/skills/SkillTypes.d.ts.map +1 -0
  262. package/dist/core/skills/SkillValidator.d.ts +146 -0
  263. package/dist/core/skills/SkillValidator.d.ts.map +1 -0
  264. package/dist/core/skills/index.d.ts +11 -0
  265. package/dist/core/skills/index.d.ts.map +1 -0
  266. package/dist/core/spells/SpellQuery.d.ts +194 -0
  267. package/dist/core/spells/SpellQuery.d.ts.map +1 -0
  268. package/dist/core/spells/SpellTypes.d.ts +71 -0
  269. package/dist/core/spells/SpellTypes.d.ts.map +1 -0
  270. package/dist/core/spells/SpellValidator.d.ts +129 -0
  271. package/dist/core/spells/SpellValidator.d.ts.map +1 -0
  272. package/dist/core/spells/index.d.ts +11 -0
  273. package/dist/core/spells/index.d.ts.map +1 -0
  274. package/dist/core/types/AudioProfile.d.ts +143 -0
  275. package/dist/core/types/AudioProfile.d.ts.map +1 -0
  276. package/dist/core/types/BeatMap.d.ts +1825 -0
  277. package/dist/core/types/BeatMap.d.ts.map +1 -0
  278. package/dist/core/types/ButtonMapping.d.ts +345 -0
  279. package/dist/core/types/ButtonMapping.d.ts.map +1 -0
  280. package/dist/core/types/Character.d.ts +397 -0
  281. package/dist/core/types/Character.d.ts.map +1 -0
  282. package/dist/core/types/ChartedBeatMap.d.ts +169 -0
  283. package/dist/core/types/ChartedBeatMap.d.ts.map +1 -0
  284. package/dist/core/types/Combat.d.ts +268 -0
  285. package/dist/core/types/Combat.d.ts.map +1 -0
  286. package/dist/core/types/CombatAI.d.ts +143 -0
  287. package/dist/core/types/CombatAI.d.ts.map +1 -0
  288. package/dist/core/types/Enemy.d.ts +447 -0
  289. package/dist/core/types/Enemy.d.ts.map +1 -0
  290. package/dist/core/types/Environmental.d.ts +213 -0
  291. package/dist/core/types/Environmental.d.ts.map +1 -0
  292. package/dist/core/types/Equipment.d.ts +309 -0
  293. package/dist/core/types/Equipment.d.ts.map +1 -0
  294. package/dist/core/types/ISessionTracker.d.ts +48 -0
  295. package/dist/core/types/ISessionTracker.d.ts.map +1 -0
  296. package/dist/core/types/LevelExport.d.ts +366 -0
  297. package/dist/core/types/LevelExport.d.ts.map +1 -0
  298. package/dist/core/types/Playlist.d.ts +70 -0
  299. package/dist/core/types/Playlist.d.ts.map +1 -0
  300. package/dist/core/types/Prestige.d.ts +94 -0
  301. package/dist/core/types/Prestige.d.ts.map +1 -0
  302. package/dist/core/types/Progression.d.ts +214 -0
  303. package/dist/core/types/Progression.d.ts.map +1 -0
  304. package/dist/core/types/RhythmXP.d.ts +398 -0
  305. package/dist/core/types/RhythmXP.d.ts.map +1 -0
  306. package/dist/core/utils/AbilityConstants.d.ts +31 -0
  307. package/dist/core/utils/AbilityConstants.d.ts.map +1 -0
  308. package/dist/core/utils/EffectApplierUtils.d.ts +56 -0
  309. package/dist/core/utils/EffectApplierUtils.d.ts.map +1 -0
  310. package/dist/core/utils/ImageValidator.d.ts +66 -0
  311. package/dist/core/utils/ImageValidator.d.ts.map +1 -0
  312. package/dist/core/utils/PrerequisiteValidator.d.ts +88 -0
  313. package/dist/core/utils/PrerequisiteValidator.d.ts.map +1 -0
  314. package/dist/essentia-wasm.es-BUEnKUts.js +2990 -0
  315. package/dist/essentia.js-model.es-CGA0xotH.js +306 -0
  316. package/dist/index.d.ts +176 -0
  317. package/dist/index.d.ts.map +1 -0
  318. package/dist/playlist-data-engine.js +124 -0
  319. package/dist/playlist-data-engine.mjs +49251 -0
  320. package/dist/utils/EnchantmentLibrary.d.ts +378 -0
  321. package/dist/utils/EnchantmentLibrary.d.ts.map +1 -0
  322. package/dist/utils/arweaveGatewayManager.d.ts +485 -0
  323. package/dist/utils/arweaveGatewayManager.d.ts.map +1 -0
  324. package/dist/utils/arweaveUtils.d.ts +118 -0
  325. package/dist/utils/arweaveUtils.d.ts.map +1 -0
  326. package/dist/utils/constants.d.ts +439 -0
  327. package/dist/utils/constants.d.ts.map +1 -0
  328. package/dist/utils/equipmentConstants.d.ts +60 -0
  329. package/dist/utils/equipmentConstants.d.ts.map +1 -0
  330. package/dist/utils/hash.d.ts +33 -0
  331. package/dist/utils/hash.d.ts.map +1 -0
  332. package/dist/utils/logger.d.ts +192 -0
  333. package/dist/utils/logger.d.ts.map +1 -0
  334. package/dist/utils/magicItemExamples.d.ts +46 -0
  335. package/dist/utils/magicItemExamples.d.ts.map +1 -0
  336. package/dist/utils/playlistUtils.d.ts +149 -0
  337. package/dist/utils/playlistUtils.d.ts.map +1 -0
  338. package/dist/utils/random.d.ts +34 -0
  339. package/dist/utils/random.d.ts.map +1 -0
  340. package/dist/utils/sensorDashboard.d.ts +60 -0
  341. package/dist/utils/sensorDashboard.d.ts.map +1 -0
  342. package/dist/utils/validators.d.ts +189 -0
  343. package/dist/utils/validators.d.ts.map +1 -0
  344. package/dist/vite.svg +1 -0
  345. package/package.json +82 -0
@@ -0,0 +1,194 @@
1
+ /**
2
+ * SpellQuery
3
+ *
4
+ * Central query interface for all spells (default D&D 5e and custom).
5
+ * Provides spell lookup and categorization by level, school, and class.
6
+ *
7
+ * **Design:** This is a **query interface** around ExtensionManager.
8
+ * All spells are stored in ExtensionManager; SpellQuery provides:
9
+ * - Query methods with caching for performance
10
+ * - Spell-related helper methods
11
+ *
12
+ * No duplicate storage - all data lives in ExtensionManager.
13
+ *
14
+ * **Registration:** Use ExtensionManager.register('spells', [...]) to register spells.
15
+ */
16
+ import type { Spell, SpellSchool } from './SpellTypes.js';
17
+ import type { Class, CharacterSheet } from '../types/Character.js';
18
+ import { type SpellValidationResult } from './SpellValidator.js';
19
+ export type { SpellSchool };
20
+ /**
21
+ * Extended Spell interface with optional query fields
22
+ */
23
+ export interface RegisteredSpell extends Spell {
24
+ /** Unique identifier (uses name as ID if not provided) */
25
+ id: string;
26
+ /** Classes that can learn this spell */
27
+ classes?: Class[];
28
+ /** Source of the spell (default or custom) */
29
+ source?: 'default' | 'custom';
30
+ }
31
+ /**
32
+ * SpellQuery - Singleton class for querying spells
33
+ *
34
+ * This is a **query interface** around ExtensionManager.
35
+ * All spells are stored in ExtensionManager; SpellQuery provides:
36
+ * - Query methods with caching for performance
37
+ * - Spell-related helper methods
38
+ *
39
+ * Design principle: No duplicate storage. All data lives in ExtensionManager.
40
+ *
41
+ * **Registration:** Use ExtensionManager.register('spells', [...]) to register spells.
42
+ */
43
+ export declare class SpellQuery {
44
+ private static instance;
45
+ private manager;
46
+ private allSpellsCache;
47
+ private levelCache;
48
+ private schoolCache;
49
+ private constructor();
50
+ /**
51
+ * Get the singleton instance
52
+ */
53
+ static getInstance(): SpellQuery;
54
+ /**
55
+ * Invalidate all caches
56
+ *
57
+ * This method is primarily for internal use and advanced scenarios.
58
+ *
59
+ * Call this after directly registering spells via ExtensionManager
60
+ * to ensure fresh data in query methods.
61
+ */
62
+ invalidateCache(): void;
63
+ /**
64
+ * Get a spell by ID
65
+ *
66
+ * @param spellId - Spell ID to look up
67
+ * @returns Spell or undefined if not found
68
+ */
69
+ getSpell(spellId: string): RegisteredSpell | undefined;
70
+ /**
71
+ * Get all registered spells
72
+ *
73
+ * Reads from ExtensionManager with caching.
74
+ *
75
+ * @returns Array of all spells
76
+ */
77
+ getSpells(): RegisteredSpell[];
78
+ /**
79
+ * Get spells by level
80
+ *
81
+ * Builds index from ExtensionManager data with caching.
82
+ *
83
+ * @param level - Spell level (0-9)
84
+ * @returns Array of spells at this level
85
+ */
86
+ getSpellsByLevel(level: number): RegisteredSpell[];
87
+ /**
88
+ * Get spells by school
89
+ *
90
+ * Builds index from ExtensionManager data with caching.
91
+ *
92
+ * @param school - Spell school to filter by
93
+ * @returns Array of spells from this school
94
+ */
95
+ getSpellsBySchool(school: SpellSchool): RegisteredSpell[];
96
+ /**
97
+ * Get spells available to a specific class
98
+ *
99
+ * Filters spells by their classes property.
100
+ *
101
+ * @param characterClass - Class to get spells for
102
+ * @returns Array of spells available to this class
103
+ */
104
+ getSpellsForClass(characterClass: Class): RegisteredSpell[];
105
+ /**
106
+ * Get spells available to a character (prerequisites met)
107
+ *
108
+ * Filters all spells by character prerequisites.
109
+ *
110
+ * @param character - Character sheet to validate against
111
+ * @returns Array of spells the character can learn
112
+ */
113
+ getAvailableSpells(character: CharacterSheet): RegisteredSpell[];
114
+ /**
115
+ * Get the spell list for a class (spell IDs)
116
+ *
117
+ * Reads from ExtensionManager.
118
+ *
119
+ * @param characterClass - Class to get spell list for
120
+ * @returns Array of spell IDs for this class
121
+ */
122
+ getClassSpellList(characterClass: Class): string[];
123
+ /**
124
+ * Get spell slots for a class at a specific level
125
+ *
126
+ * Note: This delegates to the getSpellSlotsForClass helper from constants.ts
127
+ * which handles both default and custom class spell slot progressions.
128
+ *
129
+ * @param characterClass - Class to get spell slots for
130
+ * @param level - Character level (1-20)
131
+ * @returns Number of spell slots at this level, or 0 if not a spellcaster
132
+ */
133
+ getSpellSlotsForClass(characterClass: Class, level: number): number;
134
+ /**
135
+ * Validate spell prerequisites against a character
136
+ *
137
+ * Checks if a character meets all prerequisite requirements for a spell.
138
+ * This is a convenience method that delegates to SpellValidator.
139
+ *
140
+ * @param spell - The spell whose prerequisites to validate
141
+ * @param character - The character sheet to validate against
142
+ * @returns Validation result with unmet prerequisites if any
143
+ */
144
+ validatePrerequisites(spell: RegisteredSpell, character: CharacterSheet): SpellValidationResult;
145
+ /**
146
+ * Validate spell data structure
147
+ *
148
+ * @param spell - Spell object to validate
149
+ * @returns Validation result with any errors
150
+ */
151
+ validateSpell(spell: RegisteredSpell): SpellValidationResult;
152
+ /**
153
+ * Check if a spell exists
154
+ *
155
+ * @param spellId - Spell ID to check
156
+ * @returns True if spell exists
157
+ */
158
+ hasSpell(spellId: string): boolean;
159
+ /**
160
+ * Get total spell count
161
+ *
162
+ * @returns Total number of registered spells
163
+ */
164
+ getSpellCount(): number;
165
+ /**
166
+ * Get spells by source
167
+ *
168
+ * @param source - 'default' or 'custom'
169
+ * @returns Array of spells from this source
170
+ */
171
+ getSpellsBySource(source: 'default' | 'custom'): RegisteredSpell[];
172
+ /**
173
+ * Get query statistics
174
+ *
175
+ * @returns Statistics about registered spells
176
+ */
177
+ getQueryStats(): {
178
+ totalSpells: number;
179
+ defaultSpells: number;
180
+ customSpells: number;
181
+ spellsByLevel: Record<number, number>;
182
+ spellsBySchool: Record<SpellSchool, number>;
183
+ classesWithSpells: number;
184
+ };
185
+ }
186
+ /**
187
+ * Get the global SpellQuery instance
188
+ *
189
+ * Convenience function for accessing the singleton.
190
+ *
191
+ * @returns SpellQuery instance
192
+ */
193
+ export declare function getSpellQuery(): SpellQuery;
194
+ //# sourceMappingURL=SpellQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpellQuery.d.ts","sourceRoot":"","sources":["../../../src/core/spells/SpellQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAKjF,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC1C,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IAClB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CACjC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAa;IACpC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,WAAW,CAAoD;IAEvE,OAAO;IAIP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,UAAU;IAOhC;;;;;;;OAOG;IACH,eAAe,IAAI,IAAI;IAMvB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAKtD;;;;;;OAMG;IACH,SAAS,IAAI,eAAe,EAAE;IAQ9B;;;;;;;OAOG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE;IAclD;;;;;;;OAOG;IACH,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,EAAE;IAczD;;;;;;;OAOG;IACH,iBAAiB,CAAC,cAAc,EAAE,KAAK,GAAG,eAAe,EAAE;IAO3D;;;;;;;OAOG;IACH,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,eAAe,EAAE;IAchE;;;;;;;OAOG;IACH,iBAAiB,CAAC,cAAc,EAAE,KAAK,GAAG,MAAM,EAAE;IAMlD;;;;;;;;;OASG;IACH,qBAAqB,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAWnE;;;;;;;;;OASG;IACH,qBAAqB,CACjB,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,cAAc,GAC1B,qBAAqB;IAOxB;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,qBAAqB;IAI5D;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,eAAe,EAAE;IAIlE;;;;OAIG;IACH,aAAa,IAAI;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5C,iBAAiB,EAAE,MAAM,CAAC;KAC7B;CA0CJ;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAE1C"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Spell Types
3
+ *
4
+ * Type definitions for spell-related structures.
5
+ * Moved from src/utils/constants.ts for better module organization.
6
+ */
7
+ import type { Class, Race } from '../types/Character.js';
8
+ /**
9
+ * D&D 5e Schools of Magic
10
+ *
11
+ * The eight schools of magic categorize spells by their effects and methods.
12
+ * Used by the Spell interface and validation systems.
13
+ */
14
+ export type SpellSchool = 'Abjuration' | 'Conjuration' | 'Divination' | 'Enchantment' | 'Evocation' | 'Illusion' | 'Necromancy' | 'Transmutation';
15
+ /**
16
+ * Prerequisites for learning a spell
17
+ *
18
+ * Spells can require:
19
+ * - Level thresholds
20
+ * - Caster level thresholds
21
+ * - Ability score minimums
22
+ * - Specific class
23
+ * - Specific race
24
+ * - Specific features (by feature ID)
25
+ * - Specific spells (must be known first)
26
+ * - Specific skills (by proficiency)
27
+ * - Custom conditions
28
+ */
29
+ export interface SpellPrerequisite {
30
+ /** Minimum character level */
31
+ level?: number;
32
+ /** Minimum spellcaster level (if different from character level) */
33
+ casterLevel?: number;
34
+ /** Minimum ability scores */
35
+ abilities?: Partial<Record<'STR' | 'DEX' | 'CON' | 'INT' | 'WIS' | 'CHA', number>>;
36
+ /** Specific class required */
37
+ class?: Class;
38
+ /** Specific race required */
39
+ race?: Race;
40
+ /** Features that must be learned first (by feature ID) */
41
+ features?: string[];
42
+ /** Spells that must be known first (by spell name) */
43
+ spells?: string[];
44
+ /** Skills that must be proficient first (by skill ID) */
45
+ skills?: string[];
46
+ /** Custom condition */
47
+ custom?: string;
48
+ }
49
+ /**
50
+ * Spell data structure
51
+ */
52
+ export interface Spell {
53
+ /** Unique identifier (optional for backward compatibility) */
54
+ id?: string;
55
+ name: string;
56
+ level: number;
57
+ school: SpellSchool;
58
+ casting_time: string;
59
+ range: string;
60
+ components: string[];
61
+ duration: string;
62
+ /** Optional description of what the spell does */
63
+ description?: string;
64
+ /** Optional icon URL for small UI display */
65
+ icon?: string;
66
+ /** Optional image URL for larger display */
67
+ image?: string;
68
+ /** Prerequisites for learning this spell */
69
+ prerequisites?: SpellPrerequisite;
70
+ }
71
+ //# sourceMappingURL=SpellTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpellTypes.d.ts","sourceRoot":"","sources":["../../../src/core/spells/SpellTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,aAAa,GAAG,YAAY,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,CAAC;AAElJ;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAiB;IAC9B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnF,8BAA8B;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd,6BAA6B;IAC7B,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IAClB,8DAA8D;IAC9D,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IAEjB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,4CAA4C;IAC5C,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACrC"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Spell Validator
3
+ *
4
+ * Validates spells against strict schemas.
5
+ * Provides comprehensive validation for all spell properties including:
6
+ * - Required fields (name, level, school, casting_time, range, components, duration)
7
+ * - Valid enum values (school)
8
+ * - Level validation (0-9)
9
+ * - Optional fields (id, description, prerequisites)
10
+ * Uses shared AbilityConstants for code deduplication.
11
+ */
12
+ import type { SpellPrerequisite, Spell } from './SpellTypes.js';
13
+ import type { Ability, CharacterSheet } from '../types/Character.js';
14
+ /**
15
+ * Validation result type
16
+ */
17
+ export interface SpellValidationResult {
18
+ /** Whether the spell/prerequisite is valid */
19
+ valid: boolean;
20
+ /** Array of error messages (empty if valid) */
21
+ errors: string[];
22
+ }
23
+ /**
24
+ * SpellValidator - Validates spells and their prerequisites
25
+ *
26
+ * Provides strict validation to ensure spells
27
+ * meet all requirements and can validate prerequisites
28
+ * against a character sheet.
29
+ */
30
+ export declare class SpellValidator {
31
+ /**
32
+ * Validate a spell
33
+ *
34
+ * Checks all required fields, enum values, and data constraints.
35
+ *
36
+ * @param spell - The spell to validate
37
+ * @returns Validation result with errors if any
38
+ */
39
+ static validateSpell(spell: unknown): SpellValidationResult;
40
+ /**
41
+ * Validate an array of spells
42
+ *
43
+ * @param spells - Array of spells to validate
44
+ * @returns Validation result with combined errors
45
+ */
46
+ static validateSpells(spells: unknown[]): SpellValidationResult;
47
+ /**
48
+ * Validate spell prerequisites schema
49
+ *
50
+ * Validates that the prerequisites object has valid structure.
51
+ * Uses the shared PrerequisiteValidator for consistency.
52
+ *
53
+ * @param prerequisites - The prerequisites to validate
54
+ * @returns Validation result with errors if any
55
+ */
56
+ static validatePrerequisites(prerequisites: unknown): SpellValidationResult;
57
+ /**
58
+ * Validate spell prerequisites against a character
59
+ *
60
+ * Checks if a character meets all prerequisite requirements for a spell.
61
+ * Uses the shared PrerequisiteValidator for consistency across all systems.
62
+ *
63
+ * @param prerequisites - The spell prerequisites to validate
64
+ * @param character - The character sheet to validate against
65
+ * @returns Validation result with unmet prerequisites if any
66
+ */
67
+ static validateSpellPrerequisites(prerequisites: SpellPrerequisite | undefined, character: CharacterSheet): SpellValidationResult;
68
+ /**
69
+ * Check if a string is a valid ability score
70
+ *
71
+ * Re-exports the shared isValidAbility function for convenience.
72
+ *
73
+ * @param ability - The ability string to check
74
+ * @returns True if it's a valid ability
75
+ */
76
+ static isValidAbility(ability: string): ability is Ability;
77
+ /**
78
+ * Check if a string is a valid spell school
79
+ *
80
+ * @param school - The school string to check
81
+ * @returns True if it's a valid school
82
+ */
83
+ static isValidSchool(school: string): school is Spell['school'];
84
+ /**
85
+ * Check if a number is a valid spell level
86
+ *
87
+ * @param level - The level to check
88
+ * @returns True if it's a valid spell level
89
+ */
90
+ static isValidSpellLevel(level: number): boolean;
91
+ }
92
+ /**
93
+ * Helper function to validate a single spell
94
+ *
95
+ * Convenience function for quick validation.
96
+ *
97
+ * @param spell - The spell to validate
98
+ * @returns Validation result with errors if any
99
+ */
100
+ export declare function validateSpell(spell: unknown): SpellValidationResult;
101
+ /**
102
+ * Helper function to validate an array of spells
103
+ *
104
+ * Convenience function for batch validation.
105
+ *
106
+ * @param spells - Array of spells to validate
107
+ * @returns Validation result with combined errors
108
+ */
109
+ export declare function validateSpells(spells: unknown[]): SpellValidationResult;
110
+ /**
111
+ * Helper function to validate spell prerequisites schema
112
+ *
113
+ * Convenience function for quick validation.
114
+ *
115
+ * @param prerequisites - The prerequisites to validate
116
+ * @returns Validation result with errors if any
117
+ */
118
+ export declare function validateSpellPrerequisitesSchema(prerequisites: unknown): SpellValidationResult;
119
+ /**
120
+ * Helper function to validate spell prerequisites against a character
121
+ *
122
+ * Convenience function for quick validation.
123
+ *
124
+ * @param prerequisites - The spell prerequisites to validate
125
+ * @param character - The character sheet to validate against
126
+ * @returns Validation result with unmet prerequisites if any
127
+ */
128
+ export declare function validateSpellPrerequisites(prerequisites: SpellPrerequisite | undefined, character: CharacterSheet): SpellValidationResult;
129
+ //# sourceMappingURL=SpellValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpellValidator.d.ts","sourceRoot":"","sources":["../../../src/core/spells/SpellValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AA6BrE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,8CAA8C;IAC9C,KAAK,EAAE,OAAO,CAAC;IACf,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,qBAAa,cAAc;IACvB;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB;IAiF3D;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB;IAuB/D;;;;;;;;OAQG;IACH,MAAM,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,GAAG,qBAAqB;IAI3E;;;;;;;;;OASG;IACH,MAAM,CAAC,0BAA0B,CAC7B,aAAa,EAAE,iBAAiB,GAAG,SAAS,EAC5C,SAAS,EAAE,cAAc,GAC1B,qBAAqB;IAIxB;;;;;;;OAOG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,OAAO;IAI1D;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC;IAI/D;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGnD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAEnE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,CAEvE;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,aAAa,EAAE,OAAO,GAAG,qBAAqB,CAE9F;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACtC,aAAa,EAAE,iBAAiB,GAAG,SAAS,EAC5C,SAAS,EAAE,cAAc,GAC1B,qBAAqB,CAEvB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Spells Module
3
+ *
4
+ * Provides spell validation, query, and prerequisite checking functionality.
5
+ */
6
+ export { SpellValidator, validateSpell, validateSpells, validateSpellPrerequisitesSchema, validateSpellPrerequisites } from './SpellValidator.js';
7
+ export { SpellQuery, getSpellQuery } from './SpellQuery.js';
8
+ export type { SpellPrerequisite, Spell, SpellSchool } from './SpellTypes.js';
9
+ export type { RegisteredSpell } from './SpellQuery.js';
10
+ export type { SpellValidationResult } from './SpellValidator.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/spells/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,gCAAgC,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAClJ,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG5D,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7E,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Audio analysis type definitions
3
+ */
4
+ export interface AudioProfile {
5
+ /** Bass dominance (0.0 - 1.0) */
6
+ bass_dominance: number;
7
+ /** Mid-range dominance (0.0 - 1.0) */
8
+ mid_dominance: number;
9
+ /** Treble dominance (0.0 - 1.0) */
10
+ treble_dominance: number;
11
+ /** Average amplitude (0.0 - 1.0) */
12
+ average_amplitude: number;
13
+ /** Advanced metrics (optional) */
14
+ spectral_centroid?: number;
15
+ spectral_rolloff?: number;
16
+ zero_crossing_rate?: number;
17
+ /** Color palette extracted from artwork (optional) */
18
+ color_palette?: ColorPalette;
19
+ /** Analysis metadata */
20
+ analysis_metadata: {
21
+ /** Duration of audio analyzed in seconds */
22
+ duration_analyzed: number;
23
+ /** Whether full buffer was analyzed (true for files < 3s) */
24
+ full_buffer_analyzed: boolean;
25
+ /** Sample positions used (percentages) */
26
+ sample_positions: number[];
27
+ /** Timestamp of analysis */
28
+ analyzed_at: string;
29
+ };
30
+ /** RMS (Root Mean Square) energy (0.0 - 1.0) */
31
+ rms_energy?: number;
32
+ /** Dynamic range (Peak - RMS) (0.0 - 1.0) */
33
+ dynamic_range?: number;
34
+ }
35
+ /**
36
+ * Event in a full timeline analysis
37
+ */
38
+ export interface AudioTimelineEvent {
39
+ timestamp: number;
40
+ duration: number;
41
+ bass: number;
42
+ mid: number;
43
+ treble: number;
44
+ amplitude: number;
45
+ rms_energy: number;
46
+ peak: number;
47
+ dynamic_range: number;
48
+ spectral_centroid: number;
49
+ spectral_rolloff: number;
50
+ zero_crossing_rate: number;
51
+ }
52
+ export interface ColorPalette {
53
+ /** Dominant colors ranked by frequency (hex format) */
54
+ colors: string[];
55
+ /** Primary color (most dominant) */
56
+ primary_color: string;
57
+ /** Secondary color */
58
+ secondary_color?: string;
59
+ /** Accent color */
60
+ accent_color?: string;
61
+ /** Average brightness (0.0 - 1.0) */
62
+ brightness: number;
63
+ /** Average saturation (0.0 - 1.0) */
64
+ saturation: number;
65
+ /** Is the image monochrome? */
66
+ is_monochrome: boolean;
67
+ }
68
+ /**
69
+ * Frequency bands separated from audio analysis
70
+ *
71
+ * Rebalanced v2 ranges prevent treble dominance:
72
+ * - Bass: 20Hz - 400Hz (380 Hz range, 11% of spectrum)
73
+ * - Mid: 400Hz - 4kHz (3,600 Hz range, 52% of spectrum)
74
+ * - Treble: 4kHz - 14kHz (10,000 Hz range, 37% of spectrum)
75
+ *
76
+ * Previous v1 ranges (imbalanced):
77
+ * - Bass: 20Hz - 250Hz (only 3% of spectrum)
78
+ * - Mid: 250Hz - 4kHz (47% of spectrum)
79
+ * - Treble: 4kHz - 20kHz (200% of spectrum!)
80
+ */
81
+ export interface FrequencyBands {
82
+ /** Bass frequencies (20Hz - 400Hz) */
83
+ bass: number[];
84
+ /** Mid frequencies (400Hz - 4kHz) */
85
+ mid: number[];
86
+ /** Treble frequencies (4kHz - 14kHz) */
87
+ treble: number[];
88
+ }
89
+ /**
90
+ * A detected classification tag (genre, mood, etc) with its confidence score
91
+ */
92
+ export interface ClassificationTag {
93
+ /** The name of the tag (e.g. "rock", "happy", "party") */
94
+ name: string;
95
+ /** Confidence score from the ML model (0.0 to 1.0) */
96
+ confidence: number;
97
+ }
98
+ /**
99
+ * Vibe and engagement metrics extracted from audio
100
+ */
101
+ export interface VibeMetrics {
102
+ /** Suitability for dancing (0.0 - 1.0) */
103
+ danceability?: number;
104
+ /** Perceived energy level (0.0 - 1.0) */
105
+ energy?: number;
106
+ /** Emotional positivity/happiness (0.0 - 1.0) */
107
+ valence?: number;
108
+ /** How "catchy" or engaging the track is (0.0 - 1.0) */
109
+ engagement?: number;
110
+ /** Likelihood of being acoustic vs electronic (0.0 - 1.0, >0.5 is more electronic) */
111
+ electronic_probability?: number;
112
+ /** Likelihood of being instrumental vs vocal (0.0 - 1.0, >0.5 is more instrumental) */
113
+ instrumental_probability?: number;
114
+ }
115
+ /**
116
+ * The output profile from the ML-based MusicClassifier
117
+ */
118
+ export interface MusicClassificationProfile {
119
+ /** Top detected genres */
120
+ genres: ClassificationTag[];
121
+ /** Top detected moods and themes */
122
+ moods: ClassificationTag[];
123
+ /** Highest confidence genre */
124
+ primary_genre: string;
125
+ /** Semantic mood tags (highest confidence) */
126
+ mood_tags: string[];
127
+ /** High-level vibe metrics */
128
+ vibe_metrics?: VibeMetrics;
129
+ /** Analysis metadata */
130
+ analysis_metadata: {
131
+ /** ML models used in analysis */
132
+ models_used: string[];
133
+ /** Legacy: The primary model used (first in models_used) */
134
+ model_used?: string;
135
+ /** Legacy: Number of frames processed (usually 0) */
136
+ frames_analyzed?: number;
137
+ /** Duration of audio analyzed in seconds */
138
+ duration_analyzed: number;
139
+ /** Timestamp of analysis */
140
+ analyzed_at: string;
141
+ };
142
+ }
143
+ //# sourceMappingURL=AudioProfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioProfile.d.ts","sourceRoot":"","sources":["../../../src/core/types/AudioProfile.ts"],"names":[],"mappings":"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"}