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