forked from
rocksky.app/rocksky
A decentralized music tracking and discovery platform built on AT Protocol 馃幍
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>