Minimal GraphQL client built on Req, used only for the few RunPod
operations not exposed by the REST API (chiefly gpuTypes pricing).
GraphQL-over-HTTP is just POST {query, variables} → {data | errors}, so a
~30-line wrapper is preferable to adding a heavier GraphQL client
dependency (Neuron is stale; AbsintheClient is Absinthe-flavored). See
ExAtlas.Providers.RunPod.Client.graphql/1 for the Req factory.
Summary
Functions
Execute a GraphQL query or mutation.
Functions
@spec query(ExAtlas.Provider.ctx(), String.t(), map()) :: {:ok, map()} | {:error, ExAtlas.Error.t()}
Execute a GraphQL query or mutation.
Returns {:ok, data} where data is the "data" object from the response
(a plain map keyed by string). Returns {:error, ExAtlas.Error.t()} on
transport errors, HTTP errors, or GraphQL-level errors.