dengun_ai-admin-client
Version:
Cliente simples para integração com o AI Admin Dashboard - Plug and Play
65 lines (64 loc) • 1.9 kB
TypeScript
import { EventEmitter } from 'events';
import { ClientConfig, UserSession, BotUsage, ErrorReport, ConnectionStatus } from './types/index';
/**
* Cliente principal para integração com o AI Admin Dashboard
*
* Objetivos:
* 1. Garantir conexão entre apps
* 2. Suporte a múltiplos usuários simultâneos
* 3. Relatório automático de uso
* 4. Relatório automático de erros
*/
export declare class AiAdminClient extends EventEmitter {
private config;
private connectionManager;
private telemetryReporter;
private errorReporter;
private activeSessions;
private isInitialized;
constructor(config: ClientConfig);
/**
* Inicializa o cliente e estabelece conexão com o dashboard
*/
initialize(): Promise<void>;
/**
* Objetivo 2: Criar sessão para usuário usar o bot
*/
createUserSession(userId: string, tenantId: string, metadata?: Record<string, any>): Promise<UserSession>;
/**
* Objetivo 3: Reportar uso do bot pelo usuário
*/
reportUsage(usage: Omit<BotUsage, 'timestamp'>): Promise<void>;
/**
* Objetivo 4: Reportar erros da aplicação
*/
reportError(error: Omit<ErrorReport, 'timestamp'>): Promise<void>;
/**
* Encerrar sessão de usuário
*/
endUserSession(sessionId: string): Promise<void>;
/**
* Objetivo 1: Verificar status da conexão
*/
getConnectionStatus(): Promise<ConnectionStatus>;
/**
* Obter sessões ativas
*/
getActiveSessions(): UserSession[];
/**
* Obter estatísticas de uso
*/
getUsageStats(timeRange?: {
start: number;
end: number;
}): Promise<any>;
/**
* Encerrar cliente e limpar recursos
*/
shutdown(): Promise<void>;
private setupEventListeners;
private ensureInitialized;
private generateSessionId;
private log;
private logError;
}