it looks like that the query function has a second parameter with a "params" array.
probably something like this would work then too (didn't test):
return await query(
`SELECT Owner, Aroma, Flavor, Acidity, Sweetness
FROM coffee
ORDER BY vec_distance_L2(
embedding, '[?,?,?,?]')
LIMIT 100`,
[+aroma, +flavor, +acid, +sweet],
);
it is nice because the query string is constant then and a prepared query could be cached..