dengun-ai-admin-bot
v1.4.8
Published
Cliente para integração com o AI Admin Dashboard
Maintainers
Readme
Dengun AI Admin Client
Cliente Node.js para integração segura com o Dengun AI Admin Dashboard.
Características
- Autenticação segura usando JWT com algoritmo RS256
- Sistema de cache para chaves públicas
- Validação de tokens local e remota
- Suporte a JWKS (JSON Web Key Set)
- Sistema de retry com backoff exponencial
- Gerenciamento de conexão com o dashboard
- Sincronização de tenants
Instalação
npm install dengun-ai-admin-clientConfiguração
import { BotConnection } from 'dengun-ai-admin-client';
const config = {
dashboardUrl: 'https://dashboard.dengun.ai',
botName: 'meu-bot',
botId: 'bot-123',
privateKey: '-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----'
};
const connection = BotConnection.getInstance(config);Uso
Validação de Tokens
O pacote oferece três métodos de validação de tokens:
- Validação Local
import { TokenValidator } from 'dengun-ai-admin-client';
const validator = TokenValidator.getInstance();
const result = await validator.validateToken(token);
if (result.valid) {
console.log('Token válido:', result.payload);
} else {
console.error('Token inválido:', result.error);
}- Validação Remota
const result = await validator.validateToken(token, {
remote: true,
dashboardUrl: 'https://dashboard.dengun.ai'
});- Validação com JWKS
const result = await validator.validateTokenWithJWKS(
token,
'https://dashboard.dengun.ai/.well-known/jwks.json'
);Gerenciamento de Chaves Públicas
import { PublicKeyManager } from 'dengun-ai-admin-client';
const keyManager = PublicKeyManager.getInstance();
// Obter chave pública
const keyData = await keyManager.getPublicKey(
'https://dashboard.dengun.ai',
'kid-123'
);
// Limpar cache
await keyManager.clearCache();Conexão com o Dashboard
// Enviar requisição
const response = await connection.submitBotRequest({
type: 'chat',
content: 'Olá, como posso ajudar?'
});
// Verificar status
const status = await connection.checkRequestStatus(response.requestId);
// Obter uso de tokens
const usage = await connection.getTokenUsage();Segurança
- Tokens são validados usando o algoritmo RS256
- Chaves públicas são cacheadas localmente
- Suporte a rotação de chaves via JWKS
- Validação de issuer e audience
- Verificação de expiração e revogação
Contribuindo
- Faça o fork do projeto
- Crie sua branch de feature (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -am 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Crie um Pull Request
Licença
MIT
