Skip to content

Implement GraphQL builtins (graphql.*) #128

Description

@sspaink

Missing builtins

  • graphql.parse
  • graphql.parse_query
  • graphql.parse_schema
  • graphql.parse_and_verify
  • graphql.is_valid
  • graphql.schema_is_valid

Context

These OPA builtins are not implemented in the SDK. Most are exercised by the Rego compliance suite (opa-evaluator/src/test/resources/compliance/.../TestData) and currently raise FunctionNotFoundError; implementing them makes those cases pass.

Requires a GraphQL parser/schema dependency; likely a new opa-builtins-graphql module.

Implementation notes

Register each builtin with an @OpaBuiltin-annotated static method (see io.github.open_policy_agent.opa.ast.builtin.impls). Core builtins are listed in BuiltinRegistry.BUILTIN_CLASSES; domain-specific ones live in an opa-builtins-* module exposed via the BuiltinProvider SPI (e.g. RegexBuiltins, CidrBuiltins, SemverBuiltins).

Reference: https://www.openpolicyagent.org/docs/policy-reference/#built-in-functions

Metadata

Metadata

Assignees

No one assigned

    Labels

    builtinsMissing or in-progress OPA builtin implementationsenhancementNew feature or requestevaluatorhelp wantedExtra attention is needed

    Type

    No type

    Projects

    Status
    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions