{"record":{"id":"b9929f4f3283bd99","repo":"hasura/graphql-engine","slug":"type-error","errorCode":null,"errorMessage":"{type_error:}","messagePattern":"\\{type_error:\\}","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"v3/crates/metadata-resolve/src/types/error.rs","lineNumber":252,"sourceCode":"    #[error(\"{0}\")]\n    BooleanExpressionError(#[from] boolean_expressions::BooleanExpressionError),\n    #[error(\"{0}\")]\n    ScalarBooleanExpressionTypeError(\n        #[from] scalar_boolean_expressions::ScalarBooleanExpressionTypeError,\n    ),\n    #[error(\"{0}\")]\n    AggregateBooleanExpressionError(\n        #[from] aggregate_boolean_expressions::NamedAggregateBooleanExpressionError,\n    ),\n    #[error(\"{0}\")]\n    TypePredicateError(#[from] TypePredicateError),\n    #[error(\"{0}\")]\n    DataConnectorError(#[from] data_connectors::NamedDataConnectorError),\n    #[error(\"NDC validation error: {0}\")]\n    NDCValidationError(#[from] NDCValidationError),\n    #[error(\"{0}\")]\n    ScalarTypesError(#[from] scalar_types::ScalarTypesError),\n    #[error(\"{type_error:}\")]\n    TypeError { type_error: TypeError },\n    #[error(\"{0}\")]\n    AggregateExpressionError(AggregateExpressionError),\n    #[error(\"{0}\")]\n    TypePermissionError(type_permissions::TypePermissionError),\n    #[error(\"{0}\")]\n    ObjectTypesError(#[from] object_types::ObjectTypesError),\n    #[error(\"{0}\")]\n    ApolloError(#[from] apollo::ApolloError),\n    #[error(\"{0}\")]\n    RelayError(#[from] relay::RelayError),\n    #[error(\"{0}\")]\n    ModelsError(#[from] models::ModelsError),\n    #[error(\"{0}\")]\n    CommandsError(#[from] commands::CommandsError),\n    #[error(\"{0}\")]\n    RelationshipError(#[from] relationships::RelationshipError),\n    #[error(\"{0}\")]","sourceCodeStart":234,"sourceCodeEnd":270,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/metadata-resolve/src/types/error.rs#L234-L270","documentation":"Transparent wrapper variant of metadata-resolve's resolve Error enum: it delegates the display message to the inner TypeError produced during metadata type-checking. The message you see ('{type_error:}') is the rendered TypeError, which reports a mismatch between a field/argument/relationship type declared in NDC metadata or the type system (e.g. an unsupported scalar type, an invalid comparison operator target, or inconsistent nullability).","triggerScenarios":"Calling metadata resolve/validate APIs (e.g. resolve_metadata) where a model field, command argument, or expression references a type that fails type checking: unknown type names, comparing incompatible scalar types, or expression aggregate/type mismatches.","commonSituations":"Editing NDC metadata or Hasura metadata by hand where a field references a scalar type that is not defined, or a relationship/comparison uses mismatched types; upgrading hasura/ndc-hub connectors whose type mappings changed.","solutions":["Read the inner TypeError text (it names the type and location) and fix the referenced type in the metadata file","Verify every scalar type referenced by fields/arguments is declared under scalar.types","Re-run metadata validation after each fix; multiple type errors may surface one at a time"],"exampleFix":"// before\n{\"fields\": {\"id\": {\"type\": \"string!\"}}}  // 'string!' not declared\n// after\n{\"fields\": {\"id\": {\"type\": \"ID\"}}}   // or declare the scalar under scalar.types","handlingStrategy":"try-catch","validationCode":null,"typeGuard":"fn is_type_error(e: &metadata_resolve::Error) -> bool { matches!(e, metadata_resolve::Error::TypeError { .. }) }","tryCatchPattern":"match result {\n    Err(Error::TypeError { type_error }) => {/* report type_error with context */},\n    Err(e) => return Err(e),\n    Ok(v) => v,\n}","preventionTips":["Run metadata validation (CLI or /v1/metadata endpoint) before applying","Declare all scalar types referenced by fields and arguments","Automate metadata linting in CI"],"tags":["rust","metadata","type-checking","hasura"],"backgroundTag":"metadata-type-validation-failed","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}