How to easily get cart ID with graphQl instead of AJAX?

I’m trying to find an easy way to do this for a theme app extension, but there’s no clear directive on how to achieve this without AJAX.

With ajax is pretty simple, you just do this and it always work:

fetch(`${window.Shopify.routes.root}cart.js`).then((r) => r.json()).token

However I could find no way to achieve this with graphQl, and every graphql mutation/query that replaces AJAX API requires an ID, example:

query Cart {
  cart(id) {
    # cart fields
  }
}

Another problem is that using the AJAX api to retrive the id, actually replaces almost every cart query, because it also returns most data you need, so using graphql becomes not useful.