UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

100 lines 2.89 kB
export interface AccountConfig { name: string; appId: string; appSecret: string; userId?: string; environment?: 'development' | 'production' | 'test' | 'custom'; baseUrl?: string; createdAt: string; updatedAt: string; } export interface AccountsStore { version: string; accounts: Record<string, AccountConfig>; defaultAccount?: string; metadata: { createdAt: string; updatedAt: string; lastBackup?: string; keySource?: 'environment' | 'generated'; }; } export declare const ENVIRONMENT_BASE_URLS: { readonly development: "https://api-dev.polyv.net"; readonly production: "https://api.polyv.net"; readonly test: "https://develop-3-api.polyv.net"; }; export type Environment = keyof typeof ENVIRONMENT_BASE_URLS | 'custom'; export declare const AccountConfigValidation: { readonly name: { readonly required: true; readonly pattern: RegExp; readonly maxLength: 50; readonly minLength: 1; }; readonly appId: { readonly required: true; readonly pattern: RegExp; readonly minLength: 8; readonly maxLength: 32; }; readonly appSecret: { readonly required: true; readonly minLength: 16; readonly maxLength: 128; }; readonly environment: { readonly required: false; readonly validValues: readonly ["development", "production", "test", "custom"]; }; readonly baseUrl: { readonly required: false; readonly pattern: RegExp; readonly maxLength: 200; }; }; export interface AccountOperationResult { success: boolean; message: string; account?: AccountConfig; } export interface AccountListOptions { output?: 'table' | 'json'; detailed?: boolean; } export interface AccountDisplayInfo { name: string; appId: string; userId?: string; environment?: 'development' | 'production' | 'test' | 'custom'; baseUrl?: string; createdAt: string; updatedAt: string; } export interface EncryptedAccountConfig extends Omit<AccountConfig, 'appSecret'> { appSecret: string; } export interface EncryptionMetadata { algorithm: string; iv: string; authTag: string; } export interface StoredAccountConfig extends AccountConfig { encryptionMeta?: EncryptionMetadata; } export interface SecureEncryptedData { algorithm: 'aes-256-gcm'; iv: string; authTag: string; encrypted: string; } export interface SecurityContext { encryptionEnabled: boolean; keySource: 'environment' | 'generated'; configVersion: string; lastSecurityCheck: Date; permissionsValid: boolean; } export declare function getAccountBaseUrl(account: AccountConfig): string; export declare function getEnvironmentLabel(account: AccountConfig): string; //# sourceMappingURL=account.types.d.ts.map