This PR moves the entire project to Typescript. Due to the ~1000 ignores this will lead to a messy codebase for a while, but the churn is worth it – all of those ignore comments are places that were never type-safe previously. closes #1282
feat: Record queries via api tokens separately
* Record search queries * feat: add totalCount to the search response * feat: add comments to explain why we use setTimeout