yukimu 1.2.0 → 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.
Files changed (92) hide show
  1. package/.cache/replit/env/latest +72 -72
  2. package/.cache/replit/env/latest.json +1 -1
  3. package/.cache/replit/toolchain.json +1 -1
  4. package/dist/ConnectionPool.d.ts +1 -0
  5. package/dist/ConnectionPool.d.ts.map +1 -1
  6. package/dist/ConnectionPool.js +11 -24
  7. package/dist/ConnectionPool.js.map +1 -1
  8. package/dist/Constants.d.ts +3 -49
  9. package/dist/Constants.d.ts.map +1 -1
  10. package/dist/Constants.js +6 -61
  11. package/dist/Constants.js.map +1 -1
  12. package/dist/Node.d.ts +1 -1
  13. package/dist/Node.d.ts.map +1 -1
  14. package/dist/Node.js +17 -17
  15. package/dist/Node.js.map +1 -1
  16. package/dist/Player.d.ts +9 -5
  17. package/dist/Player.d.ts.map +1 -1
  18. package/dist/Player.js +73 -54
  19. package/dist/Player.js.map +1 -1
  20. package/dist/Plugin.d.ts +0 -14
  21. package/dist/Plugin.d.ts.map +1 -1
  22. package/dist/Plugin.js +0 -12
  23. package/dist/Plugin.js.map +1 -1
  24. package/dist/Queue.d.ts +0 -1
  25. package/dist/Queue.d.ts.map +1 -1
  26. package/dist/Queue.js +7 -22
  27. package/dist/Queue.js.map +1 -1
  28. package/dist/Resolver.d.ts +1 -1
  29. package/dist/Resolver.d.ts.map +1 -1
  30. package/dist/Resolver.js +24 -10
  31. package/dist/Resolver.js.map +1 -1
  32. package/dist/Rest.d.ts +3 -4
  33. package/dist/Rest.d.ts.map +1 -1
  34. package/dist/Rest.js +26 -16
  35. package/dist/Rest.js.map +1 -1
  36. package/dist/TrackCache.d.ts +0 -5
  37. package/dist/TrackCache.d.ts.map +1 -1
  38. package/dist/TrackCache.js +6 -23
  39. package/dist/TrackCache.js.map +1 -1
  40. package/dist/WsQueue.d.ts +2 -11
  41. package/dist/WsQueue.d.ts.map +1 -1
  42. package/dist/WsQueue.js +5 -21
  43. package/dist/WsQueue.js.map +1 -1
  44. package/dist/Yukimu.d.ts +3 -12
  45. package/dist/Yukimu.d.ts.map +1 -1
  46. package/dist/Yukimu.js +2 -8
  47. package/dist/Yukimu.js.map +1 -1
  48. package/dist/connector/DiscordJS.d.ts +1 -18
  49. package/dist/connector/DiscordJS.d.ts.map +1 -1
  50. package/dist/connector/DiscordJS.js.map +1 -1
  51. package/dist/connector/Eris.d.ts +1 -16
  52. package/dist/connector/Eris.d.ts.map +1 -1
  53. package/dist/connector/Eris.js +2 -4
  54. package/dist/connector/Eris.js.map +1 -1
  55. package/dist/connector/Oceanic.d.ts +1 -13
  56. package/dist/connector/Oceanic.d.ts.map +1 -1
  57. package/dist/connector/Oceanic.js +2 -4
  58. package/dist/connector/Oceanic.js.map +1 -1
  59. package/dist/errors/YukimuError.d.ts.map +1 -1
  60. package/dist/errors/YukimuError.js +0 -1
  61. package/dist/errors/YukimuError.js.map +1 -1
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +0 -5
  64. package/dist/index.js.map +1 -1
  65. package/dist/plugins/AutoResume.d.ts +0 -13
  66. package/dist/plugins/AutoResume.d.ts.map +1 -1
  67. package/dist/plugins/AutoResume.js +10 -18
  68. package/dist/plugins/AutoResume.js.map +1 -1
  69. package/dist/plugins/PlayerMoved.js.map +1 -1
  70. package/dist/types.d.ts +25 -34
  71. package/dist/types.d.ts.map +1 -1
  72. package/package.json +2 -2
  73. package/src/ConnectionPool.ts +14 -31
  74. package/src/Constants.ts +6 -62
  75. package/src/Node.ts +44 -51
  76. package/src/Player.ts +86 -91
  77. package/src/Plugin.ts +0 -16
  78. package/src/Queue.ts +7 -32
  79. package/src/Resolver.ts +25 -14
  80. package/src/Rest.ts +34 -28
  81. package/src/TrackCache.ts +7 -30
  82. package/src/WsQueue.ts +9 -29
  83. package/src/Yukimu.ts +10 -45
  84. package/src/connector/DiscordJS.ts +5 -12
  85. package/src/connector/Eris.ts +6 -17
  86. package/src/connector/Oceanic.ts +5 -15
  87. package/src/errors/YukimuError.ts +0 -2
  88. package/src/index.ts +4 -26
  89. package/src/plugins/AutoResume.ts +13 -37
  90. package/src/plugins/PlayerMoved.ts +4 -4
  91. package/src/types.ts +26 -26
  92. package/tsconfig.json +3 -1
package/dist/Queue.js CHANGED
@@ -7,21 +7,18 @@ class Queue {
7
7
  this.previous = [];
8
8
  this.tracks = [];
9
9
  }
10
- // ─── Add / Remove ─────────────────────────────────────────────────
11
10
  add(tracks, position) {
12
11
  const arr = Array.isArray(tracks) ? tracks : [tracks];
13
- if (position !== undefined) {
12
+ if (position !== undefined)
14
13
  this.tracks.splice(position, 0, ...arr);
15
- }
16
- else {
14
+ else
17
15
  this.tracks.push(...arr);
18
- }
19
16
  }
20
17
  next() {
21
18
  if (this.current) {
22
19
  this.previous.unshift(this.current);
23
20
  if (this.previous.length > 10)
24
- this.previous.pop(); // keep last 10
21
+ this.previous.pop();
25
22
  }
26
23
  this.current = this.tracks.shift() ?? null;
27
24
  return this.current;
@@ -40,7 +37,6 @@ class Queue {
40
37
  this.current = null;
41
38
  this.previous = [];
42
39
  }
43
- // ─── Reorder ──────────────────────────────────────────────────────
44
40
  shuffle() {
45
41
  for (let i = this.tracks.length - 1; i > 0; i--) {
46
42
  const j = Math.floor(Math.random() * (i + 1));
@@ -53,29 +49,18 @@ class Queue {
53
49
  const [track] = this.tracks.splice(from, 1);
54
50
  this.tracks.splice(to, 0, track);
55
51
  }
56
- /** Skip to a specific position in queue */
57
52
  skipto(index) {
58
53
  if (index < 0 || index >= this.tracks.length)
59
54
  return null;
60
55
  this.tracks.splice(0, index);
61
56
  return this.next();
62
57
  }
63
- // ─── Peek / Find ──────────────────────────────────────────────────
64
- peek(count = 10) {
65
- return this.tracks.slice(0, count);
66
- }
67
- find(predicate) {
68
- return this.tracks.find(predicate);
69
- }
70
- filter(predicate) {
71
- return this.tracks.filter(predicate);
72
- }
73
- // ─── Getters ──────────────────────────────────────────────────────
58
+ peek(count = 10) { return this.tracks.slice(0, count); }
59
+ find(predicate) { return this.tracks.find(predicate); }
60
+ filter(predicate) { return this.tracks.filter(predicate); }
74
61
  get size() { return this.tracks.length; }
75
62
  get isEmpty() { return this.tracks.length === 0; }
76
- get totalDuration() {
77
- return this.tracks.reduce((acc, t) => acc + (t.info?.length ?? 0), 0);
78
- }
63
+ get totalDuration() { return this.tracks.reduce((acc, t) => acc + (t.info?.length ?? 0), 0); }
79
64
  get list() { return this.tracks; }
80
65
  }
81
66
  exports.Queue = Queue;
package/dist/Queue.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Queue.js","sourceRoot":"","sources":["../src/Queue.ts"],"names":[],"mappings":";;;AAEA,MAAa,KAAK;IAAlB;QACS,YAAO,GAAiB,IAAI,CAAC;QAC7B,aAAQ,GAAY,EAAE,CAAC;QACtB,WAAM,GAAY,EAAE,CAAC;IAqF/B,CAAC;IAnFC,qEAAqE;IAE9D,GAAG,CAAC,MAAuB,EAAE,QAAiB;QACnD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE;gBAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,eAAe;QACrE,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,WAAW,CAAC,KAAa,EAAE,GAAW;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;IAChD,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,qEAAqE;IAE9D,OAAO;QACZ,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAEM,IAAI,CAAC,IAAY,EAAE,EAAU;QAClC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO;QACzF,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,2CAA2C;IACpC,MAAM,CAAC,KAAa;QACzB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,qEAAqE;IAE9D,IAAI,CAAC,QAAgB,EAAE;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAEM,IAAI,CAAC,SAAoC;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAEM,MAAM,CAAC,SAAoC;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,qEAAqE;IAErE,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjD,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3D,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,IAAI,KAA2B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;CACzD;AAxFD,sBAwFC"}
1
+ {"version":3,"file":"Queue.js","sourceRoot":"","sources":["../src/Queue.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export declare class Resolver {
5
5
  private spotifyToken;
6
6
  private spotifyExpiry;
7
7
  constructor(manager: Yukimu);
8
- resolve(query: string, source: SearchSource, requester?: unknown): Promise<SearchResult>;
8
+ resolve(query: string, source: SearchSource, requester?: any): Promise<SearchResult>;
9
9
  detectSource(url: string): SearchSource | null;
10
10
  private getSpotifyToken;
11
11
  private resolveSpotifyMeta;
@@ -1 +1 @@
1
- {"version":3,"file":"Resolver.d.ts","sourceRoot":"","sources":["../src/Resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAS,MAAM,SAAS,CAAC;AAEjE,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAa;gBAEtB,OAAO,EAAE,MAAM;IAId,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IA2B9F,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;YAOvC,eAAe;YAoBf,kBAAkB;CAWjC"}
1
+ {"version":3,"file":"Resolver.d.ts","sourceRoot":"","sources":["../src/Resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAS,MAAM,SAAS,CAAC;AAEjE,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAa;gBAEtB,OAAO,EAAE,MAAM;IAEd,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAwC1F,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;YAOvC,eAAe;YAoBf,kBAAkB;CAWjC"}
package/dist/Resolver.js CHANGED
@@ -12,10 +12,22 @@ class Resolver {
12
12
  const node = this.manager.getBestNode();
13
13
  const isUrl = /^https?:\/\//.test(query);
14
14
  const identifier = isUrl ? query : `${Constants_1.SOURCE_PREFIXES[source] ?? "ytsearch"}:${query}`;
15
- const result = await node.loadTracks(identifier);
16
- // Attach requester
17
- if (requester)
18
- result.tracks.forEach(t => { t.requester = requester; });
15
+ let result;
16
+ try {
17
+ result = await node.loadTracks(identifier);
18
+ }
19
+ catch (err) {
20
+ console.error("[Resolver] loadTracks error:", err.message);
21
+ return { loadType: "error", tracks: [] };
22
+ }
23
+ if (!result)
24
+ return { loadType: "empty", tracks: [] };
25
+ if (!result.tracks)
26
+ result.tracks = [];
27
+ // Attach requester to all tracks
28
+ if (requester && result.tracks.length > 0) {
29
+ result.tracks.forEach((t) => { t.requester = requester; });
30
+ }
19
31
  // Spotify fallback — if LavaSrc not installed
20
32
  if ((result.loadType === "error" || result.loadType === "empty") && isUrl) {
21
33
  const spotifyMatch = query.match(/spotify\.com\/track\/([a-zA-Z0-9]+)/);
@@ -25,10 +37,12 @@ class Resolver {
25
37
  return this.resolve(`${meta.title} ${meta.artist}`, "youtube", requester);
26
38
  }
27
39
  }
28
- // Cache all returned tracks
29
- for (const track of result.tracks) {
30
- if (track.encoded)
31
- this.manager.trackCache.set(track.encoded, track);
40
+ // Cache tracks
41
+ if (result.tracks.length > 0) {
42
+ for (const track of result.tracks) {
43
+ if (track?.encoded)
44
+ this.manager.trackCache.set(track.encoded, track);
45
+ }
32
46
  }
33
47
  return result;
34
48
  }
@@ -46,7 +60,7 @@ class Resolver {
46
60
  if (this.spotifyToken && Date.now() < this.spotifyExpiry)
47
61
  return this.spotifyToken;
48
62
  try {
49
- const res = await fetch("https://accounts.spotify.com/api/token", {
63
+ const res = await globalThis.fetch("https://accounts.spotify.com/api/token", {
50
64
  method: "POST",
51
65
  headers: {
52
66
  "Content-Type": "application/x-www-form-urlencoded",
@@ -68,7 +82,7 @@ class Resolver {
68
82
  if (!token)
69
83
  return null;
70
84
  try {
71
- const res = await fetch(`https://api.spotify.com/v1/tracks/${trackId}`, {
85
+ const res = await globalThis.fetch(`https://api.spotify.com/v1/tracks/${trackId}`, {
72
86
  headers: { Authorization: `Bearer ${token}` },
73
87
  });
74
88
  const data = await res.json();
@@ -1 +1 @@
1
- {"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../src/Resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../src/Resolver.ts"],"names":[],"mappings":"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"}
package/dist/Rest.d.ts CHANGED
@@ -6,19 +6,18 @@ export declare class Rest {
6
6
  get baseUrl(): string;
7
7
  get prefix(): string;
8
8
  get headers(): Record<string, string>;
9
- request<T = unknown>(method: string, path: string, body?: unknown): Promise<T>;
9
+ request<T = any>(method: string, path: string, body?: any): Promise<T>;
10
10
  loadTracks(identifier: string): Promise<SearchResult>;
11
11
  decodeTrack(encoded: string): Promise<Track>;
12
12
  decodeTracks(encoded: string[]): Promise<Track[]>;
13
13
  getInfo(): Promise<NodeInfo>;
14
14
  getStats(): Promise<NodeStats>;
15
- getVersion(): Promise<string>;
16
- updatePlayer(guildId: string, body: unknown, noReplace?: boolean): Promise<unknown>;
15
+ updatePlayer(guildId: string, body: any, noReplace?: boolean): Promise<any>;
17
16
  destroyPlayer(guildId: string): Promise<void>;
18
17
  updateSession(body: {
19
18
  resuming?: boolean;
20
19
  timeout?: number;
21
- }): Promise<unknown>;
20
+ }): Promise<any>;
22
21
  private normalizeV3;
23
22
  }
24
23
  //# sourceMappingURL=Rest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Rest.d.ts","sourceRoot":"","sources":["../src/Rest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxE,qBAAa,IAAI;IACf,OAAO,CAAC,IAAI,CAAO;gBAEP,IAAI,EAAE,IAAI;IAItB,IAAI,OAAO,IAAI,MAAM,CAGpB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQpC;IAEY,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IA6B9E,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAKrD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5C,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAIjD,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IAI5B,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IAI9B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAOjF,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7C,aAAa,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5F,OAAO,CAAC,WAAW;CAcpB"}
1
+ {"version":3,"file":"Rest.d.ts","sourceRoot":"","sources":["../src/Rest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxE,qBAAa,IAAI;IACf,OAAO,CAAC,IAAI,CAAO;gBAEP,IAAI,EAAE,IAAI;IAEtB,IAAI,OAAO,IAAI,MAAM,CAGpB;IAED,IAAI,MAAM,IAAI,MAAM,CAAiD;IAErE,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQpC;IAEY,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAuCtE,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAMrD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5C,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAIjD,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IAI5B,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IAI9B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAOzE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7C,aAAa,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAKxF,OAAO,CAAC,WAAW;CAkBpB"}
package/dist/Rest.js CHANGED
@@ -2,23 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Rest = void 0;
4
4
  const YukimuError_1 = require("./errors/YukimuError");
5
- const TIMEOUT_MS = 15000;
5
+ const TIMEOUT_MS = 30000;
6
6
  class Rest {
7
- constructor(node) {
8
- this.node = node;
9
- }
7
+ constructor(node) { this.node = node; }
10
8
  get baseUrl() {
11
9
  const protocol = this.node.options.secure ? "https" : "http";
12
10
  return `${protocol}://${this.node.options.host}:${this.node.options.port}`;
13
11
  }
14
- get prefix() {
15
- return this.node.version === 4 ? "/v4" : "";
16
- }
12
+ get prefix() { return this.node.version === 4 ? "/v4" : ""; }
17
13
  get headers() {
18
14
  return {
19
15
  Authorization: this.node.options.password,
20
16
  "User-Id": this.node.manager.options.clientId,
21
- "Client-Name": "Yukimu/1.2.0",
17
+ "Client-Name": "Yukimu/1.3.0",
22
18
  "Content-Type": "application/json",
23
19
  ...(this.node.version === 3 ? { "Num-Shards": "1" } : {}),
24
20
  };
@@ -41,7 +37,19 @@ class Rest {
41
37
  }
42
38
  if (res.status === 204)
43
39
  return undefined;
44
- return res.json();
40
+ const text = await res.text();
41
+ let parsed;
42
+ try {
43
+ parsed = JSON.parse(text);
44
+ }
45
+ catch {
46
+ return null;
47
+ }
48
+ // Normalize Lavalink v4.2+ response — uses "data" instead of "tracks"
49
+ if (parsed && parsed.data !== undefined && !parsed.tracks) {
50
+ parsed.tracks = Array.isArray(parsed.data) ? parsed.data : [parsed.data];
51
+ }
52
+ return parsed;
45
53
  }
46
54
  catch (err) {
47
55
  clearTimeout(timeout);
@@ -52,6 +60,8 @@ class Rest {
52
60
  }
53
61
  async loadTracks(identifier) {
54
62
  const raw = await this.request("GET", `/loadtracks?identifier=${encodeURIComponent(identifier)}`);
63
+ if (!raw)
64
+ return { loadType: "empty", tracks: [] };
55
65
  return this.node.version === 3 ? this.normalizeV3(raw) : raw;
56
66
  }
57
67
  async decodeTrack(encoded) {
@@ -66,10 +76,6 @@ class Rest {
66
76
  async getStats() {
67
77
  return this.request("GET", "/stats");
68
78
  }
69
- async getVersion() {
70
- const res = await globalThis.fetch(`${this.baseUrl}/version`, { headers: this.headers });
71
- return res.text();
72
- }
73
79
  async updatePlayer(guildId, body, noReplace = false) {
74
80
  const path = this.node.version === 4
75
81
  ? `/sessions/${this.node.sessionId}/players/${guildId}?noReplace=${noReplace}`
@@ -80,7 +86,7 @@ class Rest {
80
86
  const path = this.node.version === 4
81
87
  ? `/sessions/${this.node.sessionId}/players/${guildId}`
82
88
  : `/players/${guildId}`;
83
- await this.request("DELETE", path);
89
+ await this.request("DELETE", path).catch(() => { });
84
90
  }
85
91
  async updateSession(body) {
86
92
  if (this.node.version !== 4)
@@ -88,8 +94,12 @@ class Rest {
88
94
  return this.request("PATCH", `/sessions/${this.node.sessionId}`, body);
89
95
  }
90
96
  normalizeV3(raw) {
91
- const loadType = (raw.loadType ?? "").toLowerCase();
92
- const norm = (tracks) => (tracks ?? []).map((t) => ({ encoded: t.track ?? t.encoded, info: t.info, pluginInfo: t.pluginInfo ?? {} }));
97
+ const loadType = (raw?.loadType ?? "").toLowerCase();
98
+ const norm = (tracks) => (tracks ?? []).map((t) => ({
99
+ encoded: t.track ?? t.encoded,
100
+ info: t.info,
101
+ pluginInfo: t.pluginInfo ?? {},
102
+ }));
93
103
  switch (loadType) {
94
104
  case "track_loaded": return { loadType: "track", tracks: norm(raw.tracks) };
95
105
  case "playlist_loaded": return { loadType: "playlist", tracks: norm(raw.tracks), playlistInfo: raw.playlistInfo };
package/dist/Rest.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Rest.js","sourceRoot":"","sources":["../src/Rest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Rest.js","sourceRoot":"","sources":["../src/Rest.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,4 @@
1
1
  import type { Track } from "./types";
2
- /**
3
- * Track Decode Cache
4
- * Caches decoded tracks to avoid repeated Lavalink decode calls.
5
- * TTL-based expiry — default 1 hour.
6
- */
7
2
  export declare class TrackCache {
8
3
  private cache;
9
4
  private readonly ttl;
@@ -1 +1 @@
1
- {"version":3,"file":"TrackCache.d.ts","sourceRoot":"","sources":["../src/TrackCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAOrC;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAiC;gBAE1C,KAAK,GAAE,MAAgB;IAO5B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAOxC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAUlC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI7B,KAAK,IAAI,IAAI;IAIpB,OAAO,CAAC,KAAK;IAON,OAAO,IAAI,IAAI;IAKtB,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
1
+ {"version":3,"file":"TrackCache.d.ts","sourceRoot":"","sources":["../src/TrackCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAOrC,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAiC;gBAE1C,KAAK,GAAE,MAAgB;IAK5B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAIxC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAOlC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAC7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAC7B,KAAK,IAAI,IAAI;IAEpB,OAAO,CAAC,KAAK;IAON,OAAO,IAAI,IAAI;IAKtB,IAAI,IAAI,IAAI,MAAM,CAA4B;CAC/C"}
@@ -1,23 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TrackCache = void 0;
4
- /**
5
- * Track Decode Cache
6
- * Caches decoded tracks to avoid repeated Lavalink decode calls.
7
- * TTL-based expiry — default 1 hour.
8
- */
9
4
  class TrackCache {
10
- constructor(ttlMs = 3600000 /* 1 hour */) {
5
+ constructor(ttlMs = 3600000) {
11
6
  this.cache = new Map();
12
7
  this.ttl = ttlMs;
13
- // Sweep expired entries every 10 minutes
14
8
  this.sweepInterval = setInterval(() => this.sweep(), 600000);
15
9
  }
16
10
  set(encoded, track) {
17
- this.cache.set(encoded, {
18
- track,
19
- expiresAt: Date.now() + this.ttl,
20
- });
11
+ this.cache.set(encoded, { track, expiresAt: Date.now() + this.ttl });
21
12
  }
22
13
  get(encoded) {
23
14
  const entry = this.cache.get(encoded);
@@ -29,15 +20,9 @@ class TrackCache {
29
20
  }
30
21
  return entry.track;
31
22
  }
32
- has(encoded) {
33
- return this.get(encoded) !== null;
34
- }
35
- delete(encoded) {
36
- this.cache.delete(encoded);
37
- }
38
- clear() {
39
- this.cache.clear();
40
- }
23
+ has(encoded) { return this.get(encoded) !== null; }
24
+ delete(encoded) { this.cache.delete(encoded); }
25
+ clear() { this.cache.clear(); }
41
26
  sweep() {
42
27
  const now = Date.now();
43
28
  for (const [key, entry] of this.cache) {
@@ -49,9 +34,7 @@ class TrackCache {
49
34
  clearInterval(this.sweepInterval);
50
35
  this.cache.clear();
51
36
  }
52
- get size() {
53
- return this.cache.size;
54
- }
37
+ get size() { return this.cache.size; }
55
38
  }
56
39
  exports.TrackCache = TrackCache;
57
40
  //# sourceMappingURL=TrackCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TrackCache.js","sourceRoot":"","sources":["../src/TrackCache.ts"],"names":[],"mappings":";;;AAOA;;;;GAIG;AACH,MAAa,UAAU;IAKrB,YAAY,QAAgB,OAAO,CAAC,YAAY;QAJxC,UAAK,GAA4B,IAAI,GAAG,EAAE,CAAC;QAKjD,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QAEjB,yCAAyC;QACzC,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAEM,GAAG,CAAC,OAAe,EAAE,KAAY;QACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE;YACtB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG;SACjC,CAAC,CAAC;IACL,CAAC;IAEM,GAAG,CAAC,OAAe;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAEM,GAAG,CAAC,OAAe;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpC,CAAC;IAEM,MAAM,CAAC,OAAe;QAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEO,KAAK;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AAxDD,gCAwDC"}
1
+ {"version":3,"file":"TrackCache.js","sourceRoot":"","sources":["../src/TrackCache.ts"],"names":[],"mappings":";;;AAOA,MAAa,UAAU;IAKrB,YAAY,QAAgB,OAAO;QAJ3B,UAAK,GAA4B,IAAI,GAAG,EAAE,CAAC;QAKjD,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAEM,GAAG,CAAC,OAAe,EAAE,KAAY;QACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;IAEM,GAAG,CAAC,OAAe;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAC9E,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAEM,GAAG,CAAC,OAAe,IAAa,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,OAAe,IAAU,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,KAAK,KAAW,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEpC,KAAK;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;CAC/C;AAtCD,gCAsCC"}
package/dist/WsQueue.d.ts CHANGED
@@ -1,19 +1,10 @@
1
- import type WebSocket from "ws";
2
- /**
3
- * WebSocket Message Queue
4
- * Queues outgoing WS messages and flushes them on reconnect.
5
- * Prevents message loss when node briefly disconnects.
6
- */
1
+ import WebSocket from "ws";
7
2
  export declare class WsQueue {
8
3
  private queue;
9
- private flushing;
10
4
  private ws;
11
5
  setSocket(ws: WebSocket | null): void;
12
- /** Send immediately if connected, else queue */
13
- send(data: Record<string, unknown>): Promise<void>;
14
- /** Flush all queued messages after reconnect */
6
+ send(data: Record<string, any>): Promise<void>;
15
7
  flush(): void;
16
- /** Drop all queued messages (on intentional destroy) */
17
8
  clear(): void;
18
9
  get size(): number;
19
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WsQueue.d.ts","sourceRoot":"","sources":["../src/WsQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,IAAI,CAAC;AAQhC;;;;GAIG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,EAAE,CAA0B;IAE7B,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAO5C,gDAAgD;IACzC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzD,gDAAgD;IACzC,KAAK,IAAI,IAAI;IAuBpB,wDAAwD;IACjD,KAAK,IAAI,IAAI;IAOpB,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
1
+ {"version":3,"file":"WsQueue.d.ts","sourceRoot":"","sources":["../src/WsQueue.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAQ3B,qBAAa,OAAO;IAClB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,EAAE,CAA0B;IAE7B,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAOrC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9C,KAAK,IAAI,IAAI;IAgBb,KAAK,IAAI,IAAI;IAOpB,IAAI,IAAI,IAAI,MAAM,CAA8B;CACjD"}
package/dist/WsQueue.js CHANGED
@@ -1,15 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WsQueue = void 0;
4
- /**
5
- * WebSocket Message Queue
6
- * Queues outgoing WS messages and flushes them on reconnect.
7
- * Prevents message loss when node briefly disconnects.
8
- */
9
4
  class WsQueue {
10
5
  constructor() {
11
6
  this.queue = [];
12
- this.flushing = false;
13
7
  this.ws = null;
14
8
  }
15
9
  setSocket(ws) {
@@ -18,11 +12,10 @@ class WsQueue {
18
12
  ws.on("open", () => this.flush());
19
13
  }
20
14
  }
21
- /** Send immediately if connected, else queue */
22
15
  send(data) {
23
16
  return new Promise((resolve, reject) => {
24
17
  const serialized = JSON.stringify(data);
25
- if (this.ws?.readyState === 1 /* OPEN */) {
18
+ if (this.ws?.readyState === 1) {
26
19
  this.ws.send(serialized, (err) => {
27
20
  if (err)
28
21
  reject(err);
@@ -31,23 +24,18 @@ class WsQueue {
31
24
  });
32
25
  }
33
26
  else {
34
- // Queue for later when reconnected
35
27
  this.queue.push({ data: serialized, resolve, reject });
36
28
  }
37
29
  });
38
30
  }
39
- /** Flush all queued messages after reconnect */
40
31
  flush() {
41
- if (this.flushing || !this.ws)
32
+ if (!this.ws)
42
33
  return;
43
- this.flushing = true;
44
34
  const toSend = [...this.queue];
45
35
  this.queue = [];
46
36
  for (const msg of toSend) {
47
- if (this.ws.readyState !== 1 /* OPEN */) {
48
- // Re-queue if disconnected again
37
+ if (this.ws.readyState !== 1) {
49
38
  this.queue.unshift(msg);
50
- this.flushing = false;
51
39
  return;
52
40
  }
53
41
  this.ws.send(msg.data, (err) => {
@@ -57,18 +45,14 @@ class WsQueue {
57
45
  msg.resolve();
58
46
  });
59
47
  }
60
- this.flushing = false;
61
48
  }
62
- /** Drop all queued messages (on intentional destroy) */
63
49
  clear() {
64
50
  for (const msg of this.queue) {
65
- msg.reject(new Error("WsQueue cleared — node destroyed"));
51
+ msg.reject(new Error("WsQueue cleared"));
66
52
  }
67
53
  this.queue = [];
68
54
  }
69
- get size() {
70
- return this.queue.length;
71
- }
55
+ get size() { return this.queue.length; }
72
56
  }
73
57
  exports.WsQueue = WsQueue;
74
58
  //# sourceMappingURL=WsQueue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WsQueue.js","sourceRoot":"","sources":["../src/WsQueue.ts"],"names":[],"mappings":";;;AAQA;;;;GAIG;AACH,MAAa,OAAO;IAApB;QACU,UAAK,GAAoB,EAAE,CAAC;QAC5B,aAAQ,GAAG,KAAK,CAAC;QACjB,OAAE,GAAqB,IAAI,CAAC;IA6DtC,CAAC;IA3DQ,SAAS,CAAC,EAAoB;QACnC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,EAAE,EAAE,CAAC;YACP,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,gDAAgD;IACzC,IAAI,CAAC,IAA6B;QACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAExC,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;gBACzC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC/B,IAAI,GAAG;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;wBAChB,OAAO,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,mCAAmC;gBACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IACzC,KAAK;QACV,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;gBACxC,iCAAiC;gBACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC7B,IAAI,GAAG;oBAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;oBACpB,GAAG,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,wDAAwD;IACjD,KAAK;QACV,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;CACF;AAhED,0BAgEC"}
1
+ {"version":3,"file":"WsQueue.js","sourceRoot":"","sources":["../src/WsQueue.ts"],"names":[],"mappings":";;;AAQA,MAAa,OAAO;IAApB;QACU,UAAK,GAAoB,EAAE,CAAC;QAC5B,OAAE,GAAqB,IAAI,CAAC;IA+CtC,CAAC;IA7CQ,SAAS,CAAC,EAAoB;QACnC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,EAAE,EAAE,CAAC;YACP,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEM,IAAI,CAAC,IAAyB;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACpC,IAAI,GAAG;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;wBAChB,OAAO,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QACrB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAQ,EAAE,EAAE;gBAClC,IAAI,GAAG;oBAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;oBACpB,GAAG,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,KAAK;QACV,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;CACjD;AAjDD,0BAiDC"}
package/dist/Yukimu.d.ts CHANGED
@@ -30,19 +30,10 @@ export declare class Yukimu extends EventEmitter {
30
30
  destroyPlayer(guildId: string): Promise<void>;
31
31
  search(query: string, options?: {
32
32
  source?: SearchSource;
33
- requester?: unknown;
33
+ requester?: any;
34
34
  }): Promise<SearchResult>;
35
- handleVoiceStateUpdate(data: {
36
- guild_id?: string;
37
- user_id: string;
38
- session_id: string;
39
- channel_id?: string | null;
40
- }): void;
41
- handleVoiceServerUpdate(data: {
42
- guild_id: string;
43
- token: string;
44
- endpoint?: string | null;
45
- }): void;
35
+ handleVoiceStateUpdate(data: any): void;
36
+ handleVoiceServerUpdate(data: any): void;
46
37
  detectSource(url: string): SearchSource | null;
47
38
  getStats(): {
48
39
  nodes: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Yukimu.d.ts","sourceRoot":"","sources":["../src/Yukimu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Yukimu.d.ts","sourceRoot":"","sources":["../src/Yukimu.ts"],"names":[],"mappings":"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"}
package/dist/Yukimu.js CHANGED
@@ -15,11 +15,7 @@ class Yukimu extends events_1.EventEmitter {
15
15
  this.nodes = new Map();
16
16
  this.players = new Map();
17
17
  this.plugins = new Map();
18
- this.options = {
19
- moveOnDisconnect: true,
20
- voiceConnectionTimeout: 15000,
21
- ...options,
22
- };
18
+ this.options = { moveOnDisconnect: true, voiceConnectionTimeout: 15000, ...options };
23
19
  this.connector = connector.set(this);
24
20
  this.resolver = new Resolver_1.Resolver(this);
25
21
  this.pool = new ConnectionPool_1.ConnectionPool(this);
@@ -36,7 +32,7 @@ class Yukimu extends events_1.EventEmitter {
36
32
  throw new YukimuError_1.YukimuError(`Plugin "${plugin.name}" already loaded`);
37
33
  plugin.load(this);
38
34
  this.plugins.set(plugin.name, plugin);
39
- console.log(`[Yukimu] 🧩 Plugin "${plugin.name}" loaded`);
35
+ console.log(`[Yukimu] Plugin "${plugin.name}" loaded`);
40
36
  return this;
41
37
  }
42
38
  unuse(name) {
@@ -180,8 +176,6 @@ class Yukimu extends events_1.EventEmitter {
180
176
  destroy() {
181
177
  for (const node of this.nodes.values())
182
178
  node.destroy();
183
- for (const guildId of this.players.keys())
184
- this.destroyPlayer(guildId).catch(() => { });
185
179
  this.trackCache.destroy();
186
180
  this.nodes.clear();
187
181
  }