For the complete documentation index, see llms.txt. This page is also available as Markdown.
Adaptadores
Adapters são componentes responsáveis por lidar com processos de I/O e integrações externas. Eles servem como a ponte entre sua lógica de negócio e sistemas externos, como bancos de dados, APIs, sistemas de arquivos ou stores de cache.
Propósito
Adapters abstraem os detalhes de implementação de dependências externas, permitindo:
Intercambiabilidade - Trocar implementações facilmente (por exemplo, PostgreSQL → MongoDB)
Testabilidade - Mockar dependências externas em testes
Isolamento - Manter a lógica de negócio independente de preocupações de infraestrutura
Localização
Todos os componentes adapter DEVEM ser colocados sob o src/adapters diretório no projeto.
Adapters DEVERIAM ser construídos com intercambiabilidade em mente. Defina interfaces compartilhadas em src/types.ts para que múltiplos adapters possam implementar o mesmo contrato.
Exemplo: Interface de Storage
Memory Storage Adapter
Aqui está uma implementação simples de um adapter de storage em memória, útil para testes ou desenvolvimento.
Estrutura de Diretórios
Implementação: component.ts
Redis Storage Adapter
Aqui está um adapter Redis pronto para produção que demonstra o gerenciamento de lifecycle.
Implementação: component.ts
Tratamento de Erros: errors.ts
Exemplo de Adapter de Banco de Dados
Aqui está um exemplo de um adapter de banco de dados PostgreSQL.
Métodos de Lifecycle
WKC fornece métodos de lifecycle especiais que são chamados automaticamente:
[Lifecycle.ComponentStarted] ou [START_COMPONENT] - Chamado quando o serviço inicia
[Lifecycle.ComponentStopped] ou [STOP_COMPONENT] - Chamado quando o serviço é encerrado
Quando Usar Métodos de Lifecycle
Use métodos de lifecycle quando seu adapter precisar:
Estabelecer conexões (banco de dados, cache, fila de mensagens)
Inicializar pools ou clients
Realizar checagens de saúde
Limpar recursos no shutdown
Fechar conexões graciosamente
Melhores Práticas
1. Tratamento de Erros
Sempre trate erros de conexão e lance erros customizados significativos:
2. Configuração
Use o componente config para gerenciar as configurações do adapter:
3. Logging
Registre operações importantes para depuração e monitoramento:
4. Segurança de Tipos
Sempre tipar corretamente seus valores de retorno:
5. Gerenciamento de Recursos
Sempre limpe recursos no método de lifecycle stop:
Testando Adapters
Veja a Testing Services (WKC) documentação para orientação detalhada sobre testes de adapters.