Hey folks! In the vein of the above, my opinion was “yes, more client libraries!”, so I threw together a TypeScript client to the XTDB REST API.
As a Clojurist I enjoy using XTDB from the tools I have access to, but the REST API is a tempting surface to offer to teams that I work with that aren’t quite ready to migrate to Clojure themselves.
The entire API surface is wrapped and works, except the POST /_xtdb/query API which is very EDN-dependent (but you can query with the GET /_xtdb/query API just fine).
I’m adding tests now to more thoroughly validate – and I’ll aim to add a nicer TypeScript API surface (maybe fluent builders?) for query and transaction building.
If anyone has any use for this I would love to hear about it – and additions are welcome.
One thing I’ll point out to folks interested in doing the same – the HTTP API documentation and OpenAPI docs are really clear – so it’s really straightforward to throw a library together! I didn’t end up doing so much, but you can also reference the official remote API client to see how that does things!