@rocksky/cli 0.1.1 → 0.3.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 (184) hide show
  1. package/README.md +270 -1
  2. package/TOOLS.md +194 -0
  3. package/bun.lock +28 -0
  4. package/dist/drizzle/0000_parallel_paper_doll.sql +220 -0
  5. package/dist/drizzle/meta/0000_snapshot.json +1559 -0
  6. package/dist/drizzle/meta/_journal.json +13 -0
  7. package/dist/index.js +8718 -165
  8. package/drizzle/0000_parallel_paper_doll.sql +220 -0
  9. package/drizzle/meta/0000_snapshot.json +1559 -0
  10. package/drizzle/meta/_journal.json +13 -0
  11. package/drizzle.config.ts +18 -0
  12. package/package.json +34 -4
  13. package/src/client.ts +32 -14
  14. package/src/cmd/mcp.ts +8 -0
  15. package/src/cmd/scrobble-api.ts +457 -0
  16. package/src/cmd/scrobble.ts +14 -61
  17. package/src/cmd/search.ts +27 -25
  18. package/src/cmd/sync.ts +812 -0
  19. package/src/cmd/whoami.ts +36 -7
  20. package/src/context.ts +24 -0
  21. package/src/drizzle.ts +53 -0
  22. package/src/index.ts +72 -23
  23. package/src/jetstream.ts +285 -0
  24. package/src/lexicon/index.ts +1321 -0
  25. package/src/lexicon/lexicons.ts +5453 -0
  26. package/src/lexicon/types/app/bsky/actor/profile.ts +38 -0
  27. package/src/lexicon/types/app/rocksky/actor/defs.ts +146 -0
  28. package/src/lexicon/types/app/rocksky/actor/getActorAlbums.ts +56 -0
  29. package/src/lexicon/types/app/rocksky/actor/getActorArtists.ts +56 -0
  30. package/src/lexicon/types/app/rocksky/actor/getActorCompatibility.ts +48 -0
  31. package/src/lexicon/types/app/rocksky/actor/getActorLovedSongs.ts +52 -0
  32. package/src/lexicon/types/app/rocksky/actor/getActorNeighbours.ts +48 -0
  33. package/src/lexicon/types/app/rocksky/actor/getActorPlaylists.ts +52 -0
  34. package/src/lexicon/types/app/rocksky/actor/getActorScrobbles.ts +52 -0
  35. package/src/lexicon/types/app/rocksky/actor/getActorSongs.ts +56 -0
  36. package/src/lexicon/types/app/rocksky/actor/getProfile.ts +43 -0
  37. package/src/lexicon/types/app/rocksky/album/defs.ts +85 -0
  38. package/src/lexicon/types/app/rocksky/album/getAlbum.ts +43 -0
  39. package/src/lexicon/types/app/rocksky/album/getAlbumTracks.ts +48 -0
  40. package/src/lexicon/types/app/rocksky/album/getAlbums.ts +50 -0
  41. package/src/lexicon/types/app/rocksky/album.ts +51 -0
  42. package/src/lexicon/types/app/rocksky/apikey/createApikey.ts +51 -0
  43. package/src/lexicon/types/app/rocksky/apikey/defs.ts +31 -0
  44. package/src/lexicon/types/app/rocksky/apikey/getApikeys.ts +50 -0
  45. package/src/lexicon/types/app/rocksky/apikey/removeApikey.ts +43 -0
  46. package/src/lexicon/types/app/rocksky/apikey/updateApikey.ts +53 -0
  47. package/src/lexicon/types/app/rocksky/apikeys/defs.ts +7 -0
  48. package/src/lexicon/types/app/rocksky/artist/defs.ts +140 -0
  49. package/src/lexicon/types/app/rocksky/artist/getArtist.ts +43 -0
  50. package/src/lexicon/types/app/rocksky/artist/getArtistAlbums.ts +48 -0
  51. package/src/lexicon/types/app/rocksky/artist/getArtistListeners.ts +52 -0
  52. package/src/lexicon/types/app/rocksky/artist/getArtistTracks.ts +52 -0
  53. package/src/lexicon/types/app/rocksky/artist/getArtists.ts +52 -0
  54. package/src/lexicon/types/app/rocksky/artist.ts +41 -0
  55. package/src/lexicon/types/app/rocksky/charts/defs.ts +44 -0
  56. package/src/lexicon/types/app/rocksky/charts/getScrobblesChart.ts +49 -0
  57. package/src/lexicon/types/app/rocksky/dropbox/defs.ts +71 -0
  58. package/src/lexicon/types/app/rocksky/dropbox/downloadFile.ts +42 -0
  59. package/src/lexicon/types/app/rocksky/dropbox/getFiles.ts +43 -0
  60. package/src/lexicon/types/app/rocksky/dropbox/getMetadata.ts +43 -0
  61. package/src/lexicon/types/app/rocksky/dropbox/getTemporaryLink.ts +43 -0
  62. package/src/lexicon/types/app/rocksky/feed/defs.ts +182 -0
  63. package/src/lexicon/types/app/rocksky/feed/describeFeedGenerator.ts +48 -0
  64. package/src/lexicon/types/app/rocksky/feed/generator.ts +29 -0
  65. package/src/lexicon/types/app/rocksky/feed/getFeed.ts +47 -0
  66. package/src/lexicon/types/app/rocksky/feed/getFeedGenerator.ts +48 -0
  67. package/src/lexicon/types/app/rocksky/feed/getFeedGenerators.ts +43 -0
  68. package/src/lexicon/types/app/rocksky/feed/getFeedSkeleton.ts +56 -0
  69. package/src/lexicon/types/app/rocksky/feed/getNowPlayings.ts +43 -0
  70. package/src/lexicon/types/app/rocksky/feed/search.ts +43 -0
  71. package/src/lexicon/types/app/rocksky/googledrive/defs.ts +42 -0
  72. package/src/lexicon/types/app/rocksky/googledrive/downloadFile.ts +42 -0
  73. package/src/lexicon/types/app/rocksky/googledrive/getFile.ts +43 -0
  74. package/src/lexicon/types/app/rocksky/googledrive/getFiles.ts +43 -0
  75. package/src/lexicon/types/app/rocksky/graph/defs.ts +47 -0
  76. package/src/lexicon/types/app/rocksky/graph/follow.ts +28 -0
  77. package/src/lexicon/types/app/rocksky/graph/followAccount.ts +50 -0
  78. package/src/lexicon/types/app/rocksky/graph/getFollowers.ts +56 -0
  79. package/src/lexicon/types/app/rocksky/graph/getFollows.ts +56 -0
  80. package/src/lexicon/types/app/rocksky/graph/getKnownFollowers.ts +52 -0
  81. package/src/lexicon/types/app/rocksky/graph/unfollowAccount.ts +50 -0
  82. package/src/lexicon/types/app/rocksky/like/dislikeShout.ts +49 -0
  83. package/src/lexicon/types/app/rocksky/like/dislikeSong.ts +49 -0
  84. package/src/lexicon/types/app/rocksky/like/likeShout.ts +49 -0
  85. package/src/lexicon/types/app/rocksky/like/likeSong.ts +49 -0
  86. package/src/lexicon/types/app/rocksky/like.ts +27 -0
  87. package/src/lexicon/types/app/rocksky/player/addDirectoryToQueue.ts +40 -0
  88. package/src/lexicon/types/app/rocksky/player/addItemsToQueue.ts +39 -0
  89. package/src/lexicon/types/app/rocksky/player/defs.ts +57 -0
  90. package/src/lexicon/types/app/rocksky/player/getCurrentlyPlaying.ts +44 -0
  91. package/src/lexicon/types/app/rocksky/player/getPlaybackQueue.ts +42 -0
  92. package/src/lexicon/types/app/rocksky/player/next.ts +34 -0
  93. package/src/lexicon/types/app/rocksky/player/pause.ts +34 -0
  94. package/src/lexicon/types/app/rocksky/player/play.ts +34 -0
  95. package/src/lexicon/types/app/rocksky/player/playDirectory.ts +38 -0
  96. package/src/lexicon/types/app/rocksky/player/playFile.ts +35 -0
  97. package/src/lexicon/types/app/rocksky/player/previous.ts +34 -0
  98. package/src/lexicon/types/app/rocksky/player/seek.ts +36 -0
  99. package/src/lexicon/types/app/rocksky/playlist/createPlaylist.ts +37 -0
  100. package/src/lexicon/types/app/rocksky/playlist/defs.ts +86 -0
  101. package/src/lexicon/types/app/rocksky/playlist/getPlaylist.ts +43 -0
  102. package/src/lexicon/types/app/rocksky/playlist/getPlaylists.ts +50 -0
  103. package/src/lexicon/types/app/rocksky/playlist/insertDirectory.ts +39 -0
  104. package/src/lexicon/types/app/rocksky/playlist/insertFiles.ts +38 -0
  105. package/src/lexicon/types/app/rocksky/playlist/removePlaylist.ts +35 -0
  106. package/src/lexicon/types/app/rocksky/playlist/removeTrack.ts +37 -0
  107. package/src/lexicon/types/app/rocksky/playlist/startPlaylist.ts +39 -0
  108. package/src/lexicon/types/app/rocksky/playlist.ts +43 -0
  109. package/src/lexicon/types/app/rocksky/radio/defs.ts +63 -0
  110. package/src/lexicon/types/app/rocksky/radio.ts +37 -0
  111. package/src/lexicon/types/app/rocksky/scrobble/createScrobble.ts +91 -0
  112. package/src/lexicon/types/app/rocksky/scrobble/defs.ts +93 -0
  113. package/src/lexicon/types/app/rocksky/scrobble/getScrobble.ts +43 -0
  114. package/src/lexicon/types/app/rocksky/scrobble/getScrobbles.ts +54 -0
  115. package/src/lexicon/types/app/rocksky/scrobble.ts +75 -0
  116. package/src/lexicon/types/app/rocksky/shout/createShout.ts +49 -0
  117. package/src/lexicon/types/app/rocksky/shout/defs.ts +58 -0
  118. package/src/lexicon/types/app/rocksky/shout/getAlbumShouts.ts +52 -0
  119. package/src/lexicon/types/app/rocksky/shout/getArtistShouts.ts +52 -0
  120. package/src/lexicon/types/app/rocksky/shout/getProfileShouts.ts +52 -0
  121. package/src/lexicon/types/app/rocksky/shout/getShoutReplies.ts +52 -0
  122. package/src/lexicon/types/app/rocksky/shout/getTrackShouts.ts +48 -0
  123. package/src/lexicon/types/app/rocksky/shout/removeShout.ts +43 -0
  124. package/src/lexicon/types/app/rocksky/shout/replyShout.ts +51 -0
  125. package/src/lexicon/types/app/rocksky/shout/reportShout.ts +51 -0
  126. package/src/lexicon/types/app/rocksky/shout.ts +30 -0
  127. package/src/lexicon/types/app/rocksky/song/createSong.ts +71 -0
  128. package/src/lexicon/types/app/rocksky/song/defs.ts +103 -0
  129. package/src/lexicon/types/app/rocksky/song/getSong.ts +43 -0
  130. package/src/lexicon/types/app/rocksky/song/getSongs.ts +50 -0
  131. package/src/lexicon/types/app/rocksky/song.ts +74 -0
  132. package/src/lexicon/types/app/rocksky/spotify/defs.ts +35 -0
  133. package/src/lexicon/types/app/rocksky/spotify/getCurrentlyPlaying.ts +43 -0
  134. package/src/lexicon/types/app/rocksky/spotify/next.ts +32 -0
  135. package/src/lexicon/types/app/rocksky/spotify/pause.ts +32 -0
  136. package/src/lexicon/types/app/rocksky/spotify/play.ts +32 -0
  137. package/src/lexicon/types/app/rocksky/spotify/previous.ts +32 -0
  138. package/src/lexicon/types/app/rocksky/spotify/seek.ts +35 -0
  139. package/src/lexicon/types/app/rocksky/stats/defs.ts +33 -0
  140. package/src/lexicon/types/app/rocksky/stats/getStats.ts +43 -0
  141. package/src/lexicon/types/com/atproto/repo/strongRef.ts +26 -0
  142. package/src/lexicon/util.ts +13 -0
  143. package/src/lib/agent.ts +56 -0
  144. package/src/lib/cleanUpJetstreamLock.ts +66 -0
  145. package/src/lib/cleanUpSyncLock.ts +56 -0
  146. package/src/lib/didUnstorageCache.ts +72 -0
  147. package/src/lib/env.ts +25 -0
  148. package/src/lib/extractPdsFromDid.ts +33 -0
  149. package/src/lib/getDidAndHandle.ts +39 -0
  150. package/src/lib/idResolver.ts +52 -0
  151. package/src/lib/lastfm.ts +26 -0
  152. package/src/lib/matchTrack.ts +47 -0
  153. package/src/logger.ts +18 -0
  154. package/src/mcp/index.ts +269 -0
  155. package/src/mcp/tools/albums.ts +13 -0
  156. package/src/mcp/tools/artists.ts +17 -0
  157. package/src/mcp/tools/create.ts +27 -0
  158. package/src/mcp/tools/myscrobbles.ts +42 -0
  159. package/src/mcp/tools/nowplaying.ts +53 -0
  160. package/src/mcp/tools/scrobbles.ts +39 -0
  161. package/src/mcp/tools/search.ts +88 -0
  162. package/src/mcp/tools/stats.ts +40 -0
  163. package/src/mcp/tools/tracks.ts +15 -0
  164. package/src/mcp/tools/whoami.ts +27 -0
  165. package/src/schema/album-tracks.ts +30 -0
  166. package/src/schema/albums.ts +29 -0
  167. package/src/schema/artist-albums.ts +29 -0
  168. package/src/schema/artist-genres.ts +17 -0
  169. package/src/schema/artist-tracks.ts +29 -0
  170. package/src/schema/artists.ts +30 -0
  171. package/src/schema/auth-session.ts +18 -0
  172. package/src/schema/genres.ts +18 -0
  173. package/src/schema/index.ts +33 -0
  174. package/src/schema/loved-tracks.ts +27 -0
  175. package/src/schema/scrobbles.ts +30 -0
  176. package/src/schema/tracks.ts +39 -0
  177. package/src/schema/user-albums.ts +31 -0
  178. package/src/schema/user-artists.ts +32 -0
  179. package/src/schema/user-tracks.ts +31 -0
  180. package/src/schema/users.ts +21 -0
  181. package/src/scrobble.ts +410 -0
  182. package/src/sqliteKv.ts +173 -0
  183. package/src/types.ts +308 -0
  184. package/tsconfig.json +26 -29
@@ -0,0 +1,1321 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import {
5
+ createServer as createXrpcServer,
6
+ Server as XrpcServer,
7
+ Options as XrpcOptions,
8
+ AuthVerifier,
9
+ StreamAuthVerifier,
10
+ } from '@atproto/xrpc-server'
11
+ import { schemas } from './lexicons'
12
+ import * as AppRockskyActorGetActorAlbums from './types/app/rocksky/actor/getActorAlbums'
13
+ import * as AppRockskyActorGetActorArtists from './types/app/rocksky/actor/getActorArtists'
14
+ import * as AppRockskyActorGetActorCompatibility from './types/app/rocksky/actor/getActorCompatibility'
15
+ import * as AppRockskyActorGetActorLovedSongs from './types/app/rocksky/actor/getActorLovedSongs'
16
+ import * as AppRockskyActorGetActorNeighbours from './types/app/rocksky/actor/getActorNeighbours'
17
+ import * as AppRockskyActorGetActorPlaylists from './types/app/rocksky/actor/getActorPlaylists'
18
+ import * as AppRockskyActorGetActorScrobbles from './types/app/rocksky/actor/getActorScrobbles'
19
+ import * as AppRockskyActorGetActorSongs from './types/app/rocksky/actor/getActorSongs'
20
+ import * as AppRockskyActorGetProfile from './types/app/rocksky/actor/getProfile'
21
+ import * as AppRockskyAlbumGetAlbum from './types/app/rocksky/album/getAlbum'
22
+ import * as AppRockskyAlbumGetAlbums from './types/app/rocksky/album/getAlbums'
23
+ import * as AppRockskyAlbumGetAlbumTracks from './types/app/rocksky/album/getAlbumTracks'
24
+ import * as AppRockskyApikeyCreateApikey from './types/app/rocksky/apikey/createApikey'
25
+ import * as AppRockskyApikeyGetApikeys from './types/app/rocksky/apikey/getApikeys'
26
+ import * as AppRockskyApikeyRemoveApikey from './types/app/rocksky/apikey/removeApikey'
27
+ import * as AppRockskyApikeyUpdateApikey from './types/app/rocksky/apikey/updateApikey'
28
+ import * as AppRockskyArtistGetArtist from './types/app/rocksky/artist/getArtist'
29
+ import * as AppRockskyArtistGetArtistAlbums from './types/app/rocksky/artist/getArtistAlbums'
30
+ import * as AppRockskyArtistGetArtistListeners from './types/app/rocksky/artist/getArtistListeners'
31
+ import * as AppRockskyArtistGetArtists from './types/app/rocksky/artist/getArtists'
32
+ import * as AppRockskyArtistGetArtistTracks from './types/app/rocksky/artist/getArtistTracks'
33
+ import * as AppRockskyChartsGetScrobblesChart from './types/app/rocksky/charts/getScrobblesChart'
34
+ import * as AppRockskyDropboxDownloadFile from './types/app/rocksky/dropbox/downloadFile'
35
+ import * as AppRockskyDropboxGetFiles from './types/app/rocksky/dropbox/getFiles'
36
+ import * as AppRockskyDropboxGetMetadata from './types/app/rocksky/dropbox/getMetadata'
37
+ import * as AppRockskyDropboxGetTemporaryLink from './types/app/rocksky/dropbox/getTemporaryLink'
38
+ import * as AppRockskyFeedDescribeFeedGenerator from './types/app/rocksky/feed/describeFeedGenerator'
39
+ import * as AppRockskyFeedGetFeed from './types/app/rocksky/feed/getFeed'
40
+ import * as AppRockskyFeedGetFeedGenerator from './types/app/rocksky/feed/getFeedGenerator'
41
+ import * as AppRockskyFeedGetFeedGenerators from './types/app/rocksky/feed/getFeedGenerators'
42
+ import * as AppRockskyFeedGetFeedSkeleton from './types/app/rocksky/feed/getFeedSkeleton'
43
+ import * as AppRockskyFeedGetNowPlayings from './types/app/rocksky/feed/getNowPlayings'
44
+ import * as AppRockskyFeedSearch from './types/app/rocksky/feed/search'
45
+ import * as AppRockskyGoogledriveDownloadFile from './types/app/rocksky/googledrive/downloadFile'
46
+ import * as AppRockskyGoogledriveGetFile from './types/app/rocksky/googledrive/getFile'
47
+ import * as AppRockskyGoogledriveGetFiles from './types/app/rocksky/googledrive/getFiles'
48
+ import * as AppRockskyGraphFollowAccount from './types/app/rocksky/graph/followAccount'
49
+ import * as AppRockskyGraphGetFollowers from './types/app/rocksky/graph/getFollowers'
50
+ import * as AppRockskyGraphGetFollows from './types/app/rocksky/graph/getFollows'
51
+ import * as AppRockskyGraphGetKnownFollowers from './types/app/rocksky/graph/getKnownFollowers'
52
+ import * as AppRockskyGraphUnfollowAccount from './types/app/rocksky/graph/unfollowAccount'
53
+ import * as AppRockskyLikeDislikeShout from './types/app/rocksky/like/dislikeShout'
54
+ import * as AppRockskyLikeDislikeSong from './types/app/rocksky/like/dislikeSong'
55
+ import * as AppRockskyLikeLikeShout from './types/app/rocksky/like/likeShout'
56
+ import * as AppRockskyLikeLikeSong from './types/app/rocksky/like/likeSong'
57
+ import * as AppRockskyPlayerAddDirectoryToQueue from './types/app/rocksky/player/addDirectoryToQueue'
58
+ import * as AppRockskyPlayerAddItemsToQueue from './types/app/rocksky/player/addItemsToQueue'
59
+ import * as AppRockskyPlayerGetCurrentlyPlaying from './types/app/rocksky/player/getCurrentlyPlaying'
60
+ import * as AppRockskyPlayerGetPlaybackQueue from './types/app/rocksky/player/getPlaybackQueue'
61
+ import * as AppRockskyPlayerNext from './types/app/rocksky/player/next'
62
+ import * as AppRockskyPlayerPause from './types/app/rocksky/player/pause'
63
+ import * as AppRockskyPlayerPlay from './types/app/rocksky/player/play'
64
+ import * as AppRockskyPlayerPlayDirectory from './types/app/rocksky/player/playDirectory'
65
+ import * as AppRockskyPlayerPlayFile from './types/app/rocksky/player/playFile'
66
+ import * as AppRockskyPlayerPrevious from './types/app/rocksky/player/previous'
67
+ import * as AppRockskyPlayerSeek from './types/app/rocksky/player/seek'
68
+ import * as AppRockskyPlaylistCreatePlaylist from './types/app/rocksky/playlist/createPlaylist'
69
+ import * as AppRockskyPlaylistGetPlaylist from './types/app/rocksky/playlist/getPlaylist'
70
+ import * as AppRockskyPlaylistGetPlaylists from './types/app/rocksky/playlist/getPlaylists'
71
+ import * as AppRockskyPlaylistInsertDirectory from './types/app/rocksky/playlist/insertDirectory'
72
+ import * as AppRockskyPlaylistInsertFiles from './types/app/rocksky/playlist/insertFiles'
73
+ import * as AppRockskyPlaylistRemovePlaylist from './types/app/rocksky/playlist/removePlaylist'
74
+ import * as AppRockskyPlaylistRemoveTrack from './types/app/rocksky/playlist/removeTrack'
75
+ import * as AppRockskyPlaylistStartPlaylist from './types/app/rocksky/playlist/startPlaylist'
76
+ import * as AppRockskyScrobbleCreateScrobble from './types/app/rocksky/scrobble/createScrobble'
77
+ import * as AppRockskyScrobbleGetScrobble from './types/app/rocksky/scrobble/getScrobble'
78
+ import * as AppRockskyScrobbleGetScrobbles from './types/app/rocksky/scrobble/getScrobbles'
79
+ import * as AppRockskyShoutCreateShout from './types/app/rocksky/shout/createShout'
80
+ import * as AppRockskyShoutGetAlbumShouts from './types/app/rocksky/shout/getAlbumShouts'
81
+ import * as AppRockskyShoutGetArtistShouts from './types/app/rocksky/shout/getArtistShouts'
82
+ import * as AppRockskyShoutGetProfileShouts from './types/app/rocksky/shout/getProfileShouts'
83
+ import * as AppRockskyShoutGetShoutReplies from './types/app/rocksky/shout/getShoutReplies'
84
+ import * as AppRockskyShoutGetTrackShouts from './types/app/rocksky/shout/getTrackShouts'
85
+ import * as AppRockskyShoutRemoveShout from './types/app/rocksky/shout/removeShout'
86
+ import * as AppRockskyShoutReplyShout from './types/app/rocksky/shout/replyShout'
87
+ import * as AppRockskyShoutReportShout from './types/app/rocksky/shout/reportShout'
88
+ import * as AppRockskySongCreateSong from './types/app/rocksky/song/createSong'
89
+ import * as AppRockskySongGetSong from './types/app/rocksky/song/getSong'
90
+ import * as AppRockskySongGetSongs from './types/app/rocksky/song/getSongs'
91
+ import * as AppRockskySpotifyGetCurrentlyPlaying from './types/app/rocksky/spotify/getCurrentlyPlaying'
92
+ import * as AppRockskySpotifyNext from './types/app/rocksky/spotify/next'
93
+ import * as AppRockskySpotifyPause from './types/app/rocksky/spotify/pause'
94
+ import * as AppRockskySpotifyPlay from './types/app/rocksky/spotify/play'
95
+ import * as AppRockskySpotifyPrevious from './types/app/rocksky/spotify/previous'
96
+ import * as AppRockskySpotifySeek from './types/app/rocksky/spotify/seek'
97
+ import * as AppRockskyStatsGetStats from './types/app/rocksky/stats/getStats'
98
+
99
+ export function createServer(options?: XrpcOptions): Server {
100
+ return new Server(options)
101
+ }
102
+
103
+ export class Server {
104
+ xrpc: XrpcServer
105
+ app: AppNS
106
+ com: ComNS
107
+
108
+ constructor(options?: XrpcOptions) {
109
+ this.xrpc = createXrpcServer(schemas, options)
110
+ this.app = new AppNS(this)
111
+ this.com = new ComNS(this)
112
+ }
113
+ }
114
+
115
+ export class AppNS {
116
+ _server: Server
117
+ rocksky: AppRockskyNS
118
+ bsky: AppBskyNS
119
+
120
+ constructor(server: Server) {
121
+ this._server = server
122
+ this.rocksky = new AppRockskyNS(server)
123
+ this.bsky = new AppBskyNS(server)
124
+ }
125
+ }
126
+
127
+ export class AppRockskyNS {
128
+ _server: Server
129
+ actor: AppRockskyActorNS
130
+ album: AppRockskyAlbumNS
131
+ apikey: AppRockskyApikeyNS
132
+ artist: AppRockskyArtistNS
133
+ charts: AppRockskyChartsNS
134
+ dropbox: AppRockskyDropboxNS
135
+ feed: AppRockskyFeedNS
136
+ googledrive: AppRockskyGoogledriveNS
137
+ graph: AppRockskyGraphNS
138
+ like: AppRockskyLikeNS
139
+ player: AppRockskyPlayerNS
140
+ playlist: AppRockskyPlaylistNS
141
+ scrobble: AppRockskyScrobbleNS
142
+ shout: AppRockskyShoutNS
143
+ song: AppRockskySongNS
144
+ spotify: AppRockskySpotifyNS
145
+ stats: AppRockskyStatsNS
146
+
147
+ constructor(server: Server) {
148
+ this._server = server
149
+ this.actor = new AppRockskyActorNS(server)
150
+ this.album = new AppRockskyAlbumNS(server)
151
+ this.apikey = new AppRockskyApikeyNS(server)
152
+ this.artist = new AppRockskyArtistNS(server)
153
+ this.charts = new AppRockskyChartsNS(server)
154
+ this.dropbox = new AppRockskyDropboxNS(server)
155
+ this.feed = new AppRockskyFeedNS(server)
156
+ this.googledrive = new AppRockskyGoogledriveNS(server)
157
+ this.graph = new AppRockskyGraphNS(server)
158
+ this.like = new AppRockskyLikeNS(server)
159
+ this.player = new AppRockskyPlayerNS(server)
160
+ this.playlist = new AppRockskyPlaylistNS(server)
161
+ this.scrobble = new AppRockskyScrobbleNS(server)
162
+ this.shout = new AppRockskyShoutNS(server)
163
+ this.song = new AppRockskySongNS(server)
164
+ this.spotify = new AppRockskySpotifyNS(server)
165
+ this.stats = new AppRockskyStatsNS(server)
166
+ }
167
+ }
168
+
169
+ export class AppRockskyActorNS {
170
+ _server: Server
171
+
172
+ constructor(server: Server) {
173
+ this._server = server
174
+ }
175
+
176
+ getActorAlbums<AV extends AuthVerifier>(
177
+ cfg: ConfigOf<
178
+ AV,
179
+ AppRockskyActorGetActorAlbums.Handler<ExtractAuth<AV>>,
180
+ AppRockskyActorGetActorAlbums.HandlerReqCtx<ExtractAuth<AV>>
181
+ >,
182
+ ) {
183
+ const nsid = 'app.rocksky.actor.getActorAlbums' // @ts-ignore
184
+ return this._server.xrpc.method(nsid, cfg)
185
+ }
186
+
187
+ getActorArtists<AV extends AuthVerifier>(
188
+ cfg: ConfigOf<
189
+ AV,
190
+ AppRockskyActorGetActorArtists.Handler<ExtractAuth<AV>>,
191
+ AppRockskyActorGetActorArtists.HandlerReqCtx<ExtractAuth<AV>>
192
+ >,
193
+ ) {
194
+ const nsid = 'app.rocksky.actor.getActorArtists' // @ts-ignore
195
+ return this._server.xrpc.method(nsid, cfg)
196
+ }
197
+
198
+ getActorCompatibility<AV extends AuthVerifier>(
199
+ cfg: ConfigOf<
200
+ AV,
201
+ AppRockskyActorGetActorCompatibility.Handler<ExtractAuth<AV>>,
202
+ AppRockskyActorGetActorCompatibility.HandlerReqCtx<ExtractAuth<AV>>
203
+ >,
204
+ ) {
205
+ const nsid = 'app.rocksky.actor.getActorCompatibility' // @ts-ignore
206
+ return this._server.xrpc.method(nsid, cfg)
207
+ }
208
+
209
+ getActorLovedSongs<AV extends AuthVerifier>(
210
+ cfg: ConfigOf<
211
+ AV,
212
+ AppRockskyActorGetActorLovedSongs.Handler<ExtractAuth<AV>>,
213
+ AppRockskyActorGetActorLovedSongs.HandlerReqCtx<ExtractAuth<AV>>
214
+ >,
215
+ ) {
216
+ const nsid = 'app.rocksky.actor.getActorLovedSongs' // @ts-ignore
217
+ return this._server.xrpc.method(nsid, cfg)
218
+ }
219
+
220
+ getActorNeighbours<AV extends AuthVerifier>(
221
+ cfg: ConfigOf<
222
+ AV,
223
+ AppRockskyActorGetActorNeighbours.Handler<ExtractAuth<AV>>,
224
+ AppRockskyActorGetActorNeighbours.HandlerReqCtx<ExtractAuth<AV>>
225
+ >,
226
+ ) {
227
+ const nsid = 'app.rocksky.actor.getActorNeighbours' // @ts-ignore
228
+ return this._server.xrpc.method(nsid, cfg)
229
+ }
230
+
231
+ getActorPlaylists<AV extends AuthVerifier>(
232
+ cfg: ConfigOf<
233
+ AV,
234
+ AppRockskyActorGetActorPlaylists.Handler<ExtractAuth<AV>>,
235
+ AppRockskyActorGetActorPlaylists.HandlerReqCtx<ExtractAuth<AV>>
236
+ >,
237
+ ) {
238
+ const nsid = 'app.rocksky.actor.getActorPlaylists' // @ts-ignore
239
+ return this._server.xrpc.method(nsid, cfg)
240
+ }
241
+
242
+ getActorScrobbles<AV extends AuthVerifier>(
243
+ cfg: ConfigOf<
244
+ AV,
245
+ AppRockskyActorGetActorScrobbles.Handler<ExtractAuth<AV>>,
246
+ AppRockskyActorGetActorScrobbles.HandlerReqCtx<ExtractAuth<AV>>
247
+ >,
248
+ ) {
249
+ const nsid = 'app.rocksky.actor.getActorScrobbles' // @ts-ignore
250
+ return this._server.xrpc.method(nsid, cfg)
251
+ }
252
+
253
+ getActorSongs<AV extends AuthVerifier>(
254
+ cfg: ConfigOf<
255
+ AV,
256
+ AppRockskyActorGetActorSongs.Handler<ExtractAuth<AV>>,
257
+ AppRockskyActorGetActorSongs.HandlerReqCtx<ExtractAuth<AV>>
258
+ >,
259
+ ) {
260
+ const nsid = 'app.rocksky.actor.getActorSongs' // @ts-ignore
261
+ return this._server.xrpc.method(nsid, cfg)
262
+ }
263
+
264
+ getProfile<AV extends AuthVerifier>(
265
+ cfg: ConfigOf<
266
+ AV,
267
+ AppRockskyActorGetProfile.Handler<ExtractAuth<AV>>,
268
+ AppRockskyActorGetProfile.HandlerReqCtx<ExtractAuth<AV>>
269
+ >,
270
+ ) {
271
+ const nsid = 'app.rocksky.actor.getProfile' // @ts-ignore
272
+ return this._server.xrpc.method(nsid, cfg)
273
+ }
274
+ }
275
+
276
+ export class AppRockskyAlbumNS {
277
+ _server: Server
278
+
279
+ constructor(server: Server) {
280
+ this._server = server
281
+ }
282
+
283
+ getAlbum<AV extends AuthVerifier>(
284
+ cfg: ConfigOf<
285
+ AV,
286
+ AppRockskyAlbumGetAlbum.Handler<ExtractAuth<AV>>,
287
+ AppRockskyAlbumGetAlbum.HandlerReqCtx<ExtractAuth<AV>>
288
+ >,
289
+ ) {
290
+ const nsid = 'app.rocksky.album.getAlbum' // @ts-ignore
291
+ return this._server.xrpc.method(nsid, cfg)
292
+ }
293
+
294
+ getAlbums<AV extends AuthVerifier>(
295
+ cfg: ConfigOf<
296
+ AV,
297
+ AppRockskyAlbumGetAlbums.Handler<ExtractAuth<AV>>,
298
+ AppRockskyAlbumGetAlbums.HandlerReqCtx<ExtractAuth<AV>>
299
+ >,
300
+ ) {
301
+ const nsid = 'app.rocksky.album.getAlbums' // @ts-ignore
302
+ return this._server.xrpc.method(nsid, cfg)
303
+ }
304
+
305
+ getAlbumTracks<AV extends AuthVerifier>(
306
+ cfg: ConfigOf<
307
+ AV,
308
+ AppRockskyAlbumGetAlbumTracks.Handler<ExtractAuth<AV>>,
309
+ AppRockskyAlbumGetAlbumTracks.HandlerReqCtx<ExtractAuth<AV>>
310
+ >,
311
+ ) {
312
+ const nsid = 'app.rocksky.album.getAlbumTracks' // @ts-ignore
313
+ return this._server.xrpc.method(nsid, cfg)
314
+ }
315
+ }
316
+
317
+ export class AppRockskyApikeyNS {
318
+ _server: Server
319
+
320
+ constructor(server: Server) {
321
+ this._server = server
322
+ }
323
+
324
+ createApikey<AV extends AuthVerifier>(
325
+ cfg: ConfigOf<
326
+ AV,
327
+ AppRockskyApikeyCreateApikey.Handler<ExtractAuth<AV>>,
328
+ AppRockskyApikeyCreateApikey.HandlerReqCtx<ExtractAuth<AV>>
329
+ >,
330
+ ) {
331
+ const nsid = 'app.rocksky.apikey.createApikey' // @ts-ignore
332
+ return this._server.xrpc.method(nsid, cfg)
333
+ }
334
+
335
+ getApikeys<AV extends AuthVerifier>(
336
+ cfg: ConfigOf<
337
+ AV,
338
+ AppRockskyApikeyGetApikeys.Handler<ExtractAuth<AV>>,
339
+ AppRockskyApikeyGetApikeys.HandlerReqCtx<ExtractAuth<AV>>
340
+ >,
341
+ ) {
342
+ const nsid = 'app.rocksky.apikey.getApikeys' // @ts-ignore
343
+ return this._server.xrpc.method(nsid, cfg)
344
+ }
345
+
346
+ removeApikey<AV extends AuthVerifier>(
347
+ cfg: ConfigOf<
348
+ AV,
349
+ AppRockskyApikeyRemoveApikey.Handler<ExtractAuth<AV>>,
350
+ AppRockskyApikeyRemoveApikey.HandlerReqCtx<ExtractAuth<AV>>
351
+ >,
352
+ ) {
353
+ const nsid = 'app.rocksky.apikey.removeApikey' // @ts-ignore
354
+ return this._server.xrpc.method(nsid, cfg)
355
+ }
356
+
357
+ updateApikey<AV extends AuthVerifier>(
358
+ cfg: ConfigOf<
359
+ AV,
360
+ AppRockskyApikeyUpdateApikey.Handler<ExtractAuth<AV>>,
361
+ AppRockskyApikeyUpdateApikey.HandlerReqCtx<ExtractAuth<AV>>
362
+ >,
363
+ ) {
364
+ const nsid = 'app.rocksky.apikey.updateApikey' // @ts-ignore
365
+ return this._server.xrpc.method(nsid, cfg)
366
+ }
367
+ }
368
+
369
+ export class AppRockskyArtistNS {
370
+ _server: Server
371
+
372
+ constructor(server: Server) {
373
+ this._server = server
374
+ }
375
+
376
+ getArtist<AV extends AuthVerifier>(
377
+ cfg: ConfigOf<
378
+ AV,
379
+ AppRockskyArtistGetArtist.Handler<ExtractAuth<AV>>,
380
+ AppRockskyArtistGetArtist.HandlerReqCtx<ExtractAuth<AV>>
381
+ >,
382
+ ) {
383
+ const nsid = 'app.rocksky.artist.getArtist' // @ts-ignore
384
+ return this._server.xrpc.method(nsid, cfg)
385
+ }
386
+
387
+ getArtistAlbums<AV extends AuthVerifier>(
388
+ cfg: ConfigOf<
389
+ AV,
390
+ AppRockskyArtistGetArtistAlbums.Handler<ExtractAuth<AV>>,
391
+ AppRockskyArtistGetArtistAlbums.HandlerReqCtx<ExtractAuth<AV>>
392
+ >,
393
+ ) {
394
+ const nsid = 'app.rocksky.artist.getArtistAlbums' // @ts-ignore
395
+ return this._server.xrpc.method(nsid, cfg)
396
+ }
397
+
398
+ getArtistListeners<AV extends AuthVerifier>(
399
+ cfg: ConfigOf<
400
+ AV,
401
+ AppRockskyArtistGetArtistListeners.Handler<ExtractAuth<AV>>,
402
+ AppRockskyArtistGetArtistListeners.HandlerReqCtx<ExtractAuth<AV>>
403
+ >,
404
+ ) {
405
+ const nsid = 'app.rocksky.artist.getArtistListeners' // @ts-ignore
406
+ return this._server.xrpc.method(nsid, cfg)
407
+ }
408
+
409
+ getArtists<AV extends AuthVerifier>(
410
+ cfg: ConfigOf<
411
+ AV,
412
+ AppRockskyArtistGetArtists.Handler<ExtractAuth<AV>>,
413
+ AppRockskyArtistGetArtists.HandlerReqCtx<ExtractAuth<AV>>
414
+ >,
415
+ ) {
416
+ const nsid = 'app.rocksky.artist.getArtists' // @ts-ignore
417
+ return this._server.xrpc.method(nsid, cfg)
418
+ }
419
+
420
+ getArtistTracks<AV extends AuthVerifier>(
421
+ cfg: ConfigOf<
422
+ AV,
423
+ AppRockskyArtistGetArtistTracks.Handler<ExtractAuth<AV>>,
424
+ AppRockskyArtistGetArtistTracks.HandlerReqCtx<ExtractAuth<AV>>
425
+ >,
426
+ ) {
427
+ const nsid = 'app.rocksky.artist.getArtistTracks' // @ts-ignore
428
+ return this._server.xrpc.method(nsid, cfg)
429
+ }
430
+ }
431
+
432
+ export class AppRockskyChartsNS {
433
+ _server: Server
434
+
435
+ constructor(server: Server) {
436
+ this._server = server
437
+ }
438
+
439
+ getScrobblesChart<AV extends AuthVerifier>(
440
+ cfg: ConfigOf<
441
+ AV,
442
+ AppRockskyChartsGetScrobblesChart.Handler<ExtractAuth<AV>>,
443
+ AppRockskyChartsGetScrobblesChart.HandlerReqCtx<ExtractAuth<AV>>
444
+ >,
445
+ ) {
446
+ const nsid = 'app.rocksky.charts.getScrobblesChart' // @ts-ignore
447
+ return this._server.xrpc.method(nsid, cfg)
448
+ }
449
+ }
450
+
451
+ export class AppRockskyDropboxNS {
452
+ _server: Server
453
+
454
+ constructor(server: Server) {
455
+ this._server = server
456
+ }
457
+
458
+ downloadFile<AV extends AuthVerifier>(
459
+ cfg: ConfigOf<
460
+ AV,
461
+ AppRockskyDropboxDownloadFile.Handler<ExtractAuth<AV>>,
462
+ AppRockskyDropboxDownloadFile.HandlerReqCtx<ExtractAuth<AV>>
463
+ >,
464
+ ) {
465
+ const nsid = 'app.rocksky.dropbox.downloadFile' // @ts-ignore
466
+ return this._server.xrpc.method(nsid, cfg)
467
+ }
468
+
469
+ getFiles<AV extends AuthVerifier>(
470
+ cfg: ConfigOf<
471
+ AV,
472
+ AppRockskyDropboxGetFiles.Handler<ExtractAuth<AV>>,
473
+ AppRockskyDropboxGetFiles.HandlerReqCtx<ExtractAuth<AV>>
474
+ >,
475
+ ) {
476
+ const nsid = 'app.rocksky.dropbox.getFiles' // @ts-ignore
477
+ return this._server.xrpc.method(nsid, cfg)
478
+ }
479
+
480
+ getMetadata<AV extends AuthVerifier>(
481
+ cfg: ConfigOf<
482
+ AV,
483
+ AppRockskyDropboxGetMetadata.Handler<ExtractAuth<AV>>,
484
+ AppRockskyDropboxGetMetadata.HandlerReqCtx<ExtractAuth<AV>>
485
+ >,
486
+ ) {
487
+ const nsid = 'app.rocksky.dropbox.getMetadata' // @ts-ignore
488
+ return this._server.xrpc.method(nsid, cfg)
489
+ }
490
+
491
+ getTemporaryLink<AV extends AuthVerifier>(
492
+ cfg: ConfigOf<
493
+ AV,
494
+ AppRockskyDropboxGetTemporaryLink.Handler<ExtractAuth<AV>>,
495
+ AppRockskyDropboxGetTemporaryLink.HandlerReqCtx<ExtractAuth<AV>>
496
+ >,
497
+ ) {
498
+ const nsid = 'app.rocksky.dropbox.getTemporaryLink' // @ts-ignore
499
+ return this._server.xrpc.method(nsid, cfg)
500
+ }
501
+ }
502
+
503
+ export class AppRockskyFeedNS {
504
+ _server: Server
505
+
506
+ constructor(server: Server) {
507
+ this._server = server
508
+ }
509
+
510
+ describeFeedGenerator<AV extends AuthVerifier>(
511
+ cfg: ConfigOf<
512
+ AV,
513
+ AppRockskyFeedDescribeFeedGenerator.Handler<ExtractAuth<AV>>,
514
+ AppRockskyFeedDescribeFeedGenerator.HandlerReqCtx<ExtractAuth<AV>>
515
+ >,
516
+ ) {
517
+ const nsid = 'app.rocksky.feed.describeFeedGenerator' // @ts-ignore
518
+ return this._server.xrpc.method(nsid, cfg)
519
+ }
520
+
521
+ getFeed<AV extends AuthVerifier>(
522
+ cfg: ConfigOf<
523
+ AV,
524
+ AppRockskyFeedGetFeed.Handler<ExtractAuth<AV>>,
525
+ AppRockskyFeedGetFeed.HandlerReqCtx<ExtractAuth<AV>>
526
+ >,
527
+ ) {
528
+ const nsid = 'app.rocksky.feed.getFeed' // @ts-ignore
529
+ return this._server.xrpc.method(nsid, cfg)
530
+ }
531
+
532
+ getFeedGenerator<AV extends AuthVerifier>(
533
+ cfg: ConfigOf<
534
+ AV,
535
+ AppRockskyFeedGetFeedGenerator.Handler<ExtractAuth<AV>>,
536
+ AppRockskyFeedGetFeedGenerator.HandlerReqCtx<ExtractAuth<AV>>
537
+ >,
538
+ ) {
539
+ const nsid = 'app.rocksky.feed.getFeedGenerator' // @ts-ignore
540
+ return this._server.xrpc.method(nsid, cfg)
541
+ }
542
+
543
+ getFeedGenerators<AV extends AuthVerifier>(
544
+ cfg: ConfigOf<
545
+ AV,
546
+ AppRockskyFeedGetFeedGenerators.Handler<ExtractAuth<AV>>,
547
+ AppRockskyFeedGetFeedGenerators.HandlerReqCtx<ExtractAuth<AV>>
548
+ >,
549
+ ) {
550
+ const nsid = 'app.rocksky.feed.getFeedGenerators' // @ts-ignore
551
+ return this._server.xrpc.method(nsid, cfg)
552
+ }
553
+
554
+ getFeedSkeleton<AV extends AuthVerifier>(
555
+ cfg: ConfigOf<
556
+ AV,
557
+ AppRockskyFeedGetFeedSkeleton.Handler<ExtractAuth<AV>>,
558
+ AppRockskyFeedGetFeedSkeleton.HandlerReqCtx<ExtractAuth<AV>>
559
+ >,
560
+ ) {
561
+ const nsid = 'app.rocksky.feed.getFeedSkeleton' // @ts-ignore
562
+ return this._server.xrpc.method(nsid, cfg)
563
+ }
564
+
565
+ getNowPlayings<AV extends AuthVerifier>(
566
+ cfg: ConfigOf<
567
+ AV,
568
+ AppRockskyFeedGetNowPlayings.Handler<ExtractAuth<AV>>,
569
+ AppRockskyFeedGetNowPlayings.HandlerReqCtx<ExtractAuth<AV>>
570
+ >,
571
+ ) {
572
+ const nsid = 'app.rocksky.feed.getNowPlayings' // @ts-ignore
573
+ return this._server.xrpc.method(nsid, cfg)
574
+ }
575
+
576
+ search<AV extends AuthVerifier>(
577
+ cfg: ConfigOf<
578
+ AV,
579
+ AppRockskyFeedSearch.Handler<ExtractAuth<AV>>,
580
+ AppRockskyFeedSearch.HandlerReqCtx<ExtractAuth<AV>>
581
+ >,
582
+ ) {
583
+ const nsid = 'app.rocksky.feed.search' // @ts-ignore
584
+ return this._server.xrpc.method(nsid, cfg)
585
+ }
586
+ }
587
+
588
+ export class AppRockskyGoogledriveNS {
589
+ _server: Server
590
+
591
+ constructor(server: Server) {
592
+ this._server = server
593
+ }
594
+
595
+ downloadFile<AV extends AuthVerifier>(
596
+ cfg: ConfigOf<
597
+ AV,
598
+ AppRockskyGoogledriveDownloadFile.Handler<ExtractAuth<AV>>,
599
+ AppRockskyGoogledriveDownloadFile.HandlerReqCtx<ExtractAuth<AV>>
600
+ >,
601
+ ) {
602
+ const nsid = 'app.rocksky.googledrive.downloadFile' // @ts-ignore
603
+ return this._server.xrpc.method(nsid, cfg)
604
+ }
605
+
606
+ getFile<AV extends AuthVerifier>(
607
+ cfg: ConfigOf<
608
+ AV,
609
+ AppRockskyGoogledriveGetFile.Handler<ExtractAuth<AV>>,
610
+ AppRockskyGoogledriveGetFile.HandlerReqCtx<ExtractAuth<AV>>
611
+ >,
612
+ ) {
613
+ const nsid = 'app.rocksky.googledrive.getFile' // @ts-ignore
614
+ return this._server.xrpc.method(nsid, cfg)
615
+ }
616
+
617
+ getFiles<AV extends AuthVerifier>(
618
+ cfg: ConfigOf<
619
+ AV,
620
+ AppRockskyGoogledriveGetFiles.Handler<ExtractAuth<AV>>,
621
+ AppRockskyGoogledriveGetFiles.HandlerReqCtx<ExtractAuth<AV>>
622
+ >,
623
+ ) {
624
+ const nsid = 'app.rocksky.googledrive.getFiles' // @ts-ignore
625
+ return this._server.xrpc.method(nsid, cfg)
626
+ }
627
+ }
628
+
629
+ export class AppRockskyGraphNS {
630
+ _server: Server
631
+
632
+ constructor(server: Server) {
633
+ this._server = server
634
+ }
635
+
636
+ followAccount<AV extends AuthVerifier>(
637
+ cfg: ConfigOf<
638
+ AV,
639
+ AppRockskyGraphFollowAccount.Handler<ExtractAuth<AV>>,
640
+ AppRockskyGraphFollowAccount.HandlerReqCtx<ExtractAuth<AV>>
641
+ >,
642
+ ) {
643
+ const nsid = 'app.rocksky.graph.followAccount' // @ts-ignore
644
+ return this._server.xrpc.method(nsid, cfg)
645
+ }
646
+
647
+ getFollowers<AV extends AuthVerifier>(
648
+ cfg: ConfigOf<
649
+ AV,
650
+ AppRockskyGraphGetFollowers.Handler<ExtractAuth<AV>>,
651
+ AppRockskyGraphGetFollowers.HandlerReqCtx<ExtractAuth<AV>>
652
+ >,
653
+ ) {
654
+ const nsid = 'app.rocksky.graph.getFollowers' // @ts-ignore
655
+ return this._server.xrpc.method(nsid, cfg)
656
+ }
657
+
658
+ getFollows<AV extends AuthVerifier>(
659
+ cfg: ConfigOf<
660
+ AV,
661
+ AppRockskyGraphGetFollows.Handler<ExtractAuth<AV>>,
662
+ AppRockskyGraphGetFollows.HandlerReqCtx<ExtractAuth<AV>>
663
+ >,
664
+ ) {
665
+ const nsid = 'app.rocksky.graph.getFollows' // @ts-ignore
666
+ return this._server.xrpc.method(nsid, cfg)
667
+ }
668
+
669
+ getKnownFollowers<AV extends AuthVerifier>(
670
+ cfg: ConfigOf<
671
+ AV,
672
+ AppRockskyGraphGetKnownFollowers.Handler<ExtractAuth<AV>>,
673
+ AppRockskyGraphGetKnownFollowers.HandlerReqCtx<ExtractAuth<AV>>
674
+ >,
675
+ ) {
676
+ const nsid = 'app.rocksky.graph.getKnownFollowers' // @ts-ignore
677
+ return this._server.xrpc.method(nsid, cfg)
678
+ }
679
+
680
+ unfollowAccount<AV extends AuthVerifier>(
681
+ cfg: ConfigOf<
682
+ AV,
683
+ AppRockskyGraphUnfollowAccount.Handler<ExtractAuth<AV>>,
684
+ AppRockskyGraphUnfollowAccount.HandlerReqCtx<ExtractAuth<AV>>
685
+ >,
686
+ ) {
687
+ const nsid = 'app.rocksky.graph.unfollowAccount' // @ts-ignore
688
+ return this._server.xrpc.method(nsid, cfg)
689
+ }
690
+ }
691
+
692
+ export class AppRockskyLikeNS {
693
+ _server: Server
694
+
695
+ constructor(server: Server) {
696
+ this._server = server
697
+ }
698
+
699
+ dislikeShout<AV extends AuthVerifier>(
700
+ cfg: ConfigOf<
701
+ AV,
702
+ AppRockskyLikeDislikeShout.Handler<ExtractAuth<AV>>,
703
+ AppRockskyLikeDislikeShout.HandlerReqCtx<ExtractAuth<AV>>
704
+ >,
705
+ ) {
706
+ const nsid = 'app.rocksky.like.dislikeShout' // @ts-ignore
707
+ return this._server.xrpc.method(nsid, cfg)
708
+ }
709
+
710
+ dislikeSong<AV extends AuthVerifier>(
711
+ cfg: ConfigOf<
712
+ AV,
713
+ AppRockskyLikeDislikeSong.Handler<ExtractAuth<AV>>,
714
+ AppRockskyLikeDislikeSong.HandlerReqCtx<ExtractAuth<AV>>
715
+ >,
716
+ ) {
717
+ const nsid = 'app.rocksky.like.dislikeSong' // @ts-ignore
718
+ return this._server.xrpc.method(nsid, cfg)
719
+ }
720
+
721
+ likeShout<AV extends AuthVerifier>(
722
+ cfg: ConfigOf<
723
+ AV,
724
+ AppRockskyLikeLikeShout.Handler<ExtractAuth<AV>>,
725
+ AppRockskyLikeLikeShout.HandlerReqCtx<ExtractAuth<AV>>
726
+ >,
727
+ ) {
728
+ const nsid = 'app.rocksky.like.likeShout' // @ts-ignore
729
+ return this._server.xrpc.method(nsid, cfg)
730
+ }
731
+
732
+ likeSong<AV extends AuthVerifier>(
733
+ cfg: ConfigOf<
734
+ AV,
735
+ AppRockskyLikeLikeSong.Handler<ExtractAuth<AV>>,
736
+ AppRockskyLikeLikeSong.HandlerReqCtx<ExtractAuth<AV>>
737
+ >,
738
+ ) {
739
+ const nsid = 'app.rocksky.like.likeSong' // @ts-ignore
740
+ return this._server.xrpc.method(nsid, cfg)
741
+ }
742
+ }
743
+
744
+ export class AppRockskyPlayerNS {
745
+ _server: Server
746
+
747
+ constructor(server: Server) {
748
+ this._server = server
749
+ }
750
+
751
+ addDirectoryToQueue<AV extends AuthVerifier>(
752
+ cfg: ConfigOf<
753
+ AV,
754
+ AppRockskyPlayerAddDirectoryToQueue.Handler<ExtractAuth<AV>>,
755
+ AppRockskyPlayerAddDirectoryToQueue.HandlerReqCtx<ExtractAuth<AV>>
756
+ >,
757
+ ) {
758
+ const nsid = 'app.rocksky.player.addDirectoryToQueue' // @ts-ignore
759
+ return this._server.xrpc.method(nsid, cfg)
760
+ }
761
+
762
+ addItemsToQueue<AV extends AuthVerifier>(
763
+ cfg: ConfigOf<
764
+ AV,
765
+ AppRockskyPlayerAddItemsToQueue.Handler<ExtractAuth<AV>>,
766
+ AppRockskyPlayerAddItemsToQueue.HandlerReqCtx<ExtractAuth<AV>>
767
+ >,
768
+ ) {
769
+ const nsid = 'app.rocksky.player.addItemsToQueue' // @ts-ignore
770
+ return this._server.xrpc.method(nsid, cfg)
771
+ }
772
+
773
+ getCurrentlyPlaying<AV extends AuthVerifier>(
774
+ cfg: ConfigOf<
775
+ AV,
776
+ AppRockskyPlayerGetCurrentlyPlaying.Handler<ExtractAuth<AV>>,
777
+ AppRockskyPlayerGetCurrentlyPlaying.HandlerReqCtx<ExtractAuth<AV>>
778
+ >,
779
+ ) {
780
+ const nsid = 'app.rocksky.player.getCurrentlyPlaying' // @ts-ignore
781
+ return this._server.xrpc.method(nsid, cfg)
782
+ }
783
+
784
+ getPlaybackQueue<AV extends AuthVerifier>(
785
+ cfg: ConfigOf<
786
+ AV,
787
+ AppRockskyPlayerGetPlaybackQueue.Handler<ExtractAuth<AV>>,
788
+ AppRockskyPlayerGetPlaybackQueue.HandlerReqCtx<ExtractAuth<AV>>
789
+ >,
790
+ ) {
791
+ const nsid = 'app.rocksky.player.getPlaybackQueue' // @ts-ignore
792
+ return this._server.xrpc.method(nsid, cfg)
793
+ }
794
+
795
+ next<AV extends AuthVerifier>(
796
+ cfg: ConfigOf<
797
+ AV,
798
+ AppRockskyPlayerNext.Handler<ExtractAuth<AV>>,
799
+ AppRockskyPlayerNext.HandlerReqCtx<ExtractAuth<AV>>
800
+ >,
801
+ ) {
802
+ const nsid = 'app.rocksky.player.next' // @ts-ignore
803
+ return this._server.xrpc.method(nsid, cfg)
804
+ }
805
+
806
+ pause<AV extends AuthVerifier>(
807
+ cfg: ConfigOf<
808
+ AV,
809
+ AppRockskyPlayerPause.Handler<ExtractAuth<AV>>,
810
+ AppRockskyPlayerPause.HandlerReqCtx<ExtractAuth<AV>>
811
+ >,
812
+ ) {
813
+ const nsid = 'app.rocksky.player.pause' // @ts-ignore
814
+ return this._server.xrpc.method(nsid, cfg)
815
+ }
816
+
817
+ play<AV extends AuthVerifier>(
818
+ cfg: ConfigOf<
819
+ AV,
820
+ AppRockskyPlayerPlay.Handler<ExtractAuth<AV>>,
821
+ AppRockskyPlayerPlay.HandlerReqCtx<ExtractAuth<AV>>
822
+ >,
823
+ ) {
824
+ const nsid = 'app.rocksky.player.play' // @ts-ignore
825
+ return this._server.xrpc.method(nsid, cfg)
826
+ }
827
+
828
+ playDirectory<AV extends AuthVerifier>(
829
+ cfg: ConfigOf<
830
+ AV,
831
+ AppRockskyPlayerPlayDirectory.Handler<ExtractAuth<AV>>,
832
+ AppRockskyPlayerPlayDirectory.HandlerReqCtx<ExtractAuth<AV>>
833
+ >,
834
+ ) {
835
+ const nsid = 'app.rocksky.player.playDirectory' // @ts-ignore
836
+ return this._server.xrpc.method(nsid, cfg)
837
+ }
838
+
839
+ playFile<AV extends AuthVerifier>(
840
+ cfg: ConfigOf<
841
+ AV,
842
+ AppRockskyPlayerPlayFile.Handler<ExtractAuth<AV>>,
843
+ AppRockskyPlayerPlayFile.HandlerReqCtx<ExtractAuth<AV>>
844
+ >,
845
+ ) {
846
+ const nsid = 'app.rocksky.player.playFile' // @ts-ignore
847
+ return this._server.xrpc.method(nsid, cfg)
848
+ }
849
+
850
+ previous<AV extends AuthVerifier>(
851
+ cfg: ConfigOf<
852
+ AV,
853
+ AppRockskyPlayerPrevious.Handler<ExtractAuth<AV>>,
854
+ AppRockskyPlayerPrevious.HandlerReqCtx<ExtractAuth<AV>>
855
+ >,
856
+ ) {
857
+ const nsid = 'app.rocksky.player.previous' // @ts-ignore
858
+ return this._server.xrpc.method(nsid, cfg)
859
+ }
860
+
861
+ seek<AV extends AuthVerifier>(
862
+ cfg: ConfigOf<
863
+ AV,
864
+ AppRockskyPlayerSeek.Handler<ExtractAuth<AV>>,
865
+ AppRockskyPlayerSeek.HandlerReqCtx<ExtractAuth<AV>>
866
+ >,
867
+ ) {
868
+ const nsid = 'app.rocksky.player.seek' // @ts-ignore
869
+ return this._server.xrpc.method(nsid, cfg)
870
+ }
871
+ }
872
+
873
+ export class AppRockskyPlaylistNS {
874
+ _server: Server
875
+
876
+ constructor(server: Server) {
877
+ this._server = server
878
+ }
879
+
880
+ createPlaylist<AV extends AuthVerifier>(
881
+ cfg: ConfigOf<
882
+ AV,
883
+ AppRockskyPlaylistCreatePlaylist.Handler<ExtractAuth<AV>>,
884
+ AppRockskyPlaylistCreatePlaylist.HandlerReqCtx<ExtractAuth<AV>>
885
+ >,
886
+ ) {
887
+ const nsid = 'app.rocksky.playlist.createPlaylist' // @ts-ignore
888
+ return this._server.xrpc.method(nsid, cfg)
889
+ }
890
+
891
+ getPlaylist<AV extends AuthVerifier>(
892
+ cfg: ConfigOf<
893
+ AV,
894
+ AppRockskyPlaylistGetPlaylist.Handler<ExtractAuth<AV>>,
895
+ AppRockskyPlaylistGetPlaylist.HandlerReqCtx<ExtractAuth<AV>>
896
+ >,
897
+ ) {
898
+ const nsid = 'app.rocksky.playlist.getPlaylist' // @ts-ignore
899
+ return this._server.xrpc.method(nsid, cfg)
900
+ }
901
+
902
+ getPlaylists<AV extends AuthVerifier>(
903
+ cfg: ConfigOf<
904
+ AV,
905
+ AppRockskyPlaylistGetPlaylists.Handler<ExtractAuth<AV>>,
906
+ AppRockskyPlaylistGetPlaylists.HandlerReqCtx<ExtractAuth<AV>>
907
+ >,
908
+ ) {
909
+ const nsid = 'app.rocksky.playlist.getPlaylists' // @ts-ignore
910
+ return this._server.xrpc.method(nsid, cfg)
911
+ }
912
+
913
+ insertDirectory<AV extends AuthVerifier>(
914
+ cfg: ConfigOf<
915
+ AV,
916
+ AppRockskyPlaylistInsertDirectory.Handler<ExtractAuth<AV>>,
917
+ AppRockskyPlaylistInsertDirectory.HandlerReqCtx<ExtractAuth<AV>>
918
+ >,
919
+ ) {
920
+ const nsid = 'app.rocksky.playlist.insertDirectory' // @ts-ignore
921
+ return this._server.xrpc.method(nsid, cfg)
922
+ }
923
+
924
+ insertFiles<AV extends AuthVerifier>(
925
+ cfg: ConfigOf<
926
+ AV,
927
+ AppRockskyPlaylistInsertFiles.Handler<ExtractAuth<AV>>,
928
+ AppRockskyPlaylistInsertFiles.HandlerReqCtx<ExtractAuth<AV>>
929
+ >,
930
+ ) {
931
+ const nsid = 'app.rocksky.playlist.insertFiles' // @ts-ignore
932
+ return this._server.xrpc.method(nsid, cfg)
933
+ }
934
+
935
+ removePlaylist<AV extends AuthVerifier>(
936
+ cfg: ConfigOf<
937
+ AV,
938
+ AppRockskyPlaylistRemovePlaylist.Handler<ExtractAuth<AV>>,
939
+ AppRockskyPlaylistRemovePlaylist.HandlerReqCtx<ExtractAuth<AV>>
940
+ >,
941
+ ) {
942
+ const nsid = 'app.rocksky.playlist.removePlaylist' // @ts-ignore
943
+ return this._server.xrpc.method(nsid, cfg)
944
+ }
945
+
946
+ removeTrack<AV extends AuthVerifier>(
947
+ cfg: ConfigOf<
948
+ AV,
949
+ AppRockskyPlaylistRemoveTrack.Handler<ExtractAuth<AV>>,
950
+ AppRockskyPlaylistRemoveTrack.HandlerReqCtx<ExtractAuth<AV>>
951
+ >,
952
+ ) {
953
+ const nsid = 'app.rocksky.playlist.removeTrack' // @ts-ignore
954
+ return this._server.xrpc.method(nsid, cfg)
955
+ }
956
+
957
+ startPlaylist<AV extends AuthVerifier>(
958
+ cfg: ConfigOf<
959
+ AV,
960
+ AppRockskyPlaylistStartPlaylist.Handler<ExtractAuth<AV>>,
961
+ AppRockskyPlaylistStartPlaylist.HandlerReqCtx<ExtractAuth<AV>>
962
+ >,
963
+ ) {
964
+ const nsid = 'app.rocksky.playlist.startPlaylist' // @ts-ignore
965
+ return this._server.xrpc.method(nsid, cfg)
966
+ }
967
+ }
968
+
969
+ export class AppRockskyScrobbleNS {
970
+ _server: Server
971
+
972
+ constructor(server: Server) {
973
+ this._server = server
974
+ }
975
+
976
+ createScrobble<AV extends AuthVerifier>(
977
+ cfg: ConfigOf<
978
+ AV,
979
+ AppRockskyScrobbleCreateScrobble.Handler<ExtractAuth<AV>>,
980
+ AppRockskyScrobbleCreateScrobble.HandlerReqCtx<ExtractAuth<AV>>
981
+ >,
982
+ ) {
983
+ const nsid = 'app.rocksky.scrobble.createScrobble' // @ts-ignore
984
+ return this._server.xrpc.method(nsid, cfg)
985
+ }
986
+
987
+ getScrobble<AV extends AuthVerifier>(
988
+ cfg: ConfigOf<
989
+ AV,
990
+ AppRockskyScrobbleGetScrobble.Handler<ExtractAuth<AV>>,
991
+ AppRockskyScrobbleGetScrobble.HandlerReqCtx<ExtractAuth<AV>>
992
+ >,
993
+ ) {
994
+ const nsid = 'app.rocksky.scrobble.getScrobble' // @ts-ignore
995
+ return this._server.xrpc.method(nsid, cfg)
996
+ }
997
+
998
+ getScrobbles<AV extends AuthVerifier>(
999
+ cfg: ConfigOf<
1000
+ AV,
1001
+ AppRockskyScrobbleGetScrobbles.Handler<ExtractAuth<AV>>,
1002
+ AppRockskyScrobbleGetScrobbles.HandlerReqCtx<ExtractAuth<AV>>
1003
+ >,
1004
+ ) {
1005
+ const nsid = 'app.rocksky.scrobble.getScrobbles' // @ts-ignore
1006
+ return this._server.xrpc.method(nsid, cfg)
1007
+ }
1008
+ }
1009
+
1010
+ export class AppRockskyShoutNS {
1011
+ _server: Server
1012
+
1013
+ constructor(server: Server) {
1014
+ this._server = server
1015
+ }
1016
+
1017
+ createShout<AV extends AuthVerifier>(
1018
+ cfg: ConfigOf<
1019
+ AV,
1020
+ AppRockskyShoutCreateShout.Handler<ExtractAuth<AV>>,
1021
+ AppRockskyShoutCreateShout.HandlerReqCtx<ExtractAuth<AV>>
1022
+ >,
1023
+ ) {
1024
+ const nsid = 'app.rocksky.shout.createShout' // @ts-ignore
1025
+ return this._server.xrpc.method(nsid, cfg)
1026
+ }
1027
+
1028
+ getAlbumShouts<AV extends AuthVerifier>(
1029
+ cfg: ConfigOf<
1030
+ AV,
1031
+ AppRockskyShoutGetAlbumShouts.Handler<ExtractAuth<AV>>,
1032
+ AppRockskyShoutGetAlbumShouts.HandlerReqCtx<ExtractAuth<AV>>
1033
+ >,
1034
+ ) {
1035
+ const nsid = 'app.rocksky.shout.getAlbumShouts' // @ts-ignore
1036
+ return this._server.xrpc.method(nsid, cfg)
1037
+ }
1038
+
1039
+ getArtistShouts<AV extends AuthVerifier>(
1040
+ cfg: ConfigOf<
1041
+ AV,
1042
+ AppRockskyShoutGetArtistShouts.Handler<ExtractAuth<AV>>,
1043
+ AppRockskyShoutGetArtistShouts.HandlerReqCtx<ExtractAuth<AV>>
1044
+ >,
1045
+ ) {
1046
+ const nsid = 'app.rocksky.shout.getArtistShouts' // @ts-ignore
1047
+ return this._server.xrpc.method(nsid, cfg)
1048
+ }
1049
+
1050
+ getProfileShouts<AV extends AuthVerifier>(
1051
+ cfg: ConfigOf<
1052
+ AV,
1053
+ AppRockskyShoutGetProfileShouts.Handler<ExtractAuth<AV>>,
1054
+ AppRockskyShoutGetProfileShouts.HandlerReqCtx<ExtractAuth<AV>>
1055
+ >,
1056
+ ) {
1057
+ const nsid = 'app.rocksky.shout.getProfileShouts' // @ts-ignore
1058
+ return this._server.xrpc.method(nsid, cfg)
1059
+ }
1060
+
1061
+ getShoutReplies<AV extends AuthVerifier>(
1062
+ cfg: ConfigOf<
1063
+ AV,
1064
+ AppRockskyShoutGetShoutReplies.Handler<ExtractAuth<AV>>,
1065
+ AppRockskyShoutGetShoutReplies.HandlerReqCtx<ExtractAuth<AV>>
1066
+ >,
1067
+ ) {
1068
+ const nsid = 'app.rocksky.shout.getShoutReplies' // @ts-ignore
1069
+ return this._server.xrpc.method(nsid, cfg)
1070
+ }
1071
+
1072
+ getTrackShouts<AV extends AuthVerifier>(
1073
+ cfg: ConfigOf<
1074
+ AV,
1075
+ AppRockskyShoutGetTrackShouts.Handler<ExtractAuth<AV>>,
1076
+ AppRockskyShoutGetTrackShouts.HandlerReqCtx<ExtractAuth<AV>>
1077
+ >,
1078
+ ) {
1079
+ const nsid = 'app.rocksky.shout.getTrackShouts' // @ts-ignore
1080
+ return this._server.xrpc.method(nsid, cfg)
1081
+ }
1082
+
1083
+ removeShout<AV extends AuthVerifier>(
1084
+ cfg: ConfigOf<
1085
+ AV,
1086
+ AppRockskyShoutRemoveShout.Handler<ExtractAuth<AV>>,
1087
+ AppRockskyShoutRemoveShout.HandlerReqCtx<ExtractAuth<AV>>
1088
+ >,
1089
+ ) {
1090
+ const nsid = 'app.rocksky.shout.removeShout' // @ts-ignore
1091
+ return this._server.xrpc.method(nsid, cfg)
1092
+ }
1093
+
1094
+ replyShout<AV extends AuthVerifier>(
1095
+ cfg: ConfigOf<
1096
+ AV,
1097
+ AppRockskyShoutReplyShout.Handler<ExtractAuth<AV>>,
1098
+ AppRockskyShoutReplyShout.HandlerReqCtx<ExtractAuth<AV>>
1099
+ >,
1100
+ ) {
1101
+ const nsid = 'app.rocksky.shout.replyShout' // @ts-ignore
1102
+ return this._server.xrpc.method(nsid, cfg)
1103
+ }
1104
+
1105
+ reportShout<AV extends AuthVerifier>(
1106
+ cfg: ConfigOf<
1107
+ AV,
1108
+ AppRockskyShoutReportShout.Handler<ExtractAuth<AV>>,
1109
+ AppRockskyShoutReportShout.HandlerReqCtx<ExtractAuth<AV>>
1110
+ >,
1111
+ ) {
1112
+ const nsid = 'app.rocksky.shout.reportShout' // @ts-ignore
1113
+ return this._server.xrpc.method(nsid, cfg)
1114
+ }
1115
+ }
1116
+
1117
+ export class AppRockskySongNS {
1118
+ _server: Server
1119
+
1120
+ constructor(server: Server) {
1121
+ this._server = server
1122
+ }
1123
+
1124
+ createSong<AV extends AuthVerifier>(
1125
+ cfg: ConfigOf<
1126
+ AV,
1127
+ AppRockskySongCreateSong.Handler<ExtractAuth<AV>>,
1128
+ AppRockskySongCreateSong.HandlerReqCtx<ExtractAuth<AV>>
1129
+ >,
1130
+ ) {
1131
+ const nsid = 'app.rocksky.song.createSong' // @ts-ignore
1132
+ return this._server.xrpc.method(nsid, cfg)
1133
+ }
1134
+
1135
+ getSong<AV extends AuthVerifier>(
1136
+ cfg: ConfigOf<
1137
+ AV,
1138
+ AppRockskySongGetSong.Handler<ExtractAuth<AV>>,
1139
+ AppRockskySongGetSong.HandlerReqCtx<ExtractAuth<AV>>
1140
+ >,
1141
+ ) {
1142
+ const nsid = 'app.rocksky.song.getSong' // @ts-ignore
1143
+ return this._server.xrpc.method(nsid, cfg)
1144
+ }
1145
+
1146
+ getSongs<AV extends AuthVerifier>(
1147
+ cfg: ConfigOf<
1148
+ AV,
1149
+ AppRockskySongGetSongs.Handler<ExtractAuth<AV>>,
1150
+ AppRockskySongGetSongs.HandlerReqCtx<ExtractAuth<AV>>
1151
+ >,
1152
+ ) {
1153
+ const nsid = 'app.rocksky.song.getSongs' // @ts-ignore
1154
+ return this._server.xrpc.method(nsid, cfg)
1155
+ }
1156
+ }
1157
+
1158
+ export class AppRockskySpotifyNS {
1159
+ _server: Server
1160
+
1161
+ constructor(server: Server) {
1162
+ this._server = server
1163
+ }
1164
+
1165
+ getCurrentlyPlaying<AV extends AuthVerifier>(
1166
+ cfg: ConfigOf<
1167
+ AV,
1168
+ AppRockskySpotifyGetCurrentlyPlaying.Handler<ExtractAuth<AV>>,
1169
+ AppRockskySpotifyGetCurrentlyPlaying.HandlerReqCtx<ExtractAuth<AV>>
1170
+ >,
1171
+ ) {
1172
+ const nsid = 'app.rocksky.spotify.getCurrentlyPlaying' // @ts-ignore
1173
+ return this._server.xrpc.method(nsid, cfg)
1174
+ }
1175
+
1176
+ next<AV extends AuthVerifier>(
1177
+ cfg: ConfigOf<
1178
+ AV,
1179
+ AppRockskySpotifyNext.Handler<ExtractAuth<AV>>,
1180
+ AppRockskySpotifyNext.HandlerReqCtx<ExtractAuth<AV>>
1181
+ >,
1182
+ ) {
1183
+ const nsid = 'app.rocksky.spotify.next' // @ts-ignore
1184
+ return this._server.xrpc.method(nsid, cfg)
1185
+ }
1186
+
1187
+ pause<AV extends AuthVerifier>(
1188
+ cfg: ConfigOf<
1189
+ AV,
1190
+ AppRockskySpotifyPause.Handler<ExtractAuth<AV>>,
1191
+ AppRockskySpotifyPause.HandlerReqCtx<ExtractAuth<AV>>
1192
+ >,
1193
+ ) {
1194
+ const nsid = 'app.rocksky.spotify.pause' // @ts-ignore
1195
+ return this._server.xrpc.method(nsid, cfg)
1196
+ }
1197
+
1198
+ play<AV extends AuthVerifier>(
1199
+ cfg: ConfigOf<
1200
+ AV,
1201
+ AppRockskySpotifyPlay.Handler<ExtractAuth<AV>>,
1202
+ AppRockskySpotifyPlay.HandlerReqCtx<ExtractAuth<AV>>
1203
+ >,
1204
+ ) {
1205
+ const nsid = 'app.rocksky.spotify.play' // @ts-ignore
1206
+ return this._server.xrpc.method(nsid, cfg)
1207
+ }
1208
+
1209
+ previous<AV extends AuthVerifier>(
1210
+ cfg: ConfigOf<
1211
+ AV,
1212
+ AppRockskySpotifyPrevious.Handler<ExtractAuth<AV>>,
1213
+ AppRockskySpotifyPrevious.HandlerReqCtx<ExtractAuth<AV>>
1214
+ >,
1215
+ ) {
1216
+ const nsid = 'app.rocksky.spotify.previous' // @ts-ignore
1217
+ return this._server.xrpc.method(nsid, cfg)
1218
+ }
1219
+
1220
+ seek<AV extends AuthVerifier>(
1221
+ cfg: ConfigOf<
1222
+ AV,
1223
+ AppRockskySpotifySeek.Handler<ExtractAuth<AV>>,
1224
+ AppRockskySpotifySeek.HandlerReqCtx<ExtractAuth<AV>>
1225
+ >,
1226
+ ) {
1227
+ const nsid = 'app.rocksky.spotify.seek' // @ts-ignore
1228
+ return this._server.xrpc.method(nsid, cfg)
1229
+ }
1230
+ }
1231
+
1232
+ export class AppRockskyStatsNS {
1233
+ _server: Server
1234
+
1235
+ constructor(server: Server) {
1236
+ this._server = server
1237
+ }
1238
+
1239
+ getStats<AV extends AuthVerifier>(
1240
+ cfg: ConfigOf<
1241
+ AV,
1242
+ AppRockskyStatsGetStats.Handler<ExtractAuth<AV>>,
1243
+ AppRockskyStatsGetStats.HandlerReqCtx<ExtractAuth<AV>>
1244
+ >,
1245
+ ) {
1246
+ const nsid = 'app.rocksky.stats.getStats' // @ts-ignore
1247
+ return this._server.xrpc.method(nsid, cfg)
1248
+ }
1249
+ }
1250
+
1251
+ export class AppBskyNS {
1252
+ _server: Server
1253
+ actor: AppBskyActorNS
1254
+
1255
+ constructor(server: Server) {
1256
+ this._server = server
1257
+ this.actor = new AppBskyActorNS(server)
1258
+ }
1259
+ }
1260
+
1261
+ export class AppBskyActorNS {
1262
+ _server: Server
1263
+
1264
+ constructor(server: Server) {
1265
+ this._server = server
1266
+ }
1267
+ }
1268
+
1269
+ export class ComNS {
1270
+ _server: Server
1271
+ atproto: ComAtprotoNS
1272
+
1273
+ constructor(server: Server) {
1274
+ this._server = server
1275
+ this.atproto = new ComAtprotoNS(server)
1276
+ }
1277
+ }
1278
+
1279
+ export class ComAtprotoNS {
1280
+ _server: Server
1281
+ repo: ComAtprotoRepoNS
1282
+
1283
+ constructor(server: Server) {
1284
+ this._server = server
1285
+ this.repo = new ComAtprotoRepoNS(server)
1286
+ }
1287
+ }
1288
+
1289
+ export class ComAtprotoRepoNS {
1290
+ _server: Server
1291
+
1292
+ constructor(server: Server) {
1293
+ this._server = server
1294
+ }
1295
+ }
1296
+
1297
+ type SharedRateLimitOpts<T> = {
1298
+ name: string
1299
+ calcKey?: (ctx: T) => string | null
1300
+ calcPoints?: (ctx: T) => number
1301
+ }
1302
+ type RouteRateLimitOpts<T> = {
1303
+ durationMs: number
1304
+ points: number
1305
+ calcKey?: (ctx: T) => string | null
1306
+ calcPoints?: (ctx: T) => number
1307
+ }
1308
+ type HandlerOpts = { blobLimit?: number }
1309
+ type HandlerRateLimitOpts<T> = SharedRateLimitOpts<T> | RouteRateLimitOpts<T>
1310
+ type ConfigOf<Auth, Handler, ReqCtx> =
1311
+ | Handler
1312
+ | {
1313
+ auth?: Auth
1314
+ opts?: HandlerOpts
1315
+ rateLimit?: HandlerRateLimitOpts<ReqCtx> | HandlerRateLimitOpts<ReqCtx>[]
1316
+ handler: Handler
1317
+ }
1318
+ type ExtractAuth<AV extends AuthVerifier | StreamAuthVerifier> = Extract<
1319
+ Awaited<ReturnType<AV>>,
1320
+ { credentials: unknown }
1321
+ >