playlist-data-engine 1.6.0 → 1.7.1
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/dist/analysis.js +1 -1
- package/dist/analysis.mjs +2 -2
- package/dist/arweaveGatewayManager-C9SIMDTd.cjs +1 -0
- package/dist/{arweaveGatewayManager-BKUZ1Klm.js → arweaveGatewayManager-DDSO5sLJ.js} +381 -338
- package/dist/core/parser/MetadataExtractor.d.ts +57 -3
- package/dist/core/parser/MetadataExtractor.d.ts.map +1 -1
- package/dist/core/parser/PlaylistParser.d.ts.map +1 -1
- package/dist/core/parser/TrackExtras.d.ts +23 -0
- package/dist/core/parser/TrackExtras.d.ts.map +1 -1
- package/dist/core/types/Playlist.d.ts +4 -1
- package/dist/core/types/Playlist.d.ts.map +1 -1
- package/dist/gateway-DYTdioNs.js +677 -0
- package/dist/gateway-UffqbE1i.cjs +1 -0
- package/dist/gateway.d.ts +2 -0
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +1 -1
- package/dist/gateway.mjs +18 -315
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/playlist-data-engine.js +40 -40
- package/dist/playlist-data-engine.mjs +1742 -1973
- package/dist/{unifyBeatMap-sIbIw5OX.cjs → unifyBeatMap-DIsNlck4.cjs} +1 -1
- package/dist/{unifyBeatMap-BA5EG991.js → unifyBeatMap-k6vw_JPQ.js} +1 -1
- package/dist/utils/arweaveGatewayManager.d.ts +18 -3
- package/dist/utils/arweaveGatewayManager.d.ts.map +1 -1
- package/dist/utils/arweaveUtils.d.ts +29 -0
- package/dist/utils/arweaveUtils.d.ts.map +1 -1
- package/dist/utils/ipfsUtils.d.ts +7 -0
- package/dist/utils/ipfsUtils.d.ts.map +1 -1
- package/dist/utils/playlistUtils.d.ts +2 -0
- package/dist/utils/playlistUtils.d.ts.map +1 -1
- package/package.json +34 -31
- package/dist/arweaveGatewayManager-CeW9SP2P.cjs +0 -1
|
@@ -15,9 +15,9 @@ export declare class MetadataExtractor {
|
|
|
15
15
|
*/
|
|
16
16
|
static extractAudioUrl(data: Record<string, unknown>): string | null;
|
|
17
17
|
/**
|
|
18
|
-
* Extract
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* Extract the highest-fidelity audio URL the track offers — best
|
|
19
|
+
* available, not a guarantee. A track whose only source is an mp3 gets
|
|
20
|
+
* that back rather than null.
|
|
21
21
|
*/
|
|
22
22
|
static extractAudioUrlLossless(data: Record<string, unknown>): string | null;
|
|
23
23
|
/**
|
|
@@ -85,6 +85,60 @@ export declare class MetadataExtractor {
|
|
|
85
85
|
* - `attributes` as an object keyed by trait name (e.g. `attributes.Tags`)
|
|
86
86
|
*/
|
|
87
87
|
static extractTags(data: Record<string, unknown>): string[];
|
|
88
|
+
/**
|
|
89
|
+
* Extract track description with priority:
|
|
90
|
+
*
|
|
91
|
+
* Flat fields:
|
|
92
|
+
* 1. description (Canonical)
|
|
93
|
+
* 2. track_description / trackDescription (Explicit track-scoped variants)
|
|
94
|
+
* 3. description_text / descriptionText (Text-suffixed variants)
|
|
95
|
+
* 4. desc / blurb (Short-form variants)
|
|
96
|
+
*
|
|
97
|
+
* Then:
|
|
98
|
+
* 5. OpenSea-style attributes array with trait_type "description" (case-insensitive)
|
|
99
|
+
* 6. Deep search fallback — breadth-first walk of nested objects for the
|
|
100
|
+
* shallowest key matching /description/i (catches properties.description
|
|
101
|
+
* and any other nested home for the field). Arrays are skipped: items
|
|
102
|
+
* inside arrays (stems, mixes, attribute entries) carry their own scoped
|
|
103
|
+
* descriptions, not the track's.
|
|
104
|
+
*/
|
|
105
|
+
static extractDescription(data: Record<string, unknown>): string | null;
|
|
106
|
+
/**
|
|
107
|
+
* Extract album description — one of the bonus flavors. Priority:
|
|
108
|
+
*
|
|
109
|
+
* Flat fields:
|
|
110
|
+
* 1. album_description (Canonical)
|
|
111
|
+
* 2. albumDescription (camelCase variant)
|
|
112
|
+
*
|
|
113
|
+
* Nested object fields (only when `album` is an object — it is just as
|
|
114
|
+
* often a plain name string, which yields nothing here):
|
|
115
|
+
* 3. Deep search scoped to the album object — catches album.description,
|
|
116
|
+
* album.liner_notes, album.notes and friends without ever misattributing
|
|
117
|
+
* the track's own description to the album.
|
|
118
|
+
*/
|
|
119
|
+
static extractAlbumDescription(data: Record<string, unknown>): string | null;
|
|
120
|
+
/**
|
|
121
|
+
* Extract artist description — one of the bonus flavors. Priority:
|
|
122
|
+
*
|
|
123
|
+
* Flat fields:
|
|
124
|
+
* 1. artist_description (Canonical)
|
|
125
|
+
* 2. artistDescription (camelCase variant)
|
|
126
|
+
* 3. artist_bio / artistBio (Bio variants)
|
|
127
|
+
*
|
|
128
|
+
* Nested object fields (only when `artist` is an object — it is just as
|
|
129
|
+
* often a plain name string, which yields nothing here):
|
|
130
|
+
* 4. Deep search scoped to the artist object — catches artist.description,
|
|
131
|
+
* artist.bio, artist.about and friends without ever misattributing the
|
|
132
|
+
* track's own description to the artist.
|
|
133
|
+
*/
|
|
134
|
+
static extractArtistDescription(data: Record<string, unknown>): string | null;
|
|
135
|
+
/**
|
|
136
|
+
* Breadth-first search for the shallowest string value whose key matches
|
|
137
|
+
* the given pattern. First match in breadth order wins: shallowest level,
|
|
138
|
+
* then key order. Objects are descended (arrays skipped), depth-capped so
|
|
139
|
+
* pathological metadata blobs stay cheap.
|
|
140
|
+
*/
|
|
141
|
+
private static deepFindString;
|
|
88
142
|
/**
|
|
89
143
|
* Normalize a list of raw tag values into a deduped, lowercased,
|
|
90
144
|
* trimmed string[] with empties removed.
|
|
@@ -1 +1 @@
|
|
|
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;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAsBlE;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA0BvE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAmD1D;;;;;;;;OAQG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE;IAmD3D;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B,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
|
+
{"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;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAsBlE;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA0BvE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAmD1D;;;;;;;;OAQG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE;IAmD3D;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAsBvE;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAiB5E;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAiB7E;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IA2B7B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B,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;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;IAmDlE;;;OAGG;YACW,gBAAgB;IAoB9B;;;OAGG;YACW,UAAU;
|
|
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;IAmDlE;;;OAGG;YACW,gBAAgB;IAoB9B;;;OAGG;YACW,UAAU;IAmJxB;;;;OAIG;YACW,gBAAgB;CAqBjC"}
|
|
@@ -29,6 +29,15 @@ export interface MixInfo {
|
|
|
29
29
|
mime_type?: string;
|
|
30
30
|
conditions: MixCondition[];
|
|
31
31
|
}
|
|
32
|
+
/** The mix a playlist entry pinned, resolved against the track's own mixes */
|
|
33
|
+
export interface SelectedMixInfo {
|
|
34
|
+
/** The chosen mix name, as written on the entry */
|
|
35
|
+
name: string;
|
|
36
|
+
/** Compressed/preferred version of the chosen mix */
|
|
37
|
+
audio_url?: string;
|
|
38
|
+
/** Lossless version, when the track ships one under the same name */
|
|
39
|
+
audio_url_lossless?: string;
|
|
40
|
+
}
|
|
32
41
|
/** Summary of extras available on a track */
|
|
33
42
|
export interface TrackExtrasInfo {
|
|
34
43
|
/** Whether the track has any extras at all */
|
|
@@ -147,6 +156,20 @@ export declare function getTrackMetadata(track: {
|
|
|
147
156
|
* @returns Summary of available stems, mixes, media assets, and other extras
|
|
148
157
|
*/
|
|
149
158
|
export declare function getTrackExtras(metadata: Record<string, unknown> | null): TrackExtrasInfo;
|
|
159
|
+
/**
|
|
160
|
+
* Resolve which of a track's mixes a playlist entry plays.
|
|
161
|
+
*
|
|
162
|
+
* Reads the wrapper's `selected_mix`, falling back to the `Selected Mix`
|
|
163
|
+
* attribute for older playlists. One name can cover a lossless and a lossy
|
|
164
|
+
* master, so both URLs come back.
|
|
165
|
+
*
|
|
166
|
+
* @param wrapperMix - `selected_mix` from the raw track wrapper
|
|
167
|
+
* @param attributes - Converted metadata attributes, for older playlists
|
|
168
|
+
* @param mixes - The track's own mixes, from getTrackExtras
|
|
169
|
+
* @returns The selection, or null if nothing was pinned, the legacy "default"
|
|
170
|
+
* placeholder was, or the name matches no mix on the track
|
|
171
|
+
*/
|
|
172
|
+
export declare function resolveSelectedMix(wrapperMix: unknown, attributes: Record<string, string | number> | null | undefined, mixes: MixInfo[] | undefined): SelectedMixInfo | null;
|
|
150
173
|
/**
|
|
151
174
|
* Evaluate all mixes' conditions against the current context.
|
|
152
175
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackExtras.d.ts","sourceRoot":"","sources":["../../../src/core/parser/TrackExtras.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TrackExtras.d.ts","sourceRoot":"","sources":["../../../src/core/parser/TrackExtras.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,8 +47,10 @@ export interface PlaylistTrack {
|
|
|
47
47
|
/** Optional thumbnail URL extracted from image_thumb or image_thumb_url fields */
|
|
48
48
|
image_thumb_url?: string;
|
|
49
49
|
audio_url: string;
|
|
50
|
-
/**
|
|
50
|
+
/** Highest-fidelity source when it differs from audio_url — not guaranteed lossless */
|
|
51
51
|
audio_url_lossless?: string;
|
|
52
|
+
/** Mix this entry plays; absent means primary audio. When set, the audio URLs point at that mix */
|
|
53
|
+
selected_mix?: string;
|
|
52
54
|
duration: number;
|
|
53
55
|
genre: string;
|
|
54
56
|
tags: string[];
|
|
@@ -83,6 +85,7 @@ export interface RawArweavePlaylist {
|
|
|
83
85
|
platform: string;
|
|
84
86
|
id?: string;
|
|
85
87
|
uuid?: string;
|
|
88
|
+
selected_mix?: string;
|
|
86
89
|
audio_url?: string;
|
|
87
90
|
artwork_url?: string;
|
|
88
91
|
image_url?: string;
|
|
@@ -1 +1 @@
|
|
|
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;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,aAAa,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC;IACzD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,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,
|
|
1
|
+
{"version":3,"file":"Playlist.d.ts","sourceRoot":"","sources":["../../../src/core/types/Playlist.ts"],"names":[],"mappings":"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"}
|