UNPKG

livekit-server-sdk

Version:
65 lines 2.37 kB
import { TrackSource } from '@livekit/protocol'; import type { JWTPayload } from 'jose'; export declare function trackSourceToString(source: TrackSource): "camera" | "microphone" | "screen_share" | "screen_share_audio"; export declare function claimsToJwtPayload(grant: ClaimGrants): JWTPayload & { video?: Record<string, unknown>; }; export interface VideoGrant { /** permission to create a room */ roomCreate?: boolean; /** permission to join a room as a participant, room must be set */ roomJoin?: boolean; /** permission to list rooms */ roomList?: boolean; /** permission to start a recording */ roomRecord?: boolean; /** permission to control a specific room, room must be set */ roomAdmin?: boolean; /** name of the room, must be set for admin or join permissions */ room?: string; /** permissions to control ingress, not specific to any room or ingress */ ingressAdmin?: boolean; /** * allow participant to publish. If neither canPublish or canSubscribe is set, * both publish and subscribe are enabled */ canPublish?: boolean; /** * TrackSource types that the participant is allowed to publish * When set, it supersedes CanPublish. Only sources explicitly set here can be published */ canPublishSources?: TrackSource[]; /** allow participant to subscribe to other tracks */ canSubscribe?: boolean; /** * allow participants to publish data, defaults to true if not set */ canPublishData?: boolean; /** * by default, a participant is not allowed to update its own metadata */ canUpdateOwnMetadata?: boolean; /** participant isn't visible to others */ hidden?: boolean; /** participant is recording the room, when set, allows room to indicate it's being recorded */ recorder?: boolean; /** participant allowed to connect to LiveKit as Agent Framework worker */ agent?: boolean; } export interface SIPGrant { /** manage sip resources */ admin?: boolean; /** make outbound calls */ call?: boolean; } /** @internal */ export interface ClaimGrants extends JWTPayload { name?: string; video?: VideoGrant; sip?: SIPGrant; kind?: string; metadata?: string; attributes?: Record<string, string>; sha256?: string; } //# sourceMappingURL=grants.d.ts.map