consegue dar um exemplo mais completo do caso de uso que está querendo resolver?

Por exemplo um checkout de pagamento, em que eu salvo no banco algumas tabelas e tambem faço operações com api externa para comfirmar a compra. Como to usando varios arquivos nao consigo fazer a transação cobrir todos os casos de maneira convencional, ate tem como funcionar porem gera acoplamento e sinceramente parece gambiarra. To usando nestjs com typeorm.

Acho que vc está confundido conceitos, caro amigo. neste caso vc não está falando apenas de `transaction` e sim de resiliencia, como deixar minha operação resiliente a falhas. "Chegou uma compra nova na minha API de checkout, preciso fazer algumas operações para validar a compra e enviar as informações da compra para o usuário" Primeira cosia que eu faria é salvar no meu banco de dados um novo pedido, independente de qualquer operação externa. Depois eu emitiria um evento chamado `newOrder` para minhas apis externas, como estoque, logistica, ERP e tudo mais. Depois do envio de tais eventos, eu colocaria o `status` do pedido e mudaria para `em processamento`, Aguardaria o retorno de todas as APIs externas via hook ou mensageria, depois da conclusão de todas e minha lógica entender que o produto já foi validado, iria emitir um novo evento `OrderSuccess` que avisaria o meu usuário que de tudo certo. Faz sentido para vc?