Why not `ctx.db.query("table").withIndex(vectorIndex)`?
ctx.db.query("table").withIndex(vectorIndex) but instead ctx.vectorSearch()? Is it because we don't want to expose ctx.db in actions?In fact, why is there no
ctx.db.query() in actions? Is there a reason for not allowing querying dB in actions? Seems to me like it should be fine since unlike mutations, determinism (or non-determinism) of the calling function (an action in this case) doesn't affect anything.Concerning the first question, we can just use Typescript to narrow down the indexes in the
withIndex() of queries and mutations to non-vector indexes, while allowing all indexes in actions.