playlist-data-engine 1.1.1 → 1.3.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/README.md CHANGED
@@ -1,14 +1,34 @@
1
1
  # Playlist Data Engine
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/playlist-data-engine.svg)](https://www.npmjs.com/package/playlist-data-engine)
4
+
3
5
  > The data engine behind **[ar://listen](https://listen.arweave.net/)** — an interactive music player where every song becomes an adventure. Five years in the making.
4
6
 
5
- The engine takes **serverless playlists** (stored on Arweave via the Ario network) and turns them into music-powered experiences. It parses playlist data into clean formats, analyzes audio with TensorFlow-powered ML models, detects beats for rhythm games, generates RPG characters from sonic fingerprints, runs combat simulations with seeded dice, and feeds real-world sensor data back into the player to create a living, responsive experience. All with automatic Arweave gateway failover via the Ario Wayfinder so your data is always reachable.
7
+ **[Live Engine Demo](https://playlist-data-showcase_contractwizard.ar.io/)** | **[ar://listen Gitbook](https://contract-wizard.gitbook.io/contract-wizard)**
8
+
9
+ The engine takes **[serverless playlists](#what-are-serverless-playlists)** — permanent, censorship-resistant playlists stored on Arweave that mix Ethereum NFTs with decentralized uploads — and turns them into music-powered experiences. It parses playlist data into clean formats, analyzes audio with TensorFlow-powered ML models, detects beats for rhythm games, generates RPG characters from sonic fingerprints, runs combat simulations with seeded dice, and feeds real-world sensor data back into the player to create a living, responsive experience. All with automatic Arweave gateway failover via the Ario Wayfinder so your data is always reachable.
6
10
 
7
11
  **Think of it as a toybox for making music more fun.**
8
12
 
13
+ **Install as a package:**
14
+ ```bash
15
+ npm install playlist-data-engine
16
+ ```
17
+
18
+ <details>
19
+ <summary>Install from source (for contributors)</summary>
20
+
21
+ ```bash
22
+ git clone https://github.com/jasondesante/playlist-data-engine.git
23
+ cd playlist-data-engine
24
+ npm install
25
+ ```
26
+
27
+ </details>
28
+
9
29
  ### The Vision: An Intelligent Music Player
10
30
 
11
- The original design — five years ago — was simple: what if a music player *listened* to your music as carefully as you do? What if it knew the genre, the mood, the beats, the groove? What if it could react to where you are, what you're doing, the weather outside, the time of day? What if every song came with a character, a combat encounter, a rhythm game chart — all generated from the music itself?
31
+ The original idea — five years ago — was a music player that goes beyond playing static audio. Think of how the best Nintendo games use dynamic music — different arrangements and mixes depending on what the player does. That's a whole category of experiencing recorded music, but only a handful of games have ever explored it. This engine opens that door for any music. It listens to your tracks and reacts to you — the genre, the mood, the beats, the groove, where you are, what you're doing, the weather outside, the time of day. Every song comes with a character, a combat encounter, a rhythm game chart — all generated from the music itself.
12
32
 
13
33
  That's what this engine does. Every system connects back to making the music player smarter and more interactive:
14
34
 
@@ -68,14 +88,6 @@ Plus: groove analysis (pocket detection, hotness meter), combo/groove XP rewards
68
88
 
69
89
  ---
70
90
 
71
- ## Quick Start
72
-
73
- ```bash
74
- npm install
75
- npm test
76
- npm run build
77
- ```
78
-
79
91
  ### Parse a Playlist & Extract Data
80
92
 
81
93
  ```typescript
@@ -104,6 +116,8 @@ const profile = await analyzer.extractSonicFingerprint(track.audio_url);
104
116
 
105
117
  // TensorFlow-based genre, mood, and vibe classification
106
118
  const classifier = new MusicClassifier();
119
+ // Or analyze only a segment for faster results:
120
+ // const classifier = new MusicClassifier({ analysisDurationSeconds: 30, analysisStartPosition: 0.5 });
107
121
  const classification = await classifier.analyze(track.audio_url);
108
122
  // → { genres: ['techno', 'detroit-house'], moods: ['energetic', 'driving'], vibes: { danceability, energy, valence } }
109
123
 
@@ -213,6 +227,19 @@ The engine's bread and butter — the foundation everything else builds on. Feed
213
227
 
214
228
  The parser handles Arweave-hosted content with built-in gateway failover via the Ario Wayfinder. If one gateway is down, it automatically tries the next — your player never notices.
215
229
 
230
+ #### What Are Serverless Playlists?
231
+
232
+ Serverless Playlists are permanent building blocks for decentralized music curation stored on [Arweave](https://www.arweave.org/). Instead of algorithms deciding what you hear, you create playlists that work across every platform forever. Mix Ethereum NFTs with Arweave uploads, add your own metadata, then share playlists that can't be censored, deleted, or controlled by anyone but you.
233
+
234
+ They're created with **[The Contract Wizard](https://listen.arweave.net/)** and uploaded to Arweave with standardized tags (`App-Name: Contract-Wizard`, `Uploaded-Type: Playlist`, genre, audio tags, etc.) so they're queryable on-chain. Each track in a playlist can be an Ethereum NFT, a direct Arweave upload, or any mix — the playlist format handles them all.
235
+
236
+ The engine takes these raw Arweave-stored playlist JSON objects and turns them into structured data you can build with.
237
+
238
+ **Learn more:**
239
+ - [Playlist Objects — full spec & format](https://github.com/jasondesante/Ape-Tapes-Docs/tree/main/curate/playlists/playlist-objects)
240
+ - [Playlist Tags — on-chain queryable metadata](https://github.com/jasondesante/Ape-Tapes-Docs/tree/main/curate/playlists/playlist-tags.md)
241
+ - [ar://listen](https://listen.arweave.net/) — the player that started it all
242
+
216
243
  ### Audio Analysis Pipeline
217
244
 
218
245
  Four analysis modes, each serving different use cases:
@@ -342,7 +369,7 @@ The engine runs in both environments. Audio analysis uses the Web Audio API (bro
342
369
 
343
370
  ## Project Status
344
371
 
345
- - **Version**: 1.1.0
372
+ - **Version**: 1.1.1
346
373
  - **TypeScript**: Strict mode
347
374
  - **Tests**: 7,205 tests across 183 test files
348
375
  - **Module**: Dual ESM/CJS with full type declarations
@@ -112,6 +112,13 @@ export interface EssentiaPitchDetectorConfig {
112
112
  * Used by the ArweaveGatewayManager to try alternate gateways on failure.
113
113
  */
114
114
  resolveUrl?: (url: string) => Promise<string>;
115
+ /**
116
+ * Enable/disable model caching via localForage.
117
+ * When enabled, CREPE model artifacts are cached in IndexedDB after the first
118
+ * successful download. Subsequent loads read from cache (no network).
119
+ * @default true
120
+ */
121
+ enableModelCache?: boolean;
115
122
  }
116
123
  /**
117
124
  * Default CREPE TensorFlow.js model URL.
@@ -1 +1 @@
1
- {"version":3,"file":"EssentiaPitchDetector.d.ts","sourceRoot":"","sources":["../../../src/core/analysis/EssentiaPitchDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQtD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,sBAAsB,GAC5B,qBAAqB,GACrB,eAAe,GACf,yBAAyB,GACzB,oBAAoB,GACpB,oBAAoB,GACpB,aAAa,CAAC;AAEpB;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,sBAAsB,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC;;;OAGG;IACH,SAAS,EAAE,sBAAsB,CAAC;IAElC;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAMD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,+EAA+E,CAAC;AA4BpH;;;;;;;;GAQG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,MAAM,CAA8B;IAE5C;;;OAGG;IAEH,OAAO,CAAC,YAAY,CAAa;IAEjC;;;OAGG;IAEH,OAAO,CAAC,UAAU,CAAa;IAE/B;;;OAGG;IAEH,OAAO,CAAC,UAAU,CAAa;IAE/B;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAkB;IAErC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAAkC;IAE1D;;;;OAIG;IACH,OAAO;IAIP;;;;;;;;;;;;;;OAcG;WACU,MAAM,CACf,MAAM,GAAE,OAAO,CAAC,2BAA2B,CAAM,GAClD,OAAO,CAAC,qBAAqB,CAAC;IAqBjC;;OAEG;IACH,SAAS,IAAI,2BAA2B;IAIxC;;;OAGG;YACW,kBAAkB;IAehC;;;OAGG;YACW,cAAc;IAmC5B;;;OAGG;YACW,mBAAmB;IA2BjC;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE;IA+BrE;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAiC7B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA+BvB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA+ChC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ;IA4FhB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA+BnB;;;;;OAKG;IAEH,OAAO,CAAC,aAAa;IAkDrB;;;OAGG;IACH,OAAO,CAAC,cAAc;IA0BtB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAIvB;;;OAGG;IACH,OAAO,CAAC,cAAc;CAKzB"}
1
+ {"version":3,"file":"EssentiaPitchDetector.d.ts","sourceRoot":"","sources":["../../../src/core/analysis/EssentiaPitchDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAStD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,sBAAsB,GAC5B,qBAAqB,GACrB,eAAe,GACf,yBAAyB,GACzB,oBAAoB,GACpB,oBAAoB,GACpB,aAAa,CAAC;AAEpB;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,sBAAsB,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC;;;OAGG;IACH,SAAS,EAAE,sBAAsB,CAAC;IAElC;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAMD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,+EAA+E,CAAC;AA4BpH;;;;;;;;GAQG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,MAAM,CAA8B;IAE5C;;;OAGG;IAEH,OAAO,CAAC,YAAY,CAAa;IAEjC;;;OAGG;IAEH,OAAO,CAAC,UAAU,CAAa;IAE/B;;;OAGG;IAEH,OAAO,CAAC,UAAU,CAAa;IAE/B;;;OAGG;IACH,OAAO,CAAC,WAAW,CAAkB;IAErC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAAkC;IAE1D;;;;OAIG;IACH,OAAO;IAIP;;;;;;;;;;;;;;OAcG;WACU,MAAM,CACf,MAAM,GAAE,OAAO,CAAC,2BAA2B,CAAM,GAClD,OAAO,CAAC,qBAAqB,CAAC;IAqBjC;;OAEG;IACH,SAAS,IAAI,2BAA2B;IAIxC;;;OAGG;YACW,kBAAkB;IAehC;;;OAGG;YACW,cAAc;IA+C5B;;;OAGG;YACW,mBAAmB;IA2BjC;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE;IA+BrE;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAiC7B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA+BvB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA+ChC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ;IA4FhB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA+BnB;;;;;OAKG;IAEH,OAAO,CAAC,aAAa;IAkDrB;;;OAGG;IACH,OAAO,CAAC,cAAc;IA0BtB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAIvB;;;OAGG;IACH,OAAO,CAAC,cAAc;CAKzB"}
@@ -156,6 +156,26 @@ export interface MusicClassifierOptions {
156
156
  * ```
157
157
  */
158
158
  resolveUrl?: (url: string) => Promise<string>;
159
+ /**
160
+ * Enable/disable model caching via localForage.
161
+ * When enabled, model artifacts are cached in IndexedDB after the first
162
+ * successful download. Subsequent loads read from cache (no network).
163
+ * @default true
164
+ */
165
+ enableModelCache?: boolean;
166
+ /**
167
+ * Duration of the audio segment to analyze, in seconds.
168
+ * When not set, the full song is analyzed.
169
+ * Recommended: 30 seconds for genre/mood classification with good accuracy.
170
+ */
171
+ analysisDurationSeconds?: number;
172
+ /**
173
+ * Position within the song to start analysis, as a fraction (0.0 to 1.0).
174
+ * 0.0 = start, 0.5 = middle, 1.0 = end.
175
+ * Only applies when `analysisDurationSeconds` is set.
176
+ * @default 0.5
177
+ */
178
+ analysisStartPosition?: number;
159
179
  }
160
180
  export declare const DISCOGS400_GENRES: string[];
161
181
  /**
@@ -357,6 +377,12 @@ export declare class MusicClassifier {
357
377
  * @param maxRetries - Maximum number of retry attempts (default: 3)
358
378
  * @param baseDelayMs - Base delay for exponential backoff in ms (default: 1000)
359
379
  */
380
+ /**
381
+ * Create and initialize an Essentia model with gateway fallback.
382
+ *
383
+ * On each retry attempt, invalidates the gateway cache and re-resolves the URL
384
+ * so that a failing gateway doesn't block the download.
385
+ */
360
386
  private initializeEssentiaModelWithRetry;
361
387
  /**
362
388
  * Gets or creates an embedding model instance with caching support.
@@ -418,6 +444,11 @@ export declare class MusicClassifier {
418
444
  * @returns 2D array of mel-spectrogram frames
419
445
  */
420
446
  private getFeaturesForArchitecture;
447
+ /**
448
+ * Slice audio signal to a segment for partial analysis.
449
+ * When no sampling options are set, returns the full signal unchanged.
450
+ */
451
+ private sliceAudioSignal;
421
452
  /**
422
453
  * Analyzes audio to extract genre, mood, and vibe data.
423
454
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MusicClassifier.d.ts","sourceRoot":"","sources":["../../../src/core/analysis/MusicClassifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MusicClassifier.d.ts","sourceRoot":"","sources":["../../../src/core/analysis/MusicClassifier.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,10 @@ export declare class MetadataExtractor {
8
8
  * 1. mp3_url (Standard web audio - preferred)
9
9
  * 2. lossy_audio (Compressed)
10
10
  * 3. audio_url (Explicit audio field)
11
- * 4. lossless_audio (High fidelity - larger files)
12
- * 5. animation_url (OpenSea standard - often audio, but could be video)
11
+ * 4. audio (Bare audio field some platforms use this instead of audio_url)
12
+ * 5. lossless_audio (High fidelity - larger files)
13
+ * 6. animation_url (OpenSea standard - often audio, but could be video)
14
+ * 7. multimedia_url (Alternative media field)
13
15
  */
14
16
  static extractAudioUrl(data: Record<string, unknown>): string | null;
15
17
  /**
@@ -19,11 +21,21 @@ export declare class MetadataExtractor {
19
21
  */
20
22
  static extractAudioUrlLossless(data: Record<string, unknown>): string | null;
21
23
  /**
22
- * Extract image URL with priority (see specs/001-core-engine/SPEC.md):
24
+ * Extract image URL with priority:
25
+ *
26
+ * Flat fields:
23
27
  * 1. image_small (Preferred for performance)
24
28
  * 2. image (Standard)
25
- * 3. image_large (Fallback)
26
- * 4. image_thumb (Last resort)
29
+ * 3. image_url (Explicit image URL variant)
30
+ * 4. image_large (Fallback)
31
+ * 5. image_uri (URI variant)
32
+ * 6. image_preview (Preview variant)
33
+ * 7. image_thumb (Last resort)
34
+ *
35
+ * Nested object fields (checked if no flat match found):
36
+ * 8. artwork.uri (Nina Protocol structured artwork)
37
+ * 9. project.artwork.uri (Project-level artwork)
38
+ * 10. primaryMedia.uri (Primary media field)
27
39
  */
28
40
  static extractImageUrl(data: Record<string, unknown>): string | null;
29
41
  /**
@@ -62,5 +74,10 @@ export declare class MetadataExtractor {
62
74
  * Example: [{ trait_type: "BPM", value: 120 }] => { BPM: 120 }
63
75
  */
64
76
  static convertAttributes(attributes: unknown): Record<string, string | number> | null;
77
+ /**
78
+ * Safely extract a URI string from a nested object path.
79
+ * e.g. extractNestedUri(data, 'project', 'artwork', 'uri') => data.project.artwork.uri
80
+ */
81
+ private static extractNestedUri;
65
82
  }
66
83
  //# sourceMappingURL=MetadataExtractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataExtractor.d.ts","sourceRoot":"","sources":["../../../src/core/parser/MetadataExtractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,iBAAiB;IAC1B;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAYpE;;;;OAIG;IACH,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAY5E;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAYpE;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAczE;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAUjE;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAYlE;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA0BvE;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAgC1D;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI;CAcxF"}
1
+ {"version":3,"file":"MetadataExtractor.d.ts","sourceRoot":"","sources":["../../../src/core/parser/MetadataExtractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,iBAAiB;IAC1B;;;;;;;;;OASG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAYpE;;;;OAIG;IACH,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAY5E;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAsBpE;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAczE;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAUjE;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAYlE;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA0BvE;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAgC1D;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI;IAerF;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAWlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlaylistParser.d.ts","sourceRoot":"","sources":["../../../src/core/parser/PlaylistParser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAiB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAKlG,MAAM,WAAW,qBAAqB;IAClC,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,yEAAyE;IACzE,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAwB;gBAE3B,OAAO,GAAE,qBAA0B;IAU/C;;;OAGG;IACG,KAAK,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8ClE;;;OAGG;YACW,gBAAgB;IAoB9B;;;OAGG;YACW,UAAU;IAiHxB;;;;OAIG;YACW,gBAAgB;CAqBjC"}
1
+ {"version":3,"file":"PlaylistParser.d.ts","sourceRoot":"","sources":["../../../src/core/parser/PlaylistParser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAiB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAMlG,MAAM,WAAW,qBAAqB;IAClC,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,yEAAyE;IACzE,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAwB;gBAE3B,OAAO,GAAE,qBAA0B;IAU/C;;;OAGG;IACG,KAAK,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8ClE;;;OAGG;YACW,gBAAgB;IAoB9B;;;OAGG;YACW,UAAU;IAqHxB;;;;OAIG;YACW,gBAAgB;CAqBjC"}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * Track extras extraction — stems, alternate mixes, and condition evaluation.
3
+ *
4
+ * These functions operate on parsed metadata objects (the output of
5
+ * MetadataExtractor.parseMetadata). They provide:
6
+ *
7
+ * - getTrackMetadata: Full raw parsed metadata passthrough
8
+ * - getTrackExtras: Summary of available stems, mixes, and their conditions
9
+ * - evaluateMixConditions: Evaluate mix conditions against sensor context
10
+ *
11
+ * @module core/parser/TrackExtras
12
+ */
13
+ import type { EnvironmentalContext } from '../types/Environmental.js';
14
+ /** A single stem from the metadata */
15
+ export interface StemInfo {
16
+ name: string;
17
+ uri?: string;
18
+ mime_type?: string;
19
+ }
20
+ /** A condition on a mix (e.g., weather, time, plays) */
21
+ export interface MixCondition {
22
+ type: string;
23
+ value: string;
24
+ }
25
+ /** An alternate mix from the metadata */
26
+ export interface MixInfo {
27
+ name: string;
28
+ uri?: string;
29
+ mime_type?: string;
30
+ conditions: MixCondition[];
31
+ }
32
+ /** Summary of extras available on a track */
33
+ export interface TrackExtrasInfo {
34
+ /** Whether the track has any extras at all */
35
+ hasExtras: boolean;
36
+ /** Available stems (individual instrument tracks) */
37
+ stems?: StemInfo[];
38
+ /** Available alternate mixes with conditions */
39
+ mixes?: MixInfo[];
40
+ /** 3D avatar model URL */
41
+ vrm?: string;
42
+ /** Song lyrics */
43
+ lyrics?: LyricsInfo;
44
+ /** Visualizer asset (e.g., music video or reactive visual) */
45
+ visualizer?: MediaAssetInfo;
46
+ /** Video asset */
47
+ video?: MediaAssetInfo;
48
+ /** Merchandise asset */
49
+ merch?: MerchInfo;
50
+ /** Credits / acknowledgments */
51
+ credits?: CreditInfo[];
52
+ /** MIDI file URL */
53
+ midi?: string;
54
+ /** StepMania chart URL */
55
+ step_mania?: string;
56
+ /** Clone Hero chart URL */
57
+ clone_hero?: string;
58
+ /** External link (e.g., artist website, platform page) */
59
+ external_url?: string;
60
+ }
61
+ /** Song lyrics */
62
+ export interface LyricsInfo {
63
+ text?: string;
64
+ }
65
+ /** A media asset with mime type and URI */
66
+ export interface MediaAssetInfo {
67
+ mime_type?: string;
68
+ uri?: string;
69
+ }
70
+ /** A merchandise asset */
71
+ export interface MerchInfo extends MediaAssetInfo {
72
+ type?: string;
73
+ }
74
+ /** A single credit entry */
75
+ export interface CreditInfo {
76
+ name: string;
77
+ credit: string;
78
+ }
79
+ /** Result of evaluating a single condition */
80
+ export interface ConditionEvaluationResult {
81
+ /** The condition type */
82
+ type: string;
83
+ /** The condition value */
84
+ value: string;
85
+ /** Whether the condition is currently met */
86
+ met: boolean;
87
+ /** Human-readable reason (e.g., "Weather is Rain", "Time is after 22:00") */
88
+ reason: string;
89
+ }
90
+ /** Result of evaluating all conditions on a single mix */
91
+ export interface MixEvaluationResult {
92
+ /** The mix being evaluated */
93
+ mix: MixInfo;
94
+ /** Individual condition evaluations */
95
+ conditions: ConditionEvaluationResult[];
96
+ /** Whether ALL conditions are met */
97
+ allMet: boolean;
98
+ /** Which conditions are not met (empty if allMet) */
99
+ unmetConditions: ConditionEvaluationResult[];
100
+ }
101
+ /** App-level state that conditions can check (not from sensors) */
102
+ export interface AppState {
103
+ /** How many times the current track has been played */
104
+ playCount?: number;
105
+ /** Whether the user has favorited the current track */
106
+ isFavorite?: boolean;
107
+ /** User's birthday in MM-DD format (e.g., "06-15") */
108
+ userBirthday?: string;
109
+ }
110
+ /** Full context for evaluating mix conditions */
111
+ export interface EvaluationContext {
112
+ /** Environmental sensor data (geolocation, weather, motion, time) */
113
+ environment?: EnvironmentalContext;
114
+ /** App-level state (play count, favorites, birthday) */
115
+ appState?: AppState;
116
+ }
117
+ /**
118
+ * Extract the full raw parsed metadata object for a track.
119
+ *
120
+ * Unlike getFullTracks() which picks specific fields, this returns
121
+ * the entire metadata object so consumers can access any field
122
+ * (external_url, youtube_url, credits, lyrics, etc.).
123
+ *
124
+ * @param track - A playlist track (raw or parsed)
125
+ * @returns The full parsed metadata object, or null if unavailable
126
+ *
127
+ * @example
128
+ * ```ts
129
+ * const metadata = getTrackMetadata(track);
130
+ * if (metadata) {
131
+ * console.log(metadata.youtube_url);
132
+ * console.log(metadata.credits);
133
+ * console.log(metadata.external_url);
134
+ * }
135
+ * ```
136
+ */
137
+ export declare function getTrackMetadata(track: {
138
+ metadata?: string | Record<string, unknown>;
139
+ } | null | undefined): Record<string, unknown> | null;
140
+ /**
141
+ * Extract a summary of extras available on a track.
142
+ *
143
+ * Reads from the raw metadata object and returns structured info about
144
+ * what additional content is available beyond the primary audio/image.
145
+ *
146
+ * @param metadata - Parsed metadata object (from getTrackMetadata or parseMetadata)
147
+ * @returns Summary of available stems, mixes, media assets, and other extras
148
+ */
149
+ export declare function getTrackExtras(metadata: Record<string, unknown> | null): TrackExtrasInfo;
150
+ /**
151
+ * Evaluate all mixes' conditions against the current context.
152
+ *
153
+ * Takes the mix data (from getTrackExtras) and the current
154
+ * EnvironmentalContext + app state, and returns which mixes
155
+ * are currently available and why.
156
+ *
157
+ * @param extras - Track extras from getTrackExtras
158
+ * @param context - Environmental sensor data + app state
159
+ * @returns Evaluation results for each mix with conditions
160
+ *
161
+ * @example
162
+ * ```ts
163
+ * const extras = getTrackExtras(metadata);
164
+ * const context: EvaluationContext = {
165
+ * environment: environmentalSensors.getContext(),
166
+ * appState: { playCount: 5, isFavorite: true },
167
+ * };
168
+ * const results = evaluateMixConditions(extras, context);
169
+ * for (const result of results) {
170
+ * if (result.allMet) {
171
+ * console.log(`"${result.mix.name}" is available: ${result.conditions.map(c => c.reason).join(', ')}`);
172
+ * }
173
+ * }
174
+ * ```
175
+ */
176
+ export declare function evaluateMixConditions(extras: TrackExtrasInfo, context?: EvaluationContext): MixEvaluationResult[];
177
+ //# sourceMappingURL=TrackExtras.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrackExtras.d.ts","sourceRoot":"","sources":["../../../src/core/parser/TrackExtras.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Playlist-related type definitions
3
3
  * Based on specs/001-core-engine/SPEC.md
4
4
  */
5
+ import type { TrackExtrasInfo } from '../parser/TrackExtras.js';
5
6
  /**
6
7
  * ServerlessPlaylist - The playlist container
7
8
  * This is the structure of the JSON file fetched directly from Arweave
@@ -44,6 +45,7 @@ export interface PlaylistTrack {
44
45
  bpm?: number;
45
46
  key?: string;
46
47
  attributes?: Record<string, string | number>;
48
+ extras?: TrackExtrasInfo;
47
49
  }
48
50
  /**
49
51
  * RawArweavePlaylist - The raw input schema
@@ -64,7 +66,7 @@ export interface RawArweavePlaylist {
64
66
  platform: string;
65
67
  id?: string;
66
68
  uuid?: string;
67
- metadata: string;
69
+ metadata: string | Record<string, unknown>;
68
70
  }>;
69
71
  }
70
72
  //# sourceMappingURL=Playlist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Playlist.d.ts","sourceRoot":"","sources":["../../../src/core/types/Playlist.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAE/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAGhB,MAAM,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAE1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IAEvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IAGb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAChD;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;QAEV,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QAGd,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACN"}
1
+ {"version":3,"file":"Playlist.d.ts","sourceRoot":"","sources":["../../../src/core/types/Playlist.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAE/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAGhB,MAAM,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAE1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IAEvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IAGb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAG7C,MAAM,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;QAEV,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QAId,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC9C,CAAC,CAAC;CACN"}
package/dist/index.d.ts CHANGED
@@ -58,7 +58,10 @@ export { Logger, createLogger, LogLevel } from './utils/logger.js';
58
58
  export type { LogEntry, LoggerConfig } from './utils/logger.js';
59
59
  export { type PlaylistInput, type SimpleTrack, type VRMTrack, getAudioUrls, getImageUrls, getTrackTitles, getArtists, getGenres, getTags, getTotalDuration, getTrackCount, getTracks, getFullTracks, getVRMs, getVRMTracks } from './utils/playlistUtils.js';
60
60
  export { type GatewayConfig, type ArweaveUrlInfo, DEFAULT_GATEWAYS, KNOWN_GATEWAY_HOSTS, isArweaveUrl, parseArweaveUrl, constructGatewayUrl, getAllGatewayUrls, } from './utils/arweaveUtils.js';
61
- export { ArweaveGatewayManager, arweaveGatewayManager, type GatewayCache, type GatewayCheckResult, type ArweaveGatewayManagerConfig, type PrefetchOptions, type PrefetchResultEntry, type PrefetchResult, type CacheStats, type GatewayHealthStats, type HealthCheckResult, type HealthCheckOptions, } from './utils/arweaveGatewayManager.js';
61
+ export { ArweaveGatewayManager, arweaveGatewayManager, type GatewayCache, type GatewayCheckResult, type ResolveUrlOptions, type ArweaveGatewayManagerConfig, type PrefetchOptions, type PrefetchResultEntry, type PrefetchResult, type CacheStats, type GatewayHealthStats, type HealthCheckResult, type HealthCheckOptions, type GatewayDiagnostics, } from './utils/arweaveGatewayManager.js';
62
+ export { KNOWN_IPFS_GATEWAY_HOSTS, DEFAULT_IPFS_GATEWAY, extractIPFSPath, isIPFS, resolveIPFSLink, } from './utils/ipfsUtils.js';
63
+ export { ModelCache, modelCache, type ModelCacheOptions, type ModelCacheFetchOptions, } from './utils/modelCache.js';
64
+ export { type StemInfo, type MixCondition, type MixInfo, type TrackExtrasInfo, type ConditionEvaluationResult, type MixEvaluationResult, type AppState, type EvaluationContext, type LyricsInfo, type MediaAssetInfo, type MerchInfo, type CreditInfo, getTrackMetadata, getTrackExtras, evaluateMixConditions, } from './core/parser/TrackExtras.js';
62
65
  export { asClass, isValidClass } from './core/types/Character.js';
63
66
  export { CharacterGenerator, type CharacterGeneratorOptions } from './core/generation/CharacterGenerator.js';
64
67
  export { RaceSelector } from './core/generation/RaceSelector.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}