A decentralized music tracking and discovery platform built on AT Protocol 馃幍
at setup-tracing 1167 lines 36 kB view raw
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>