yukimu 1.3.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 -3
  6. package/dist/ConnectionPool.d.ts.map +1 -1
  7. package/dist/ConnectionPool.js +124 -32
  8. package/dist/ConnectionPool.js.map +1 -1
  9. package/dist/Constants.d.ts +27 -2
  10. package/dist/Constants.d.ts.map +1 -1
  11. package/dist/Constants.js +133 -11
  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 +226 -88
  20. package/dist/Node.js.map +1 -1
  21. package/dist/Player.d.ts +74 -7
  22. package/dist/Player.d.ts.map +1 -1
  23. package/dist/Player.js +317 -92
  24. package/dist/Player.js.map +1 -1
  25. package/dist/Plugin.d.ts +19 -1
  26. package/dist/Plugin.d.ts.map +1 -1
  27. package/dist/Plugin.js +8 -0
  28. package/dist/Plugin.js.map +1 -1
  29. package/dist/Queue.d.ts +69 -2
  30. package/dist/Queue.d.ts.map +1 -1
  31. package/dist/Queue.js +138 -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 +225 -33
  36. package/dist/Resolver.js.map +1 -1
  37. package/dist/Rest.d.ts +27 -4
  38. package/dist/Rest.d.ts.map +1 -1
  39. package/dist/Rest.js +157 -25
  40. package/dist/Rest.js.map +1 -1
  41. package/dist/TrackCache.d.ts +30 -5
  42. package/dist/TrackCache.d.ts.map +1 -1
  43. package/dist/TrackCache.js +119 -15
  44. package/dist/TrackCache.js.map +1 -1
  45. package/dist/WsQueue.d.ts +31 -1
  46. package/dist/WsQueue.d.ts.map +1 -1
  47. package/dist/WsQueue.js +70 -12
  48. package/dist/WsQueue.js.map +1 -1
  49. package/dist/Yukimu.d.ts +38 -5
  50. package/dist/Yukimu.d.ts.map +1 -1
  51. package/dist/Yukimu.js +150 -57
  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 +20 -1
  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 +12 -1
  62. package/dist/connector/Eris.d.ts.map +1 -1
  63. package/dist/connector/Eris.js +40 -6
  64. package/dist/connector/Eris.js.map +1 -1
  65. package/dist/connector/Oceanic.d.ts +12 -1
  66. package/dist/connector/Oceanic.d.ts.map +1 -1
  67. package/dist/connector/Oceanic.js +39 -4
  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 -8
  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 -16
  76. package/dist/index.js.map +1 -1
  77. package/dist/plugins/AutoResume.d.ts +18 -1
  78. package/dist/plugins/AutoResume.d.ts.map +1 -1
  79. package/dist/plugins/AutoResume.js +109 -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 +198 -71
  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 -114
  116. package/src/Constants.ts +0 -45
  117. package/src/Node.ts +0 -302
  118. package/src/Player.ts +0 -332
  119. package/src/Plugin.ts +0 -7
  120. package/src/Queue.ts +0 -66
  121. package/src/Resolver.ts +0 -90
  122. package/src/Rest.ts +0 -127
  123. package/src/TrackCache.ts +0 -46
  124. package/src/WsQueue.ts +0 -58
  125. package/src/Yukimu.ts +0 -213
  126. package/src/connector/Connector.ts +0 -13
  127. package/src/connector/DiscordJS.ts +0 -26
  128. package/src/connector/Eris.ts +0 -24
  129. package/src/connector/Oceanic.ts +0 -22
  130. package/src/errors/YukimuError.ts +0 -31
  131. package/src/index.ts +0 -24
  132. package/src/plugins/AutoResume.ts +0 -37
  133. package/src/plugins/PlayerMoved.ts +0 -26
  134. package/src/types.ts +0 -145
  135. package/tsconfig.json +0 -22
@@ -1,29 +1,74 @@
1
1
  "use strict";
2
+ /** Yukimu v2.0.0 — PlayerMoved Plugin */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.PlayerMoved = void 0;
4
5
  const Plugin_1 = require("../Plugin");
6
+ /**
7
+ * Handles player behavior when the bot is moved between channels
8
+ * or disconnected from voice.
9
+ *
10
+ * Improvements from v1:
11
+ * - Configurable behavior (destroy, pause, or ignore)
12
+ * - Handles additional close codes (4015 for voice server crash)
13
+ * - Proper unload() with listener cleanup
14
+ */
5
15
  class PlayerMoved extends Plugin_1.Plugin {
6
- constructor() {
7
- super(...arguments);
8
- this.name = "PlayerMoved";
16
+ name = "PlayerMoved";
17
+ options;
18
+ boundListeners = new Map();
19
+ constructor(options = {}) {
20
+ super();
21
+ this.options = {
22
+ onDisconnect: options.onDisconnect ?? "destroy",
23
+ onSocketClose: options.onSocketClose ?? "destroy",
24
+ closeCodes: options.closeCodes ?? [4014, 4006, 4015],
25
+ };
9
26
  }
10
27
  load(manager) {
11
- manager.on("playerMove", async (player, oldChannel, newChannel) => {
28
+ const onPlayerMove = async (player, _oldChannel, newChannel) => {
12
29
  if (!newChannel) {
13
- if (manager.options.moveOnDisconnect) {
14
- await manager.destroyPlayer(player.guildId).catch(() => { });
30
+ // Bot was disconnected from voice
31
+ switch (this.options.onDisconnect) {
32
+ case "destroy":
33
+ await manager.destroyPlayer(player.guildId).catch(() => { });
34
+ break;
35
+ case "pause":
36
+ await player.pause(true).catch(() => { });
37
+ break;
38
+ case "none":
39
+ break;
15
40
  }
16
41
  return;
17
42
  }
43
+ // Bot was moved to a different channel — update is already handled by Yukimu
18
44
  player.voiceChannelId = newChannel;
19
- });
20
- manager.on("socketClosed", async (player, code, reason, byRemote) => {
21
- if (code === 4014 || code === 4006) {
22
- if (manager.options.moveOnDisconnect) {
23
- await manager.destroyPlayer(player.guildId).catch(() => { });
45
+ };
46
+ const onSocketClosed = async (player, code, _reason, _byRemote) => {
47
+ if (this.options.closeCodes.includes(code)) {
48
+ switch (this.options.onSocketClose) {
49
+ case "destroy":
50
+ manager.logger.info(`[PlayerMoved] Destroying player for guild ${player.guildId} (socket closed: ${code})`);
51
+ await manager.destroyPlayer(player.guildId).catch(() => { });
52
+ break;
53
+ case "pause":
54
+ manager.logger.info(`[PlayerMoved] Pausing player for guild ${player.guildId} (socket closed: ${code})`);
55
+ await player.pause(true).catch(() => { });
56
+ break;
57
+ case "none":
58
+ break;
24
59
  }
25
60
  }
26
- });
61
+ };
62
+ this.boundListeners.set("playerMove", onPlayerMove);
63
+ this.boundListeners.set("socketClosed", onSocketClosed);
64
+ manager.on("playerMove", onPlayerMove);
65
+ manager.on("socketClosed", onSocketClosed);
66
+ }
67
+ unload(manager) {
68
+ for (const [event, listener] of this.boundListeners) {
69
+ manager.off(event, listener);
70
+ }
71
+ this.boundListeners.clear();
27
72
  }
28
73
  }
29
74
  exports.PlayerMoved = PlayerMoved;
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerMoved.js","sourceRoot":"","sources":["../../src/plugins/PlayerMoved.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAGnC,MAAa,WAAY,SAAQ,eAAM;IAAvC;;QACS,SAAI,GAAG,aAAa,CAAC;IAqB9B,CAAC;IAnBQ,IAAI,CAAC,OAAe;QACzB,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,MAAW,EAAE,UAAkB,EAAE,UAAkB,EAAE,EAAE;YACrF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBACrC,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC9D,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,CAAC,cAAc,GAAG,UAAU,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,MAAW,EAAE,IAAY,EAAE,MAAc,EAAE,QAAiB,EAAE,EAAE;YAChG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACnC,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBACrC,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAtBD,kCAsBC"}
1
+ {"version":3,"file":"PlayerMoved.js","sourceRoot":"","sources":["../../src/plugins/PlayerMoved.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,54 +1,121 @@
1
+ /** Yukimu v2.0.0 — Core Type Definitions */
1
2
  export interface YukimuOptions {
3
+ /** The Discord bot's client/user ID */
2
4
  clientId: string;
5
+ /** The Discord bot token (used by some connectors) */
3
6
  token?: string;
7
+ /** Default search source when no source is specified */
4
8
  defaultSource?: SearchSource;
9
+ /** Spotify API credentials for fallback metadata resolution */
5
10
  spotify?: SpotifyOptions;
11
+ /** Whether to destroy players when the bot is disconnected from voice */
6
12
  moveOnDisconnect?: boolean;
13
+ /** Timeout in ms for voice connections before retrying (default: 15000) */
7
14
  voiceConnectionTimeout?: number;
15
+ /** Log level for the built-in logger (default: "info") */
16
+ logLevel?: LogLevel;
17
+ /** Custom logger implementation — overrides built-in logger */
18
+ logger?: YukimuLogger;
19
+ /** Maximum number of tracks to keep in the global track cache (default: 1000) */
20
+ maxCacheSize?: number;
21
+ /** TTL in ms for cached tracks (default: 3600000 = 1 hour) */
22
+ cacheTTL?: number;
8
23
  }
9
24
  export interface NodeOptions {
25
+ /** Unique name for this node */
10
26
  name: string;
27
+ /** Lavalink server host (IP or domain, no protocol) */
11
28
  host: string;
29
+ /** Lavalink server port */
12
30
  port: number;
31
+ /** Lavalink server password */
13
32
  password: string;
33
+ /** Whether to use TLS (wss/https) */
14
34
  secure?: boolean;
35
+ /** Max reconnection attempts before giving up (default: 5) */
15
36
  retries?: number;
37
+ /** Lavalink protocol version (default: 4) */
16
38
  version?: 3 | 4;
39
+ /** Resume key for session resuming */
17
40
  resumeKey?: string;
41
+ /** Resume timeout in seconds (default: 60) */
18
42
  resumeTimeout?: number;
43
+ /** Node priority/weight — lower = preferred (default: 0) */
44
+ priority?: number;
45
+ /** Connection timeout in ms (default: 10000) */
46
+ connectionTimeout?: number;
19
47
  }
20
48
  export interface SpotifyOptions {
21
49
  clientId: string;
22
50
  clientSecret: string;
23
51
  }
24
- export type SearchSource = "youtube" | "youtubemusic" | "spotify" | "deezer" | "applemusic" | "soundcloud" | "tidal" | "jiosaavn" | "yandexmusic";
52
+ export interface PlayerOptions {
53
+ /** The guild ID this player belongs to */
54
+ guildId: string;
55
+ /** The voice channel to join */
56
+ voiceChannelId: string;
57
+ /** The text channel for notifications (informational only) */
58
+ textChannelId?: string;
59
+ /** Whether the bot should self-deafen (default: true) */
60
+ selfDeaf?: boolean;
61
+ /** Whether the bot should self-mute (default: false) */
62
+ selfMute?: boolean;
63
+ /** Preferred node name — falls back to best available */
64
+ nodeName?: string;
65
+ /** Initial volume 0–1000 (default: 100) */
66
+ volume?: number;
67
+ }
68
+ export type SearchSource = "youtube" | "youtubemusic" | "spotify" | "deezer" | "applemusic" | "soundcloud" | "tidal" | "jiosaavn" | "yandexmusic" | "bandcamp" | "vimeo" | "twitch" | "tiktok" | "facebook" | "twitter" | "reddit" | "instagram" | "pornhub" | "mixcloud" | "bilibili" | "http";
25
69
  export interface Track {
70
+ /** Base64-encoded track data for Lavalink */
26
71
  encoded: string;
72
+ /** Decoded track metadata */
27
73
  info: TrackInfo;
28
- pluginInfo?: Record<string, any>;
29
- requester?: any;
74
+ /** Plugin-specific metadata from Lavalink plugins */
75
+ pluginInfo?: Record<string, unknown>;
76
+ /** User who requested this track (set by application) */
77
+ requester?: unknown;
30
78
  }
31
79
  export interface TrackInfo {
80
+ /** Platform-specific track identifier */
32
81
  identifier: string;
82
+ /** Whether the track supports seeking */
33
83
  isSeekable: boolean;
84
+ /** Track artist/author */
34
85
  author: string;
86
+ /** Track duration in milliseconds (0 for streams) */
35
87
  length: number;
88
+ /** Whether this is a live stream */
36
89
  isStream: boolean;
90
+ /** Current playback position in ms */
37
91
  position: number;
92
+ /** Track title */
38
93
  title: string;
94
+ /** Track URL */
39
95
  uri?: string;
96
+ /** Artwork/thumbnail URL */
40
97
  artworkUrl?: string;
98
+ /** Legacy thumbnail field */
41
99
  thumbnail?: string;
100
+ /** International Standard Recording Code */
42
101
  isrc?: string;
102
+ /** Source platform name (e.g., "youtube", "spotify") */
43
103
  sourceName: string;
44
104
  }
105
+ export type LoadType = "track" | "playlist" | "search" | "empty" | "error";
45
106
  export interface SearchResult {
46
- loadType: string;
107
+ /** The type of result returned by Lavalink */
108
+ loadType: LoadType;
109
+ /** Array of resolved tracks */
47
110
  tracks: Track[];
111
+ /** Playlist metadata (only for loadType "playlist") */
48
112
  playlistInfo?: PlaylistInfo;
113
+ /** Error details (only for loadType "error") */
49
114
  exception?: LavalinkException;
50
- pluginInfo?: Record<string, any>;
51
- data?: any;
115
+ /** Plugin-specific data from Lavalink plugins */
116
+ pluginInfo?: Record<string, unknown>;
117
+ /** Raw data field from Lavalink v4.2+ responses */
118
+ data?: unknown;
52
119
  }
53
120
  export interface PlaylistInfo {
54
121
  name: string;
@@ -62,15 +129,6 @@ export interface LavalinkException {
62
129
  severity: string;
63
130
  cause: string;
64
131
  }
65
- export interface PlayerOptions {
66
- guildId: string;
67
- voiceChannelId: string;
68
- textChannelId?: string;
69
- selfDeaf?: boolean;
70
- selfMute?: boolean;
71
- nodeName?: string;
72
- volume?: number;
73
- }
74
132
  export interface VoiceState {
75
133
  token: string;
76
134
  endpoint: string;
@@ -115,68 +173,137 @@ export interface NodeInfo {
115
173
  lavaplayer: string;
116
174
  sourceManagers: string[];
117
175
  filters: string[];
118
- plugins: {
176
+ plugins: Array<{
119
177
  name: string;
120
178
  version: string;
121
- }[];
179
+ }>;
122
180
  }
123
181
  export interface FilterOptions {
124
- equalizer?: {
125
- band: number;
126
- gain: number;
127
- }[];
128
- karaoke?: {
129
- level?: number;
130
- monoLevel?: number;
131
- filterBand?: number;
132
- filterWidth?: number;
133
- };
134
- timescale?: {
135
- speed?: number;
136
- pitch?: number;
137
- rate?: number;
138
- };
139
- tremolo?: {
140
- frequency?: number;
141
- depth?: number;
142
- };
143
- vibrato?: {
144
- frequency?: number;
145
- depth?: number;
146
- };
147
- rotation?: {
148
- rotationHz?: number;
149
- };
150
- distortion?: any;
151
- channelMix?: {
152
- leftToLeft?: number;
153
- leftToRight?: number;
154
- rightToLeft?: number;
155
- rightToRight?: number;
156
- };
157
- lowPass?: {
158
- smoothing?: number;
159
- };
182
+ equalizer?: EqualizerBand[];
183
+ karaoke?: KaraokeSettings | Record<string, never>;
184
+ timescale?: TimescaleSettings | Record<string, never>;
185
+ tremolo?: TremoloSettings | Record<string, never>;
186
+ vibrato?: VibratoSettings | Record<string, never>;
187
+ rotation?: RotationSettings | Record<string, never>;
188
+ distortion?: DistortionSettings | Record<string, never>;
189
+ channelMix?: ChannelMixSettings | Record<string, never>;
190
+ lowPass?: LowPassSettings | Record<string, never>;
160
191
  volume?: number;
161
- [key: string]: any;
192
+ [key: string]: unknown;
193
+ }
194
+ export interface EqualizerBand {
195
+ band: number;
196
+ gain: number;
197
+ }
198
+ export interface KaraokeSettings {
199
+ level?: number;
200
+ monoLevel?: number;
201
+ filterBand?: number;
202
+ filterWidth?: number;
203
+ }
204
+ export interface TimescaleSettings {
205
+ speed?: number;
206
+ pitch?: number;
207
+ rate?: number;
162
208
  }
209
+ export interface TremoloSettings {
210
+ frequency?: number;
211
+ depth?: number;
212
+ }
213
+ export interface VibratoSettings {
214
+ frequency?: number;
215
+ depth?: number;
216
+ }
217
+ export interface RotationSettings {
218
+ rotationHz?: number;
219
+ }
220
+ export interface DistortionSettings {
221
+ sinOffset?: number;
222
+ sinScale?: number;
223
+ cosOffset?: number;
224
+ cosScale?: number;
225
+ tanOffset?: number;
226
+ tanScale?: number;
227
+ offset?: number;
228
+ scale?: number;
229
+ }
230
+ export interface ChannelMixSettings {
231
+ leftToLeft?: number;
232
+ leftToRight?: number;
233
+ rightToLeft?: number;
234
+ rightToRight?: number;
235
+ }
236
+ export interface LowPassSettings {
237
+ smoothing?: number;
238
+ }
239
+ /** Discord server boost tier (0 = none, 1/2/3 = boost levels) */
240
+ export type BoostTier = 0 | 1 | 2 | 3;
241
+ export interface BitrateConfig {
242
+ /** Max bitrate in kbps for this boost tier */
243
+ maxBitrate: number;
244
+ /** Recommended Lavalink volume for optimal clarity */
245
+ recommendedVolume: number;
246
+ /** Whether to apply clarity-enhancing EQ */
247
+ enhancedEQ: boolean;
248
+ }
249
+ export type LogLevel = "none" | "error" | "warn" | "info" | "debug";
250
+ export interface YukimuLogger {
251
+ debug(message: string, ...args: unknown[]): void;
252
+ info(message: string, ...args: unknown[]): void;
253
+ warn(message: string, ...args: unknown[]): void;
254
+ error(message: string, ...args: unknown[]): void;
255
+ }
256
+ export type LoopMode = "none" | "track" | "queue";
257
+ import type { Node } from "./Node";
258
+ import type { Player } from "./Player";
163
259
  export type YukimuEvents = {
164
- nodeConnecting: [node: any];
165
- nodeConnect: [node: any];
166
- nodeReady: [node: any];
167
- nodeDisconnect: [node: any, code: number, reason: string];
168
- nodeError: [node: any, error: Error];
169
- trackStart: [player: any, track: Track];
170
- trackEnd: [player: any, track: Track, reason: string];
171
- trackError: [player: any, track: Track, exception: LavalinkException];
172
- trackStuck: [player: any, track: Track, threshold: number];
173
- playerCreate: [player: any];
174
- playerDestroy: [player: any];
175
- playerUpdate: [player: any];
176
- playerMove: [player: any, oldChannel: string, newChannel: string];
177
- playerError: [player: any, error: Error];
178
- queueEnd: [player: any];
179
- autoplayRequest: [player: any, track: Track];
180
- socketClosed: [player: any, code: number, reason: string, byRemote: boolean];
260
+ /** Emitted when a node begins connecting */
261
+ nodeConnecting: [node: Node];
262
+ /** Emitted when the WebSocket connects (before ready) */
263
+ nodeConnect: [node: Node];
264
+ /** Emitted when the node is fully ready (session established) */
265
+ nodeReady: [node: Node];
266
+ /** Emitted when a node disconnects */
267
+ nodeDisconnect: [node: Node, code: number, reason: string];
268
+ /** Emitted when a node encounters an error */
269
+ nodeError: [node: Node, error: Error];
270
+ /** Emitted when a node begins reconnecting */
271
+ nodeReconnecting: [node: Node, attempt: number, maxAttempts: number];
272
+ /** Emitted when a track starts playing */
273
+ trackStart: [player: Player, track: Track];
274
+ /** Emitted when a track ends */
275
+ trackEnd: [player: Player, track: Track, reason: string];
276
+ /** Emitted when a track encounters an error during playback */
277
+ trackError: [player: Player, track: Track, exception: LavalinkException];
278
+ /** Emitted when a track gets stuck during playback */
279
+ trackStuck: [player: Player, track: Track, threshold: number];
280
+ /** Emitted when a new player is created */
281
+ playerCreate: [player: Player];
282
+ /** Emitted when a player is destroyed */
283
+ playerDestroy: [player: Player];
284
+ /** Emitted on periodic player state updates from Lavalink */
285
+ playerUpdate: [player: Player];
286
+ /** Emitted when a player moves between voice channels */
287
+ playerMove: [player: Player, oldChannel: string, newChannel: string];
288
+ /** Emitted when a player encounters an error */
289
+ playerError: [player: Player, error: Error];
290
+ /** Emitted when the queue is empty after a track ends */
291
+ queueEnd: [player: Player];
292
+ /** Emitted when autoplay is enabled and the queue is empty */
293
+ autoplayRequest: [player: Player, lastTrack: Track];
294
+ /** Emitted when the Discord voice WebSocket closes */
295
+ socketClosed: [player: Player, code: number, reason: string, byRemote: boolean];
296
+ /** Debug information (only when logLevel is "debug") */
297
+ debug: [message: string];
181
298
  };
299
+ export interface RetryOptions {
300
+ /** Maximum number of retries */
301
+ maxRetries: number;
302
+ /** Base delay in ms (will be multiplied by backoff factor) */
303
+ baseDelay: number;
304
+ /** Maximum delay in ms */
305
+ maxDelay: number;
306
+ /** Whether to add random jitter to delay */
307
+ jitter: boolean;
308
+ }
182
309
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,3 +1,4 @@
1
1
  "use strict";
2
+ /** Yukimu v2.0.0 — Core Type Definitions */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,4CAA4C"}
package/package.json CHANGED
@@ -1,15 +1,54 @@
1
1
  {
2
2
  "name": "yukimu",
3
- "version": "1.3.0",
4
- "description": "A powerful Lavalink v3/v4 wrapper for Discord bots — supports YouTube, Spotify, Deezer, Apple Music, JioSaavn, Tidal, SoundCloud and more",
3
+ "version": "2.0.0",
4
+ "description": "A production-grade Lavalink v3/v4 wrapper for Discord bots — supports YouTube, Spotify, Deezer, Apple Music, SoundCloud, Tidal, Bandcamp, Twitch, Vimeo, TikTok, and 15+ more sources with adaptive bitrate, auto-reconnect, and typed events",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "require": "./dist/index.js",
11
+ "default": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist/**/*.js",
16
+ "dist/**/*.d.ts",
17
+ "dist/**/*.d.ts.map",
18
+ "dist/**/*.js.map",
19
+ "README.md",
20
+ "LICENSE"
21
+ ],
7
22
  "scripts": {
8
23
  "build": "tsc",
9
- "dev": "tsc --watch"
24
+ "dev": "tsc --watch",
25
+ "clean": "rm -rf dist",
26
+ "prepublishOnly": "npm run clean && npm run build",
27
+ "typecheck": "tsc --noEmit"
10
28
  },
11
- "keywords": ["lavalink", "discord", "music", "bot", "audio", "spotify", "youtube"],
29
+ "keywords": [
30
+ "lavalink",
31
+ "discord",
32
+ "music",
33
+ "bot",
34
+ "audio",
35
+ "spotify",
36
+ "youtube",
37
+ "soundcloud",
38
+ "deezer",
39
+ "apple-music",
40
+ "tidal",
41
+ "bandcamp",
42
+ "twitch",
43
+ "vimeo",
44
+ "discord-music",
45
+ "lavalink-client",
46
+ "wavelink"
47
+ ],
12
48
  "license": "MIT",
49
+ "engines": {
50
+ "node": ">=18.0.0"
51
+ },
13
52
  "dependencies": {
14
53
  "ws": "^8.17.0"
15
54
  },
@@ -19,6 +58,11 @@
19
58
  "typescript": "^5.4.0"
20
59
  },
21
60
  "peerDependencies": {
22
- "discord.js": "^14.0.0"
61
+ "discord.js": ">=14.0.0"
62
+ },
63
+ "peerDependenciesMeta": {
64
+ "discord.js": {
65
+ "optional": true
66
+ }
23
67
  }
24
68
  }