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.
- package/LICENSE +21 -0
- package/README.md +352 -0
- package/dist/__vite-browser-external-DYxpcVy9.js +4 -0
- package/dist/constants/DefaultClasses.d.ts +46 -0
- package/dist/constants/DefaultClasses.d.ts.map +1 -0
- package/dist/constants/DefaultEnchantments.d.ts +337 -0
- package/dist/constants/DefaultEnchantments.d.ts.map +1 -0
- package/dist/constants/DefaultEnemies.d.ts +83 -0
- package/dist/constants/DefaultEnemies.d.ts.map +1 -0
- package/dist/constants/DefaultEquipment.d.ts +23 -0
- package/dist/constants/DefaultEquipment.d.ts.map +1 -0
- package/dist/constants/DefaultFeatures.d.ts +22 -0
- package/dist/constants/DefaultFeatures.d.ts.map +1 -0
- package/dist/constants/DefaultRaces.d.ts +102 -0
- package/dist/constants/DefaultRaces.d.ts.map +1 -0
- package/dist/constants/DefaultSkills.d.ts +26 -0
- package/dist/constants/DefaultSkills.d.ts.map +1 -0
- package/dist/constants/DefaultSpells.d.ts +41 -0
- package/dist/constants/DefaultSpells.d.ts.map +1 -0
- package/dist/constants/EncounterBalance.d.ts +208 -0
- package/dist/constants/EncounterBalance.d.ts.map +1 -0
- package/dist/constants/EnemyEquipment.d.ts +71 -0
- package/dist/constants/EnemyEquipment.d.ts.map +1 -0
- package/dist/constants/EnemyRarity.d.ts +79 -0
- package/dist/constants/EnemyRarity.d.ts.map +1 -0
- package/dist/constants/EnemyTemplates/Construct.d.ts +63 -0
- package/dist/constants/EnemyTemplates/Construct.d.ts.map +1 -0
- package/dist/constants/EnemyTemplates/Dragon.d.ts +68 -0
- package/dist/constants/EnemyTemplates/Dragon.d.ts.map +1 -0
- package/dist/constants/EnemyTemplates/Elemental.d.ts +64 -0
- package/dist/constants/EnemyTemplates/Elemental.d.ts.map +1 -0
- package/dist/constants/EnemyTemplates/Fiend.d.ts +62 -0
- package/dist/constants/EnemyTemplates/Fiend.d.ts.map +1 -0
- package/dist/constants/EnemyTemplates/Monstrosity.d.ts +63 -0
- package/dist/constants/EnemyTemplates/Monstrosity.d.ts.map +1 -0
- package/dist/constants/EnemyTemplates/Undead.d.ts +61 -0
- package/dist/constants/EnemyTemplates/Undead.d.ts.map +1 -0
- package/dist/constants/ItemTemplates.d.ts +40 -0
- package/dist/constants/ItemTemplates.d.ts.map +1 -0
- package/dist/constants/MagicItems.d.ts +30 -0
- package/dist/constants/MagicItems.d.ts.map +1 -0
- package/dist/constants/SpellSlots.d.ts +30 -0
- package/dist/constants/SpellSlots.d.ts.map +1 -0
- package/dist/constants/StatScaling.d.ts +113 -0
- package/dist/constants/StatScaling.d.ts.map +1 -0
- package/dist/core/analysis/AudioAnalyzer.d.ts +599 -0
- package/dist/core/analysis/AudioAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/ColorExtractor.d.ts +64 -0
- package/dist/core/analysis/ColorExtractor.d.ts.map +1 -0
- package/dist/core/analysis/EssentiaPitchDetector.d.ts +282 -0
- package/dist/core/analysis/EssentiaPitchDetector.d.ts.map +1 -0
- package/dist/core/analysis/LevelSerializer.d.ts +265 -0
- package/dist/core/analysis/LevelSerializer.d.ts.map +1 -0
- package/dist/core/analysis/MelodyContourAnalyzer.d.ts +283 -0
- package/dist/core/analysis/MelodyContourAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/MultiBandAnalyzer.d.ts +214 -0
- package/dist/core/analysis/MultiBandAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/MusicClassifier.d.ts +524 -0
- package/dist/core/analysis/MusicClassifier.d.ts.map +1 -0
- package/dist/core/analysis/PitchAnalyzer.d.ts +266 -0
- package/dist/core/analysis/PitchAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/PitchDetector.d.ts +251 -0
- package/dist/core/analysis/PitchDetector.d.ts.map +1 -0
- package/dist/core/analysis/SpectrumScanner.d.ts +52 -0
- package/dist/core/analysis/SpectrumScanner.d.ts.map +1 -0
- package/dist/core/analysis/beat/BeatInterpolator.d.ts +477 -0
- package/dist/core/analysis/beat/BeatInterpolator.d.ts.map +1 -0
- package/dist/core/analysis/beat/BeatMapGenerator.d.ts +170 -0
- package/dist/core/analysis/beat/BeatMapGenerator.d.ts.map +1 -0
- package/dist/core/analysis/beat/BeatStream.d.ts +316 -0
- package/dist/core/analysis/beat/BeatStream.d.ts.map +1 -0
- package/dist/core/analysis/beat/BeatSubdivider.d.ts +205 -0
- package/dist/core/analysis/beat/BeatSubdivider.d.ts.map +1 -0
- package/dist/core/analysis/beat/BeatTracker.d.ts +137 -0
- package/dist/core/analysis/beat/BeatTracker.d.ts.map +1 -0
- package/dist/core/analysis/beat/CompositeStreamGenerator.d.ts +180 -0
- package/dist/core/analysis/beat/CompositeStreamGenerator.d.ts.map +1 -0
- package/dist/core/analysis/beat/DensityAnalyzer.d.ts +246 -0
- package/dist/core/analysis/beat/DensityAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/beat/DifficultyVariantGenerator.d.ts +1082 -0
- package/dist/core/analysis/beat/DifficultyVariantGenerator.d.ts.map +1 -0
- package/dist/core/analysis/beat/GrooveAnalyzer.d.ts +192 -0
- package/dist/core/analysis/beat/GrooveAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/beat/OnsetStrengthEnvelope.d.ts +133 -0
- package/dist/core/analysis/beat/OnsetStrengthEnvelope.d.ts.map +1 -0
- package/dist/core/analysis/beat/PhraseAnalyzer.d.ts +230 -0
- package/dist/core/analysis/beat/PhraseAnalyzer.d.ts.map +1 -0
- package/dist/core/analysis/beat/RhythmQuantizer.d.ts +399 -0
- package/dist/core/analysis/beat/RhythmQuantizer.d.ts.map +1 -0
- package/dist/core/analysis/beat/RhythmicBalancer.d.ts +262 -0
- package/dist/core/analysis/beat/RhythmicBalancer.d.ts.map +1 -0
- package/dist/core/analysis/beat/StreamScorer.d.ts +275 -0
- package/dist/core/analysis/beat/StreamScorer.d.ts.map +1 -0
- package/dist/core/analysis/beat/TempoAwareQuantizer.d.ts +256 -0
- package/dist/core/analysis/beat/TempoAwareQuantizer.d.ts.map +1 -0
- package/dist/core/analysis/beat/TempoDetector.d.ts +220 -0
- package/dist/core/analysis/beat/TempoDetector.d.ts.map +1 -0
- package/dist/core/analysis/beat/TransientDetector.d.ts +303 -0
- package/dist/core/analysis/beat/TransientDetector.d.ts.map +1 -0
- package/dist/core/analysis/beat/beatKeyHelpers.d.ts +180 -0
- package/dist/core/analysis/beat/beatKeyHelpers.d.ts.map +1 -0
- package/dist/core/analysis/beat/index.d.ts +41 -0
- package/dist/core/analysis/beat/index.d.ts.map +1 -0
- package/dist/core/analysis/beat/utils/audioUtils.d.ts +204 -0
- package/dist/core/analysis/beat/utils/audioUtils.d.ts.map +1 -0
- package/dist/core/analysis/beat/utils/beatInterpolationDebug.d.ts +404 -0
- package/dist/core/analysis/beat/utils/beatInterpolationDebug.d.ts.map +1 -0
- package/dist/core/analysis/beat/utils/subdivideBeatMap.d.ts +61 -0
- package/dist/core/analysis/beat/utils/subdivideBeatMap.d.ts.map +1 -0
- package/dist/core/analysis/beat/utils/unifyBeatMap.d.ts +33 -0
- package/dist/core/analysis/beat/utils/unifyBeatMap.d.ts.map +1 -0
- package/dist/core/analysis/index.d.ts +18 -0
- package/dist/core/analysis/index.d.ts.map +1 -0
- package/dist/core/combat/AI/AICombatRunner.d.ts +108 -0
- package/dist/core/combat/AI/AICombatRunner.d.ts.map +1 -0
- package/dist/core/combat/AI/CombatAI.d.ts +179 -0
- package/dist/core/combat/AI/CombatAI.d.ts.map +1 -0
- package/dist/core/combat/AI/CombatMetricsTracker.d.ts +30 -0
- package/dist/core/combat/AI/CombatMetricsTracker.d.ts.map +1 -0
- package/dist/core/combat/Analysis/BalanceValidator.d.ts +170 -0
- package/dist/core/combat/Analysis/BalanceValidator.d.ts.map +1 -0
- package/dist/core/combat/Analysis/ComparativeAnalyzer.d.ts +231 -0
- package/dist/core/combat/Analysis/ComparativeAnalyzer.d.ts.map +1 -0
- package/dist/core/combat/Analysis/DifficultyCalculator.d.ts +203 -0
- package/dist/core/combat/Analysis/DifficultyCalculator.d.ts.map +1 -0
- package/dist/core/combat/Analysis/ParameterSweep.d.ts +201 -0
- package/dist/core/combat/Analysis/ParameterSweep.d.ts.map +1 -0
- package/dist/core/combat/AttackResolver.d.ts +220 -0
- package/dist/core/combat/AttackResolver.d.ts.map +1 -0
- package/dist/core/combat/CombatEngine.d.ts +388 -0
- package/dist/core/combat/CombatEngine.d.ts.map +1 -0
- package/dist/core/combat/DiceRoller.d.ts +115 -0
- package/dist/core/combat/DiceRoller.d.ts.map +1 -0
- package/dist/core/combat/InitiativeRoller.d.ts +62 -0
- package/dist/core/combat/InitiativeRoller.d.ts.map +1 -0
- package/dist/core/combat/PartyAnalyzer.d.ts +215 -0
- package/dist/core/combat/PartyAnalyzer.d.ts.map +1 -0
- package/dist/core/combat/SeededDiceRoller.d.ts +120 -0
- package/dist/core/combat/SeededDiceRoller.d.ts.map +1 -0
- package/dist/core/combat/Simulation/CombatSimulator.d.ts +366 -0
- package/dist/core/combat/Simulation/CombatSimulator.d.ts.map +1 -0
- package/dist/core/combat/SpellCaster.d.ts +113 -0
- package/dist/core/combat/SpellCaster.d.ts.map +1 -0
- package/dist/core/config/index.d.ts +24 -0
- package/dist/core/config/index.d.ts.map +1 -0
- package/dist/core/config/progressionConfig.d.ts +73 -0
- package/dist/core/config/progressionConfig.d.ts.map +1 -0
- package/dist/core/config/sensorConfig.d.ts +134 -0
- package/dist/core/config/sensorConfig.d.ts.map +1 -0
- package/dist/core/equipment/BoxOpener.d.ts +175 -0
- package/dist/core/equipment/BoxOpener.d.ts.map +1 -0
- package/dist/core/equipment/EquipmentEffectApplier.d.ts +189 -0
- package/dist/core/equipment/EquipmentEffectApplier.d.ts.map +1 -0
- package/dist/core/equipment/EquipmentModifier.d.ts +327 -0
- package/dist/core/equipment/EquipmentModifier.d.ts.map +1 -0
- package/dist/core/equipment/EquipmentSpawnHelper.d.ts +246 -0
- package/dist/core/equipment/EquipmentSpawnHelper.d.ts.map +1 -0
- package/dist/core/equipment/EquipmentValidator.d.ts +173 -0
- package/dist/core/equipment/EquipmentValidator.d.ts.map +1 -0
- package/dist/core/extensions/ExtensionManager.d.ts +517 -0
- package/dist/core/extensions/ExtensionManager.d.ts.map +1 -0
- package/dist/core/extensions/WeightedSelector.d.ts +156 -0
- package/dist/core/extensions/WeightedSelector.d.ts.map +1 -0
- package/dist/core/extensions/index.d.ts +11 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/initializeDefaults.d.ts +170 -0
- package/dist/core/extensions/initializeDefaults.d.ts.map +1 -0
- package/dist/core/features/FeatureEffectApplier.d.ts +102 -0
- package/dist/core/features/FeatureEffectApplier.d.ts.map +1 -0
- package/dist/core/features/FeatureQuery.d.ts +368 -0
- package/dist/core/features/FeatureQuery.d.ts.map +1 -0
- package/dist/core/features/FeatureTypes.d.ts +199 -0
- package/dist/core/features/FeatureTypes.d.ts.map +1 -0
- package/dist/core/features/FeatureValidator.d.ts +149 -0
- package/dist/core/features/FeatureValidator.d.ts.map +1 -0
- package/dist/core/features/index.d.ts +12 -0
- package/dist/core/features/index.d.ts.map +1 -0
- package/dist/core/generation/AbilityScoreCalculator.d.ts +83 -0
- package/dist/core/generation/AbilityScoreCalculator.d.ts.map +1 -0
- package/dist/core/generation/AppearanceGenerator.d.ts +32 -0
- package/dist/core/generation/AppearanceGenerator.d.ts.map +1 -0
- package/dist/core/generation/BeatConverter.d.ts +127 -0
- package/dist/core/generation/BeatConverter.d.ts.map +1 -0
- package/dist/core/generation/ButtonMapper.d.ts +346 -0
- package/dist/core/generation/ButtonMapper.d.ts.map +1 -0
- package/dist/core/generation/ButtonPatternLibrary.d.ts +92 -0
- package/dist/core/generation/ButtonPatternLibrary.d.ts.map +1 -0
- package/dist/core/generation/CRLevelConverter.d.ts +242 -0
- package/dist/core/generation/CRLevelConverter.d.ts.map +1 -0
- package/dist/core/generation/CharacterGenerator.d.ts +194 -0
- package/dist/core/generation/CharacterGenerator.d.ts.map +1 -0
- package/dist/core/generation/ClassSuggester.d.ts +184 -0
- package/dist/core/generation/ClassSuggester.d.ts.map +1 -0
- package/dist/core/generation/EnemyEquipmentGenerator.d.ts +151 -0
- package/dist/core/generation/EnemyEquipmentGenerator.d.ts.map +1 -0
- package/dist/core/generation/EnemyGenerator.d.ts +595 -0
- package/dist/core/generation/EnemyGenerator.d.ts.map +1 -0
- package/dist/core/generation/EquipmentGenerator.d.ts +204 -0
- package/dist/core/generation/EquipmentGenerator.d.ts.map +1 -0
- package/dist/core/generation/LegendaryGenerator.d.ts +213 -0
- package/dist/core/generation/LegendaryGenerator.d.ts.map +1 -0
- package/dist/core/generation/LevelGenerator.d.ts +390 -0
- package/dist/core/generation/LevelGenerator.d.ts.map +1 -0
- package/dist/core/generation/NamingEngine.d.ts +136 -0
- package/dist/core/generation/NamingEngine.d.ts.map +1 -0
- package/dist/core/generation/PitchBeatLinker.d.ts +150 -0
- package/dist/core/generation/PitchBeatLinker.d.ts.map +1 -0
- package/dist/core/generation/RaceSelector.d.ts +58 -0
- package/dist/core/generation/RaceSelector.d.ts.map +1 -0
- package/dist/core/generation/RhythmGenerator.d.ts +597 -0
- package/dist/core/generation/RhythmGenerator.d.ts.map +1 -0
- package/dist/core/generation/SkillAssigner.d.ts +78 -0
- package/dist/core/generation/SkillAssigner.d.ts.map +1 -0
- package/dist/core/generation/SpellManager.d.ts +132 -0
- package/dist/core/generation/SpellManager.d.ts.map +1 -0
- package/dist/core/generation/SpellcastingGenerator.d.ts +255 -0
- package/dist/core/generation/SpellcastingGenerator.d.ts.map +1 -0
- package/dist/core/generation/index.d.ts +41 -0
- package/dist/core/generation/index.d.ts.map +1 -0
- package/dist/core/parser/MetadataExtractor.d.ts +66 -0
- package/dist/core/parser/MetadataExtractor.d.ts.map +1 -0
- package/dist/core/parser/PlaylistParser.d.ts +45 -0
- package/dist/core/parser/PlaylistParser.d.ts.map +1 -0
- package/dist/core/playback/SubdivisionPlaybackController.d.ts +333 -0
- package/dist/core/playback/SubdivisionPlaybackController.d.ts.map +1 -0
- package/dist/core/playback/index.d.ts +5 -0
- package/dist/core/playback/index.d.ts.map +1 -0
- package/dist/core/progression/CharacterUpdater.d.ts +203 -0
- package/dist/core/progression/CharacterUpdater.d.ts.map +1 -0
- package/dist/core/progression/LevelUpProcessor.d.ts +234 -0
- package/dist/core/progression/LevelUpProcessor.d.ts.map +1 -0
- package/dist/core/progression/PrestigeSystem.d.ts +217 -0
- package/dist/core/progression/PrestigeSystem.d.ts.map +1 -0
- package/dist/core/progression/RhythmXPCalculator.d.ts +182 -0
- package/dist/core/progression/RhythmXPCalculator.d.ts.map +1 -0
- package/dist/core/progression/SessionTracker.d.ts +169 -0
- package/dist/core/progression/SessionTracker.d.ts.map +1 -0
- package/dist/core/progression/XPCalculator.d.ts +128 -0
- package/dist/core/progression/XPCalculator.d.ts.map +1 -0
- package/dist/core/progression/stat/StatIncreaseStrategy.d.ts +97 -0
- package/dist/core/progression/stat/StatIncreaseStrategy.d.ts.map +1 -0
- package/dist/core/progression/stat/StatManager.d.ts +179 -0
- package/dist/core/progression/stat/StatManager.d.ts.map +1 -0
- package/dist/core/sensors/EnvironmentalSensors.d.ts +301 -0
- package/dist/core/sensors/EnvironmentalSensors.d.ts.map +1 -0
- package/dist/core/sensors/GamingPlatformSensors.d.ts +162 -0
- package/dist/core/sensors/GamingPlatformSensors.d.ts.map +1 -0
- package/dist/core/sensors/GeolocationProvider.d.ts +156 -0
- package/dist/core/sensors/GeolocationProvider.d.ts.map +1 -0
- package/dist/core/sensors/MotionDetector.d.ts +58 -0
- package/dist/core/sensors/MotionDetector.d.ts.map +1 -0
- package/dist/core/sensors/SteamAPIClient.d.ts +108 -0
- package/dist/core/sensors/SteamAPIClient.d.ts.map +1 -0
- package/dist/core/sensors/WeatherAPIClient.d.ts +360 -0
- package/dist/core/sensors/WeatherAPIClient.d.ts.map +1 -0
- package/dist/core/sensors/schemas/weather.schema.d.ts +144 -0
- package/dist/core/sensors/schemas/weather.schema.d.ts.map +1 -0
- package/dist/core/skills/SkillQuery.d.ts +159 -0
- package/dist/core/skills/SkillQuery.d.ts.map +1 -0
- package/dist/core/skills/SkillTypes.d.ts +233 -0
- package/dist/core/skills/SkillTypes.d.ts.map +1 -0
- package/dist/core/skills/SkillValidator.d.ts +146 -0
- package/dist/core/skills/SkillValidator.d.ts.map +1 -0
- package/dist/core/skills/index.d.ts +11 -0
- package/dist/core/skills/index.d.ts.map +1 -0
- package/dist/core/spells/SpellQuery.d.ts +194 -0
- package/dist/core/spells/SpellQuery.d.ts.map +1 -0
- package/dist/core/spells/SpellTypes.d.ts +71 -0
- package/dist/core/spells/SpellTypes.d.ts.map +1 -0
- package/dist/core/spells/SpellValidator.d.ts +129 -0
- package/dist/core/spells/SpellValidator.d.ts.map +1 -0
- package/dist/core/spells/index.d.ts +11 -0
- package/dist/core/spells/index.d.ts.map +1 -0
- package/dist/core/types/AudioProfile.d.ts +143 -0
- package/dist/core/types/AudioProfile.d.ts.map +1 -0
- package/dist/core/types/BeatMap.d.ts +1825 -0
- package/dist/core/types/BeatMap.d.ts.map +1 -0
- package/dist/core/types/ButtonMapping.d.ts +345 -0
- package/dist/core/types/ButtonMapping.d.ts.map +1 -0
- package/dist/core/types/Character.d.ts +397 -0
- package/dist/core/types/Character.d.ts.map +1 -0
- package/dist/core/types/ChartedBeatMap.d.ts +169 -0
- package/dist/core/types/ChartedBeatMap.d.ts.map +1 -0
- package/dist/core/types/Combat.d.ts +268 -0
- package/dist/core/types/Combat.d.ts.map +1 -0
- package/dist/core/types/CombatAI.d.ts +143 -0
- package/dist/core/types/CombatAI.d.ts.map +1 -0
- package/dist/core/types/Enemy.d.ts +447 -0
- package/dist/core/types/Enemy.d.ts.map +1 -0
- package/dist/core/types/Environmental.d.ts +213 -0
- package/dist/core/types/Environmental.d.ts.map +1 -0
- package/dist/core/types/Equipment.d.ts +309 -0
- package/dist/core/types/Equipment.d.ts.map +1 -0
- package/dist/core/types/ISessionTracker.d.ts +48 -0
- package/dist/core/types/ISessionTracker.d.ts.map +1 -0
- package/dist/core/types/LevelExport.d.ts +366 -0
- package/dist/core/types/LevelExport.d.ts.map +1 -0
- package/dist/core/types/Playlist.d.ts +70 -0
- package/dist/core/types/Playlist.d.ts.map +1 -0
- package/dist/core/types/Prestige.d.ts +94 -0
- package/dist/core/types/Prestige.d.ts.map +1 -0
- package/dist/core/types/Progression.d.ts +214 -0
- package/dist/core/types/Progression.d.ts.map +1 -0
- package/dist/core/types/RhythmXP.d.ts +398 -0
- package/dist/core/types/RhythmXP.d.ts.map +1 -0
- package/dist/core/utils/AbilityConstants.d.ts +31 -0
- package/dist/core/utils/AbilityConstants.d.ts.map +1 -0
- package/dist/core/utils/EffectApplierUtils.d.ts +56 -0
- package/dist/core/utils/EffectApplierUtils.d.ts.map +1 -0
- package/dist/core/utils/ImageValidator.d.ts +66 -0
- package/dist/core/utils/ImageValidator.d.ts.map +1 -0
- package/dist/core/utils/PrerequisiteValidator.d.ts +88 -0
- package/dist/core/utils/PrerequisiteValidator.d.ts.map +1 -0
- package/dist/essentia-wasm.es-BUEnKUts.js +2990 -0
- package/dist/essentia.js-model.es-CGA0xotH.js +306 -0
- package/dist/index.d.ts +176 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/playlist-data-engine.js +124 -0
- package/dist/playlist-data-engine.mjs +49251 -0
- package/dist/utils/EnchantmentLibrary.d.ts +378 -0
- package/dist/utils/EnchantmentLibrary.d.ts.map +1 -0
- package/dist/utils/arweaveGatewayManager.d.ts +485 -0
- package/dist/utils/arweaveGatewayManager.d.ts.map +1 -0
- package/dist/utils/arweaveUtils.d.ts +118 -0
- package/dist/utils/arweaveUtils.d.ts.map +1 -0
- package/dist/utils/constants.d.ts +439 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/equipmentConstants.d.ts +60 -0
- package/dist/utils/equipmentConstants.d.ts.map +1 -0
- package/dist/utils/hash.d.ts +33 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +192 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/magicItemExamples.d.ts +46 -0
- package/dist/utils/magicItemExamples.d.ts.map +1 -0
- package/dist/utils/playlistUtils.d.ts +149 -0
- package/dist/utils/playlistUtils.d.ts.map +1 -0
- package/dist/utils/random.d.ts +34 -0
- package/dist/utils/random.d.ts.map +1 -0
- package/dist/utils/sensorDashboard.d.ts +60 -0
- package/dist/utils/sensorDashboard.d.ts.map +1 -0
- package/dist/utils/validators.d.ts +189 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/vite.svg +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized logging utility with consistent log levels
|
|
3
|
+
*
|
|
4
|
+
* Log Levels (in order of verbosity):
|
|
5
|
+
* - DEBUG: Detailed debugging information
|
|
6
|
+
* - INFO: General operational information
|
|
7
|
+
* - WARN: Warning conditions that should be addressed
|
|
8
|
+
* - ERROR: Error conditions that need attention
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { Logger, LogLevel } from '../utils/logger.js';
|
|
13
|
+
*
|
|
14
|
+
* // Create a named logger
|
|
15
|
+
* const logger = Logger.for('WeatherAPIClient');
|
|
16
|
+
*
|
|
17
|
+
* // Log at different levels
|
|
18
|
+
* logger.debug('Fetching weather data', { lat: 45.5, lon: -122.6 });
|
|
19
|
+
* logger.info('Weather data cached');
|
|
20
|
+
* logger.warn('API rate limit approaching');
|
|
21
|
+
* logger.error('Failed to fetch weather', error);
|
|
22
|
+
*
|
|
23
|
+
* // Control verbosity
|
|
24
|
+
* Logger.setLevel(LogLevel.WARN); // Only show WARN and ERROR
|
|
25
|
+
* Logger.enableVerbose(); // Enable all debug output
|
|
26
|
+
* Logger.setVerbose(true); // Same as enableVerbose()
|
|
27
|
+
* Logger.isVerbose(); // Check verbose state
|
|
28
|
+
* Logger.disableVerbose(); // Reset to default (INFO)
|
|
29
|
+
*
|
|
30
|
+
* // Diagnostic mode (for troubleshooting)
|
|
31
|
+
* Logger.enableDiagnosticMode(); // Maximum verbosity for debugging
|
|
32
|
+
* Logger.isDiagnosticMode(); // Check diagnostic state
|
|
33
|
+
* Logger.disableDiagnosticMode(); // Reset to default
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
/**
|
|
37
|
+
* Log level enum - determines which messages are displayed
|
|
38
|
+
*/
|
|
39
|
+
export declare enum LogLevel {
|
|
40
|
+
DEBUG = 0,
|
|
41
|
+
INFO = 1,
|
|
42
|
+
WARN = 2,
|
|
43
|
+
ERROR = 3,
|
|
44
|
+
NONE = 4
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Log entry structure
|
|
48
|
+
*/
|
|
49
|
+
export interface LogEntry {
|
|
50
|
+
timestamp: Date;
|
|
51
|
+
level: LogLevel;
|
|
52
|
+
context: string;
|
|
53
|
+
message: string;
|
|
54
|
+
data?: unknown;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Logger configuration options
|
|
58
|
+
*/
|
|
59
|
+
export interface LoggerConfig {
|
|
60
|
+
/** Minimum log level to display (default: INFO in production, DEBUG in development) */
|
|
61
|
+
level?: LogLevel;
|
|
62
|
+
/** Include timestamp in output (default: true) */
|
|
63
|
+
includeTimestamp?: boolean;
|
|
64
|
+
/** Include context prefix [ClassName] (default: true) */
|
|
65
|
+
includeContext?: boolean;
|
|
66
|
+
/** Custom log handler for testing or external logging systems */
|
|
67
|
+
customHandler?: (entry: LogEntry) => void;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Logger class providing consistent logging across all modules
|
|
71
|
+
*/
|
|
72
|
+
export declare class Logger {
|
|
73
|
+
private context;
|
|
74
|
+
/**
|
|
75
|
+
* Create a logger instance with a specific context (usually the class/module name)
|
|
76
|
+
* @param context - The context name to prefix log messages (e.g., 'WeatherAPIClient')
|
|
77
|
+
*/
|
|
78
|
+
private constructor();
|
|
79
|
+
/**
|
|
80
|
+
* Create a named logger for a specific class or module
|
|
81
|
+
* @param context - The context name (e.g., 'WeatherAPIClient', 'EnvironmentalSensors')
|
|
82
|
+
* @returns A Logger instance configured with the given context
|
|
83
|
+
*/
|
|
84
|
+
static for(context: string): Logger;
|
|
85
|
+
/**
|
|
86
|
+
* Enable diagnostic mode
|
|
87
|
+
* Sets log level to DEBUG for maximum verbosity
|
|
88
|
+
*/
|
|
89
|
+
static enableDiagnosticMode(): void;
|
|
90
|
+
/**
|
|
91
|
+
* Disable diagnostic mode
|
|
92
|
+
* Resets log level to INFO
|
|
93
|
+
*/
|
|
94
|
+
static disableDiagnosticMode(): void;
|
|
95
|
+
/**
|
|
96
|
+
* Check if diagnostic mode is enabled
|
|
97
|
+
* @returns True if diagnostic mode is active
|
|
98
|
+
*/
|
|
99
|
+
static isDiagnosticMode(): boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Enable verbose logging mode
|
|
102
|
+
* Sets log level to DEBUG for increased output verbosity
|
|
103
|
+
* This is a convenience method equivalent to Logger.setLevel(LogLevel.DEBUG)
|
|
104
|
+
* @example
|
|
105
|
+
* Logger.enableVerbose();
|
|
106
|
+
* // All debug messages will now be logged
|
|
107
|
+
*/
|
|
108
|
+
static enableVerbose(): void;
|
|
109
|
+
/**
|
|
110
|
+
* Disable verbose logging mode
|
|
111
|
+
* Resets log level to INFO (default)
|
|
112
|
+
* @example
|
|
113
|
+
* Logger.disableVerbose();
|
|
114
|
+
* // Only INFO and above will be logged
|
|
115
|
+
*/
|
|
116
|
+
static disableVerbose(): void;
|
|
117
|
+
/**
|
|
118
|
+
* Check if verbose mode is enabled
|
|
119
|
+
* @returns True if verbose mode is active
|
|
120
|
+
*/
|
|
121
|
+
static isVerbose(): boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Set verbose mode on or off
|
|
124
|
+
* @param enabled - Whether to enable verbose logging
|
|
125
|
+
* @example
|
|
126
|
+
* Logger.setVerbose(true); // Enable verbose logging
|
|
127
|
+
* Logger.setVerbose(false); // Disable verbose logging
|
|
128
|
+
*/
|
|
129
|
+
static setVerbose(enabled: boolean): void;
|
|
130
|
+
/**
|
|
131
|
+
* Set the global log level
|
|
132
|
+
* @param level - The minimum log level to display
|
|
133
|
+
*/
|
|
134
|
+
static setLevel(level: LogLevel): void;
|
|
135
|
+
/**
|
|
136
|
+
* Get the current global log level
|
|
137
|
+
* @returns The current log level
|
|
138
|
+
*/
|
|
139
|
+
static getLevel(): LogLevel;
|
|
140
|
+
/**
|
|
141
|
+
* Configure the logger globally
|
|
142
|
+
* @param config - Logger configuration options
|
|
143
|
+
*/
|
|
144
|
+
static configure(config: LoggerConfig): void;
|
|
145
|
+
/**
|
|
146
|
+
* Reset logger to default configuration
|
|
147
|
+
*/
|
|
148
|
+
static reset(): void;
|
|
149
|
+
/**
|
|
150
|
+
* Log a debug message (most verbose)
|
|
151
|
+
* @param message - The log message
|
|
152
|
+
* @param data - Optional data to include
|
|
153
|
+
*/
|
|
154
|
+
debug(message: string, data?: unknown): void;
|
|
155
|
+
/**
|
|
156
|
+
* Log an info message (general operational info)
|
|
157
|
+
* @param message - The log message
|
|
158
|
+
* @param data - Optional data to include
|
|
159
|
+
*/
|
|
160
|
+
info(message: string, data?: unknown): void;
|
|
161
|
+
/**
|
|
162
|
+
* Log a warning message (potential issues)
|
|
163
|
+
* @param message - The log message
|
|
164
|
+
* @param data - Optional data to include
|
|
165
|
+
*/
|
|
166
|
+
warn(message: string, data?: unknown): void;
|
|
167
|
+
/**
|
|
168
|
+
* Log an error message (errors that need attention)
|
|
169
|
+
* @param message - The log message
|
|
170
|
+
* @param data - Optional error or data to include
|
|
171
|
+
*/
|
|
172
|
+
error(message: string, data?: unknown): void;
|
|
173
|
+
/**
|
|
174
|
+
* Internal logging method
|
|
175
|
+
*/
|
|
176
|
+
private log;
|
|
177
|
+
/**
|
|
178
|
+
* Format a log entry into a string
|
|
179
|
+
*/
|
|
180
|
+
private formatMessage;
|
|
181
|
+
/**
|
|
182
|
+
* Format a timestamp for log output
|
|
183
|
+
*/
|
|
184
|
+
private formatTimestamp;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Convenience function to create a logger without calling Logger.for()
|
|
188
|
+
* @param context - The context name
|
|
189
|
+
* @returns A Logger instance
|
|
190
|
+
*/
|
|
191
|
+
export declare function createLogger(context: string): Logger;
|
|
192
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH;;GAEG;AACH,oBAAY,QAAQ;IAChB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,IAAI,IAAI;CACX;AAaD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,uFAAuF;IACvF,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yDAAyD;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iEAAiE;IACjE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C;AAuBD;;GAEG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,OAAO,CAAS;IAExB;;;OAGG;IACH,OAAO;IAIP;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAInC;;;OAGG;IACH,MAAM,CAAC,oBAAoB,IAAI,IAAI;IAKnC;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,IAAI;IAKpC;;;OAGG;IACH,MAAM,CAAC,gBAAgB,IAAI,OAAO;IAIlC;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAK5B;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,IAAI,IAAI;IAK7B;;;OAGG;IACH,MAAM,CAAC,SAAS,IAAI,OAAO;IAI3B;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKzC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAItC;;;OAGG;IACH,MAAM,CAAC,QAAQ,IAAI,QAAQ;IAI3B;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAe5C;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IASpB;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5C;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI3C;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI3C;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5C;;OAEG;IACH,OAAO,CAAC,GAAG;IAwDX;;OAEG;IACH,OAAO,CAAC,aAAa;IAsBrB;;OAEG;IACH,OAAO,CAAC,eAAe;CAO1B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Magic Item Helper Functions
|
|
3
|
+
*
|
|
4
|
+
* This file provides helper functions for working with magic items.
|
|
5
|
+
*
|
|
6
|
+
* For the magic items collection, import MAGIC_ITEMS from '../constants/MagicItems.js'
|
|
7
|
+
* For the templates collection, import ITEM_CREATION_TEMPLATES from '../constants/ItemTemplates.js'
|
|
8
|
+
*
|
|
9
|
+
* Helper Functions:
|
|
10
|
+
* - getMagicItem(name) - Get a specific magic item by name
|
|
11
|
+
* - getMagicItemsByType(type) - Get all items of a specific type (weapon/armor/item)
|
|
12
|
+
* - getMagicItemsByRarity(rarity) - Get all items of a specific rarity
|
|
13
|
+
* - getCursedItems() - Get all cursed items
|
|
14
|
+
* - getItemsWithProperty(propertyType) - Get all items with a specific property type
|
|
15
|
+
* - applyTemplate(baseEquipment, templateId) - Apply a template to base equipment
|
|
16
|
+
*
|
|
17
|
+
* @module utils/magicItemExamples
|
|
18
|
+
*/
|
|
19
|
+
import type { EnhancedEquipment } from '../core/types/Equipment.js';
|
|
20
|
+
import { MAGIC_ITEMS } from '../constants/MagicItems.js';
|
|
21
|
+
/**
|
|
22
|
+
* Helper function to get magic item by name
|
|
23
|
+
*/
|
|
24
|
+
export declare function getMagicItem(name: string): EnhancedEquipment | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Helper function to get all items of a specific type
|
|
27
|
+
*/
|
|
28
|
+
export declare function getMagicItemsByType(type: 'weapon' | 'armor' | 'item'): EnhancedEquipment[];
|
|
29
|
+
/**
|
|
30
|
+
* Helper function to get all items of a specific rarity
|
|
31
|
+
*/
|
|
32
|
+
export declare function getMagicItemsByRarity(rarity: 'common' | 'uncommon' | 'rare' | 'very_rare' | 'legendary'): EnhancedEquipment[];
|
|
33
|
+
/**
|
|
34
|
+
* Helper function to get all cursed items
|
|
35
|
+
*/
|
|
36
|
+
export declare function getCursedItems(): EnhancedEquipment[];
|
|
37
|
+
/**
|
|
38
|
+
* Helper function to get all items with a specific property type
|
|
39
|
+
*/
|
|
40
|
+
export declare function getItemsWithProperty(propertyType: string): EnhancedEquipment[];
|
|
41
|
+
/**
|
|
42
|
+
* Helper function to apply a template to base equipment
|
|
43
|
+
*/
|
|
44
|
+
export declare function applyTemplate(baseEquipment: EnhancedEquipment, templateId: string): EnhancedEquipment | null;
|
|
45
|
+
export default MAGIC_ITEMS;
|
|
46
|
+
//# sourceMappingURL=magicItemExamples.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magicItemExamples.d.ts","sourceRoot":"","sources":["../../src/utils/magicItemExamples.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAExE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,iBAAiB,EAAE,CAE1F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,iBAAiB,EAAE,CAE7H;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,iBAAiB,EAAE,CAEpD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAI9E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAoB5G;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple playlist utility functions for quick data extraction
|
|
3
|
+
* "No nonsense" functions that return arrays of basic data from playlists
|
|
4
|
+
*/
|
|
5
|
+
import type { ServerlessPlaylist, RawArweavePlaylist } from '../core/types/Playlist.js';
|
|
6
|
+
/** Input type that accepts both parsed and raw playlists */
|
|
7
|
+
export type PlaylistInput = ServerlessPlaylist | RawArweavePlaylist;
|
|
8
|
+
/** Simplified track object for getTracks() */
|
|
9
|
+
export interface SimpleTrack {
|
|
10
|
+
title: string;
|
|
11
|
+
artist: string;
|
|
12
|
+
audio_url: string;
|
|
13
|
+
audio_url_lossless?: string;
|
|
14
|
+
image_url: string;
|
|
15
|
+
image_thumb_url?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Track object with VRM data for getVRMTracks() */
|
|
18
|
+
export interface VRMTrack {
|
|
19
|
+
title: string;
|
|
20
|
+
artist: string;
|
|
21
|
+
audio_url: string;
|
|
22
|
+
audio_url_lossless?: string;
|
|
23
|
+
image_url: string;
|
|
24
|
+
image_thumb_url?: string;
|
|
25
|
+
vrm: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get all audio URLs from a playlist
|
|
29
|
+
* @param playlist - Parsed or raw playlist
|
|
30
|
+
* @returns Array of audio URLs (excludes null/empty)
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* const urls = getAudioUrls(playlist);
|
|
34
|
+
* // ['https://arweave.net/audio1.mp3', 'https://arweave.net/audio2.mp3']
|
|
35
|
+
*/
|
|
36
|
+
export declare function getAudioUrls(playlist: PlaylistInput): string[];
|
|
37
|
+
/**
|
|
38
|
+
* Get all image URLs from playlist tracks
|
|
39
|
+
* @param playlist - Parsed or raw playlist
|
|
40
|
+
* @returns Array of image URLs (excludes null/empty)
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* const images = getImageUrls(playlist);
|
|
44
|
+
* // ['https://arweave.net/cover1.jpg', 'https://arweave.net/cover2.jpg']
|
|
45
|
+
*/
|
|
46
|
+
export declare function getImageUrls(playlist: PlaylistInput): string[];
|
|
47
|
+
/**
|
|
48
|
+
* Get all track titles from a playlist
|
|
49
|
+
* @param playlist - Parsed or raw playlist
|
|
50
|
+
* @returns Array of track titles
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* const titles = getTrackTitles(playlist);
|
|
54
|
+
* // ['Song One', 'Song Two', 'Song Three']
|
|
55
|
+
*/
|
|
56
|
+
export declare function getTrackTitles(playlist: PlaylistInput): string[];
|
|
57
|
+
/**
|
|
58
|
+
* Get all artist names from a playlist
|
|
59
|
+
* @param playlist - Parsed or raw playlist
|
|
60
|
+
* @returns Array of artist names
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* const artists = getArtists(playlist);
|
|
64
|
+
* // ['Artist A', 'Artist B', 'Artist A']
|
|
65
|
+
*/
|
|
66
|
+
export declare function getArtists(playlist: PlaylistInput): string[];
|
|
67
|
+
/**
|
|
68
|
+
* Get all genres from playlist tracks (unique, sorted)
|
|
69
|
+
* @param playlist - Parsed or raw playlist
|
|
70
|
+
* @returns Array of unique genres (sorted alphabetically)
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* const genres = getGenres(playlist);
|
|
74
|
+
* // ['Electronic', 'Hip-Hop', 'Jazz']
|
|
75
|
+
*/
|
|
76
|
+
export declare function getGenres(playlist: PlaylistInput): string[];
|
|
77
|
+
/**
|
|
78
|
+
* Get all tags from playlist tracks (unique, sorted, lowercased)
|
|
79
|
+
* @param playlist - Parsed or raw playlist
|
|
80
|
+
* @returns Array of unique tags (sorted alphabetically)
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* const tags = getTags(playlist);
|
|
84
|
+
* // ['chill', 'electronic', 'upbeat']
|
|
85
|
+
*/
|
|
86
|
+
export declare function getTags(playlist: PlaylistInput): string[];
|
|
87
|
+
/**
|
|
88
|
+
* Get total duration of all tracks in seconds
|
|
89
|
+
* @param playlist - Parsed or raw playlist (requires duration in metadata)
|
|
90
|
+
* @returns Total duration in seconds (0 if no duration data)
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* const duration = getTotalDuration(playlist);
|
|
94
|
+
* // 1234.56
|
|
95
|
+
*/
|
|
96
|
+
export declare function getTotalDuration(playlist: PlaylistInput): number;
|
|
97
|
+
/**
|
|
98
|
+
* Get track count from a playlist
|
|
99
|
+
* @param playlist - Parsed or raw playlist
|
|
100
|
+
* @returns Number of tracks
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* const count = getTrackCount(playlist);
|
|
104
|
+
* // 10
|
|
105
|
+
*/
|
|
106
|
+
export declare function getTrackCount(playlist: PlaylistInput): number;
|
|
107
|
+
/**
|
|
108
|
+
* Get track data as simple objects (title + artist + urls)
|
|
109
|
+
* @param playlist - Parsed or raw playlist
|
|
110
|
+
* @returns Array of simplified track objects
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* const tracks = getTracks(playlist);
|
|
114
|
+
* // [{ title: 'Song', artist: 'Artist', audio_url: '...', image_url: '...', image_thumb_url: '...' }, ...]
|
|
115
|
+
*/
|
|
116
|
+
export declare function getTracks(playlist: PlaylistInput): SimpleTrack[];
|
|
117
|
+
/**
|
|
118
|
+
* Get full track data with all available fields
|
|
119
|
+
* @param playlist - Parsed or raw playlist
|
|
120
|
+
* @returns Array of track objects with all available data
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* const tracks = getFullTracks(playlist);
|
|
124
|
+
* // [{ id, title, artist, album, duration, genre, tags, audio_url, image_url, ... }, ...]
|
|
125
|
+
*/
|
|
126
|
+
export declare function getFullTracks(playlist: PlaylistInput): Array<Record<string, unknown>>;
|
|
127
|
+
/**
|
|
128
|
+
* Get all VRM URLs from playlist tracks
|
|
129
|
+
* VRM is an optional field in track metadata (3D avatar model files)
|
|
130
|
+
* @param playlist - Parsed or raw playlist
|
|
131
|
+
* @returns Array of VRM URLs (only from tracks that have a vrm field)
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* const vrms = getVRMs(playlist);
|
|
135
|
+
* // ['https://arweave.net/avatar1.vrm', 'https://arweave.net/avatar2.vrm']
|
|
136
|
+
*/
|
|
137
|
+
export declare function getVRMs(playlist: PlaylistInput): string[];
|
|
138
|
+
/**
|
|
139
|
+
* Get tracks that have VRM data (3D avatar model files)
|
|
140
|
+
* Returns simplified track objects with vrm field included
|
|
141
|
+
* @param playlist - Parsed or raw playlist
|
|
142
|
+
* @returns Array of track objects that have a vrm field
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* const vrmTracks = getVRMTracks(playlist);
|
|
146
|
+
* // [{ title: 'Song', artist: 'Artist', audio_url: '...', image_url: '...', image_thumb_url: '...', vrm: '...' }, ...]
|
|
147
|
+
*/
|
|
148
|
+
export declare function getVRMTracks(playlist: PlaylistInput): VRMTrack[];
|
|
149
|
+
//# sourceMappingURL=playlistUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playlistUtils.d.ts","sourceRoot":"","sources":["../../src/utils/playlistUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAiB,MAAM,2BAA2B,CAAC;AAOvG,4DAA4D;AAC5D,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAEpE,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,oDAAoD;AACpD,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACf;AAmHD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAW9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAW9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAuBhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAuB5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAoB3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CA4BzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAoBhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE7D;AAMD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW,EAAE,CAiDhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA8CrF;AAMD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAWzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,EAAE,CA4ChE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Seeded random number generator for deterministic randomness
|
|
3
|
+
*/
|
|
4
|
+
export declare class SeededRNG {
|
|
5
|
+
private seed;
|
|
6
|
+
private counter;
|
|
7
|
+
constructor(seed: string);
|
|
8
|
+
/**
|
|
9
|
+
* Generate a random float between 0.0 and 1.0
|
|
10
|
+
*/
|
|
11
|
+
random(): number;
|
|
12
|
+
/**
|
|
13
|
+
* Generate a random integer between min (inclusive) and max (exclusive)
|
|
14
|
+
*/
|
|
15
|
+
randomInt(min: number, max: number): number;
|
|
16
|
+
/**
|
|
17
|
+
* Pick a random element from an array
|
|
18
|
+
*/
|
|
19
|
+
randomChoice<T>(array: T[]): T;
|
|
20
|
+
/**
|
|
21
|
+
* Pick a random element from an array with weighted probabilities
|
|
22
|
+
* @param choices - Array of [value, weight] tuples
|
|
23
|
+
*/
|
|
24
|
+
weightedChoice<T>(choices: [T, number][]): T;
|
|
25
|
+
/**
|
|
26
|
+
* Shuffle an array deterministically
|
|
27
|
+
*/
|
|
28
|
+
shuffle<T>(array: T[]): T[];
|
|
29
|
+
/**
|
|
30
|
+
* Reset the counter (useful for testing)
|
|
31
|
+
*/
|
|
32
|
+
reset(): void;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=random.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/utils/random.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,qBAAa,SAAS;IAClB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,MAAM;IAKxB;;OAEG;IACH,MAAM,IAAI,MAAM;IAMhB;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAI3C;;OAEG;IACH,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC;IAK9B;;;OAGG;IACH,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC;IAe5C;;OAEG;IACH,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAS3B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sensor Dashboard - Visual console output for sensor diagnostics
|
|
3
|
+
*
|
|
4
|
+
* Provides formatted console output for sensor status, health, cache statistics,
|
|
5
|
+
* and recent failures. Designed for debugging and monitoring during development.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { SensorDashboard } from '../utils/sensorDashboard.js';
|
|
10
|
+
*
|
|
11
|
+
* // Display environmental sensors dashboard
|
|
12
|
+
* SensorDashboard.displayEnvironmentalDiagnostics(sensors.getDiagnostics());
|
|
13
|
+
*
|
|
14
|
+
* // Display gaming sensors dashboard
|
|
15
|
+
* SensorDashboard.displayGamingDiagnostics(gamingSensors.getDiagnostics());
|
|
16
|
+
*
|
|
17
|
+
* // Display a combined system dashboard
|
|
18
|
+
* SensorDashboard.displaySystemDashboard({
|
|
19
|
+
* environmental: sensors.getDiagnostics(),
|
|
20
|
+
* gaming: gamingSensors.getDiagnostics()
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Dashboard configuration options
|
|
26
|
+
*/
|
|
27
|
+
export interface DashboardConfig {
|
|
28
|
+
/** Use colors in output (default: true) */
|
|
29
|
+
useColors?: boolean;
|
|
30
|
+
/** Compact mode for smaller output (default: false) */
|
|
31
|
+
compact?: boolean;
|
|
32
|
+
/** Show timestamp (default: true) */
|
|
33
|
+
showTimestamp?: boolean;
|
|
34
|
+
/** Maximum number of recent failures to show (default: 5) */
|
|
35
|
+
maxFailures?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Display environmental sensor diagnostics
|
|
39
|
+
*/
|
|
40
|
+
export declare function displayEnvironmentalDiagnostics(diagnostics: ReturnType<typeof import('../core/sensors/EnvironmentalSensors').EnvironmentalSensors.prototype.getDiagnostics>, config?: DashboardConfig): void;
|
|
41
|
+
/**
|
|
42
|
+
* Display gaming platform sensor diagnostics
|
|
43
|
+
*/
|
|
44
|
+
export declare function displayGamingDiagnostics(diagnostics: ReturnType<typeof import('../core/sensors/GamingPlatformSensors').GamingPlatformSensors.prototype.getDiagnostics>, config?: DashboardConfig): void;
|
|
45
|
+
/**
|
|
46
|
+
* Display a combined system dashboard
|
|
47
|
+
*/
|
|
48
|
+
export declare function displaySystemDashboard(data: {
|
|
49
|
+
environmental?: ReturnType<typeof import('../core/sensors/EnvironmentalSensors').EnvironmentalSensors.prototype.getDiagnostics>;
|
|
50
|
+
gaming?: ReturnType<typeof import('../core/sensors/GamingPlatformSensors').GamingPlatformSensors.prototype.getDiagnostics>;
|
|
51
|
+
}, config?: DashboardConfig): void;
|
|
52
|
+
/**
|
|
53
|
+
* Export as a named export object for convenient importing
|
|
54
|
+
*/
|
|
55
|
+
export declare const SensorDashboard: {
|
|
56
|
+
displayEnvironmentalDiagnostics: typeof displayEnvironmentalDiagnostics;
|
|
57
|
+
displayGamingDiagnostics: typeof displayGamingDiagnostics;
|
|
58
|
+
displaySystemDashboard: typeof displaySystemDashboard;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=sensorDashboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sensorDashboard.d.ts","sourceRoot":"","sources":["../../src/utils/sensorDashboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AA0CH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,2CAA2C;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAoID;;GAEG;AACH,wBAAgB,+BAA+B,CAC3C,WAAW,EAAE,UAAU,CAAC,cAAc,sCAAsC,EAAE,oBAAoB,CAAC,SAAS,CAAC,cAAc,CAAC,EAC5H,MAAM,GAAE,eAAoB,GAC7B,IAAI,CAwGN;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,WAAW,EAAE,UAAU,CAAC,cAAc,uCAAuC,EAAE,qBAAqB,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9H,MAAM,GAAE,eAAoB,GAC7B,IAAI,CAiGN;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IACzC,aAAa,CAAC,EAAE,UAAU,CAAC,cAAc,sCAAsC,EAAE,oBAAoB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAChI,MAAM,CAAC,EAAE,UAAU,CAAC,cAAc,uCAAuC,EAAE,qBAAqB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;CAC9H,EAAE,MAAM,GAAE,eAAoB,GAAG,IAAI,CAwCrC;AAED;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAI3B,CAAC"}
|