@rocksky/sdk 0.1.0 → 0.2.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.
Files changed (74) hide show
  1. package/README.md +5 -0
  2. package/dist/client.d.ts +37 -28
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/generated/types.d.ts +1932 -0
  5. package/dist/generated/types.d.ts.map +1 -0
  6. package/dist/http.d.ts +3 -3
  7. package/dist/http.d.ts.map +1 -1
  8. package/dist/index.d.ts +17 -17
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +6 -1
  11. package/dist/namespaces/_helpers.d.ts +11 -5
  12. package/dist/namespaces/_helpers.d.ts.map +1 -1
  13. package/dist/namespaces/actor.d.ts +15 -25
  14. package/dist/namespaces/actor.d.ts.map +1 -1
  15. package/dist/namespaces/album.d.ts +7 -13
  16. package/dist/namespaces/album.d.ts.map +1 -1
  17. package/dist/namespaces/apikey.d.ts +9 -22
  18. package/dist/namespaces/apikey.d.ts.map +1 -1
  19. package/dist/namespaces/artist.d.ts +11 -26
  20. package/dist/namespaces/artist.d.ts.map +1 -1
  21. package/dist/namespaces/charts.d.ts +8 -20
  22. package/dist/namespaces/charts.d.ts.map +1 -1
  23. package/dist/namespaces/dropbox.d.ts +7 -14
  24. package/dist/namespaces/dropbox.d.ts.map +1 -1
  25. package/dist/namespaces/feed.d.ts +14 -33
  26. package/dist/namespaces/feed.d.ts.map +1 -1
  27. package/dist/namespaces/googledrive.d.ts +6 -11
  28. package/dist/namespaces/googledrive.d.ts.map +1 -1
  29. package/dist/namespaces/graph.d.ts +10 -23
  30. package/dist/namespaces/graph.d.ts.map +1 -1
  31. package/dist/namespaces/like.d.ts +8 -9
  32. package/dist/namespaces/like.d.ts.map +1 -1
  33. package/dist/namespaces/mirror.d.ts +6 -10
  34. package/dist/namespaces/mirror.d.ts.map +1 -1
  35. package/dist/namespaces/player.d.ts +14 -36
  36. package/dist/namespaces/player.d.ts.map +1 -1
  37. package/dist/namespaces/playlist.d.ts +11 -35
  38. package/dist/namespaces/playlist.d.ts.map +1 -1
  39. package/dist/namespaces/scrobble.d.ts +7 -38
  40. package/dist/namespaces/scrobble.d.ts.map +1 -1
  41. package/dist/namespaces/shout.d.ts +12 -33
  42. package/dist/namespaces/shout.d.ts.map +1 -1
  43. package/dist/namespaces/song.d.ts +9 -43
  44. package/dist/namespaces/song.d.ts.map +1 -1
  45. package/dist/namespaces/spotify.d.ts +9 -12
  46. package/dist/namespaces/spotify.d.ts.map +1 -1
  47. package/dist/namespaces/stats.d.ts +5 -9
  48. package/dist/namespaces/stats.d.ts.map +1 -1
  49. package/package.json +1 -1
  50. package/src/client.ts +50 -33
  51. package/src/generated/types.ts +2143 -0
  52. package/src/http.ts +5 -5
  53. package/src/index.ts +17 -17
  54. package/src/namespaces/_helpers.ts +23 -13
  55. package/src/namespaces/actor.ts +37 -33
  56. package/src/namespaces/album.ts +14 -14
  57. package/src/namespaces/apikey.ts +18 -18
  58. package/src/namespaces/artist.ts +26 -32
  59. package/src/namespaces/charts.ts +15 -24
  60. package/src/namespaces/dropbox.ts +19 -13
  61. package/src/namespaces/feed.ts +42 -36
  62. package/src/namespaces/googledrive.ts +15 -10
  63. package/src/namespaces/graph.ts +24 -25
  64. package/src/namespaces/like.ts +17 -11
  65. package/src/namespaces/mirror.ts +8 -12
  66. package/src/namespaces/player.ts +44 -46
  67. package/src/namespaces/playlist.ts +34 -24
  68. package/src/namespaces/scrobble.ts +14 -40
  69. package/src/namespaces/shout.ts +36 -27
  70. package/src/namespaces/song.ts +27 -48
  71. package/src/namespaces/spotify.ts +19 -15
  72. package/src/namespaces/stats.ts +11 -7
  73. package/src/pipe.ts +1 -1
  74. package/src/realtime.ts +2 -2
package/README.md CHANGED
@@ -255,6 +255,11 @@ Events: `open`, `close`, `error`, `registered`, `deviceRegistered`, `message`, `
255
255
 
256
256
  For tests, pass a fake `WebSocket` constructor via `.webSocket(FakeWebSocket)`.
257
257
 
258
+ ## Types
259
+
260
+ Public model types are derived from the [Rocksky lexicons](https://tangled.org/rocksky.app/rocksky/tree/main/apps/api/lexicons) and live in `src/generated/types.ts`. They are regenerated from `apps/api/lexicons/**/*.json` by running `bun run lexgen:types` at the repo root.
261
+
262
+
258
263
  ## Development
259
264
 
260
265
  ```bash
package/dist/client.d.ts CHANGED
@@ -1,25 +1,31 @@
1
- import { type HttpClientConfig } from "./http";
2
- import { type PaginateArgs } from "./paginate";
3
- import { RealtimeClient, type RealtimeOptions } from "./realtime";
4
- import { ActorNamespace } from "./namespaces/actor";
5
- import { AlbumNamespace } from "./namespaces/album";
6
- import { ApikeyNamespace } from "./namespaces/apikey";
7
- import { ArtistNamespace } from "./namespaces/artist";
8
- import { ChartsNamespace } from "./namespaces/charts";
9
- import { DropboxNamespace } from "./namespaces/dropbox";
10
- import { FeedNamespace } from "./namespaces/feed";
11
- import { GoogleDriveNamespace } from "./namespaces/googledrive";
12
- import { GraphNamespace } from "./namespaces/graph";
13
- import { LikeNamespace } from "./namespaces/like";
14
- import { MirrorNamespace } from "./namespaces/mirror";
15
- import { PlayerNamespace } from "./namespaces/player";
16
- import { PlaylistNamespace } from "./namespaces/playlist";
17
- import { ScrobbleNamespace } from "./namespaces/scrobble";
18
- import { ShoutNamespace } from "./namespaces/shout";
19
- import { SongNamespace } from "./namespaces/song";
20
- import { SpotifyNamespace } from "./namespaces/spotify";
21
- import { StatsNamespace } from "./namespaces/stats";
22
- import type { AuthProvider, ClientOptions, FetchLike, RequestOptions } from "./types";
1
+ import { type HttpClientConfig } from "./http.js";
2
+ import { type PaginateArgs } from "./paginate.js";
3
+ import { RealtimeClient, type RealtimeOptions } from "./realtime.js";
4
+ import { ActorNamespace } from "./namespaces/actor.js";
5
+ import { AlbumNamespace } from "./namespaces/album.js";
6
+ import { ApikeyNamespace } from "./namespaces/apikey.js";
7
+ import { ArtistNamespace } from "./namespaces/artist.js";
8
+ import { ChartsNamespace } from "./namespaces/charts.js";
9
+ import { DropboxNamespace } from "./namespaces/dropbox.js";
10
+ import { FeedNamespace } from "./namespaces/feed.js";
11
+ import { GoogleDriveNamespace } from "./namespaces/googledrive.js";
12
+ import { GraphNamespace } from "./namespaces/graph.js";
13
+ import { LikeNamespace } from "./namespaces/like.js";
14
+ import { MirrorNamespace } from "./namespaces/mirror.js";
15
+ import { PlayerNamespace } from "./namespaces/player.js";
16
+ import { PlaylistNamespace } from "./namespaces/playlist.js";
17
+ import { ScrobbleNamespace } from "./namespaces/scrobble.js";
18
+ import { ShoutNamespace } from "./namespaces/shout.js";
19
+ import { SongNamespace } from "./namespaces/song.js";
20
+ import { SpotifyNamespace } from "./namespaces/spotify.js";
21
+ import { StatsNamespace } from "./namespaces/stats.js";
22
+ import type { Endpoints } from "./generated/types.js";
23
+ import type { AuthProvider, ClientOptions, FetchLike, RequestOptions } from "./types.js";
24
+ type XrpcOpts = {
25
+ params?: Record<string, unknown>;
26
+ body?: unknown;
27
+ requireAuth?: boolean;
28
+ } & RequestOptions;
23
29
  export declare class RockskyClient {
24
30
  readonly config: HttpClientConfig;
25
31
  readonly actor: ActorNamespace;
@@ -68,12 +74,14 @@ export declare class RockskyClient {
68
74
  paginate<T>(args: PaginateArgs<T>): AsyncIterable<T> & {
69
75
  toArray(): Promise<T[]>;
70
76
  };
71
- /** Direct escape hatch — call any XRPC endpoint by NSID. */
72
- xrpc<T = unknown>(nsid: string, method?: "GET" | "POST", opts?: {
73
- params?: Record<string, unknown>;
74
- body?: unknown;
75
- requireAuth?: boolean;
76
- } & RequestOptions): Promise<T>;
77
+ /**
78
+ * Direct escape hatch call any XRPC endpoint by NSID.
79
+ *
80
+ * Known NSIDs (string literals) are typed via the generated `Endpoints`
81
+ * map; arbitrary strings fall back to `unknown` (override with `<T>`).
82
+ */
83
+ xrpc<K extends keyof Endpoints>(nsid: K, method?: "GET" | "POST", opts?: XrpcOpts): Promise<Endpoints[K]>;
84
+ xrpc<T = unknown>(nsid: string, method?: "GET" | "POST", opts?: XrpcOpts): Promise<T>;
77
85
  static builder(): RockskyClientBuilder;
78
86
  private optionsSnapshot;
79
87
  }
@@ -104,4 +112,5 @@ export declare class RockskyClientBuilder {
104
112
  }
105
113
  /** Convenience factory — equivalent to `new RockskyClient(options)`. */
106
114
  export declare function createClient(options?: ClientOptions): RockskyClient;
115
+ export {};
107
116
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}