UNPKG

@fishjam-cloud/js-server-sdk

Version:
192 lines (189 loc) 8.02 kB
import { BinaryWriter, BinaryReader } from '@bufbuild/protobuf/wire'; /** Defines message groups for which client can subscribe */ declare enum ServerMessage_EventType { EVENT_TYPE_UNSPECIFIED = 0, EVENT_TYPE_SERVER_NOTIFICATION = 1, EVENT_TYPE_METRICS = 2, UNRECOGNIZED = -1 } /** Defines types of tracks being published by peers and component */ declare enum ServerMessage_TrackType { TRACK_TYPE_UNSPECIFIED = 0, TRACK_TYPE_VIDEO = 1, TRACK_TYPE_AUDIO = 2, UNRECOGNIZED = -1 } /** Defines any type of message passed between FJ and server client */ interface ServerMessage { roomCrashed?: ServerMessage_RoomCrashed | undefined; peerConnected?: ServerMessage_PeerConnected | undefined; peerDisconnected?: ServerMessage_PeerDisconnected | undefined; peerCrashed?: ServerMessage_PeerCrashed | undefined; componentCrashed?: ServerMessage_ComponentCrashed | undefined; authenticated?: ServerMessage_Authenticated | undefined; authRequest?: ServerMessage_AuthRequest | undefined; subscribeRequest?: ServerMessage_SubscribeRequest | undefined; subscribeResponse?: ServerMessage_SubscribeResponse | undefined; roomCreated?: ServerMessage_RoomCreated | undefined; roomDeleted?: ServerMessage_RoomDeleted | undefined; metricsReport?: ServerMessage_MetricsReport | undefined; hlsPlayable?: ServerMessage_HlsPlayable | undefined; hlsUploaded?: ServerMessage_HlsUploaded | undefined; hlsUploadCrashed?: ServerMessage_HlsUploadCrashed | undefined; peerMetadataUpdated?: ServerMessage_PeerMetadataUpdated | undefined; trackAdded?: ServerMessage_TrackAdded | undefined; trackRemoved?: ServerMessage_TrackRemoved | undefined; trackMetadataUpdated?: ServerMessage_TrackMetadataUpdated | undefined; peerAdded?: ServerMessage_PeerAdded | undefined; peerDeleted?: ServerMessage_PeerDeleted | undefined; } declare const ServerMessage: MessageFns<ServerMessage>; /** Notification sent when a room crashes */ interface ServerMessage_RoomCrashed { roomId: string; } declare const ServerMessage_RoomCrashed: MessageFns<ServerMessage_RoomCrashed>; /** Notification sent when a peer is added */ interface ServerMessage_PeerAdded { roomId: string; peerId: string; } declare const ServerMessage_PeerAdded: MessageFns<ServerMessage_PeerAdded>; /** Notification sent when a peer is removed */ interface ServerMessage_PeerDeleted { roomId: string; peerId: string; } declare const ServerMessage_PeerDeleted: MessageFns<ServerMessage_PeerDeleted>; /** Notification sent when a peer connects */ interface ServerMessage_PeerConnected { roomId: string; peerId: string; } declare const ServerMessage_PeerConnected: MessageFns<ServerMessage_PeerConnected>; /** Notification sent when a peer disconnects from FJ */ interface ServerMessage_PeerDisconnected { roomId: string; peerId: string; } declare const ServerMessage_PeerDisconnected: MessageFns<ServerMessage_PeerDisconnected>; /** Notification sent when a peer crashes */ interface ServerMessage_PeerCrashed { roomId: string; peerId: string; reason: string; } declare const ServerMessage_PeerCrashed: MessageFns<ServerMessage_PeerCrashed>; /** Notification sent when a component crashes */ interface ServerMessage_ComponentCrashed { roomId: string; componentId: string; } declare const ServerMessage_ComponentCrashed: MessageFns<ServerMessage_ComponentCrashed>; /** Response sent by FJ, confirming successfull authentication */ interface ServerMessage_Authenticated { } declare const ServerMessage_Authenticated: MessageFns<ServerMessage_Authenticated>; /** Request sent by client, to authenticate to FJ server */ interface ServerMessage_AuthRequest { token: string; } declare const ServerMessage_AuthRequest: MessageFns<ServerMessage_AuthRequest>; /** Request sent by client to subsribe for certain message type */ interface ServerMessage_SubscribeRequest { eventType: ServerMessage_EventType; } declare const ServerMessage_SubscribeRequest: MessageFns<ServerMessage_SubscribeRequest>; /** Response sent by FJ, confirming subscription for message type */ interface ServerMessage_SubscribeResponse { eventType: ServerMessage_EventType; } declare const ServerMessage_SubscribeResponse: MessageFns<ServerMessage_SubscribeResponse>; /** Notification sent when a room is created */ interface ServerMessage_RoomCreated { roomId: string; } declare const ServerMessage_RoomCreated: MessageFns<ServerMessage_RoomCreated>; /** Notification sent when a room is deleted */ interface ServerMessage_RoomDeleted { roomId: string; } declare const ServerMessage_RoomDeleted: MessageFns<ServerMessage_RoomDeleted>; /** Message containing WebRTC metrics from FJ */ interface ServerMessage_MetricsReport { metrics: string; } declare const ServerMessage_MetricsReport: MessageFns<ServerMessage_MetricsReport>; /** Notification sent when the HLS stream becomes available in a room */ interface ServerMessage_HlsPlayable { roomId: string; componentId: string; } declare const ServerMessage_HlsPlayable: MessageFns<ServerMessage_HlsPlayable>; /** Notification sent when the HLS recording is successfully uploded to AWS S3 */ interface ServerMessage_HlsUploaded { roomId: string; } declare const ServerMessage_HlsUploaded: MessageFns<ServerMessage_HlsUploaded>; /** Notification sent when the upload of HLS recording to AWS S3 fails */ interface ServerMessage_HlsUploadCrashed { roomId: string; } declare const ServerMessage_HlsUploadCrashed: MessageFns<ServerMessage_HlsUploadCrashed>; /** Notification sent when peer updates its metadata */ interface ServerMessage_PeerMetadataUpdated { roomId: string; peerId: string; metadata: string; } declare const ServerMessage_PeerMetadataUpdated: MessageFns<ServerMessage_PeerMetadataUpdated>; /** Describes a media track */ interface ServerMessage_Track { id: string; type: ServerMessage_TrackType; metadata: string; } declare const ServerMessage_Track: MessageFns<ServerMessage_Track>; /** Notification sent when peer or component adds new track */ interface ServerMessage_TrackAdded { roomId: string; peerId?: string | undefined; componentId?: string | undefined; track: ServerMessage_Track | undefined; } declare const ServerMessage_TrackAdded: MessageFns<ServerMessage_TrackAdded>; /** Notification sent when a track is removed */ interface ServerMessage_TrackRemoved { roomId: string; peerId?: string | undefined; componentId?: string | undefined; track: ServerMessage_Track | undefined; } declare const ServerMessage_TrackRemoved: MessageFns<ServerMessage_TrackRemoved>; /** Notification sent when metadata of a multimedia track is updated */ interface ServerMessage_TrackMetadataUpdated { roomId: string; peerId?: string | undefined; componentId?: string | undefined; track: ServerMessage_Track | undefined; } declare const ServerMessage_TrackMetadataUpdated: MessageFns<ServerMessage_TrackMetadataUpdated>; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]>; } : Partial<T>; type KeysOfUnion<T> = T extends T ? keyof T : never; type Exact<P, I extends P> = P extends Builtin ? P : P & { [K in keyof P]: Exact<P[K], I[K]>; } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never; }; interface MessageFns<T> { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create<I extends Exact<DeepPartial<T>, I>>(base?: I): T; fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T; } export { ServerMessage, ServerMessage_AuthRequest, ServerMessage_EventType };