@rocksky/sdk 0.10.0 → 0.10.1
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/dist/index.js +6 -1
- package/dist/remote-player.d.ts +10 -0
- package/dist/remote-player.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/remote-controller.ts +6 -0
- package/src/remote-player.ts +13 -0
package/dist/index.js
CHANGED
|
@@ -1494,7 +1494,12 @@ function trackFromJson(d) {
|
|
|
1494
1494
|
albumArt: d.album_art,
|
|
1495
1495
|
durationMs: d.duration_ms ?? d.length,
|
|
1496
1496
|
elapsedMs: d.elapsed,
|
|
1497
|
-
isPlaying: d.is_playing
|
|
1497
|
+
isPlaying: d.is_playing,
|
|
1498
|
+
songUri: d.song_uri,
|
|
1499
|
+
albumUri: d.album_uri,
|
|
1500
|
+
artistUri: d.artist_uri,
|
|
1501
|
+
sha256: d.sha256,
|
|
1502
|
+
liked: d.liked
|
|
1498
1503
|
};
|
|
1499
1504
|
}
|
|
1500
1505
|
function queueItemFromJson(d) {
|
package/dist/remote-player.d.ts
CHANGED
|
@@ -34,6 +34,16 @@ export interface RemoteNowPlaying {
|
|
|
34
34
|
/** Current position, ms. */
|
|
35
35
|
elapsedMs?: number;
|
|
36
36
|
isPlaying?: boolean;
|
|
37
|
+
/** The song's `at://` URI. */
|
|
38
|
+
songUri?: string;
|
|
39
|
+
/** The album's `at://` URI. */
|
|
40
|
+
albumUri?: string;
|
|
41
|
+
/** The artist's `at://` URI. */
|
|
42
|
+
artistUri?: string;
|
|
43
|
+
/** Content hash (matches the server's `sha256`). */
|
|
44
|
+
sha256?: string;
|
|
45
|
+
/** Whether the current user has liked this track. */
|
|
46
|
+
liked?: boolean;
|
|
37
47
|
}
|
|
38
48
|
/** One queue entry. `uploadId` (Rocksky uploads) or `trackId` (Navidrome id). */
|
|
39
49
|
export interface RemoteQueueItem {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-player.d.ts","sourceRoot":"","sources":["../src/remote-player.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAE5D,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"remote-player.d.ts","sourceRoot":"","sources":["../src/remote-player.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rocksky/sdk",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "TypeScript SDK for Rocksky — built on atcute: AppView reads, AT Protocol PDS writes (scrobble, like, follow, shout), a local dedup index, and Jetstream real-time sync.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
package/src/remote-controller.ts
CHANGED
|
@@ -332,6 +332,12 @@ function trackFromJson(d: Json): RemoteNowPlaying {
|
|
|
332
332
|
durationMs: d.duration_ms ?? d.length,
|
|
333
333
|
elapsedMs: d.elapsed,
|
|
334
334
|
isPlaying: d.is_playing,
|
|
335
|
+
// Server-enriched fields (present on the broadcast a controller receives).
|
|
336
|
+
songUri: d.song_uri,
|
|
337
|
+
albumUri: d.album_uri,
|
|
338
|
+
artistUri: d.artist_uri,
|
|
339
|
+
sha256: d.sha256,
|
|
340
|
+
liked: d.liked,
|
|
335
341
|
};
|
|
336
342
|
}
|
|
337
343
|
|
package/src/remote-player.ts
CHANGED
|
@@ -36,6 +36,19 @@ export interface RemoteNowPlaying {
|
|
|
36
36
|
/** Current position, ms. */
|
|
37
37
|
elapsedMs?: number;
|
|
38
38
|
isPlaying?: boolean;
|
|
39
|
+
// The following are filled in by the server on the broadcast a controller
|
|
40
|
+
// receives (a player leaves them unset — the server resolves them from the
|
|
41
|
+
// library). They let a controller UI deep-link and show like state.
|
|
42
|
+
/** The song's `at://` URI. */
|
|
43
|
+
songUri?: string;
|
|
44
|
+
/** The album's `at://` URI. */
|
|
45
|
+
albumUri?: string;
|
|
46
|
+
/** The artist's `at://` URI. */
|
|
47
|
+
artistUri?: string;
|
|
48
|
+
/** Content hash (matches the server's `sha256`). */
|
|
49
|
+
sha256?: string;
|
|
50
|
+
/** Whether the current user has liked this track. */
|
|
51
|
+
liked?: boolean;
|
|
39
52
|
}
|
|
40
53
|
|
|
41
54
|
/** One queue entry. `uploadId` (Rocksky uploads) or `trackId` (Navidrome id). */
|