Issue with introspection with apollo-router

Hello! Recently I am playing with apollo-router and it seems that introspection does not work as I expected. An issue is filed against apollographql/federation-rs which contains more details.

So it appears that introspection is just execution of the query with empty input variable set. However, queries that do have variables of non-null types will fail. For instance, for the following schema and query pair, we would get $num is missing while being an Int!.

Schema

schema {
    query: Query
    mutation: Mutation
}

type Bar {
    foobar: String!
}

type Foo {
    subquery(num: Int!): Bar!
}

type Query {
    foo: Foo!
}

type Mutation {
    update(num: Int!): Int!
}

Query

query GetFoo($num: Int!) {
  foo {
    subquery(num: $num) {
      __typename
    }
  }
}