@discord-player/plugin-host 8.0.0-dev.1 → 8.0.0-dev.2

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 (56) hide show
  1. package/README.md +73 -28
  2. package/dist/compat/base-extractor.d.ts +6 -0
  3. package/dist/compat/base-extractor.js.map +1 -1
  4. package/dist/compat/extractor-execution-context.js.map +1 -1
  5. package/dist/compat/extractor-plugin.js +107 -75
  6. package/dist/compat/extractor-plugin.js.map +1 -1
  7. package/dist/compat/utils.js.map +1 -1
  8. package/dist/errors.d.ts +0 -2
  9. package/dist/errors.js +0 -2
  10. package/dist/errors.js.map +1 -1
  11. package/dist/host.js +81 -20
  12. package/dist/host.js.map +1 -1
  13. package/dist/index.d.ts +4 -0
  14. package/dist/index.js +2 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/legacy-player.d.ts +1 -1
  17. package/dist/lyrics.d.ts +56 -0
  18. package/dist/lyrics.js +110 -0
  19. package/dist/lyrics.js.map +1 -0
  20. package/dist/media.js.map +1 -1
  21. package/dist/plugins/execution-options.d.ts +2 -0
  22. package/dist/plugins/operation-dispatch.js +10 -2
  23. package/dist/plugins/operation-dispatch.js.map +1 -1
  24. package/dist/plugins/plugin-error.js.map +1 -1
  25. package/dist/plugins/registry-internals.d.ts +2 -2
  26. package/dist/plugins/registry.d.ts +45 -5
  27. package/dist/plugins/registry.js +149 -15
  28. package/dist/plugins/registry.js.map +1 -1
  29. package/dist/plugins/stream-resolver.js +5 -2
  30. package/dist/plugins/stream-resolver.js.map +1 -1
  31. package/dist/plugins/types.d.ts +26 -23
  32. package/dist/plugins/types.js.map +1 -1
  33. package/dist/protocol.d.ts +35 -0
  34. package/dist/protocol.js.map +1 -1
  35. package/dist/providers/lrclib.d.ts +120 -0
  36. package/dist/providers/lrclib.js +183 -0
  37. package/dist/providers/lrclib.js.map +1 -0
  38. package/dist/remote.d.ts +29 -0
  39. package/dist/remote.js +142 -0
  40. package/dist/remote.js.map +1 -0
  41. package/dist/runtime.d.ts +0 -8
  42. package/dist/runtime.js +41 -43
  43. package/dist/runtime.js.map +1 -1
  44. package/dist/structures/search-result.js.map +1 -1
  45. package/dist/structures/track-types.d.ts +7 -3
  46. package/dist/structures/track.d.ts +4 -11
  47. package/dist/structures/track.js +8 -10
  48. package/dist/structures/track.js.map +1 -1
  49. package/dist/types.d.ts +2 -4
  50. package/dist/utils/legacy-serialization-schemas.d.ts +10 -0
  51. package/dist/utils/serialization-schemas.d.ts +15 -0
  52. package/dist/utils/serialization-schemas.js +1 -0
  53. package/dist/utils/serialization-schemas.js.map +1 -1
  54. package/dist/utils/serialization.js.map +1 -1
  55. package/docs/remedia-contract.md +9 -8
  56. package/package.json +3 -3
package/README.md CHANGED
@@ -19,34 +19,32 @@ It is neither bundled nor automatically registered.
19
19
 
20
20
  ## Using a host from a bot
21
21
 
22
- Normal applications do not need to create an HTTP host. Register sources locally
23
- as before, or configure standalone deployments once in Player options:
22
+ Normal applications register plugins locally. A metadata-only client descriptor can
23
+ register an existing standalone provider without repeating its host configuration:
24
24
 
25
25
  ```ts
26
- const player = new Player({
27
- // Existing Remedia nodes and gateway send callback:
28
- ...audioOptions,
29
- sourceHosts: [
30
- {
31
- hostId: 'sources-1',
32
- url: 'https://plugins.example.com',
33
- token: process.env.SOURCE_TOKEN,
34
- timeoutMs: 15000,
35
- },
36
- ],
26
+ const remoteSource = definePlugin({
27
+ id: 'example.source',
28
+ remoteHost: { hostId: 'sources-1', url: 'https://plugins.example.test', token: process.env.SOURCE_TOKEN },
37
29
  });
38
30
 
39
- const result = await player.search('some song', { hostId: 'sources-1' });
31
+ const player = new Player({ ...audioOptions, plugins: [remoteSource()] });
32
+ const result = await player.search('some song');
40
33
  await player.play(channel, result);
41
34
  ```
42
35
 
43
- This requires `@remedia/client@0.1.0-dev.5` and a matching remote server configured
36
+ Advanced clients may register every advertised provider with
37
+ `player.plugins.registerHost(hostOptions)`. The obsolete constructor `sourceHosts`
38
+ option has been removed. Registration validates live provider capabilities and
39
+ deployment identity; it does not install plugins on the service.
40
+
41
+ This requires `@remedia/client@0.1.0-dev.7` and a matching remote server configured
44
42
  with the same `pluginHosts` ID and the `discord-player.source` / `source.stream`
45
43
  operation. The bot searches over HTTP and sends an operation descriptor for play
46
44
  and automatic crossfade staging. Encoded bytes flow directly from host to audio
47
45
  node. Local sources run locally. Embedded nodes cannot play hosted Tracks.
48
46
 
49
- See the [complete deployment example](https://discord-player.js.org/docs/plugins/remote-hosts).
47
+ See the [complete deployment example](https://discord-player.js.org/docs/v8/plugins/remote-hosts).
50
48
  The direct HTTP examples below describe protocol consumers; a bot should use
51
49
  `player.search()` and queue playback, without fetching media grants itself.
52
50
 
@@ -59,6 +57,7 @@ import { mySourcePlugin } from './my-source-plugin.js';
59
57
 
60
58
  // Local-only handle() usage may omit hostId.
61
59
  const host = createSourcePluginHost({ name: 'My Source Host' });
60
+
62
61
  await host.extractors.register(MyExtractor);
63
62
  await host.plugins.register(mySourcePlugin());
64
63
 
@@ -67,15 +66,20 @@ const response = await host.handle({
67
66
  operation: 'source.search',
68
67
  input: { query: 'example' },
69
68
  });
69
+
70
70
  if (response.handled) console.log(response.result);
71
+
71
72
  // Or use typed source APIs directly:
72
73
  const result = await host.runtime.search('example');
73
74
  const track = result.first();
75
+
74
76
  if (track) {
75
77
  const source = await host.plugins.resolveStream(track);
78
+
76
79
  // Caller owns consumption and destruction of returned Readables.
77
80
  console.log(source);
78
81
  }
82
+
79
83
  await host.close();
80
84
  ```
81
85
 
@@ -99,10 +103,15 @@ import { createSourcePluginHost } from '@discord-player/plugin-host';
99
103
  import { MyExtractor } from './my-extractor.js';
100
104
 
101
105
  const host = createSourcePluginHost({ name: 'Sources', hostId: 'sources-eu-1', publicUrl: 'http://localhost:3000' });
106
+
102
107
  await host.extractors.register(MyExtractor);
108
+
103
109
  const app = new Hono();
110
+
104
111
  app.all('*', (c) => host.fetch(c.req.raw));
112
+
105
113
  const server = serve({ fetch: app.fetch, port: 3000 });
114
+
106
115
  process.once('SIGTERM', () => {
107
116
  server.close();
108
117
  void host.close();
@@ -120,11 +129,16 @@ import { createSourcePluginHost } from '@discord-player/plugin-host';
120
129
  import { MyExtractor } from './my-extractor.js';
121
130
 
122
131
  const host = createSourcePluginHost({ name: 'Sources', hostId: 'sources-eu-1', publicUrl: 'http://localhost:3000' });
132
+
123
133
  await host.extractors.register(MyExtractor);
134
+
124
135
  const app = express();
136
+
125
137
  app.use(createNodeMiddleware(host));
126
138
  app.use(express.json());
139
+
127
140
  const server = app.listen(3000);
141
+
128
142
  process.once('SIGTERM', () => {
129
143
  server.close();
130
144
  void host.close();
@@ -140,12 +154,11 @@ Configure `token`, `mediaTtlMs`, and `maxMediaTokens` through the host options.
140
154
 
141
155
  One aggregate registration, `discord-player.source`, advertises:
142
156
 
143
- | Operation | Input | Result |
144
- | ---------------- | ------------------------------- | ------------------------------------------ |
145
- | `source.search` | `{ query, options? }` | Metadata through normal provider matching |
146
- | `source.resolve` | `{ query, pluginId, options? }` | Metadata from an explicit provider |
147
- | `source.related` | `{ track }` | Related metadata from the track's provider |
148
- | `source.stream` | `{ track }` | Deferred Remedia media descriptor |
157
+ | Operation | Input | Result |
158
+ | ---------------- | --------------------- | ------------------------------------------ |
159
+ | `source.search` | `{ query, options? }` | Metadata through normal provider matching |
160
+ | `source.related` | `{ track }` | Related metadata from the track's provider |
161
+ | `source.stream` | `{ track }` | Deferred Remedia media descriptor |
149
162
 
150
163
  `source.stream` includes normal bridge fallback and post-stream transformations;
151
164
  internal operation handlers are not separate Remedia registrations. HTTP options
@@ -161,10 +174,15 @@ const response = await fetch('http://localhost:3000/remedia/v1/execute', {
161
174
  headers: { 'content-type': 'application/json' },
162
175
  body: JSON.stringify({ pluginId: SOURCE_PLUGIN_ID, operation: 'source.search', input: { query: 'example' } }),
163
176
  });
177
+
164
178
  if (!response.ok) throw new Error(`Source search failed: ${response.status}`);
179
+
165
180
  const search = (await response.json()) as { handled: boolean; result: PortableSourceResult };
181
+
166
182
  if (!search.handled) throw new Error('Unhandled search');
183
+
167
184
  const localModels = deserializeSourceResult(search.result);
185
+
168
186
  console.log(localModels.first());
169
187
 
170
188
  // Send the original portable representation back, including its optional state hint.
@@ -177,11 +195,16 @@ const mediaResponse = await fetch('http://localhost:3000/remedia/v1/execute', {
177
195
  input: { track: search.result.tracks[0] },
178
196
  }),
179
197
  });
198
+
180
199
  if (!mediaResponse.ok) throw new Error(`Source stream failed: ${mediaResponse.status}`);
200
+
181
201
  const media = (await mediaResponse.json()) as { handled: boolean; result: { url: string; expiresAtMs: number } };
202
+
182
203
  if (!media.handled) throw new Error('Unhandled media');
204
+
183
205
  // Redeem media.result.url before expiresAtMs; this is a short-lived, single-use grant.
184
206
  const bytes = await fetch(media.result.url);
207
+
185
208
  console.log(bytes.body);
186
209
  ```
187
210
 
@@ -258,10 +281,10 @@ compatibility surface does not emulate the whole Player API.
258
281
 
259
282
  ## Remedia server integration boundary
260
283
 
261
- Remedia dev.5 supports generic host discovery, authenticated operation execution,
284
+ Remedia dev.7 supports generic host discovery, authenticated operation execution,
262
285
  native decoding of single-use grants, and cancellation. Configure the deployment
263
- in the server's `pluginHosts` list and in the bot's `sourceHosts` list. Installing
264
- `@remedia/plugin-host@0.1.0-dev.5` alone does not register a host with an audio node.
286
+ in the server's `pluginHosts` list and in the bot plugin's `remoteHost` descriptor. Installing
287
+ `@remedia/plugin-host@0.1.0-dev.7` alone does not register a host with an audio node.
265
288
 
266
289
  DiscordPlayer sends operation descriptors for playback and staged-next preparation;
267
290
  the audio node invokes `source.stream` and consumes encoded bytes directly. The
@@ -340,9 +363,31 @@ registration. Provider URL expiration remains intact. The consuming node must st
340
363
  independently enforce its DNS/redirect policy for direct URLs. Authentication or
341
364
  byte transformations requiring the host must use proxy delivery.
342
365
 
343
- Single-use media grants reject Range requests. Remedia dev.5 opens these operation
344
- results as sequential, non-seekable FFmpeg inputs, avoiding default Range probing.
345
- This does not add random access or turn grant URLs into durable source references.
366
+ Single-use media grants reject Range requests. Remedia dev.7 redeems each grant with one
367
+ plain GET and feeds a bounded sequential queue to the decoder, so it never issues Range
368
+ requests, reopens or reconnects a grant. Seeking is forward-only. This does not add random
369
+ access or turn grant URLs into durable source references.
346
370
  See [the Remedia integration contract](docs/remedia-contract.md) for the current
347
371
  protocol and validation limits. Native Remedia playback and Discord voice delivery
348
372
  remain outside this repository's HTTP/client integration tests.
373
+
374
+ ## Optional capabilities
375
+
376
+ `definePlugin()` has no kind discriminator. Its typed `OperationMap` includes
377
+ `lyrics.search` independently of source operations. A lyrics provider returns an
378
+ array of normalized records with `plain.available` and `synced.available` discriminants;
379
+ only synchronized records carry sorted `{ timestampMs, line }` values. The optional
380
+ `lrclibPlugin()` implementation lives here and is not automatically registered by
381
+ Discord Player. Legacy `BaseExtractor.resolveLyrics()` adapts into that same operation.
382
+
383
+ HTTP discovery advertises actual provider IDs, protocols, priorities and operation
384
+ handlers. `metadata.execute` carries a typed `MetadataRequest` for normalized search,
385
+ lyrics or related metadata. `source.search` remains the high-level search endpoint;
386
+ `source.resolve` was removed. Portable lyrics requests use versioned Track metadata
387
+ without expiring source-state hints. `source.stream` and native operation-source
388
+ playback retain their existing media policy, cancellation and grant behavior.
389
+
390
+ Metadata currently travels over direct HTTP. Remedia dev.7 can forward generic plugin
391
+ operations to server-configured hosts (`client.plugins.list` / `execute`), but Discord Player
392
+ does not use that path yet. `remote.ts` isolates this boundary for a future supported
393
+ transport without introducing a second search dispatcher.
@@ -1,3 +1,4 @@
1
+ import type { LyricsResult } from '../lyrics.js';
1
2
  import type { Readable } from 'node:stream';
2
3
  import type { SourceRuntimeEvents } from '../legacy-player.js';
3
4
  import type { Track } from '../structures/track.js';
@@ -30,6 +31,11 @@ export declare class BaseExtractor<Options extends object = object> {
30
31
  get identifier(): string;
31
32
  /** Obsolete demux support is unavailable. */
32
33
  get supportsDemux(): boolean;
34
+ /** Optional lyrics capability, adapted into the shared operation dispatcher.
35
+ * @param input Track metadata or a raw lookup query.
36
+ * @returns Lyrics records, or null when no lyrics were found.
37
+ */
38
+ resolveLyrics?(input: Track | string): Promise<LyricsResult | LyricsResult[] | null>;
33
39
  /** Acquire extractor resources. */
34
40
  activate(): Promise<void>;
35
41
  /** Release extractor resources. */
@@ -1 +1 @@
1
- {"version":3,"file":"base-extractor.js","sourceRoot":"","sources":["../../src/compat/base-extractor.ts"],"names":[],"mappings":"AAQA,qFAAqF;AACrF,MAAM,OAAO,aAAa;IAgBf,OAAO;IAEP,OAAO;IAjBhB,sDAAsD;IAC/C,MAAM,CAAC,UAAU,GAAG,uBAAuB,CAAC;IAEnD,oDAAoD;IAC7C,QAAQ,GAAG,CAAC,CAAC;IAEpB,0CAA0C;IACnC,SAAS,GAAa,EAAE,CAAC;IAEhC;;;OAGG;IACH;IACE,0CAA0C;IACnC,OAAkC;IACzC,8CAA8C;IACvC,OAAO,GAAY,EAAa;uBAFhC,OAAO;uBAEP,OAAO;IACb,CAAC;IAEJ,kCAAkC;IAClC,IAAW,UAAU;QACnB,OAAQ,IAAI,CAAC,WAAoC,CAAC,UAAU,CAAC;IAC/D,CAAC;IAED,6CAA6C;IAC7C,IAAW,aAAa;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mCAAmC;IAC5B,KAAK,CAAC,QAAQ,KAAmB,CAAC;IAEzC,mCAAmC;IAC5B,KAAK,CAAC,UAAU,KAAmB,CAAC;IAE3C;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,OAAgB;QACvC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,IAA6B;QAChE,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QAEV,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAA+B;QAChE,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QAEb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM,CAAC,KAAY;QAC9B,KAAK,KAAK,CAAC;QAEX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,gBAAgB,CAAC,KAAY,EAAE,OAAiB;QAC3D,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QAEb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,eAA0C;QAC1E,KAAK,KAAK,CAAC;QACX,KAAK,eAAe,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,MAAgB,EAAE,IAAkB;QAC1D,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrB,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,KAAY;QACnC,OAAO,GAAG,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,QAAQ,GAAoB,IAAI,EAAE,MAAM,GAAY,QAAQ,EAAE,MAAM,IAAI,EAAE;QAC9F,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAe;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,IAAI,CAAsC,KAAQ,EAAE,GAAG,IAA4B;QACxF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAI,IAAc,CAAC,CAAC;IAC7D,CAAC;CACF"}
1
+ {"version":3,"file":"base-extractor.js","sourceRoot":"","sources":["../../src/compat/base-extractor.ts"],"names":[],"mappings":"AASA,qFAAqF;AACrF,MAAM,OAAO,aAAa;IAgBf,OAAO;IAGP,OAAO;IAlBhB,sDAAsD;IAC/C,MAAM,CAAC,UAAU,GAAG,uBAAuB,CAAC;IAEnD,oDAAoD;IAC7C,QAAQ,GAAG,CAAC,CAAC;IAEpB,0CAA0C;IACnC,SAAS,GAAa,EAAE,CAAC;IAEhC;;;OAGG;IACH;IACE,0CAA0C;IACnC,OAAkC;IAEzC,8CAA8C;IACvC,OAAO,GAAY,EAAa;uBAHhC,OAAO;uBAGP,OAAO;IACb,CAAC;IAEJ,kCAAkC;IAClC,IAAW,UAAU;QACnB,OAAQ,IAAI,CAAC,WAAoC,CAAC,UAAU,CAAC;IAC/D,CAAC;IAED,6CAA6C;IAC7C,IAAW,aAAa;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAQD,mCAAmC;IAC5B,KAAK,CAAC,QAAQ,KAAmB,CAAC;IAEzC,mCAAmC;IAC5B,KAAK,CAAC,UAAU,KAAmB,CAAC;IAE3C;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,OAAgB;QACvC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,IAA6B;QAChE,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QAEV,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAA+B;QAChE,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QAEb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM,CAAC,KAAY;QAC9B,KAAK,KAAK,CAAC;QAEX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,gBAAgB,CAAC,KAAY,EAAE,OAAiB;QAC3D,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QAEb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,eAA0C;QAC1E,KAAK,KAAK,CAAC;QACX,KAAK,eAAe,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,MAAgB,EAAE,IAAkB;QAC1D,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrB,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,KAAY;QACnC,OAAO,GAAG,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,QAAQ,GAAoB,IAAI,EAAE,MAAM,GAAY,QAAQ,EAAE,MAAM,IAAI,EAAE;QAC9F,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAe;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,IAAI,CAAsC,KAAQ,EAAE,GAAG,IAA4B;QACxF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAI,IAAc,CAAC,CAAC;IAC7D,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractor-execution-context.js","sourceRoot":"","sources":["../../src/compat/extractor-execution-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractor-execution-context.js","sourceRoot":"","sources":["../../src/compat/extractor-execution-context.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Readable } from 'node:stream';
2
2
  import { definePlugin } from '../plugins/types.js';
3
+ import { BaseExtractor } from './base-extractor.js';
3
4
  function checkLegacyStream(result) {
4
5
  if (result && typeof result === 'object' && '$fmt' in result && /^(?:pcm|opus)$/i.test(result.$fmt)) {
5
6
  result.stream.destroy();
@@ -29,89 +30,120 @@ export function createExtractorPlugin(instance, context, getBridgeAttempts, onAc
29
30
  };
30
31
  return definePlugin({
31
32
  id: instance.identifier,
32
- kind: 'source',
33
33
  setup: async (ctx) => {
34
34
  await instance.activate();
35
35
  onActivate();
36
+ if (instance.resolveLyrics) {
37
+ ctx.on('lyrics.search', async ({ input }) => {
38
+ const result = await instance.resolveLyrics?.(input);
39
+ return result == null ? null : Array.isArray(result) ? result : [result];
40
+ }, { priority: instance.priority });
41
+ }
36
42
  const metadata = { priority: instance.priority, protocols: instance.protocols };
37
- ctx.on('search.query.match', async ({ query, options, protocol }) => {
38
- if (protocol) {
39
- return instance.protocols.includes(protocol) ? { score: 100 } : null;
40
- }
41
- return (await instance.validate(query, options?.searchEngine ?? options?.source)) ? { score: 0 } : null;
42
- }, metadata);
43
- ctx.on('search.query.resolve', async ({ query, options, protocol }) => stamp(await instance.handle(query, {
44
- type: options?.searchEngine ?? options?.source,
45
- requestedBy: options?.requestedBy,
46
- requestOptions: options?.requestOptions,
47
- protocol,
48
- })), metadata);
49
- ctx.on('track.stream', async ({ track }) => {
50
- // Restored tracks reconstruct only the public legacy location fields.
51
- if (!track.raw.engine) {
52
- track.raw.engine = track.url;
53
- }
54
- track.queryType ??=
55
- typeof track.sourceReference?.data === 'object' &&
56
- track.sourceReference.data &&
57
- 'queryType' in track.sourceReference.data
58
- ? String(track.sourceReference.data.queryType ?? '')
59
- : undefined;
60
- return checkLegacyStream(await instance.stream(track));
61
- }, metadata);
62
- ctx.on('track.related', async ({ track, history }) => stamp(await instance.getRelatedTracks(track, history ?? { tracks: [] })), metadata);
63
- ctx.on('track.bridge', async ({ track, sourcePluginId }) => {
64
- const attempts = getBridgeAttempts();
65
- if (sourcePluginId === instance.identifier || attempts?.has(instance.identifier)) {
66
- return undefined;
67
- }
68
- attempts?.add(instance.identifier);
69
- const result = checkLegacyStream((await instance.bridge(track, context.get(sourcePluginId ?? '') ?? null)) ?? undefined);
70
- if (result === undefined) {
71
- return undefined;
72
- }
73
- track.bridgedExtractor = instance;
74
- // Object identity retains bridge ownership through nested legacy stream calls.
75
- return typeof result === 'string'
76
- ? /^https?:\/\//i.test(result)
77
- ? { url: result }
78
- : { file: result }
79
- : result instanceof Readable
80
- ? { stream: result }
81
- : result;
82
- }, metadata);
83
- ctx.on('stream.transform', async ({ track, stream }, { signal }) => ({
84
- track,
85
- stream: await new Promise((resolve, reject) => {
86
- signal.throwIfAborted();
87
- const abort = () => {
88
- stream.destroy();
89
- reject(signal.reason);
90
- };
91
- signal.addEventListener('abort', abort, { once: true });
92
- const next = (error, result) => {
93
- signal.removeEventListener('abort', abort);
94
- if (signal.aborted) {
95
- result?.destroy();
43
+ if (instance.handle !== BaseExtractor.prototype.handle &&
44
+ (instance.validate !== BaseExtractor.prototype.validate || instance.protocols.length > 0)) {
45
+ ctx.on('search.query.match', async ({ query, protocol, providerHint }) => {
46
+ if (protocol) {
47
+ return instance.protocols.includes(protocol) ? { score: 100 } : null;
48
+ }
49
+ return (await instance.validate(query, providerHint ?? (/^https?:\/\//i.test(query) ? 'arbitrary' : 'auto')))
50
+ ? { score: 0 }
51
+ : null;
52
+ }, metadata);
53
+ }
54
+ if (instance.handle !== BaseExtractor.prototype.handle) {
55
+ ctx.on('search.query.resolve', async ({ query, options, protocol, providerHint }) => {
56
+ const result = stamp(await instance.handle(query, {
57
+ type: providerHint ?? (/^https?:\/\//i.test(query) ? 'arbitrary' : 'auto'),
58
+ requestedBy: options?.requestedBy,
59
+ requestOptions: options?.requestOptions,
60
+ protocol,
61
+ }));
62
+ for (const track of result.tracks) {
63
+ track.queryType ??= providerHint ?? (/^https?:\/\//i.test(query) ? 'arbitrary' : 'auto');
64
+ if (track.sourceReference &&
65
+ track.sourceReference.data &&
66
+ typeof track.sourceReference.data === 'object' &&
67
+ !Array.isArray(track.sourceReference.data))
68
+ track.sourceReference.data.queryType = track.queryType ?? null;
69
+ }
70
+ return result;
71
+ }, metadata);
72
+ }
73
+ if (instance.stream !== BaseExtractor.prototype.stream) {
74
+ ctx.on('track.stream', async ({ track }) => {
75
+ // Restored tracks reconstruct only the public legacy location fields.
76
+ if (!track.raw.engine) {
77
+ track.raw.engine = track.url;
78
+ }
79
+ track.queryType ??=
80
+ typeof track.sourceReference?.data === 'object' &&
81
+ track.sourceReference.data &&
82
+ 'queryType' in track.sourceReference.data
83
+ ? String(track.sourceReference.data.queryType ?? '')
84
+ : undefined;
85
+ return checkLegacyStream(await instance.stream(track));
86
+ }, metadata);
87
+ }
88
+ if (instance.getRelatedTracks !== BaseExtractor.prototype.getRelatedTracks) {
89
+ ctx.on('track.related', async ({ track, history }) => stamp(await instance.getRelatedTracks(track, history ?? { tracks: [] })), metadata);
90
+ }
91
+ if (instance.bridge !== BaseExtractor.prototype.bridge) {
92
+ ctx.on('track.bridge', async ({ track, sourcePluginId }) => {
93
+ const attempts = getBridgeAttempts();
94
+ if (sourcePluginId === instance.identifier || attempts?.has(instance.identifier)) {
95
+ return undefined;
96
+ }
97
+ attempts?.add(instance.identifier);
98
+ const result = checkLegacyStream((await instance.bridge(track, context.get(sourcePluginId ?? '') ?? null)) ?? undefined);
99
+ if (result === undefined) {
100
+ return undefined;
101
+ }
102
+ track.bridgedExtractor = instance;
103
+ // Object identity retains bridge ownership through nested legacy stream calls.
104
+ return typeof result === 'string'
105
+ ? /^https?:\/\//i.test(result)
106
+ ? { url: result }
107
+ : { file: result }
108
+ : result instanceof Readable
109
+ ? { stream: result }
110
+ : result;
111
+ }, metadata);
112
+ }
113
+ if (instance.handlePostStream !== BaseExtractor.prototype.handlePostStream) {
114
+ ctx.on('stream.transform', async ({ track, stream }, { signal }) => ({
115
+ track,
116
+ stream: await new Promise((resolve, reject) => {
117
+ signal.throwIfAborted();
118
+ const abort = () => {
119
+ stream.destroy();
96
120
  reject(signal.reason);
97
- return;
121
+ };
122
+ signal.addEventListener('abort', abort, { once: true });
123
+ const next = (error, result) => {
124
+ signal.removeEventListener('abort', abort);
125
+ if (signal.aborted) {
126
+ result?.destroy();
127
+ reject(signal.reason);
128
+ return;
129
+ }
130
+ if (error) {
131
+ reject(error);
132
+ }
133
+ else {
134
+ resolve(result ?? stream);
135
+ }
136
+ };
137
+ try {
138
+ (track.bridgedExtractor ?? instance).handlePostStream(stream, next);
98
139
  }
99
- if (error) {
140
+ catch (error) {
141
+ signal.removeEventListener('abort', abort);
100
142
  reject(error);
101
143
  }
102
- else {
103
- resolve(result ?? stream);
104
- }
105
- };
106
- try {
107
- (track.bridgedExtractor ?? instance).handlePostStream(stream, next);
108
- }
109
- catch (error) {
110
- signal.removeEventListener('abort', abort);
111
- reject(error);
112
- }
113
- }),
114
- }), metadata);
144
+ }),
145
+ }), metadata);
146
+ }
115
147
  },
116
148
  destroy: async () => {
117
149
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"extractor-plugin.js","sourceRoot":"","sources":["../../src/compat/extractor-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractor-plugin.js","sourceRoot":"","sources":["../../src/compat/extractor-plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/compat/utils.ts"],"names":[],"mappings":"AAkBA,oGAAoG;AACpG,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB;;OAEG;IACH,IAAI,CAAC,GAAG,IAAe;QACrB,KAAK,IAAI,CAAC;IACZ,CAAC;IACD;;OAEG;IACH,OAAO,CAAC,YAAoB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAExC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;YACtC,YAAY,EAAE,KAAK,GAAG,IAAI;SAC3B,CAAC;IACJ,CAAC;IACD;;OAEG;IACH,aAAa,CAAC,IAAoB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE1C,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC/I,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/compat/utils.ts"],"names":[],"mappings":"AAkBA,oGAAoG;AACpG,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB;;OAEG;IACH,IAAI,CAAC,GAAG,IAAe;QACrB,KAAK,IAAI,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,YAAoB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAExC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;YACtC,YAAY,EAAE,KAAK,GAAG,IAAI;SAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,IAAoB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE1C,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC/I,CAAC;CACF,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -4,8 +4,6 @@ export declare const DiscordPlayerErrorCode: {
4
4
  readonly QueueCapacity: 'ERR_QUEUE_CAPACITY';
5
5
  /** A required queue, session, or track could not be resolved. */
6
6
  readonly NoResult: 'ERR_NO_RESULT';
7
- /** The installed Remedia client does not provide a requested capability. */
8
- readonly UnsupportedRemediaCapability: 'ERR_UNSUPPORTED_REMEDIA_CAPABILITY';
9
7
  /** A track has no source plugin to resolve a Remedia source. */
10
8
  readonly SourceUnavailable: 'ERR_SOURCE_UNAVAILABLE';
11
9
  /** Data could not be serialized or reconstructed. */
package/dist/errors.js CHANGED
@@ -4,8 +4,6 @@ export const DiscordPlayerErrorCode = {
4
4
  QueueCapacity: 'ERR_QUEUE_CAPACITY',
5
5
  /** A required queue, session, or track could not be resolved. */
6
6
  NoResult: 'ERR_NO_RESULT',
7
- /** The installed Remedia client does not provide a requested capability. */
8
- UnsupportedRemediaCapability: 'ERR_UNSUPPORTED_REMEDIA_CAPABILITY',
9
7
  /** A track has no source plugin to resolve a Remedia source. */
10
8
  SourceUnavailable: 'ERR_SOURCE_UNAVAILABLE',
11
9
  /** Data could not be serialized or reconstructed. */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,wDAAwD;IACxD,aAAa,EAAE,oBAAoB;IACnC,iEAAiE;IACjE,QAAQ,EAAE,eAAe;IACzB,4EAA4E;IAC5E,4BAA4B,EAAE,oCAAoC;IAClE,gEAAgE;IAChE,iBAAiB,EAAE,wBAAwB;IAC3C,qDAAqD;IACrD,aAAa,EAAE,mBAAmB;CAC1B,CAAC;AAKX,8DAA8D;AAC9D,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,0CAA0C;IAC1B,IAAI,CAAyB;IAE7C;;;;;OAKG;IACH;IACE,kCAAkC;IAClC,OAAe;IACf,oCAAoC;IACpC,IAA4B;IAC5B,uCAAuC;IACvC,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,uFAAuF;AACvF,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAC5D;;;OAGG;IACH;IACE,4DAA4D;IAC5D,KAAa;QAEb,KAAK,CAAC,mDAAmD,KAAK,IAAI,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAChH,CAAC;CACF;AAED,4EAA4E;AAC5E,MAAM,OAAO,kBAAmB,SAAQ,kBAAkB;IACxD;;;;OAIG;IACH;IACE,4CAA4C;IAC5C,OAAO,GAAG,uDAAuD;IACjE,uCAAuC;IACvC,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,wDAAwD;IACxD,aAAa,EAAE,oBAAoB;IACnC,iEAAiE;IACjE,QAAQ,EAAE,eAAe;IACzB,gEAAgE;IAChE,iBAAiB,EAAE,wBAAwB;IAC3C,qDAAqD;IACrD,aAAa,EAAE,mBAAmB;CAC1B,CAAC;AAKX,8DAA8D;AAC9D,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,0CAA0C;IAC1B,IAAI,CAAyB;IAE7C;;;;;OAKG;IACH;IACE,kCAAkC;IAClC,OAAe;IACf,oCAAoC;IACpC,IAA4B;IAC5B,uCAAuC;IACvC,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,uFAAuF;AACvF,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAC5D;;;OAGG;IACH;IACE,4DAA4D;IAC5D,KAAa;QAEb,KAAK,CAAC,mDAAmD,KAAK,IAAI,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAChH,CAAC;CACF;AAED,4EAA4E;AAC5E,MAAM,OAAO,kBAAmB,SAAQ,kBAAkB;IACxD;;;;OAIG;IACH;IACE,4CAA4C;IAC5C,OAAO,GAAG,uDAAuD;IACjE,uCAAuC;IACvC,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;CACF"}