src/indexer.ts:81-85 — query() checks only response.ok (HTTP status), then returns await response.json().
GraphQL servers return HTTP 200 with { "data": null, "errors": [ ... ] } for query-level failures (bad field, resolver throw, validation error). query() resolves successfully and hands the caller { data: null, errors: [...] }.
Impact
Every caller must know to inspect .errors themselves; nothing in the SDK surface signals it. A failed query looks identical to a successful one that returned no rows.
Suggested fix
After parsing, if body.errors is a non-empty array, throw a ConduitError carrying the messages; otherwise return body.data.
src/indexer.ts:81-85—query()checks onlyresponse.ok(HTTP status), then returnsawait response.json().GraphQL servers return HTTP 200 with
{ "data": null, "errors": [ ... ] }for query-level failures (bad field, resolver throw, validation error).query()resolves successfully and hands the caller{ data: null, errors: [...] }.Impact
Every caller must know to inspect
.errorsthemselves; nothing in the SDK surface signals it. A failed query looks identical to a successful one that returned no rows.Suggested fix
After parsing, if
body.errorsis a non-empty array, throw aConduitErrorcarrying the messages; otherwise returnbody.data.