polyv-live-cli
Version:
CLI tool for managing PolyV live streaming services.
67 lines • 2.42 kB
TypeScript
export type AuthenticationSourceType = 'command-line-account' | 'command-line' | 'session' | 'default-account' | 'environment' | 'config';
export interface AuthenticationSource {
type: AuthenticationSourceType;
priority: number;
appId?: string | undefined;
appSecret?: string | undefined;
userId?: string | undefined;
baseUrl?: string | undefined;
environment?: string | undefined;
metadata: {
source: string;
accountName?: string | undefined;
setAt?: Date | undefined;
context?: Record<string, any> | undefined;
};
}
export interface AuthenticationContext {
source: AuthenticationSource;
credentials: {
appId: string;
appSecret: string;
userId?: string;
baseUrl?: string;
environment?: string;
};
diagnostics: {
attemptedSources: string[];
selectedReason: string;
warnings: string[];
isComplete: boolean;
};
}
export interface AuthenticationProvider {
getAuthenticationContext(options?: Record<string, unknown>): AuthenticationContext | null;
getCredentials(options?: Record<string, unknown>): {
appId: string;
appSecret: string;
userId?: string;
} | null;
getCurrentSource(options?: Record<string, unknown>): AuthenticationSource | null;
validateAuthentication(source: AuthenticationSource): boolean;
getStatusMessage(options?: Record<string, unknown>): string;
getDiagnostics(options?: Record<string, unknown>): {
availableSources: AuthenticationSource[];
selectedSource?: AuthenticationSource;
errors: string[];
warnings: string[];
suggestions: string[];
};
}
export interface AuthenticationSourceDetector {
readonly type: AuthenticationSourceType;
readonly priority: number;
detect(options?: Record<string, unknown>): AuthenticationSource | null;
isAvailable(options?: Record<string, unknown>): boolean;
}
export declare const AUTH_PRIORITY: {
readonly COMMAND_LINE_ACCOUNT: 1;
readonly COMMAND_LINE: 2;
readonly SESSION: 3;
readonly ENVIRONMENT: 4;
readonly DEFAULT_ACCOUNT: 5;
readonly CONFIG: 6;
};
export declare const SOURCE_PRIORITY_MAP: Record<AuthenticationSourceType, number>;
export declare const SOURCE_DESCRIPTIONS: Record<AuthenticationSourceType, string>;
//# sourceMappingURL=auth-source.types.d.ts.map