yukimu 1.2.0 → 2.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 (135) hide show
  1. package/dist/BitrateOptimizer.d.ts +52 -0
  2. package/dist/BitrateOptimizer.d.ts.map +1 -0
  3. package/dist/BitrateOptimizer.js +115 -0
  4. package/dist/BitrateOptimizer.js.map +1 -0
  5. package/dist/ConnectionPool.d.ts +52 -2
  6. package/dist/ConnectionPool.d.ts.map +1 -1
  7. package/dist/ConnectionPool.js +123 -44
  8. package/dist/ConnectionPool.js.map +1 -1
  9. package/dist/Constants.d.ts +26 -47
  10. package/dist/Constants.d.ts.map +1 -1
  11. package/dist/Constants.js +134 -67
  12. package/dist/Constants.js.map +1 -1
  13. package/dist/Logger.d.ts +22 -0
  14. package/dist/Logger.d.ts.map +1 -0
  15. package/dist/Logger.js +74 -0
  16. package/dist/Logger.js.map +1 -0
  17. package/dist/Node.d.ts +17 -4
  18. package/dist/Node.d.ts.map +1 -1
  19. package/dist/Node.js +217 -79
  20. package/dist/Node.js.map +1 -1
  21. package/dist/Player.d.ts +77 -6
  22. package/dist/Player.d.ts.map +1 -1
  23. package/dist/Player.js +319 -75
  24. package/dist/Player.js.map +1 -1
  25. package/dist/Plugin.d.ts +16 -12
  26. package/dist/Plugin.d.ts.map +1 -1
  27. package/dist/Plugin.js +5 -9
  28. package/dist/Plugin.js.map +1 -1
  29. package/dist/Queue.d.ts +69 -3
  30. package/dist/Queue.d.ts.map +1 -1
  31. package/dist/Queue.js +123 -17
  32. package/dist/Queue.js.map +1 -1
  33. package/dist/Resolver.d.ts +33 -2
  34. package/dist/Resolver.d.ts.map +1 -1
  35. package/dist/Resolver.js +233 -27
  36. package/dist/Resolver.js.map +1 -1
  37. package/dist/Rest.d.ts +25 -3
  38. package/dist/Rest.d.ts.map +1 -1
  39. package/dist/Rest.js +165 -23
  40. package/dist/Rest.js.map +1 -1
  41. package/dist/TrackCache.d.ts +28 -8
  42. package/dist/TrackCache.d.ts.map +1 -1
  43. package/dist/TrackCache.js +111 -24
  44. package/dist/TrackCache.js.map +1 -1
  45. package/dist/WsQueue.d.ts +30 -9
  46. package/dist/WsQueue.d.ts.map +1 -1
  47. package/dist/WsQueue.js +66 -24
  48. package/dist/WsQueue.js.map +1 -1
  49. package/dist/Yukimu.d.ts +37 -13
  50. package/dist/Yukimu.d.ts.map +1 -1
  51. package/dist/Yukimu.js +146 -59
  52. package/dist/Yukimu.js.map +1 -1
  53. package/dist/connector/Connector.d.ts +26 -0
  54. package/dist/connector/Connector.d.ts.map +1 -1
  55. package/dist/connector/Connector.js +28 -0
  56. package/dist/connector/Connector.js.map +1 -1
  57. package/dist/connector/DiscordJS.d.ts +21 -19
  58. package/dist/connector/DiscordJS.d.ts.map +1 -1
  59. package/dist/connector/DiscordJS.js +44 -2
  60. package/dist/connector/DiscordJS.js.map +1 -1
  61. package/dist/connector/Eris.d.ts +13 -17
  62. package/dist/connector/Eris.d.ts.map +1 -1
  63. package/dist/connector/Eris.js +36 -4
  64. package/dist/connector/Eris.js.map +1 -1
  65. package/dist/connector/Oceanic.d.ts +13 -14
  66. package/dist/connector/Oceanic.d.ts.map +1 -1
  67. package/dist/connector/Oceanic.js +35 -2
  68. package/dist/connector/Oceanic.js.map +1 -1
  69. package/dist/errors/YukimuError.d.ts +40 -4
  70. package/dist/errors/YukimuError.d.ts.map +1 -1
  71. package/dist/errors/YukimuError.js +79 -9
  72. package/dist/errors/YukimuError.js.map +1 -1
  73. package/dist/index.d.ts +13 -4
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +30 -21
  76. package/dist/index.js.map +1 -1
  77. package/dist/plugins/AutoResume.d.ts +18 -14
  78. package/dist/plugins/AutoResume.d.ts.map +1 -1
  79. package/dist/plugins/AutoResume.js +101 -21
  80. package/dist/plugins/AutoResume.js.map +1 -1
  81. package/dist/plugins/AutoplayPlugin.d.ts +35 -0
  82. package/dist/plugins/AutoplayPlugin.d.ts.map +1 -0
  83. package/dist/plugins/AutoplayPlugin.js +111 -0
  84. package/dist/plugins/AutoplayPlugin.js.map +1 -0
  85. package/dist/plugins/InactivityPlugin.d.ts +30 -0
  86. package/dist/plugins/InactivityPlugin.d.ts.map +1 -0
  87. package/dist/plugins/InactivityPlugin.js +86 -0
  88. package/dist/plugins/InactivityPlugin.js.map +1 -0
  89. package/dist/plugins/PlayerMoved.d.ts +23 -1
  90. package/dist/plugins/PlayerMoved.d.ts.map +1 -1
  91. package/dist/plugins/PlayerMoved.js +57 -12
  92. package/dist/plugins/PlayerMoved.js.map +1 -1
  93. package/dist/types.d.ts +196 -78
  94. package/dist/types.d.ts.map +1 -1
  95. package/dist/types.js +1 -0
  96. package/dist/types.js.map +1 -1
  97. package/package.json +49 -5
  98. package/.cache/replit/env/latest +0 -88
  99. package/.cache/replit/env/latest.json +0 -1
  100. package/.cache/replit/modules/nodejs-20.res +0 -1
  101. package/.cache/replit/modules/python-3.11.res +0 -1
  102. package/.cache/replit/modules/replit.res +0 -1
  103. package/.cache/replit/modules.stamp +0 -0
  104. package/.cache/replit/nix/dotreplitenv.json +0 -1
  105. package/.cache/replit/toolchain.json +0 -1
  106. package/.local/state/workflow-logs/7zVU0iVo-fBL1ccMCmELy/configure_your_app.packager.installForAll.0 +0 -9
  107. package/.local/state/workflow-logs/7zVU0iVo-fBL1ccMCmELy/configure_your_app.shell.exec.1 +0 -1
  108. package/.local/state/workflow-logs/KRgHXizaECjWI5nWtS7Dj/configure_your_app.packager.installForAll.0 +0 -1
  109. package/.local/state/workflow-logs/KRgHXizaECjWI5nWtS7Dj/configure_your_app.shell.exec.1 +0 -1
  110. package/.local/state/workflow-logs/U0AinJQVHonnwGjj0RXLn/configure_your_app.packager.installForAll.0 +0 -2
  111. package/.local/state/workflow-logs/jVavLOnv1MqxUvxhMmqER/configure_your_app.packager.installForAll.0 +0 -1
  112. package/.local/state/workflow-logs/jVavLOnv1MqxUvxhMmqER/configure_your_app.shell.exec.1 +0 -1
  113. package/.replit +0 -7
  114. package/.upm/store.json +0 -1
  115. package/src/ConnectionPool.ts +0 -131
  116. package/src/Constants.ts +0 -101
  117. package/src/Node.ts +0 -309
  118. package/src/Player.ts +0 -337
  119. package/src/Plugin.ts +0 -23
  120. package/src/Queue.ts +0 -91
  121. package/src/Resolver.ts +0 -79
  122. package/src/Rest.ts +0 -121
  123. package/src/TrackCache.ts +0 -69
  124. package/src/WsQueue.ts +0 -78
  125. package/src/Yukimu.ts +0 -248
  126. package/src/connector/Connector.ts +0 -13
  127. package/src/connector/DiscordJS.ts +0 -33
  128. package/src/connector/Eris.ts +0 -35
  129. package/src/connector/Oceanic.ts +0 -32
  130. package/src/errors/YukimuError.ts +0 -33
  131. package/src/index.ts +0 -46
  132. package/src/plugins/AutoResume.ts +0 -61
  133. package/src/plugins/PlayerMoved.ts +0 -26
  134. package/src/types.ts +0 -145
  135. package/tsconfig.json +0 -20
package/dist/Constants.js CHANGED
@@ -1,18 +1,22 @@
1
1
  "use strict";
2
- /** Lavalink v3/v4 supported ops and constants */
2
+ /** Yukimu v2.0.0 Constants & Enumerations */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.URL_PATTERNS = exports.SOURCE_PREFIXES = exports.STOPPED_REASONS = exports.TrackEndReason = exports.EventType = exports.LoadType = exports.OpCodes = exports.PlayerState = exports.State = exports.CLIENT_NAME = exports.VERSION = void 0;
4
+ exports.DEFAULTS = exports.BITRATE_BY_BOOST_TIER = exports.WS_CLOSE_CODES = exports.STOPPED_REASONS = exports.URL_PATTERNS = exports.SOURCE_PREFIXES = exports.PlayerState = exports.State = exports.CLIENT_NAME = exports.VERSION = void 0;
5
5
  exports.VERSION = "2.0.0";
6
6
  exports.CLIENT_NAME = `Yukimu/${exports.VERSION}`;
7
+ // ─── Node Connection State ──────────────────────────────────────────────────
7
8
  var State;
8
9
  (function (State) {
9
10
  State[State["CONNECTING"] = 0] = "CONNECTING";
11
+ /** WebSocket open, waiting for ready op */
10
12
  State[State["NEARLY"] = 1] = "NEARLY";
13
+ /** Fully connected and ready */
11
14
  State[State["CONNECTED"] = 2] = "CONNECTED";
12
15
  State[State["DISCONNECTING"] = 3] = "DISCONNECTING";
13
16
  State[State["DISCONNECTED"] = 4] = "DISCONNECTED";
14
17
  State[State["RECONNECTING"] = 5] = "RECONNECTING";
15
18
  })(State || (exports.State = State = {}));
19
+ // ─── Player Connection State ────────────────────────────────────────────────
16
20
  var PlayerState;
17
21
  (function (PlayerState) {
18
22
  PlayerState[PlayerState["CONNECTING"] = 0] = "CONNECTING";
@@ -20,62 +24,9 @@ var PlayerState;
20
24
  PlayerState[PlayerState["DISCONNECTING"] = 2] = "DISCONNECTING";
21
25
  PlayerState[PlayerState["DISCONNECTED"] = 3] = "DISCONNECTED";
22
26
  })(PlayerState || (exports.PlayerState = PlayerState = {}));
23
- var OpCodes;
24
- (function (OpCodes) {
25
- // v3 WebSocket ops
26
- OpCodes["PLAY"] = "play";
27
- OpCodes["STOP"] = "stop";
28
- OpCodes["PAUSE"] = "pause";
29
- OpCodes["SEEK"] = "seek";
30
- OpCodes["VOLUME"] = "volume";
31
- OpCodes["FILTERS"] = "filters";
32
- OpCodes["DESTROY"] = "destroy";
33
- OpCodes["VOICE_UPDATE"] = "voiceUpdate";
34
- OpCodes["EQUALIZER"] = "equalizer";
35
- // Incoming
36
- OpCodes["STATS"] = "stats";
37
- OpCodes["PLAYER_UPDATE"] = "playerUpdate";
38
- OpCodes["EVENT"] = "event";
39
- OpCodes["READY"] = "ready";
40
- })(OpCodes || (exports.OpCodes = OpCodes = {}));
41
- var LoadType;
42
- (function (LoadType) {
43
- LoadType["TRACK"] = "track";
44
- LoadType["PLAYLIST"] = "playlist";
45
- LoadType["SEARCH"] = "search";
46
- LoadType["EMPTY"] = "empty";
47
- LoadType["ERROR"] = "error";
48
- // v3 equivalents (normalized internally)
49
- LoadType["TRACK_LOADED"] = "track_loaded";
50
- LoadType["PLAYLIST_LOADED"] = "playlist_loaded";
51
- LoadType["SEARCH_RESULT"] = "search_result";
52
- LoadType["NO_MATCHES"] = "no_matches";
53
- LoadType["LOAD_FAILED"] = "load_failed";
54
- })(LoadType || (exports.LoadType = LoadType = {}));
55
- var EventType;
56
- (function (EventType) {
57
- EventType["TRACK_START"] = "TrackStartEvent";
58
- EventType["TRACK_END"] = "TrackEndEvent";
59
- EventType["TRACK_EXCEPTION"] = "TrackExceptionEvent";
60
- EventType["TRACK_STUCK"] = "TrackStuckEvent";
61
- EventType["WS_CLOSED"] = "WebSocketClosedEvent";
62
- })(EventType || (exports.EventType = EventType = {}));
63
- var TrackEndReason;
64
- (function (TrackEndReason) {
65
- TrackEndReason["FINISHED"] = "finished";
66
- TrackEndReason["LOAD_FAILED"] = "loadFailed";
67
- TrackEndReason["STOPPED"] = "stopped";
68
- TrackEndReason["REPLACED"] = "replaced";
69
- TrackEndReason["CLEANUP"] = "cleanup";
70
- // v3
71
- TrackEndReason["FINISHED_V3"] = "FINISHED";
72
- TrackEndReason["STOPPED_V3"] = "STOPPED";
73
- TrackEndReason["REPLACED_V3"] = "REPLACED";
74
- TrackEndReason["CLEANUP_V3"] = "CLEANUP";
75
- })(TrackEndReason || (exports.TrackEndReason = TrackEndReason = {}));
76
- exports.STOPPED_REASONS = new Set([
77
- "replaced", "stopped", "REPLACED", "STOPPED",
78
- ]);
27
+ // ─── Source Search Prefixes ─────────────────────────────────────────────────
28
+ // These are the Lavalink search prefixes used when the query is not a URL.
29
+ // Requires corresponding Lavalink plugins (LavaSrc, Topis-Source-Manager, etc.)
79
30
  exports.SOURCE_PREFIXES = {
80
31
  youtube: "ytsearch",
81
32
  youtubemusic: "ytmsearch",
@@ -86,16 +37,132 @@ exports.SOURCE_PREFIXES = {
86
37
  tidal: "tdsearch",
87
38
  jiosaavn: "jssearch",
88
39
  yandexmusic: "ymsearch",
89
- flowery: "ftts",
40
+ bandcamp: "bcsearch",
41
+ vimeo: "vmsearch",
42
+ twitch: "twsearch",
43
+ bilibili: "blsearch",
44
+ mixcloud: "mxsearch",
45
+ http: "http",
90
46
  };
47
+ // ─── URL Detection Patterns ─────────────────────────────────────────────────
48
+ // Used to auto-detect the source platform from a URL so the user doesn't
49
+ // have to specify the source manually.
91
50
  exports.URL_PATTERNS = {
92
- youtube: [/^https?:\/\/(www\.)?(youtube\.com|youtu\.be)\/.+/, /^https?:\/\/music\.youtube\.com\/.+/],
93
- spotify: [/^https?:\/\/open\.spotify\.com\/(track|album|playlist|artist)\/.+/],
94
- soundcloud: [/^https?:\/\/(www\.)?soundcloud\.com\/.+/],
95
- deezer: [/^https?:\/\/(www\.)?deezer\.com\/(track|album|playlist)\/.+/],
96
- applemusic: [/^https?:\/\/music\.apple\.com\/.+/],
97
- tidal: [/^https?:\/\/(www\.)?tidal\.com\/(browse\/)?(track|album|playlist)\/.+/],
98
- jiosaavn: [/^https?:\/\/(www\.)?jiosaavn\.com\/.+/],
99
- yandexmusic: [/^https?:\/\/music\.yandex\.(ru|com)\/.+/],
51
+ youtube: [
52
+ /^https?:\/\/(www\.)?(youtube\.com|youtu\.be)\/.+/,
53
+ /^https?:\/\/music\.youtube\.com\/.+/,
54
+ /^https?:\/\/(www\.)?youtube\.com\/shorts\/.+/,
55
+ ],
56
+ spotify: [
57
+ /^https?:\/\/open\.spotify\.com\/(track|album|playlist|artist|episode|show)\/.+/,
58
+ ],
59
+ soundcloud: [
60
+ /^https?:\/\/(www\.|m\.)?soundcloud\.com\/.+/,
61
+ /^https?:\/\/on\.soundcloud\.com\/.+/,
62
+ ],
63
+ deezer: [
64
+ /^https?:\/\/(www\.)?deezer\.com\/(track|album|playlist|artist)\/.+/,
65
+ ],
66
+ applemusic: [
67
+ /^https?:\/\/music\.apple\.com\/.+/,
68
+ ],
69
+ tidal: [
70
+ /^https?:\/\/(www\.|listen\.)?tidal\.com\/.+/,
71
+ ],
72
+ jiosaavn: [
73
+ /^https?:\/\/(www\.)?jiosaavn\.com\/.+/,
74
+ ],
75
+ yandexmusic: [
76
+ /^https?:\/\/music\.yandex\.(ru|com|by|kz|uz)\/.+/,
77
+ ],
78
+ bandcamp: [
79
+ /^https?:\/\/[a-zA-Z0-9-]+\.bandcamp\.com\/.+/,
80
+ /^https?:\/\/(www\.)?bandcamp\.com\/.+/,
81
+ ],
82
+ vimeo: [
83
+ /^https?:\/\/(www\.|player\.)?vimeo\.com\/.+/,
84
+ ],
85
+ twitch: [
86
+ /^https?:\/\/(www\.|clips\.)?twitch\.tv\/.+/,
87
+ ],
88
+ tiktok: [
89
+ /^https?:\/\/(www\.|vm\.|vt\.)?tiktok\.com\/.+/,
90
+ ],
91
+ facebook: [
92
+ /^https?:\/\/(www\.|m\.|fb\.)?facebook\.com\/.+/,
93
+ /^https?:\/\/fb\.watch\/.+/,
94
+ ],
95
+ twitter: [
96
+ /^https?:\/\/(www\.)?(twitter\.com|x\.com)\/.+/,
97
+ ],
98
+ reddit: [
99
+ /^https?:\/\/(www\.|old\.|new\.)?reddit\.com\/.+/,
100
+ /^https?:\/\/v\.redd\.it\/.+/,
101
+ ],
102
+ instagram: [
103
+ /^https?:\/\/(www\.)?instagram\.com\/(p|reel|tv)\/.+/,
104
+ ],
105
+ pornhub: [
106
+ /^https?:\/\/(www\.)?pornhub\.com\/view_video.+/,
107
+ ],
108
+ mixcloud: [
109
+ /^https?:\/\/(www\.)?mixcloud\.com\/.+/,
110
+ ],
111
+ bilibili: [
112
+ /^https?:\/\/(www\.)?bilibili\.com\/video\/.+/,
113
+ /^https?:\/\/b23\.tv\/.+/,
114
+ ],
115
+ };
116
+ // ─── Track End Reasons ──────────────────────────────────────────────────────
117
+ // These indicate that track replacement or manual stop occurred,
118
+ // so we should NOT auto-advance the queue.
119
+ exports.STOPPED_REASONS = new Set([
120
+ "replaced",
121
+ "stopped",
122
+ "cleanup",
123
+ "REPLACED",
124
+ "STOPPED",
125
+ "CLEANUP",
126
+ ]);
127
+ // ─── WebSocket Close Codes ──────────────────────────────────────────────────
128
+ exports.WS_CLOSE_CODES = {
129
+ 1000: "Normal closure",
130
+ 1001: "Going away",
131
+ 1006: "Abnormal closure",
132
+ 4001: "Unknown opcode",
133
+ 4002: "Failed to decode payload",
134
+ 4003: "Not authenticated",
135
+ 4004: "Authentication failed",
136
+ 4005: "Already authenticated",
137
+ 4006: "Session no longer valid",
138
+ 4009: "Session timeout",
139
+ 4014: "Disconnected (channel deleted, kick, or stage)",
140
+ 4015: "Voice server crashed",
141
+ };
142
+ exports.BITRATE_BY_BOOST_TIER = {
143
+ 0: { maxBitrate: 96, recommendedVolume: 100, enhancedEQ: false },
144
+ 1: { maxBitrate: 128, recommendedVolume: 100, enhancedEQ: false },
145
+ 2: { maxBitrate: 256, recommendedVolume: 100, enhancedEQ: true },
146
+ 3: { maxBitrate: 384, recommendedVolume: 100, enhancedEQ: true },
147
+ };
148
+ // ─── Default Configuration ──────────────────────────────────────────────────
149
+ exports.DEFAULTS = {
150
+ VOICE_CONNECTION_TIMEOUT: 15_000,
151
+ MAX_CACHE_SIZE: 1000,
152
+ CACHE_TTL: 3_600_000, // 1 hour
153
+ HEARTBEAT_INTERVAL: 30_000,
154
+ WS_SEND_TIMEOUT: 30_000,
155
+ WS_MAX_QUEUE: 100,
156
+ REST_TIMEOUT: 30_000,
157
+ REST_MAX_RETRIES: 3,
158
+ REST_RETRY_BASE_DELAY: 1000,
159
+ REST_RETRY_MAX_DELAY: 15_000,
160
+ NODE_CONNECTION_TIMEOUT: 10_000,
161
+ NODE_MAX_RETRIES: 5,
162
+ NODE_MAX_RECONNECT_DELAY: 30_000,
163
+ PREVIOUS_HISTORY_SIZE: 25,
164
+ CACHE_SWEEP_INTERVAL: 300_000, // 5 minutes
165
+ SPOTIFY_TOKEN_REFRESH_BUFFER: 30_000,
166
+ MAX_SEARCH_RETRIES: 2,
100
167
  };
101
168
  //# sourceMappingURL=Constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../src/Constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../src/Constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /** Yukimu v2.0.0 — Configurable Logger System */
2
+ import type { LogLevel, YukimuLogger } from "./types";
3
+ /**
4
+ * Built-in logger with configurable log levels.
5
+ * Users can inject their own logger (Winston, Pino, etc.) via YukimuOptions.
6
+ */
7
+ export declare class Logger implements YukimuLogger {
8
+ private readonly prefix;
9
+ private level;
10
+ private custom?;
11
+ constructor(level?: LogLevel, custom?: YukimuLogger);
12
+ /** Update the log level at runtime */
13
+ setLevel(level: LogLevel): void;
14
+ /** Inject a custom logger implementation */
15
+ setCustomLogger(logger: YukimuLogger | undefined): void;
16
+ debug(message: string, ...args: unknown[]): void;
17
+ info(message: string, ...args: unknown[]): void;
18
+ warn(message: string, ...args: unknown[]): void;
19
+ error(message: string, ...args: unknown[]): void;
20
+ private timestamp;
21
+ }
22
+ //# sourceMappingURL=Logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"AAAA,iDAAiD;AAEjD,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUtD;;;GAGG;AACH,qBAAa,MAAO,YAAW,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAC,CAAe;gBAElB,KAAK,GAAE,QAAiB,EAAE,MAAM,CAAC,EAAE,YAAY;IAM3D,sCAAsC;IAC/B,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAItC,4CAA4C;IACrC,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAIvD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAShD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAS/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAS/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IASvD,OAAO,CAAC,SAAS;CAGlB"}
package/dist/Logger.js ADDED
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /** Yukimu v2.0.0 — Configurable Logger System */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Logger = void 0;
5
+ const LOG_LEVELS = {
6
+ none: 0,
7
+ error: 1,
8
+ warn: 2,
9
+ info: 3,
10
+ debug: 4,
11
+ };
12
+ /**
13
+ * Built-in logger with configurable log levels.
14
+ * Users can inject their own logger (Winston, Pino, etc.) via YukimuOptions.
15
+ */
16
+ class Logger {
17
+ prefix;
18
+ level;
19
+ custom;
20
+ constructor(level = "info", custom) {
21
+ this.prefix = "[Yukimu]";
22
+ this.level = LOG_LEVELS[level];
23
+ this.custom = custom;
24
+ }
25
+ /** Update the log level at runtime */
26
+ setLevel(level) {
27
+ this.level = LOG_LEVELS[level];
28
+ }
29
+ /** Inject a custom logger implementation */
30
+ setCustomLogger(logger) {
31
+ this.custom = logger;
32
+ }
33
+ debug(message, ...args) {
34
+ if (this.level < LOG_LEVELS.debug)
35
+ return;
36
+ if (this.custom) {
37
+ this.custom.debug(`${this.prefix} ${message}`, ...args);
38
+ return;
39
+ }
40
+ console.debug(`${this.prefix} ${this.timestamp()} [DEBUG] ${message}`, ...args);
41
+ }
42
+ info(message, ...args) {
43
+ if (this.level < LOG_LEVELS.info)
44
+ return;
45
+ if (this.custom) {
46
+ this.custom.info(`${this.prefix} ${message}`, ...args);
47
+ return;
48
+ }
49
+ console.log(`${this.prefix} ${this.timestamp()} [INFO] ${message}`, ...args);
50
+ }
51
+ warn(message, ...args) {
52
+ if (this.level < LOG_LEVELS.warn)
53
+ return;
54
+ if (this.custom) {
55
+ this.custom.warn(`${this.prefix} ${message}`, ...args);
56
+ return;
57
+ }
58
+ console.warn(`${this.prefix} ${this.timestamp()} [WARN] ${message}`, ...args);
59
+ }
60
+ error(message, ...args) {
61
+ if (this.level < LOG_LEVELS.error)
62
+ return;
63
+ if (this.custom) {
64
+ this.custom.error(`${this.prefix} ${message}`, ...args);
65
+ return;
66
+ }
67
+ console.error(`${this.prefix} ${this.timestamp()} [ERROR] ${message}`, ...args);
68
+ }
69
+ timestamp() {
70
+ return new Date().toISOString();
71
+ }
72
+ }
73
+ exports.Logger = Logger;
74
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"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"}
package/dist/Node.d.ts CHANGED
@@ -1,12 +1,26 @@
1
+ /** Yukimu v2.0.0 — Lavalink Node Manager */
1
2
  import WebSocket from "ws";
2
3
  import { Rest } from "./Rest";
3
4
  import { WsQueue } from "./WsQueue";
4
5
  import { State } from "./Constants";
5
6
  import type { Yukimu } from "./Yukimu";
6
7
  import type { NodeOptions, NodeStats, NodeInfo, SearchResult } from "./types";
8
+ /**
9
+ * Represents a connection to a single Lavalink node.
10
+ *
11
+ * Critical fixes from v1:
12
+ * 1. Session resume: waits for `ready` op before calling updateSession()
13
+ * 2. WsQueue race condition: no duplicate `open` listener, flush called explicitly after onOpen
14
+ * 3. Heartbeat memory leak: properly clears interval on all disconnect paths
15
+ * 4. Connection timeout: WebSocket connection has a 10s timeout
16
+ * 5. Reconnect jitter: prevents thundering herd on multi-node reconnect
17
+ * 6. playerPath() null-safety for missing sessionId
18
+ * 7. Uses CLIENT_NAME constant, not hardcoded string
19
+ * 8. Uses STOPPED_REASONS Set for track end handling
20
+ */
7
21
  export declare class Node {
8
22
  readonly manager: Yukimu;
9
- readonly options: NodeOptions;
23
+ readonly options: Required<Pick<NodeOptions, "name" | "host" | "port" | "password">> & NodeOptions;
10
24
  readonly rest: Rest;
11
25
  readonly wsQueue: WsQueue;
12
26
  readonly version: 3 | 4;
@@ -18,10 +32,10 @@ export declare class Node {
18
32
  resumed: boolean;
19
33
  penalties: number;
20
34
  ping: number;
21
- private restQueue;
22
35
  private reconnectAttempts;
23
36
  private reconnectTimeout?;
24
37
  private heartbeatInterval?;
38
+ private connectionTimeout?;
25
39
  private lastHeartbeatAt;
26
40
  constructor(manager: Yukimu, options: NodeOptions);
27
41
  get connected(): boolean;
@@ -40,8 +54,7 @@ export declare class Node {
40
54
  private reconnectPlayers;
41
55
  private handlePlayerUpdate;
42
56
  private handleEvent;
43
- send(data: Record<string, unknown>): Promise<void>;
44
- enqueueRest<T>(fn: () => Promise<T>): Promise<T>;
57
+ send(data: Record<string, unknown>, priority?: boolean): Promise<void>;
45
58
  loadTracks(identifier: string): Promise<SearchResult>;
46
59
  playerPath(guildId: string): string;
47
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAS,YAAY,EAAqB,MAAM,SAAS,CAAC;AAKxG,qBAAa,IAAI;IACf,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,OAAO,EAAE,WAAW,CAAC;IACrC,SAAgB,IAAI,EAAE,IAAI,CAAC;IAC3B,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAExB,EAAE,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC5B,KAAK,EAAE,KAAK,CAAsB;IAClC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC/B,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,OAAO,EAAE,OAAO,CAAS;IACzB,SAAS,EAAE,MAAM,CAAK;IACtB,IAAI,EAAE,MAAM,CAAM;IAEzB,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,gBAAgB,CAAC,CAAgC;IACzD,OAAO,CAAC,iBAAiB,CAAC,CAAiC;IAC3D,OAAO,CAAC,eAAe,CAAK;gBAEhB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAQjD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,KAAK,IAAI,MAAM,CAIlB;IAED,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAStC;IAEM,kBAAkB,IAAI,MAAM;IAU5B,OAAO,IAAI,IAAI;IAYf,OAAO,CAAC,SAAS,UAAQ,GAAG,IAAI;YAYzB,MAAM;IAqBpB,OAAO,CAAC,SAAS;IA2CjB,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,WAAW;IA8DZ,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAM1C,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI3D,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAK3C"}
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../src/Node.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAA0D,MAAM,aAAa,CAAC;AAE5F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAS,YAAY,EAAE,MAAM,SAAS,CAAC;AAIrF;;;;;;;;;;;;GAYG;AACH,qBAAa,IAAI;IACf,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC;IAC1G,SAAgB,IAAI,EAAE,IAAI,CAAC;IAC3B,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAExB,EAAE,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC5B,KAAK,EAAE,KAAK,CAAsB;IAClC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC/B,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,OAAO,UAAS;IAChB,SAAS,SAAK;IACd,IAAI,SAAM;IAEjB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,gBAAgB,CAAC,CAAgC;IACzD,OAAO,CAAC,iBAAiB,CAAC,CAAiC;IAC3D,OAAO,CAAC,iBAAiB,CAAC,CAAgC;IAC1D,OAAO,CAAC,eAAe,CAAK;gBAEhB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;IAkBjD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,KAAK,IAAI,MAAM,CAIlB;IAED,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAStC;IAIM,kBAAkB,IAAI,MAAM;IAa5B,OAAO,IAAI,IAAI;IAkCf,OAAO,CAAC,SAAS,UAAQ,GAAG,IAAI;YAsCzB,MAAM;IAiCpB,OAAO,CAAC,SAAS;IA8DjB,OAAO,CAAC,OAAO;IAqBf,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,WAAW;IAsFZ,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI3D,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAU3C"}