@discord-player/plugin-host 8.0.0-dev.1 → 8.0.0-dev.3
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.
- package/README.md +92 -28
- package/dist/compat/base-extractor.d.ts +6 -0
- package/dist/compat/base-extractor.js.map +1 -1
- package/dist/compat/extractor-execution-context.js.map +1 -1
- package/dist/compat/extractor-plugin.js +107 -75
- package/dist/compat/extractor-plugin.js.map +1 -1
- package/dist/compat/utils.js.map +1 -1
- package/dist/errors.d.ts +15 -2
- package/dist/errors.js +17 -2
- package/dist/errors.js.map +1 -1
- package/dist/host.js +81 -20
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/legacy-player.d.ts +1 -1
- package/dist/lyrics.d.ts +56 -0
- package/dist/lyrics.js +110 -0
- package/dist/lyrics.js.map +1 -0
- package/dist/media.js.map +1 -1
- package/dist/plugins/execution-options.d.ts +4 -0
- package/dist/plugins/operation-dispatch.js +43 -6
- package/dist/plugins/operation-dispatch.js.map +1 -1
- package/dist/plugins/plugin-error.js.map +1 -1
- package/dist/plugins/registry-internals.d.ts +5 -3
- package/dist/plugins/registry.d.ts +103 -5
- package/dist/plugins/registry.js +403 -24
- package/dist/plugins/registry.js.map +1 -1
- package/dist/plugins/stream-resolver.js +39 -3
- package/dist/plugins/stream-resolver.js.map +1 -1
- package/dist/plugins/types.d.ts +62 -25
- package/dist/plugins/types.js.map +1 -1
- package/dist/protocol.d.ts +35 -0
- package/dist/protocol.js.map +1 -1
- package/dist/providers/lrclib.d.ts +120 -0
- package/dist/providers/lrclib.js +183 -0
- package/dist/providers/lrclib.js.map +1 -0
- package/dist/remote.d.ts +29 -0
- package/dist/remote.js +142 -0
- package/dist/remote.js.map +1 -0
- package/dist/runtime.d.ts +0 -8
- package/dist/runtime.js +55 -44
- package/dist/runtime.js.map +1 -1
- package/dist/structures/search-result.js.map +1 -1
- package/dist/structures/track-types.d.ts +7 -3
- package/dist/structures/track.d.ts +4 -11
- package/dist/structures/track.js +8 -10
- package/dist/structures/track.js.map +1 -1
- package/dist/types.d.ts +2 -4
- package/dist/utils/legacy-serialization-schemas.d.ts +10 -0
- package/dist/utils/serialization-schemas.d.ts +15 -0
- package/dist/utils/serialization-schemas.js +1 -0
- package/dist/utils/serialization-schemas.js.map +1 -1
- package/dist/utils/serialization.js.map +1 -1
- package/docs/remedia-contract.md +9 -8
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SourceUnavailableError } from '../errors.js';
|
|
1
2
|
import { Readable } from 'node:stream';
|
|
2
3
|
import { PluginError } from './plugin-error.js';
|
|
3
4
|
/** Transport must defer this resolution until its media grant is redeemed. @internal */
|
|
@@ -9,9 +10,10 @@ export class DeferredSourceRequired extends Error {
|
|
|
9
10
|
* @param options Selected node mode and playback lifetime.
|
|
10
11
|
* @param run Shared operation runner.
|
|
11
12
|
* @param hasTransforms Inspect applicable transformations for the resolved owner.
|
|
13
|
+
* @param hasCapability Inspect shared modern media subscriptions.
|
|
12
14
|
* @returns Normalized playable media source.
|
|
13
15
|
*/
|
|
14
|
-
export async function resolveTrackStream(track, options, run, hasTransforms) {
|
|
16
|
+
export async function resolveTrackStream(track, options, run, hasTransforms, hasCapability = () => true) {
|
|
15
17
|
const pluginId = track.sourceReference?.pluginId;
|
|
16
18
|
let owner = pluginId;
|
|
17
19
|
let lifetime;
|
|
@@ -26,7 +28,7 @@ export async function resolveTrackStream(track, options, run, hasTransforms) {
|
|
|
26
28
|
result = await run('track.bridge', { track, sourcePluginId: pluginId }, options, handled);
|
|
27
29
|
}
|
|
28
30
|
if (result === undefined) {
|
|
29
|
-
throw new
|
|
31
|
+
throw new SourceUnavailableError(pluginId ?? track.title ?? track.id);
|
|
30
32
|
}
|
|
31
33
|
let source = typeof result === 'string'
|
|
32
34
|
? /^https?:\/\//i.test(result)
|
|
@@ -34,7 +36,32 @@ export async function resolveTrackStream(track, options, run, hasTransforms) {
|
|
|
34
36
|
: { file: result }
|
|
35
37
|
: result instanceof Readable
|
|
36
38
|
? { stream: result }
|
|
37
|
-
: result
|
|
39
|
+
: result instanceof Uint8Array
|
|
40
|
+
? { buffer: result }
|
|
41
|
+
: result;
|
|
42
|
+
// Intercept before transport authorization/materialization so changed URLs pass the same access policy.
|
|
43
|
+
try {
|
|
44
|
+
if (hasCapability('media.descriptor')) {
|
|
45
|
+
const descriptor = await run('media.descriptor', { source, guildId: options.guildId ?? null }, { ...options, pluginId: undefined });
|
|
46
|
+
if (!descriptor || !descriptor.source || typeof descriptor.source !== 'object')
|
|
47
|
+
throw new TypeError('media.descriptor requires a media source.');
|
|
48
|
+
const next = descriptor.source;
|
|
49
|
+
if (!('url' in next && typeof next.url === 'string') &&
|
|
50
|
+
!('file' in next && typeof next.file === 'string') &&
|
|
51
|
+
!('stream' in next && next.stream instanceof Readable) &&
|
|
52
|
+
!('buffer' in next && next.buffer instanceof Uint8Array) &&
|
|
53
|
+
!('hostId' in next && typeof next.hostId === 'string'))
|
|
54
|
+
throw new TypeError('media.descriptor returned an invalid media source.');
|
|
55
|
+
if ('stream' in source && (!('stream' in next) || next.stream !== source.stream))
|
|
56
|
+
throw new TypeError('Use media.transform to replace encoded streams.');
|
|
57
|
+
source = next;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
if ('stream' in source)
|
|
62
|
+
source.stream.destroy();
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
38
65
|
if (options.directUrlOnly) {
|
|
39
66
|
if (!('url' in source)) {
|
|
40
67
|
if ('stream' in source)
|
|
@@ -73,11 +100,20 @@ export async function resolveTrackStream(track, options, run, hasTransforms) {
|
|
|
73
100
|
}
|
|
74
101
|
if ('stream' in source) {
|
|
75
102
|
const transformed = await run('stream.transform', { track, stream: source.stream }, { ...options, pluginId: owner });
|
|
103
|
+
if (transformed && !(transformed.stream instanceof Readable))
|
|
104
|
+
throw new TypeError('Stream transformation must return a Readable.');
|
|
76
105
|
if (transformed) {
|
|
77
106
|
source = { ...source, stream: transformed.stream };
|
|
78
107
|
streams.add(transformed.stream);
|
|
79
108
|
}
|
|
80
109
|
}
|
|
110
|
+
if ('stream' in source) {
|
|
111
|
+
const transformed = await run('media.transform', { track, stream: source.stream }, { ...options, pluginId: undefined });
|
|
112
|
+
if (!transformed || !(transformed.stream instanceof Readable))
|
|
113
|
+
throw new TypeError('media.transform requires an encoded Readable.');
|
|
114
|
+
streams.add(transformed.stream);
|
|
115
|
+
source = { ...source, stream: transformed.stream };
|
|
116
|
+
}
|
|
81
117
|
await run('track.stream.resolved', { track }, { ...options, pluginId: owner });
|
|
82
118
|
signal?.throwIfAborted();
|
|
83
119
|
if (streams.size && signal) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-resolver.js","sourceRoot":"","sources":["../../src/plugins/stream-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,wFAAwF;AACxF,MAAM,OAAO,sBAAuB,SAAQ,KAAK;CAAG;AAEpD
|
|
1
|
+
{"version":3,"file":"stream-resolver.js","sourceRoot":"","sources":["../../src/plugins/stream-resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins/types.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import type { SerializedEntityUnion } from '../utils/serde.js';
|
|
2
|
+
import type { RemotePluginHostOptions } from '../remote.js';
|
|
3
|
+
import type { LyricsRequest, LyricsResult } from '../lyrics.js';
|
|
1
4
|
import type { Readable } from 'node:stream';
|
|
2
5
|
import type { MediaSource } from '@remedia/client';
|
|
3
6
|
import type { Track } from '../structures/track.js';
|
|
@@ -6,7 +9,7 @@ import type { SearchOptions } from '../types.js';
|
|
|
6
9
|
import type { JSONValue } from '../utils/serialization.js';
|
|
7
10
|
import type { LegacyPlayerContext } from '../legacy-player.js';
|
|
8
11
|
/** Serializable provider identity; never put credentials or live objects in this payload. */
|
|
9
|
-
export type
|
|
12
|
+
export type ProviderReference = {
|
|
10
13
|
/** Deployment identity, separate from the provider ID. Omit for ordinary embedded sources. */
|
|
11
14
|
hostId?: string;
|
|
12
15
|
/** Registered source plugin ID. */
|
|
@@ -18,9 +21,9 @@ export type SourceReference = {
|
|
|
18
21
|
export type SourceStream = (MediaSource & {
|
|
19
22
|
/** Trustworthy absolute URL/source expiration supplied by the provider, in Unix milliseconds. Omit when unknown. */
|
|
20
23
|
expiresAtMs?: number;
|
|
21
|
-
}) | string | Readable;
|
|
24
|
+
}) | string | Uint8Array | Readable;
|
|
22
25
|
/** Operation dispatch behavior. */
|
|
23
|
-
export type DispatchPolicy = 'first' | 'collect' | 'pipe' | 'broadcast';
|
|
26
|
+
export type DispatchPolicy = 'first' | 'collect' | 'pipe' | 'broadcast' | 'intercept';
|
|
24
27
|
/** Declaration merged operation contract. */
|
|
25
28
|
export interface Operation<Input, Output, Policy extends DispatchPolicy> {
|
|
26
29
|
/** Handler input. */
|
|
@@ -34,8 +37,10 @@ export interface Operation<Input, Output, Policy extends DispatchPolicy> {
|
|
|
34
37
|
export interface SourceQuery {
|
|
35
38
|
/** Search text or source location. */
|
|
36
39
|
query: string;
|
|
40
|
+
/** Generic hint when searchEngine does not select a registered provider. */
|
|
41
|
+
providerHint?: string;
|
|
37
42
|
/** Portable search hints and local cancellation. */
|
|
38
|
-
options?: SearchOptions
|
|
43
|
+
options?: Omit<SearchOptions, 'searchEngine' | 'hostId' | 'signal' | 'resolveCustomProtocols'>;
|
|
39
44
|
/** Explicit protocol prefix when present. */
|
|
40
45
|
protocol?: string;
|
|
41
46
|
}
|
|
@@ -43,6 +48,8 @@ export interface SourceQuery {
|
|
|
43
48
|
export interface SourceMatch {
|
|
44
49
|
/** Provider ID; supplied automatically by the host. */
|
|
45
50
|
pluginId?: string;
|
|
51
|
+
/** Deployment selected by matching; absent for embedded handlers. */
|
|
52
|
+
hostId?: string;
|
|
46
53
|
/** Confidence score; higher wins within a priority tier. */
|
|
47
54
|
score: number;
|
|
48
55
|
}
|
|
@@ -67,7 +74,29 @@ export interface SourceStreamTransform extends SourceTrackRequest {
|
|
|
67
74
|
stream: Readable;
|
|
68
75
|
}
|
|
69
76
|
/** Extensible source operation contracts. Augmented operations also need host definitions. */
|
|
70
|
-
export interface
|
|
77
|
+
export interface OperationMap {
|
|
78
|
+
/** Transform a validated persistence payload before restoring an entity. */
|
|
79
|
+
'serialization.beforeRestore': Operation<SerializedEntityUnion, SerializedEntityUnion, 'pipe'>;
|
|
80
|
+
/** Transform serialized application metadata; the result is validated again. */
|
|
81
|
+
'serialization.afterSerialize': Operation<SerializedEntityUnion, SerializedEntityUnion, 'pipe'>;
|
|
82
|
+
/** Transform source preparation while preserving portable provider identity. */
|
|
83
|
+
'media.beforeResolve': Operation<SourceTrackRequest, SourceTrackRequest, 'pipe'>;
|
|
84
|
+
/** Transform a portable search query before provider selection. */
|
|
85
|
+
'search.beforeQuery': Operation<SourceQuery, SourceQuery, 'pipe'>;
|
|
86
|
+
/** Transform metadata returned by search orchestration. */
|
|
87
|
+
'search.afterResults': Operation<SearchResultData, SearchResultData, 'pipe'>;
|
|
88
|
+
/** Transform encoded bytes across modern plugins, independent of source ownership. */
|
|
89
|
+
'media.transform': Operation<SourceStreamTransform, SourceStreamTransform, 'pipe'>;
|
|
90
|
+
/** Transform a resolved descriptor. Standalone execution has no guild context. */
|
|
91
|
+
'media.descriptor': Operation<{
|
|
92
|
+
readonly source: MediaSource;
|
|
93
|
+
readonly guildId: string | null;
|
|
94
|
+
}, {
|
|
95
|
+
readonly source: MediaSource;
|
|
96
|
+
readonly guildId: string | null;
|
|
97
|
+
}, 'pipe'>;
|
|
98
|
+
/** Optional lyrics lookup, independent of all source operations. */
|
|
99
|
+
'lyrics.search': Operation<LyricsRequest, LyricsResult[] | null, 'collect'>;
|
|
71
100
|
/** Collect scored providers. */
|
|
72
101
|
'search.query.match': Operation<SourceQuery, SourceMatch | null, 'collect'>;
|
|
73
102
|
/** Resolve metadata with the selected provider. */
|
|
@@ -83,14 +112,17 @@ export interface SourceOperationMap {
|
|
|
83
112
|
/** Notification after a source is resolved. */
|
|
84
113
|
'track.stream.resolved': Operation<SourceTrackRequest, void, 'broadcast'>;
|
|
85
114
|
}
|
|
115
|
+
/** Declaration merged names restricted to synchronous callbacks. */
|
|
116
|
+
export interface SynchronousOperationMap {
|
|
117
|
+
}
|
|
86
118
|
/** Names available to source plugins. */
|
|
87
|
-
export type OperationName = keyof
|
|
119
|
+
export type OperationName = keyof OperationMap;
|
|
88
120
|
/** Typed input selected by operation name. */
|
|
89
|
-
export type OperationInput<K extends OperationName> =
|
|
121
|
+
export type OperationInput<K extends OperationName> = OperationMap[K]['input'];
|
|
90
122
|
/** Typed handler result selected by operation name. */
|
|
91
|
-
export type OperationOutput<K extends OperationName> =
|
|
123
|
+
export type OperationOutput<K extends OperationName> = OperationMap[K]['output'];
|
|
92
124
|
/** Dispatch result selected by the declared policy. */
|
|
93
|
-
export type OperationResult<K extends OperationName> =
|
|
125
|
+
export type OperationResult<K extends OperationName> = OperationMap[K]['policy'] extends 'collect' ? OperationOutput<K>[] : OperationMap[K]['policy'] extends 'broadcast' ? void : OperationOutput<K> | undefined;
|
|
94
126
|
/** Per-invocation cancellation supplied to all handlers. */
|
|
95
127
|
export interface OperationContext {
|
|
96
128
|
/** Caller cancellation combined with registration removal. */
|
|
@@ -101,16 +133,21 @@ export interface OperationContext {
|
|
|
101
133
|
* @param context Invocation cancellation.
|
|
102
134
|
* @returns A handled result, or undefined to decline.
|
|
103
135
|
*/
|
|
104
|
-
export type OperationHandler<K extends OperationName> = (input: OperationInput<K>, context: OperationContext) => OperationOutput<K> | undefined | Promise<OperationOutput<K> | undefined
|
|
136
|
+
export type OperationHandler<K extends OperationName> = (input: OperationInput<K>, context: OperationContext) => OperationOutput<K> | undefined | (K extends keyof SynchronousOperationMap ? never : Promise<OperationOutput<K> | undefined>);
|
|
105
137
|
/** Handler ordering metadata. */
|
|
106
138
|
export interface HandlerOptions {
|
|
107
139
|
/** Higher values run first; equal priorities preserve registration order. */
|
|
108
140
|
priority?: number;
|
|
109
141
|
/** Protocols accepted by this handler; absent means unrestricted. */
|
|
110
142
|
protocols?: readonly string[];
|
|
143
|
+
/** Local guild constraints; unavailable guild context never matches. */
|
|
144
|
+
guildIds?: readonly string[];
|
|
145
|
+
}
|
|
146
|
+
/** Declaration-merged singleton services supplied only by modern plugins. */
|
|
147
|
+
export interface ProviderMap {
|
|
111
148
|
}
|
|
112
149
|
/** Source setup context shared by embedded and standalone execution. */
|
|
113
|
-
export interface
|
|
150
|
+
export interface PluginContext<Options> {
|
|
114
151
|
/** Options belonging to this registration. */
|
|
115
152
|
readonly options: Options;
|
|
116
153
|
/** Registration lifetime signal. */
|
|
@@ -124,37 +161,37 @@ export interface SourcePluginContext<Options> {
|
|
|
124
161
|
* @returns An idempotent subscription removal function.
|
|
125
162
|
*/
|
|
126
163
|
on<K extends OperationName>(operation: K, handler: OperationHandler<K>, options?: HandlerOptions): () => void;
|
|
164
|
+
/** Supply one locally owned implementation of a declared singleton capability.
|
|
165
|
+
* @param capability Provider capability declared by the embedding Player.
|
|
166
|
+
* @param implementation Registration-owned implementation.
|
|
167
|
+
*/
|
|
168
|
+
provide<K extends keyof ProviderMap>(capability: K, implementation: ProviderMap[K]): void;
|
|
127
169
|
/** Register cleanup, run in reverse order after active handlers settle.
|
|
128
170
|
* @param callback Resource cleanup.
|
|
129
171
|
*/
|
|
130
172
|
onCleanup(callback: () => void | Promise<void>): void;
|
|
131
173
|
}
|
|
132
174
|
/** Source declaration reusable across Player instances. */
|
|
133
|
-
export interface
|
|
175
|
+
export interface PluginDefinition<Options> {
|
|
134
176
|
/** Unique registration identifier. */
|
|
135
177
|
id: string;
|
|
136
|
-
/**
|
|
137
|
-
|
|
178
|
+
/** Existing HTTP deployment providing this provider's metadata capabilities. */
|
|
179
|
+
remoteHost?: RemotePluginHostOptions;
|
|
180
|
+
/** Default operation priority. */
|
|
181
|
+
priority?: number;
|
|
138
182
|
/** Initialize owned resources and handlers.
|
|
139
183
|
* @param ctx Registration context.
|
|
140
184
|
*/
|
|
141
|
-
setup(ctx:
|
|
185
|
+
setup?(ctx: PluginContext<Options>): void | Promise<void>;
|
|
142
186
|
/** Optional teardown after calls have drained.
|
|
143
187
|
* @param ctx Registration context.
|
|
144
188
|
*/
|
|
145
|
-
destroy?(ctx:
|
|
146
|
-
}
|
|
147
|
-
/** Reserved runtime kind; no runtime capabilities are implemented. */
|
|
148
|
-
export interface RuntimePluginDefinition {
|
|
149
|
-
/** Unique registration identifier. */
|
|
150
|
-
id: string;
|
|
151
|
-
/** Reserved discriminant, rejected by the source host. */
|
|
152
|
-
kind: 'runtime';
|
|
189
|
+
destroy?(ctx: PluginContext<Options>): void | Promise<void>;
|
|
153
190
|
}
|
|
154
191
|
/** Registration descriptor produced by a factory. */
|
|
155
192
|
export interface PluginRegistration<Options = unknown> {
|
|
156
193
|
/** Reusable source declaration. */
|
|
157
|
-
definition:
|
|
194
|
+
definition: PluginDefinition<Options>;
|
|
158
195
|
/** Registration-local options. */
|
|
159
196
|
options: Options;
|
|
160
197
|
}
|
|
@@ -167,4 +204,4 @@ export type PluginFactory<Options> = {} extends Options ? (options?: Options) =>
|
|
|
167
204
|
* @param definition Source lifecycle and identity.
|
|
168
205
|
* @returns A typed registration factory. Each call supplies independent options.
|
|
169
206
|
*/
|
|
170
|
-
export declare function definePlugin<Options = Record<string, never>>(definition:
|
|
207
|
+
export declare function definePlugin<Options = Record<string, never>>(definition: PluginDefinition<Options>): PluginFactory<Options>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AAkRA;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAqC;IAErC,OAAO,CAAC,CAAC,OAAO,GAAY,EAAa,EAAE,EAAE,CAAC,CAAC;QAC7C,UAAU;QACV,OAAO;KACR,CAAC,CAA2B,CAAC;AAChC,CAAC"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SearchOptions } from './types.js';
|
|
1
2
|
import { Track, type SerializedTrack } from './structures/track.js';
|
|
2
3
|
import { type SerializedPlaylist } from './structures/playlist.js';
|
|
3
4
|
import { SearchResult } from './structures/search-result.js';
|
|
@@ -26,3 +27,37 @@ export declare function deserializeSourceResult(result: PortableSourceResult): S
|
|
|
26
27
|
* @returns Portable metadata with an optional opaque state token. Persistence should use serialize().
|
|
27
28
|
*/
|
|
28
29
|
export declare function serializeSourceTrack(track: Track): PortableSourceTrack;
|
|
30
|
+
/** Portable search input, normalized before crossing the metadata boundary. */
|
|
31
|
+
export interface PortableSourceQuery {
|
|
32
|
+
/** Prefix-stripped query when a registered custom protocol was selected. */
|
|
33
|
+
query: string;
|
|
34
|
+
/** Owned custom protocol. */
|
|
35
|
+
protocol?: string;
|
|
36
|
+
/** Generic provider hint, independent of provider/deployment selection. */
|
|
37
|
+
providerHint?: string;
|
|
38
|
+
/** Serializable public search hints; never includes request credentials or cancellation. */
|
|
39
|
+
options?: Omit<SearchOptions, 'signal' | 'requestOptions' | 'requestedBy' | 'searchEngine' | 'hostId' | 'resolveCustomProtocols'> & {
|
|
40
|
+
requestedBy?: string | null;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/** Lyrics metadata request; persistence intentionally excludes runtime source-state hints. */
|
|
44
|
+
export interface PortableLyricsRequest {
|
|
45
|
+
/** Raw query or versioned Track metadata. */
|
|
46
|
+
input: string | SerializedTrack;
|
|
47
|
+
}
|
|
48
|
+
/** Direct HTTP metadata request, also suitable for future generic forwarding. */
|
|
49
|
+
export type MetadataRequest = {
|
|
50
|
+
providerId: string;
|
|
51
|
+
operation: 'search.query.match' | 'search.query.resolve';
|
|
52
|
+
input: PortableSourceQuery;
|
|
53
|
+
} | {
|
|
54
|
+
providerId: string;
|
|
55
|
+
operation: 'lyrics.search';
|
|
56
|
+
input: PortableLyricsRequest;
|
|
57
|
+
} | {
|
|
58
|
+
providerId: string;
|
|
59
|
+
operation: 'track.related';
|
|
60
|
+
input: {
|
|
61
|
+
track: PortableSourceTrack;
|
|
62
|
+
};
|
|
63
|
+
};
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAwB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAA2B,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAmB/C;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAA4B;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE;QACtE,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QAErF,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,MAAM,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAEpG,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;QAE3B,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvE,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,YAAY,QAAQ,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAEnH,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAEzB,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACxD,CAAC;IAED,OAAO,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAY;IAC/C,OAAO,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACpG,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/** Search parameters supported by the LRCLIB API. */
|
|
2
|
+
export interface LrcSearchParams {
|
|
3
|
+
/** Free-form query. Either `q` or `trackName` is required. */
|
|
4
|
+
q?: string;
|
|
5
|
+
/** Track title. Either `q` or `trackName` is required. */
|
|
6
|
+
trackName?: string;
|
|
7
|
+
/** Artist name filter. */
|
|
8
|
+
artistName?: string;
|
|
9
|
+
/** Album name filter. */
|
|
10
|
+
albumName?: string;
|
|
11
|
+
}
|
|
12
|
+
/** Parameters accepted by LRCLIB's exact lookup endpoints. */
|
|
13
|
+
export interface LrcGetParams extends LrcSearchParams {
|
|
14
|
+
/** Track duration in seconds. */
|
|
15
|
+
duration?: number;
|
|
16
|
+
}
|
|
17
|
+
/** Lyrics record returned by LRCLIB search. */
|
|
18
|
+
export interface LrcSearchResult {
|
|
19
|
+
/** LRCLIB record ID. */
|
|
20
|
+
id: number;
|
|
21
|
+
/** Display name supplied by LRCLIB. */
|
|
22
|
+
name: string;
|
|
23
|
+
/** Track title. */
|
|
24
|
+
trackName: string;
|
|
25
|
+
/** Artist name. */
|
|
26
|
+
artistName: string;
|
|
27
|
+
/** Album name. */
|
|
28
|
+
albumName: string;
|
|
29
|
+
/** Track duration in seconds. */
|
|
30
|
+
duration: number;
|
|
31
|
+
/** Whether the recording is instrumental. */
|
|
32
|
+
instrumental: boolean;
|
|
33
|
+
/** Plain lyric text, when available. */
|
|
34
|
+
plainLyrics: string;
|
|
35
|
+
/** Synchronized LRC text, when supplied by the service. */
|
|
36
|
+
syncedLyrics?: string;
|
|
37
|
+
}
|
|
38
|
+
/** Lyrics record returned by exact LRCLIB lookups. */
|
|
39
|
+
/** Lyrics record returned by the LRCLIB exact lookup endpoints. */
|
|
40
|
+
export type LrcGetResult = Omit<LrcSearchResult, 'name'>;
|
|
41
|
+
/** LRCLIB API client with serialized requests and bounded retries. */
|
|
42
|
+
export declare class LrcLib {
|
|
43
|
+
#private;
|
|
44
|
+
/** Player used to identify requests and publish debug messages. */
|
|
45
|
+
readonly player: {
|
|
46
|
+
version: string;
|
|
47
|
+
debug(message: string): void;
|
|
48
|
+
};
|
|
49
|
+
/** Base API URL. */
|
|
50
|
+
api: string;
|
|
51
|
+
/** Request timeout in milliseconds. */
|
|
52
|
+
timeout: number;
|
|
53
|
+
/** Maximum retry count for rate limits and server errors. */
|
|
54
|
+
retryLimit: number;
|
|
55
|
+
/**
|
|
56
|
+
* Create an LRCLIB client owned by one Player.
|
|
57
|
+
* @param player Player used to identify requests and publish debug messages.
|
|
58
|
+
*/
|
|
59
|
+
constructor(
|
|
60
|
+
/** Player used to identify requests and publish debug messages. */
|
|
61
|
+
player: {
|
|
62
|
+
version: string;
|
|
63
|
+
debug(message: string): void;
|
|
64
|
+
});
|
|
65
|
+
/**
|
|
66
|
+
* Set the request timeout.
|
|
67
|
+
* @param timeout Positive request timeout in milliseconds.
|
|
68
|
+
*/
|
|
69
|
+
setRequestTimeout(
|
|
70
|
+
/** Timeout in milliseconds. */
|
|
71
|
+
timeout: number): void;
|
|
72
|
+
/**
|
|
73
|
+
* Set the maximum retry count.
|
|
74
|
+
* @param limit Non-negative retry count for rate limits and server errors.
|
|
75
|
+
*/
|
|
76
|
+
setRetryLimit(
|
|
77
|
+
/** Non-negative retry count. */
|
|
78
|
+
limit: number): void;
|
|
79
|
+
/**
|
|
80
|
+
* Get lyrics by exact track metadata.
|
|
81
|
+
* @param params Track title, artist, album, and optional duration.
|
|
82
|
+
*/
|
|
83
|
+
get(
|
|
84
|
+
/** Exact lookup metadata. */
|
|
85
|
+
params: LrcGetParams): Promise<LrcGetResult>;
|
|
86
|
+
/**
|
|
87
|
+
* Get lyrics by LRCLIB record ID.
|
|
88
|
+
* @param id Numeric LRCLIB record ID.
|
|
89
|
+
*/
|
|
90
|
+
getById(
|
|
91
|
+
/** Numeric LRCLIB record ID. */
|
|
92
|
+
id: `${number}` | number): Promise<LrcGetResult>;
|
|
93
|
+
/**
|
|
94
|
+
* Get cached lyrics by exact track metadata.
|
|
95
|
+
* @param params Track title, artist, album, and optional duration.
|
|
96
|
+
*/
|
|
97
|
+
getCached(
|
|
98
|
+
/** Exact lookup metadata. */
|
|
99
|
+
params: LrcGetParams): Promise<LrcGetResult>;
|
|
100
|
+
/**
|
|
101
|
+
* Search LRCLIB for matching lyric records.
|
|
102
|
+
* @param params Free-form query or track and artist metadata.
|
|
103
|
+
*/
|
|
104
|
+
search(
|
|
105
|
+
/** Search query or track and artist metadata. */
|
|
106
|
+
params: LrcSearchParams): Promise<LrcSearchResult[]>;
|
|
107
|
+
/**
|
|
108
|
+
* Send one serialized request to LRCLIB.
|
|
109
|
+
* @param path API path, with or without a leading slash.
|
|
110
|
+
* @param options Additional fetch options merged with the default GET request.
|
|
111
|
+
* @returns Parsed JSON response.
|
|
112
|
+
*/
|
|
113
|
+
request<Result>(
|
|
114
|
+
/** API path, with or without a leading slash. */
|
|
115
|
+
path: string,
|
|
116
|
+
/** Additional fetch options merged with the default GET request. */
|
|
117
|
+
options?: RequestInit): Promise<Result>;
|
|
118
|
+
}
|
|
119
|
+
/** Optional LRCLIB provider. No provider is installed by constructing a Player. */
|
|
120
|
+
export declare const lrclibPlugin: (options?: Record<string, never> | undefined) => import("../plugins/types.js").PluginRegistration<Record<string, never>>;
|