Ju, consegui obter o mesmo resultado sem realizar duas querys. Não sei se é a melhor forma ou mais performática. Abaixo segue a query:
const sql = SELECT distinct
C.id, C.nome nome,C.cpf cpf, P.nome petNome, P.tipo petTipo,
P.observacoes petObservacoes
FROM Clientes C INNER JOIN Pets P ON C.id=P.donoId WHERE C.id=${id}
return executaQuery(sql)
.then(clientes => ({
id: clientes[0].id,
nome: clientes[0].nome,
cpf: clientes[0].cpf,
pets: clientes.map(cliente => ({
nome: cliente.petNome,
tipo: cliente.petTipo,
observacoes: cliente.petObservacoes
}))
})
)