@stella_project/stellalib 1.0.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.
Files changed (64) hide show
  1. package/LICENSE +213 -0
  2. package/README.md +285 -0
  3. package/THIRD-PARTY-NOTICES.md +84 -0
  4. package/dist/Structures/Filters.d.ts +140 -0
  5. package/dist/Structures/Filters.d.ts.map +1 -0
  6. package/dist/Structures/Filters.js +315 -0
  7. package/dist/Structures/Filters.js.map +1 -0
  8. package/dist/Structures/LRUCache.d.ts +36 -0
  9. package/dist/Structures/LRUCache.d.ts.map +1 -0
  10. package/dist/Structures/LRUCache.js +94 -0
  11. package/dist/Structures/LRUCache.js.map +1 -0
  12. package/dist/Structures/Manager.d.ts +146 -0
  13. package/dist/Structures/Manager.d.ts.map +1 -0
  14. package/dist/Structures/Manager.js +503 -0
  15. package/dist/Structures/Manager.js.map +1 -0
  16. package/dist/Structures/Node.d.ts +118 -0
  17. package/dist/Structures/Node.d.ts.map +1 -0
  18. package/dist/Structures/Node.js +927 -0
  19. package/dist/Structures/Node.js.map +1 -0
  20. package/dist/Structures/Player.d.ts +193 -0
  21. package/dist/Structures/Player.d.ts.map +1 -0
  22. package/dist/Structures/Player.js +598 -0
  23. package/dist/Structures/Player.js.map +1 -0
  24. package/dist/Structures/Queue.d.ts +48 -0
  25. package/dist/Structures/Queue.d.ts.map +1 -0
  26. package/dist/Structures/Queue.js +114 -0
  27. package/dist/Structures/Queue.js.map +1 -0
  28. package/dist/Structures/Rest.d.ts +105 -0
  29. package/dist/Structures/Rest.d.ts.map +1 -0
  30. package/dist/Structures/Rest.js +343 -0
  31. package/dist/Structures/Rest.js.map +1 -0
  32. package/dist/Structures/SessionStore.d.ts +42 -0
  33. package/dist/Structures/SessionStore.d.ts.map +1 -0
  34. package/dist/Structures/SessionStore.js +94 -0
  35. package/dist/Structures/SessionStore.js.map +1 -0
  36. package/dist/Structures/Types.d.ts +450 -0
  37. package/dist/Structures/Types.d.ts.map +1 -0
  38. package/dist/Structures/Types.js +13 -0
  39. package/dist/Structures/Types.js.map +1 -0
  40. package/dist/Structures/Utils.d.ts +61 -0
  41. package/dist/Structures/Utils.d.ts.map +1 -0
  42. package/dist/Structures/Utils.js +204 -0
  43. package/dist/Structures/Utils.js.map +1 -0
  44. package/dist/Utils/FiltersEqualizers.d.ts +20 -0
  45. package/dist/Utils/FiltersEqualizers.d.ts.map +1 -0
  46. package/dist/Utils/FiltersEqualizers.js +96 -0
  47. package/dist/Utils/FiltersEqualizers.js.map +1 -0
  48. package/dist/Utils/ManagerCheck.d.ts +9 -0
  49. package/dist/Utils/ManagerCheck.d.ts.map +1 -0
  50. package/dist/Utils/ManagerCheck.js +45 -0
  51. package/dist/Utils/ManagerCheck.js.map +1 -0
  52. package/dist/Utils/NodeCheck.d.ts +9 -0
  53. package/dist/Utils/NodeCheck.d.ts.map +1 -0
  54. package/dist/Utils/NodeCheck.js +31 -0
  55. package/dist/Utils/NodeCheck.js.map +1 -0
  56. package/dist/Utils/PlayerCheck.d.ts +9 -0
  57. package/dist/Utils/PlayerCheck.d.ts.map +1 -0
  58. package/dist/Utils/PlayerCheck.js +23 -0
  59. package/dist/Utils/PlayerCheck.js.map +1 -0
  60. package/dist/index.d.ts +12 -0
  61. package/dist/index.d.ts.map +1 -0
  62. package/dist/index.js +28 -0
  63. package/dist/index.js.map +1 -0
  64. package/package.json +64 -0
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Plugin = exports.Structure = exports.TrackUtils = void 0;
4
+ /** @hidden */
5
+ const TRACK_SYMBOL = Symbol("track"),
6
+ /** @hidden */
7
+ UNRESOLVED_TRACK_SYMBOL = Symbol("unresolved"), SIZES = ["0", "1", "2", "3", "default", "mqdefault", "hqdefault", "maxresdefault"];
8
+ /** @hidden */
9
+ const escapeRegExp = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
10
+ class TrackUtils {
11
+ static trackPartial = null;
12
+ static manager;
13
+ /** @hidden */
14
+ static init(manager) {
15
+ this.manager = manager;
16
+ }
17
+ static setTrackPartial(partial) {
18
+ if (!Array.isArray(partial) || !partial.every((str) => typeof str === "string"))
19
+ throw new Error("Provided partial is not an array or not a string array.");
20
+ if (!partial.includes("track"))
21
+ partial.unshift("track");
22
+ this.trackPartial = partial;
23
+ }
24
+ /**
25
+ * Checks if the provided argument is a valid Track or UnresolvedTrack.
26
+ * If provided an array then every element will be checked.
27
+ */
28
+ static validate(trackOrTracks) {
29
+ if (typeof trackOrTracks === "undefined")
30
+ throw new RangeError("Provided argument must be present.");
31
+ if (Array.isArray(trackOrTracks) && trackOrTracks.length) {
32
+ for (const track of trackOrTracks) {
33
+ if (!(track[TRACK_SYMBOL] || track[UNRESOLVED_TRACK_SYMBOL]))
34
+ return false;
35
+ }
36
+ return true;
37
+ }
38
+ return (trackOrTracks[TRACK_SYMBOL] ||
39
+ trackOrTracks[UNRESOLVED_TRACK_SYMBOL]) === true;
40
+ }
41
+ /** Checks if the provided argument is a valid UnresolvedTrack. */
42
+ static isUnresolvedTrack(track) {
43
+ if (typeof track === "undefined")
44
+ throw new RangeError("Provided argument must be present.");
45
+ return track[UNRESOLVED_TRACK_SYMBOL] === true;
46
+ }
47
+ /** Checks if the provided argument is a valid Track. */
48
+ static isTrack(track) {
49
+ if (typeof track === "undefined")
50
+ throw new RangeError("Provided argument must be present.");
51
+ return track[TRACK_SYMBOL] === true;
52
+ }
53
+ /**
54
+ * Builds a Track from the raw data from Lavalink and an optional requester.
55
+ * @param data The raw data from Lavalink.
56
+ * @param requester The user who requested the track.
57
+ */
58
+ static build(data, requester) {
59
+ if (typeof data === "undefined")
60
+ throw new RangeError('Argument "data" must be present.');
61
+ try {
62
+ const track = {
63
+ track: data.encoded,
64
+ title: data.info.title,
65
+ identifier: data.info.identifier,
66
+ author: data.info.author,
67
+ duration: data.info.length,
68
+ isrc: data.info?.isrc ?? "",
69
+ isSeekable: data.info.isSeekable,
70
+ isStream: data.info.isStream,
71
+ uri: data.info.uri ?? "",
72
+ artworkUrl: data.info?.artworkUrl ?? "",
73
+ sourceName: data.info?.sourceName ?? "unknown",
74
+ thumbnail: data.info.uri?.includes("youtube")
75
+ ? `https://img.youtube.com/vi/${data.info.identifier}/default.jpg`
76
+ : null,
77
+ displayThumbnail(size = "default") {
78
+ const finalSize = SIZES.find((s) => s === size) ?? "default";
79
+ return this.uri?.includes("youtube")
80
+ ? `https://img.youtube.com/vi/${data.info.identifier}/${finalSize}.jpg`
81
+ : null;
82
+ },
83
+ requester,
84
+ pluginInfo: data.pluginInfo ?? {},
85
+ customData: {},
86
+ };
87
+ track.displayThumbnail = track.displayThumbnail.bind(track);
88
+ if (this.trackPartial) {
89
+ for (const key of Object.keys(track)) {
90
+ if (this.trackPartial.includes(key))
91
+ continue;
92
+ delete track[key];
93
+ }
94
+ }
95
+ Object.defineProperty(track, TRACK_SYMBOL, {
96
+ configurable: true,
97
+ value: true,
98
+ });
99
+ return track;
100
+ }
101
+ catch (error) {
102
+ throw new RangeError(`Argument "data" is not a valid track: ${error.message}`);
103
+ }
104
+ }
105
+ /**
106
+ * Builds an UnresolvedTrack to be resolved before being played.
107
+ * @param query The query to search for.
108
+ * @param requester The user who requested the track.
109
+ */
110
+ static buildUnresolved(query, requester) {
111
+ if (typeof query === "undefined")
112
+ throw new RangeError('Argument "query" must be present.');
113
+ let unresolvedTrack = {
114
+ requester,
115
+ async resolve() {
116
+ const resolved = await TrackUtils.getClosestTrack(this);
117
+ Object.getOwnPropertyNames(this).forEach((prop) => delete this[prop]);
118
+ Object.assign(this, resolved);
119
+ },
120
+ };
121
+ if (typeof query === "string")
122
+ unresolvedTrack.title = query;
123
+ else
124
+ unresolvedTrack = { ...unresolvedTrack, ...query };
125
+ Object.defineProperty(unresolvedTrack, UNRESOLVED_TRACK_SYMBOL, {
126
+ configurable: true,
127
+ value: true,
128
+ });
129
+ return unresolvedTrack;
130
+ }
131
+ static async getClosestTrack(unresolvedTrack) {
132
+ if (!TrackUtils.manager)
133
+ throw new RangeError("Manager has not been initiated.");
134
+ if (!TrackUtils.isUnresolvedTrack(unresolvedTrack))
135
+ throw new RangeError("Provided track is not an UnresolvedTrack.");
136
+ const query = unresolvedTrack.uri
137
+ ? unresolvedTrack.uri
138
+ : [unresolvedTrack.author, unresolvedTrack.title].filter(Boolean).join(" - ");
139
+ const res = await TrackUtils.manager.search(query, unresolvedTrack.requester ?? undefined);
140
+ if (unresolvedTrack.author) {
141
+ const channelNames = [unresolvedTrack.author, `${unresolvedTrack.author} - Topic`];
142
+ const originalAudio = res.tracks.find((track) => {
143
+ return (channelNames.some((name) => new RegExp(`^${escapeRegExp(name)}$`, "i").test(track.author)) ||
144
+ new RegExp(`^${escapeRegExp(unresolvedTrack.title)}$`, "i").test(track.title));
145
+ });
146
+ if (originalAudio)
147
+ return originalAudio;
148
+ }
149
+ if (unresolvedTrack.duration) {
150
+ const sameDuration = res.tracks.find((track) => track.duration >= (unresolvedTrack.duration - 1500) &&
151
+ track.duration <= (unresolvedTrack.duration + 1500));
152
+ if (sameDuration)
153
+ return sameDuration;
154
+ }
155
+ const finalTrack = res.tracks[0];
156
+ if (finalTrack)
157
+ finalTrack.customData = unresolvedTrack.customData ?? {};
158
+ return finalTrack;
159
+ }
160
+ }
161
+ exports.TrackUtils = TrackUtils;
162
+ /** Gets or extends structures to extend the built in, or already extended, classes to add more functionality. */
163
+ class Structure {
164
+ /**
165
+ * Extends a class.
166
+ * @param name
167
+ * @param extender
168
+ */
169
+ static extend(name, extender) {
170
+ const s = getStructures();
171
+ if (!s[name])
172
+ throw new TypeError(`"${name}" is not a valid structure`);
173
+ const extended = extender(s[name]);
174
+ s[name] = extended;
175
+ return extended;
176
+ }
177
+ /**
178
+ * Get a structure from available structures by name.
179
+ * @param name
180
+ */
181
+ static get(name) {
182
+ const structure = getStructures()[name];
183
+ if (!structure)
184
+ throw new TypeError('"structure" must be provided.');
185
+ return structure;
186
+ }
187
+ }
188
+ exports.Structure = Structure;
189
+ class Plugin {
190
+ load(_manager) { }
191
+ unload(_manager) { }
192
+ }
193
+ exports.Plugin = Plugin;
194
+ const structures = {};
195
+ /** Lazily initializes the structures object to avoid circular dependency issues. */
196
+ function getStructures() {
197
+ if (!structures.Player) {
198
+ structures.Player = require("./Player").StellaPlayer;
199
+ structures.Queue = require("./Queue").StellaQueue;
200
+ structures.Node = require("./Node").StellaNode;
201
+ }
202
+ return structures;
203
+ }
204
+ //# sourceMappingURL=Utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/Structures/Utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * StellaLib — Copyright (c) 2026 AntonyZ, x2sadddDM, SynX, Astel (OSL-3.0)
4
+ * Derived from LithiumX — Copyright (c) 2025 Anantix Network (MIT)
5
+ * See LICENSE and THIRD-PARTY-NOTICES.md for full license details.
6
+ */
7
+ /** Represents an equalizer band. */
8
+ interface Band {
9
+ /** The index of the equalizer band (0-14). */
10
+ band: number;
11
+ /** The gain value of the equalizer band (-0.25 to 1.0). */
12
+ gain: number;
13
+ }
14
+ declare const bassBoostEqualizer: Band[];
15
+ declare const softEqualizer: Band[];
16
+ declare const tvEqualizer: Band[];
17
+ declare const trebleBassEqualizer: Band[];
18
+ declare const vaporwaveEqualizer: Band[];
19
+ export { Band, bassBoostEqualizer, softEqualizer, tvEqualizer, trebleBassEqualizer, vaporwaveEqualizer };
20
+ //# sourceMappingURL=FiltersEqualizers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiltersEqualizers.d.ts","sourceRoot":"","sources":["../../src/Utils/FiltersEqualizers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,oCAAoC;AACpC,UAAU,IAAI;IACb,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;CACb;AAED,QAAA,MAAM,kBAAkB,EAAE,IAAI,EAgB7B,CAAC;AAEF,QAAA,MAAM,aAAa,EAAE,IAAI,EAexB,CAAC;AAEF,QAAA,MAAM,WAAW,EAAE,IAAI,EAetB,CAAC;AAEF,QAAA,MAAM,mBAAmB,EAAE,IAAI,EAe9B,CAAC;AAEF,QAAA,MAAM,kBAAkB,EAAE,IAAI,EAe7B,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * StellaLib — Copyright (c) 2026 AntonyZ, x2sadddDM, SynX, Astel (OSL-3.0)
5
+ * Derived from LithiumX — Copyright (c) 2025 Anantix Network (MIT)
6
+ * See LICENSE and THIRD-PARTY-NOTICES.md for full license details.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.vaporwaveEqualizer = exports.trebleBassEqualizer = exports.tvEqualizer = exports.softEqualizer = exports.bassBoostEqualizer = void 0;
10
+ const bassBoostEqualizer = [
11
+ { band: 0, gain: 0.2 },
12
+ { band: 1, gain: 0.15 },
13
+ { band: 2, gain: 0.1 },
14
+ { band: 3, gain: 0.05 },
15
+ { band: 4, gain: 0.0 },
16
+ { band: 5, gain: -0.05 },
17
+ { band: 6, gain: -0.1 },
18
+ { band: 7, gain: -0.1 },
19
+ { band: 8, gain: -0.1 },
20
+ { band: 9, gain: -0.1 },
21
+ { band: 10, gain: -0.1 },
22
+ { band: 11, gain: -0.1 },
23
+ { band: 12, gain: -0.1 },
24
+ { band: 13, gain: -0.1 },
25
+ { band: 14, gain: -0.1 },
26
+ ];
27
+ exports.bassBoostEqualizer = bassBoostEqualizer;
28
+ const softEqualizer = [
29
+ { band: 0, gain: 0 },
30
+ { band: 1, gain: 0 },
31
+ { band: 2, gain: 0 },
32
+ { band: 3, gain: 0 },
33
+ { band: 4, gain: 0 },
34
+ { band: 5, gain: 0 },
35
+ { band: 6, gain: 0 },
36
+ { band: 7, gain: 0 },
37
+ { band: 8, gain: -0.25 },
38
+ { band: 9, gain: -0.25 },
39
+ { band: 10, gain: -0.25 },
40
+ { band: 11, gain: -0.25 },
41
+ { band: 12, gain: -0.25 },
42
+ { band: 13, gain: -0.25 },
43
+ ];
44
+ exports.softEqualizer = softEqualizer;
45
+ const tvEqualizer = [
46
+ { band: 0, gain: 0 },
47
+ { band: 1, gain: 0 },
48
+ { band: 2, gain: 0 },
49
+ { band: 3, gain: 0 },
50
+ { band: 4, gain: 0 },
51
+ { band: 5, gain: 0 },
52
+ { band: 6, gain: 0 },
53
+ { band: 7, gain: 0.65 },
54
+ { band: 8, gain: 0.65 },
55
+ { band: 9, gain: 0.65 },
56
+ { band: 10, gain: 0.65 },
57
+ { band: 11, gain: 0.65 },
58
+ { band: 12, gain: 0.65 },
59
+ { band: 13, gain: 0.65 },
60
+ ];
61
+ exports.tvEqualizer = tvEqualizer;
62
+ const trebleBassEqualizer = [
63
+ { band: 0, gain: 0.6 },
64
+ { band: 1, gain: 0.67 },
65
+ { band: 2, gain: 0.67 },
66
+ { band: 3, gain: 0 },
67
+ { band: 4, gain: -0.5 },
68
+ { band: 5, gain: 0.15 },
69
+ { band: 6, gain: -0.45 },
70
+ { band: 7, gain: 0.23 },
71
+ { band: 8, gain: 0.35 },
72
+ { band: 9, gain: 0.45 },
73
+ { band: 10, gain: 0.55 },
74
+ { band: 11, gain: 0.6 },
75
+ { band: 12, gain: 0.55 },
76
+ { band: 13, gain: 0 },
77
+ ];
78
+ exports.trebleBassEqualizer = trebleBassEqualizer;
79
+ const vaporwaveEqualizer = [
80
+ { band: 0, gain: 0 },
81
+ { band: 1, gain: 0 },
82
+ { band: 2, gain: 0 },
83
+ { band: 3, gain: 0 },
84
+ { band: 4, gain: 0 },
85
+ { band: 5, gain: 0 },
86
+ { band: 6, gain: 0 },
87
+ { band: 7, gain: 0 },
88
+ { band: 8, gain: 0.15 },
89
+ { band: 9, gain: 0.15 },
90
+ { band: 10, gain: 0.15 },
91
+ { band: 11, gain: 0.15 },
92
+ { band: 12, gain: 0.15 },
93
+ { band: 13, gain: 0.15 },
94
+ ];
95
+ exports.vaporwaveEqualizer = vaporwaveEqualizer;
96
+ //# sourceMappingURL=FiltersEqualizers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiltersEqualizers.js","sourceRoot":"","sources":["../../src/Utils/FiltersEqualizers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * StellaLib — Copyright (c) 2026 AntonyZ, x2sadddDM, SynX, Astel (OSL-3.0)
4
+ * Derived from LithiumX — Copyright (c) 2025 Anantix Network (MIT)
5
+ * See LICENSE and THIRD-PARTY-NOTICES.md for full license details.
6
+ */
7
+ import type { ManagerOptions } from "../Structures/Types";
8
+ export default function ManagerCheck(options: ManagerOptions): void;
9
+ //# sourceMappingURL=ManagerCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManagerCheck.d.ts","sourceRoot":"","sources":["../../src/Utils/ManagerCheck.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CA6ClE"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = ManagerCheck;
4
+ function ManagerCheck(options) {
5
+ if (!options)
6
+ throw new TypeError("ManagerOptions must not be empty.");
7
+ const { autoPlay, clientId, clientName, defaultSearchPlatform, nodes, plugins, send, shards, trackPartial, usePriority, useNode, replaceYouTubeCredentials, caches, } = options;
8
+ if (typeof autoPlay !== "undefined" && typeof autoPlay !== "boolean")
9
+ throw new TypeError('Manager option "autoPlay" must be a boolean.');
10
+ if (typeof clientId !== "undefined" && !/^\d+$/.test(clientId))
11
+ throw new TypeError('Manager option "clientId" must be a non-empty string.');
12
+ if (typeof clientName !== "undefined" && typeof clientName !== "string")
13
+ throw new TypeError('Manager option "clientName" must be a string.');
14
+ if (typeof caches !== "undefined" && typeof caches !== "object")
15
+ throw new TypeError('Manager option "caches" must be an object.');
16
+ if (typeof defaultSearchPlatform !== "undefined" && typeof defaultSearchPlatform !== "string")
17
+ throw new TypeError('Manager option "defaultSearchPlatform" must be a string.');
18
+ if (typeof nodes !== "undefined" && !Array.isArray(nodes))
19
+ throw new TypeError('Manager option "nodes" must be an array.');
20
+ if (typeof plugins !== "undefined" && !Array.isArray(plugins))
21
+ throw new TypeError('Manager option "plugins" must be a Plugin array.');
22
+ if (typeof send !== "function")
23
+ throw new TypeError('Manager option "send" must be present and a function.');
24
+ if (typeof shards !== "undefined" && typeof shards !== "number")
25
+ throw new TypeError('Manager option "shards" must be a number.');
26
+ if (typeof trackPartial !== "undefined" && !Array.isArray(trackPartial))
27
+ throw new TypeError('Manager option "trackPartial" must be a string array.');
28
+ if (typeof usePriority !== "undefined" && typeof usePriority !== "boolean")
29
+ throw new TypeError('Manager option "usePriority" must be a boolean.');
30
+ if (usePriority && nodes) {
31
+ for (let index = 0; index < nodes.length; index++) {
32
+ if (!nodes[index].priority)
33
+ throw new TypeError(`Missing node option "priority" at position ${index}`);
34
+ }
35
+ }
36
+ if (typeof useNode !== "undefined") {
37
+ if (typeof useNode !== "string")
38
+ throw new TypeError('Manager option "useNode" must be a string "leastLoad" or "leastPlayers".');
39
+ if (useNode !== "leastLoad" && useNode !== "leastPlayers")
40
+ throw new TypeError('Manager option must be either "leastLoad" or "leastPlayers".');
41
+ }
42
+ if (typeof replaceYouTubeCredentials !== "undefined" && typeof replaceYouTubeCredentials !== "boolean")
43
+ throw new TypeError('Manager option "replaceYouTubeCredentials" must be a boolean.');
44
+ }
45
+ //# sourceMappingURL=ManagerCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManagerCheck.js","sourceRoot":"","sources":["../../src/Utils/ManagerCheck.ts"],"names":[],"mappings":";;AAQA,+BA6CC;AA7CD,SAAwB,YAAY,CAAC,OAAuB;IAC3D,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAEvE,MAAM,EACL,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,qBAAqB,EACrD,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAC1C,WAAW,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,GACvD,GAAG,OAAO,CAAC;IAEZ,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,SAAS;QACnE,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;IACrE,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC7D,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;IAC9E,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,OAAO,UAAU,KAAK,QAAQ;QACtE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACtE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,QAAQ;QAC9D,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;IACnE,IAAI,OAAO,qBAAqB,KAAK,WAAW,IAAI,OAAO,qBAAqB,KAAK,QAAQ;QAC5F,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAC;IACjF,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACxD,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;IACjE,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC5D,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IACzE,IAAI,OAAO,IAAI,KAAK,UAAU;QAC7B,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;IAC9E,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,QAAQ;QAC9D,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IAClE,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;QACtE,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;IAC9E,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,OAAO,WAAW,KAAK,SAAS;QACzE,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACxE,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;QAC1B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ;gBACzB,MAAM,IAAI,SAAS,CAAC,8CAA8C,KAAK,EAAE,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACpC,IAAI,OAAO,OAAO,KAAK,QAAQ;YAC9B,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACjG,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,cAAc;YACxD,MAAM,IAAI,SAAS,CAAC,8DAA8D,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,OAAO,yBAAyB,KAAK,WAAW,IAAI,OAAO,yBAAyB,KAAK,SAAS;QACrG,MAAM,IAAI,SAAS,CAAC,+DAA+D,CAAC,CAAC;AACvF,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * StellaLib — Copyright (c) 2026 AntonyZ, x2sadddDM, SynX, Astel (OSL-3.0)
4
+ * Derived from LithiumX — Copyright (c) 2025 Anantix Network (MIT)
5
+ * See LICENSE and THIRD-PARTY-NOTICES.md for full license details.
6
+ */
7
+ import type { NodeOptions } from "../Structures/Types";
8
+ export default function NodeCheck(options: NodeOptions): void;
9
+ //# sourceMappingURL=NodeCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeCheck.d.ts","sourceRoot":"","sources":["../../src/Utils/NodeCheck.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA2B5D"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = NodeCheck;
4
+ function NodeCheck(options) {
5
+ if (!options)
6
+ throw new TypeError("NodeOptions must not be empty.");
7
+ const { host, identifier, password, port, requestTimeout, resumeStatus, resumeTimeout, retryAmount, retryDelay, secure, priority } = options;
8
+ if (typeof host !== "string" || !/.+/.test(host))
9
+ throw new TypeError('Node option "host" must be present and be a non-empty string.');
10
+ if (typeof identifier !== "undefined" && typeof identifier !== "string")
11
+ throw new TypeError('Node option "identifier" must be a non-empty string.');
12
+ if (typeof password !== "undefined" && (typeof password !== "string" || !/.+/.test(password)))
13
+ throw new TypeError('Node option "password" must be a non-empty string.');
14
+ if (typeof port !== "undefined" && typeof port !== "number")
15
+ throw new TypeError('Node option "port" must be a number.');
16
+ if (typeof requestTimeout !== "undefined" && typeof requestTimeout !== "number")
17
+ throw new TypeError('Node option "requestTimeout" must be a number.');
18
+ if (typeof resumeStatus !== "undefined" && typeof resumeStatus !== "boolean")
19
+ throw new TypeError('Node option "resumeStatus" must be a boolean.');
20
+ if (typeof resumeTimeout !== "undefined" && typeof resumeTimeout !== "number")
21
+ throw new TypeError('Node option "resumeTimeout" must be a number.');
22
+ if (typeof retryAmount !== "undefined" && typeof retryAmount !== "number")
23
+ throw new TypeError('Node option "retryAmount" must be a number.');
24
+ if (typeof retryDelay !== "undefined" && typeof retryDelay !== "number")
25
+ throw new TypeError('Node option "retryDelay" must be a number.');
26
+ if (typeof secure !== "undefined" && typeof secure !== "boolean")
27
+ throw new TypeError('Node option "secure" must be a boolean.');
28
+ if (typeof priority !== "undefined" && typeof priority !== "number")
29
+ throw new TypeError('Node option "priority" must be a number.');
30
+ }
31
+ //# sourceMappingURL=NodeCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeCheck.js","sourceRoot":"","sources":["../../src/Utils/NodeCheck.ts"],"names":[],"mappings":";;AAQA,4BA2BC;AA3BD,SAAwB,SAAS,CAAC,OAAoB;IACrD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAEpE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE7I,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/C,MAAM,IAAI,SAAS,CAAC,+DAA+D,CAAC,CAAC;IACtF,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,OAAO,UAAU,KAAK,QAAQ;QACtE,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;IAC7E,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5F,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC3E,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,KAAK,QAAQ;QAC1D,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC7D,IAAI,OAAO,cAAc,KAAK,WAAW,IAAI,OAAO,cAAc,KAAK,QAAQ;QAC9E,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IACvE,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,OAAO,YAAY,KAAK,SAAS;QAC3E,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACtE,IAAI,OAAO,aAAa,KAAK,WAAW,IAAI,OAAO,aAAa,KAAK,QAAQ;QAC5E,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACtE,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ;QACxE,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IACpE,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,OAAO,UAAU,KAAK,QAAQ;QACtE,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;IACnE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,SAAS;QAC/D,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;IAChE,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAClE,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * StellaLib — Copyright (c) 2026 AntonyZ, x2sadddDM, SynX, Astel (OSL-3.0)
4
+ * Derived from LithiumX — Copyright (c) 2025 Anantix Network (MIT)
5
+ * See LICENSE and THIRD-PARTY-NOTICES.md for full license details.
6
+ */
7
+ import type { PlayerOptions } from "../Structures/Types";
8
+ export default function PlayerCheck(options: PlayerOptions): void;
9
+ //# sourceMappingURL=PlayerCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerCheck.d.ts","sourceRoot":"","sources":["../../src/Utils/PlayerCheck.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAmBhE"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = PlayerCheck;
4
+ function PlayerCheck(options) {
5
+ if (!options)
6
+ throw new TypeError("PlayerOptions must not be empty.");
7
+ const { guild, node, selfDeafen, selfMute, textChannel, voiceChannel, volume } = options;
8
+ if (!/^\d+$/.test(guild))
9
+ throw new TypeError('Player option "guild" must be present and be a non-empty string.');
10
+ if (node && typeof node !== "string")
11
+ throw new TypeError('Player option "node" must be a non-empty string.');
12
+ if (typeof selfDeafen !== "undefined" && typeof selfDeafen !== "boolean")
13
+ throw new TypeError('Player option "selfDeafen" must be a boolean.');
14
+ if (typeof selfMute !== "undefined" && typeof selfMute !== "boolean")
15
+ throw new TypeError('Player option "selfMute" must be a boolean.');
16
+ if (textChannel && !/^\d+$/.test(textChannel))
17
+ throw new TypeError('Player option "textChannel" must be a non-empty string.');
18
+ if (voiceChannel && !/^\d+$/.test(voiceChannel))
19
+ throw new TypeError('Player option "voiceChannel" must be a non-empty string.');
20
+ if (typeof volume !== "undefined" && typeof volume !== "number")
21
+ throw new TypeError('Player option "volume" must be a number.');
22
+ }
23
+ //# sourceMappingURL=PlayerCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerCheck.js","sourceRoot":"","sources":["../../src/Utils/PlayerCheck.ts"],"names":[],"mappings":";;AAQA,8BAmBC;AAnBD,SAAwB,WAAW,CAAC,OAAsB;IACzD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAEtE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEzF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QACvB,MAAM,IAAI,SAAS,CAAC,kEAAkE,CAAC,CAAC;IACzF,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QACnC,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IACzE,IAAI,OAAO,UAAU,KAAK,WAAW,IAAI,OAAO,UAAU,KAAK,SAAS;QACvE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACtE,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,SAAS;QACnE,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IACpE,IAAI,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5C,MAAM,IAAI,SAAS,CAAC,yDAAyD,CAAC,CAAC;IAChF,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;QAC9C,MAAM,IAAI,SAAS,CAAC,0DAA0D,CAAC,CAAC;IACjF,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,QAAQ;QAC9D,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,12 @@
1
+ export * from "./Structures/Types";
2
+ export * from "./Structures/Manager";
3
+ export * from "./Structures/Node";
4
+ export * from "./Structures/Player";
5
+ export * from "./Structures/Queue";
6
+ export * from "./Structures/Rest";
7
+ export * from "./Structures/Filters";
8
+ export * from "./Structures/Utils";
9
+ export * from "./Structures/LRUCache";
10
+ export * from "./Structures/SessionStore";
11
+ export * from "./Utils/FiltersEqualizers";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Structures/Types"), exports);
18
+ __exportStar(require("./Structures/Manager"), exports);
19
+ __exportStar(require("./Structures/Node"), exports);
20
+ __exportStar(require("./Structures/Player"), exports);
21
+ __exportStar(require("./Structures/Queue"), exports);
22
+ __exportStar(require("./Structures/Rest"), exports);
23
+ __exportStar(require("./Structures/Filters"), exports);
24
+ __exportStar(require("./Structures/Utils"), exports);
25
+ __exportStar(require("./Structures/LRUCache"), exports);
26
+ __exportStar(require("./Structures/SessionStore"), exports);
27
+ __exportStar(require("./Utils/FiltersEqualizers"), exports);
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,uDAAqC;AACrC,oDAAkC;AAClC,sDAAoC;AACpC,qDAAmC;AACnC,oDAAkC;AAClC,uDAAqC;AACrC,qDAAmC;AACnC,wDAAsC;AACtC,4DAA0C;AAC1C,4DAA0C"}
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "@stella_project/stellalib",
3
+ "version": "1.0.0",
4
+ "description": "StellaLib — A powerful Lavalink v3+v4 client for TypeScript with auto version detection, session persistence, smart autoplay, and graceful shutdown",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "require": "./dist/index.js",
10
+ "types": "./dist/index.d.ts"
11
+ }
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "LICENSE",
16
+ "README.md",
17
+ "THIRD-PARTY-NOTICES.md"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc",
21
+ "clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
22
+ "prepublishOnly": "npm run clean && npm run build",
23
+ "test": "bun test",
24
+ "lint": "tsc --noEmit"
25
+ },
26
+ "keywords": [
27
+ "lavalink",
28
+ "lavalink-client",
29
+ "lavalink-v4",
30
+ "discord",
31
+ "discord-music",
32
+ "music-bot",
33
+ "audio",
34
+ "voice",
35
+ "autoplay",
36
+ "session-resume",
37
+ "stellalib",
38
+ "typescript"
39
+ ],
40
+ "license": "OSL-3.0",
41
+ "author": "AntonyZ, x2sadddDM, SynX, Astel",
42
+ "homepage": "https://github.com/Roki-Stella-Projects/StellaLib",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/Roki-Stella-Projects/StellaLib.git"
46
+ },
47
+ "bugs": {
48
+ "url": "https://github.com/Roki-Stella-Projects/StellaLib/issues"
49
+ },
50
+ "engines": {
51
+ "node": ">=18.0.0"
52
+ },
53
+ "dependencies": {
54
+ "tiny-typed-emitter": "^2.1.0",
55
+ "ws": "^8.18.1"
56
+ },
57
+ "devDependencies": {
58
+ "@types/node": "^22.13.10",
59
+ "@types/ws": "^8.18.0",
60
+ "bun-types": "^1.0.0",
61
+ "discord.js": "^14.18.0",
62
+ "typescript": "~5.7.3"
63
+ }
64
+ }