ziplayer 0.2.7-dev.3 → 0.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/AI-Guide.md +624 -607
- package/README.md +526 -524
- package/dist/plugins/index.d.ts +62 -12
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +497 -57
- package/dist/plugins/index.js.map +1 -1
- package/dist/structures/PersistenceManager.d.ts +96 -0
- package/dist/structures/PersistenceManager.d.ts.map +1 -0
- package/dist/structures/PersistenceManager.js +1008 -0
- package/dist/structures/PersistenceManager.js.map +1 -0
- package/dist/structures/Player.d.ts +109 -18
- package/dist/structures/Player.d.ts.map +1 -1
- package/dist/structures/Player.js +902 -182
- package/dist/structures/Player.js.map +1 -1
- package/dist/structures/PlayerManager.d.ts +1 -22
- package/dist/structures/PlayerManager.d.ts.map +1 -1
- package/dist/structures/PlayerManager.js +1 -73
- package/dist/structures/PlayerManager.js.map +1 -1
- package/dist/structures/StreamManager.d.ts +137 -0
- package/dist/structures/StreamManager.d.ts.map +1 -0
- package/dist/structures/StreamManager.js +420 -0
- package/dist/structures/StreamManager.js.map +1 -0
- package/dist/types/index.d.ts +149 -16
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/persistence.d.ts +3 -2
- package/dist/types/persistence.d.ts.map +1 -1
- package/package.json +47 -47
- package/src/extensions/BaseExtension.ts +36 -36
- package/src/extensions/index.ts +473 -473
- package/src/index.ts +16 -16
- package/src/plugins/BasePlugin.ts +27 -27
- package/src/plugins/index.ts +950 -403
- package/src/structures/FilterManager.ts +303 -303
- package/src/structures/Player.ts +2797 -1970
- package/src/structures/PlayerManager.ts +725 -822
- package/src/structures/Queue.ts +599 -599
- package/src/structures/StreamManager.ts +524 -0
- package/src/types/extension.ts +129 -129
- package/src/types/fillter.ts +264 -264
- package/src/types/index.ts +548 -415
- package/src/types/plugin.ts +59 -59
- package/src/utils/timeout.ts +10 -10
- package/tsconfig.json +22 -22
- package/src/persistence/PersistenceManager.ts +0 -1077
- package/src/types/persistence.ts +0 -85
package/dist/plugins/index.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { BasePlugin } from "./BasePlugin";
|
|
2
|
-
import type { Track, StreamInfo } from "../types";
|
|
2
|
+
import type { Track, StreamInfo, SearchResult, SearchScore } from "../types";
|
|
3
3
|
import type { PlayerManager } from "../structures/PlayerManager";
|
|
4
4
|
import type { Player } from "../structures/Player";
|
|
5
|
+
import { StreamManager } from "../structures/StreamManager";
|
|
5
6
|
type PluginManagerOptions = {
|
|
6
7
|
extractorTimeout: number | undefined;
|
|
7
8
|
maxFallbackAttempts?: number;
|
|
8
9
|
enableCache?: boolean;
|
|
10
|
+
searchCacheTTL?: number;
|
|
11
|
+
searchMinScore?: number;
|
|
9
12
|
};
|
|
10
13
|
export { BasePlugin } from "./BasePlugin";
|
|
11
14
|
export declare class PluginManager {
|
|
@@ -14,8 +17,11 @@ export declare class PluginManager {
|
|
|
14
17
|
private manager;
|
|
15
18
|
private plugins;
|
|
16
19
|
private streamCache;
|
|
20
|
+
private searchCache;
|
|
17
21
|
private readonly STREAM_CACHE_TTL;
|
|
18
22
|
private pendingStreams;
|
|
23
|
+
private pendingSearches;
|
|
24
|
+
private streamManager?;
|
|
19
25
|
constructor(player: Player, manager: PlayerManager, options: PluginManagerOptions);
|
|
20
26
|
debug(message?: any, ...optionalParams: any[]): void;
|
|
21
27
|
register(plugin: BasePlugin): void;
|
|
@@ -24,25 +30,69 @@ export declare class PluginManager {
|
|
|
24
30
|
getAll(): BasePlugin[];
|
|
25
31
|
findPlugin(query: string): BasePlugin | undefined;
|
|
26
32
|
clear(): void;
|
|
33
|
+
setStreamManager(manager: StreamManager): void;
|
|
34
|
+
private getSearchCacheKey;
|
|
35
|
+
private getCachedSearch;
|
|
36
|
+
private setCachedSearch;
|
|
37
|
+
/**
|
|
38
|
+
* Evaluate how well a track matches the search query
|
|
39
|
+
* @param track Evaluated track
|
|
40
|
+
* @param query Query default
|
|
41
|
+
* @returns SearchScore object with score and reason
|
|
42
|
+
*/
|
|
43
|
+
evaluateTrackMatch(track: Track, query: string): SearchScore;
|
|
44
|
+
/**
|
|
45
|
+
* Evaluate and rank all search results from a plugin
|
|
46
|
+
* @param tracks List of tracks to evaluate
|
|
47
|
+
* @param query Original query
|
|
48
|
+
* @param isPlaylistResult Whether this is a playlist result (skip per-track evaluation)
|
|
49
|
+
* @returns List of tracks with scores, sorted by score
|
|
50
|
+
*/
|
|
51
|
+
private evaluateAndRankResults;
|
|
52
|
+
/**
|
|
53
|
+
* Select the best result from multiple plugins
|
|
54
|
+
* @param allResults Results from various plugins
|
|
55
|
+
* @param query Original query
|
|
56
|
+
* @returns The best result
|
|
57
|
+
*/
|
|
58
|
+
private selectBestResult;
|
|
59
|
+
/**
|
|
60
|
+
* Search with deduplication and evaluation of results
|
|
61
|
+
* @param query Search query
|
|
62
|
+
* @param requestedBy User who requested the search
|
|
63
|
+
* @returns Evaluated search result
|
|
64
|
+
*/
|
|
65
|
+
search(query: string, requestedBy: string): Promise<SearchResult | null>;
|
|
66
|
+
private searchInternal;
|
|
67
|
+
/**
|
|
68
|
+
* Get plugin priority groups info for debugging
|
|
69
|
+
*/
|
|
70
|
+
getPriorityGroupsInfo(): {
|
|
71
|
+
priority: number;
|
|
72
|
+
plugins: string[];
|
|
73
|
+
count: number;
|
|
74
|
+
}[];
|
|
75
|
+
/**
|
|
76
|
+
* Clear search cache
|
|
77
|
+
*/
|
|
78
|
+
clearSearchCache(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Get search cache stats
|
|
81
|
+
*/
|
|
82
|
+
getSearchCacheStats(): {
|
|
83
|
+
size: number;
|
|
84
|
+
keys: string[];
|
|
85
|
+
};
|
|
27
86
|
private getStreamCacheKey;
|
|
28
87
|
private getCachedStream;
|
|
29
88
|
private setCachedStream;
|
|
30
89
|
private getStreamWithDedupe;
|
|
31
90
|
private getStreamInternal;
|
|
32
91
|
getStream(track: Track): Promise<StreamInfo | null>;
|
|
33
|
-
/**
|
|
34
|
-
* Get related tracks for a given track
|
|
35
|
-
* @param {Track} track Track to find related tracks for
|
|
36
|
-
* @returns {Promise<Track[]>} Related tracks or empty array
|
|
37
|
-
*/
|
|
38
92
|
getRelatedTracks(track: Track): Promise<Track[]>;
|
|
39
|
-
/**
|
|
40
|
-
* Clear stream cache
|
|
41
|
-
*/
|
|
42
93
|
clearStreamCache(): void;
|
|
43
|
-
/**
|
|
44
|
-
* Get plugin statistics
|
|
45
|
-
*/
|
|
46
94
|
getStats(): object;
|
|
95
|
+
private validateStreamMatchesTrack;
|
|
96
|
+
private calculateTrackSimilarity;
|
|
47
97
|
}
|
|
48
98
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
|