playlist-data-engine 1.7.2 → 1.8.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 +20 -3
- package/bin/cli.cjs +85 -0
- package/dist/core/parser/TrackExtras.d.ts +150 -1
- package/dist/core/parser/TrackExtras.d.ts.map +1 -1
- package/dist/gateway-CDMPqFEH.js +1320 -0
- package/dist/gateway-DKa45Uz6.cjs +6 -0
- package/dist/gateway.d.ts +3 -1
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +1 -1
- package/dist/gateway.mjs +22 -14
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/playlist-data-engine.js +34 -34
- package/dist/playlist-data-engine.mjs +964 -1240
- package/dist/utils/engineDocs.d.ts +33 -0
- package/dist/utils/engineDocs.d.ts.map +1 -0
- package/dist/utils/playlistUtils.d.ts +37 -0
- package/dist/utils/playlistUtils.d.ts.map +1 -1
- package/dist/utils/validators.d.ts +27 -0
- package/dist/utils/validators.d.ts.map +1 -1
- package/docs/DATA_ENGINE_REFERENCE.md +6660 -0
- package/docs/USAGE_IN_OTHER_PROJECTS.md +587 -0
- package/docs/features/AUDIO_ANALYSIS.md +610 -0
- package/docs/features/BEAT_DETECTION.md +5250 -0
- package/docs/features/COMBAT_SYSTEM.md +1632 -0
- package/docs/features/CONTENT_PACKS.md +464 -0
- package/docs/features/CUSTOM_CONTENT.md +603 -0
- package/docs/features/ENEMY_GENERATION.md +1711 -0
- package/docs/features/EQUIPMENT_SYSTEM.md +2279 -0
- package/docs/features/EXTENSIBILITY_GUIDE.md +1106 -0
- package/docs/features/GATEWAY_RESOLUTION.md +725 -0
- package/docs/features/IRL_SENSORS.md +360 -0
- package/docs/features/PLAYLIST_PARSING.md +446 -0
- package/docs/features/PREREQUISITES.md +571 -0
- package/docs/features/ROLLS_AND_SEEDS.md +687 -0
- package/docs/features/XP_AND_STATS.md +1221 -0
- package/llms.txt +33 -0
- package/package.json +9 -2
- package/skills/playlist-data-engine/SKILL.md +69 -0
- package/dist/gateway-DUk4nCao.cjs +0 -1
- package/dist/gateway-DyR4M-uH.js +0 -681
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface EngineDocTopic {
|
|
2
|
+
/** Slug accepted by engineHelp(topic) and `npx playlist-data-engine docs <topic>` */
|
|
3
|
+
slug: string;
|
|
4
|
+
/** File path relative to the package root */
|
|
5
|
+
file: string;
|
|
6
|
+
summary: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const ENGINE_DOC_TOPICS: readonly EngineDocTopic[];
|
|
9
|
+
/**
|
|
10
|
+
* Timestamped Arweave snapshots of docs/, newest last. Arweave TXs are
|
|
11
|
+
* immutable, so every entry stays addressable forever — re-uploading after a
|
|
12
|
+
* docs change adds a new entry and never retires the old ones. Append the
|
|
13
|
+
* paste-ready output of `node scripts/upload-docs.cjs <wallet.json> --yes`.
|
|
14
|
+
*/
|
|
15
|
+
export interface EngineDocArchiveEntry {
|
|
16
|
+
/** Engine version the docs describe */
|
|
17
|
+
version: string;
|
|
18
|
+
/** ISO timestamp of the upload */
|
|
19
|
+
uploadedAt: string;
|
|
20
|
+
/** docs/-relative path → Turbo transaction id */
|
|
21
|
+
files: Record<string, string>;
|
|
22
|
+
}
|
|
23
|
+
export declare const ENGINE_DOC_ARCHIVE: readonly EngineDocArchiveEntry[];
|
|
24
|
+
/**
|
|
25
|
+
* Self-describing docs entry point: the doc index, one topic's location, or
|
|
26
|
+
* the Claude Code skill file. Inlined content only — safe in browsers and
|
|
27
|
+
* always version-matched to the installed package.
|
|
28
|
+
*
|
|
29
|
+
* @param topic - Omit for the doc index; a topic slug (or alias) for one doc's
|
|
30
|
+
* location; `'skill'` for the SKILL.md contents.
|
|
31
|
+
*/
|
|
32
|
+
export declare function engineHelp(topic?: string): string;
|
|
33
|
+
//# sourceMappingURL=engineDocs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engineDocs.d.ts","sourceRoot":"","sources":["../../src/utils/engineDocs.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC3B,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAiBtD,CAAC;AAYF;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IAClC,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,kBAAkB,EAAE,SAAS,qBAAqB,EAuB9D,CAAC;AAqEF;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAIjD"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* "No nonsense" functions that return arrays of basic data from playlists
|
|
4
4
|
*/
|
|
5
5
|
import type { ServerlessPlaylist, RawArweavePlaylist } from '../core/types/Playlist.js';
|
|
6
|
+
import { type MixInfo } from '../core/parser/TrackExtras.js';
|
|
6
7
|
/** Input type that accepts both parsed and raw playlists */
|
|
7
8
|
export type PlaylistInput = ServerlessPlaylist | RawArweavePlaylist;
|
|
8
9
|
/** Simplified track object for getTracks() */
|
|
@@ -20,6 +21,22 @@ export interface SimpleTrack {
|
|
|
20
21
|
mint_price?: string;
|
|
21
22
|
mint_snapshot_time?: number;
|
|
22
23
|
mint_token?: string;
|
|
24
|
+
/** Name of the entry's pinned mix (absent when the entry plays primary audio) */
|
|
25
|
+
selected_mix?: string;
|
|
26
|
+
}
|
|
27
|
+
/** Track object with mix data for getMixTracks() */
|
|
28
|
+
export interface MixTrackInfo {
|
|
29
|
+
title: string;
|
|
30
|
+
artist: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
/** The entry's audio URL, already repointed when the entry pins a mix */
|
|
33
|
+
audio_url: string;
|
|
34
|
+
audio_url_lossless?: string;
|
|
35
|
+
image_url: string;
|
|
36
|
+
/** Name of the entry's pinned mix (absent when the entry plays primary audio) */
|
|
37
|
+
selected_mix?: string;
|
|
38
|
+
/** All mixes the track ships */
|
|
39
|
+
mixes: MixInfo[];
|
|
23
40
|
}
|
|
24
41
|
/** Track object with VRM data for getVRMTracks() */
|
|
25
42
|
export interface VRMTrack {
|
|
@@ -154,4 +171,24 @@ export declare function getVRMs(playlist: PlaylistInput): string[];
|
|
|
154
171
|
* // [{ title: 'Song', artist: 'Artist', audio_url: '...', image_url: '...', image_thumb_url: '...', vrm: '...' }, ...]
|
|
155
172
|
*/
|
|
156
173
|
export declare function getVRMTracks(playlist: PlaylistInput): VRMTrack[];
|
|
174
|
+
/**
|
|
175
|
+
* Get all alternate mixes across a playlist's tracks
|
|
176
|
+
* @param playlist - Parsed or raw playlist
|
|
177
|
+
* @returns Array of mixes (flattened across tracks, in track order)
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* const mixes = getMixes(playlist);
|
|
181
|
+
* // [{ name: 'Instrumental', uri: '...', mime_type: 'audio/mpeg', conditions: [] }, ...]
|
|
182
|
+
*/
|
|
183
|
+
export declare function getMixes(playlist: PlaylistInput): MixInfo[];
|
|
184
|
+
/**
|
|
185
|
+
* Get tracks that ship alternate mixes, with each entry's pin resolved
|
|
186
|
+
* @param playlist - Parsed or raw playlist
|
|
187
|
+
* @returns Array of track objects with their mixes and pinned mix name
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* const mixTracks = getMixTracks(playlist);
|
|
191
|
+
* // [{ title: 'Song', artist: 'Artist', audio_url: '...', selected_mix: 'Instrumental', mixes: [...] }, ...]
|
|
192
|
+
*/
|
|
193
|
+
export declare function getMixTracks(playlist: PlaylistInput): MixTrackInfo[];
|
|
157
194
|
//# sourceMappingURL=playlistUtils.d.ts.map
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"playlistUtils.d.ts","sourceRoot":"","sources":["../../src/utils/playlistUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -186,4 +186,31 @@ export declare const CharacterSheetSchema: z.ZodObject<{
|
|
|
186
186
|
seed: z.ZodString;
|
|
187
187
|
generated_at: z.ZodString;
|
|
188
188
|
}, z.core.$strip>;
|
|
189
|
+
/**
|
|
190
|
+
* Mix condition schema (alternate mixes)
|
|
191
|
+
*/
|
|
192
|
+
export declare const MixConditionSchema: z.ZodObject<{
|
|
193
|
+
type: z.ZodString;
|
|
194
|
+
value: z.ZodString;
|
|
195
|
+
}, z.core.$strip>;
|
|
196
|
+
/**
|
|
197
|
+
* Alternate mix schema
|
|
198
|
+
*/
|
|
199
|
+
export declare const MixInfoSchema: z.ZodObject<{
|
|
200
|
+
name: z.ZodString;
|
|
201
|
+
uri: z.ZodOptional<z.ZodString>;
|
|
202
|
+
mime_type: z.ZodOptional<z.ZodString>;
|
|
203
|
+
conditions: z.ZodArray<z.ZodObject<{
|
|
204
|
+
type: z.ZodString;
|
|
205
|
+
value: z.ZodString;
|
|
206
|
+
}, z.core.$strip>>;
|
|
207
|
+
}, z.core.$strip>;
|
|
208
|
+
/**
|
|
209
|
+
* Stem schema
|
|
210
|
+
*/
|
|
211
|
+
export declare const StemInfoSchema: z.ZodObject<{
|
|
212
|
+
name: z.ZodString;
|
|
213
|
+
uri: z.ZodOptional<z.ZodString>;
|
|
214
|
+
mime_type: z.ZodOptional<z.ZodString>;
|
|
215
|
+
}, z.core.$strip>;
|
|
189
216
|
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;iBAoC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;iBAuB7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;iBAO9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkD/B,CAAC"}
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;iBAoC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;iBAuB7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;iBAO9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkD/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;iBAKxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC"}
|