For the complete documentation index, see llms.txt. This page is also available as Markdown.

Build, deploy e testes

O SDK atual não cobre apenas runtime. Ele também participa do empacotamento do projeto, da estratégia de logging e dos testes locais.

Build e empacotamento

O pacote público expõe tooling de build em @tunnelhub/sdk/building e o bin tunnelhub-sdk-esbuild.

Esse fluxo lê a configuração do projeto, usa tunnelhub.yml como referência e normalmente gera um artefato ZIP para deploy.

Na prática, isso ajuda a padronizar:

  • entrypoint;

  • runtime;

  • memória e timeout;

  • arquivos incluídos no bundle;

  • artefato final esperado pela CLI.

Estratégia de logging

O SDK escolhe entre logging em tempo real e logging em lote conforme o volume e o perfil da execução.

Em alto nível:

  • cargas pequenas tendem a usar logging em tempo real;

  • cargas muito grandes tendem a usar modo em lote;

  • flows podem ajustar limiares protegidos para adaptar o comportamento.

Esse desenho melhora custo e performance sem exigir lógica manual em cada integração.

Observabilidade

Os logs da automação alimentam as telas de monitoramento da plataforma. A qualidade dos metadados e das mensagens impacta diretamente a capacidade de suporte e investigação.

Boas práticas:

  • incluir identificadores de negócio nos metadados;

  • evitar mensagens genéricas demais;

  • diferenciar erro técnico de erro funcional;

  • usar setupInterceptor() apenas quando o ganho investigativo justificar.

Testes locais

Para testes, o SDK expõe o flag:

Esse modo é recomendado para suítes Jest e cenários de mock de serviços AWS ou chamadas externas.

Para SqlTables, o modo de teste apenas desativa a validação de runtime no construtor. Faça mock explícito dos métodos usados, como queryRows e insertRow; ele não cria SQLite local, EFS ou persistência. Consulte Tabelas de Apoio para um exemplo com fixtures JSON e armazenamento em memória.

Modo verboso

Quando necessário, você pode habilitar:

Isso ajuda durante desenvolvimento e depuração local.

O que vale testar em uma automação

Checklist mínimo:

  • handler chama AutomationExecution.executeAutomation(...) corretamente;

  • flow instancia sem erro com payload mínimo;

  • defineMetadata() está válida;

  • principal caminho feliz da integração está coberto;

  • erros relevantes retornam mensagens operacionais úteis.

Troubleshooting comum

  • parâmetro obrigatório ausente: valide o cadastro no produto e o helper usado no código;

  • Tabela De/Para ou Sequência não encontrada: confirme código, ambiente e associação correta;

  • erro de metadata: revise labels reservadas e tipos inválidos;

  • artefato inconsistente: confira tunnelhub.yml, entrypoint e caminho do ZIP antes do deploy.

Last updated