diff --git a/demo/go.mod b/demo/go.mod index 8a21708ffa..6974e21f36 100644 --- a/demo/go.mod +++ b/demo/go.mod @@ -48,7 +48,7 @@ require ( github.com/dgraph-io/ristretto/v2 v2.4.0 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/dlclark/regexp2 v1.11.0 // indirect - github.com/docker/cli v28.2.2+incompatible // indirect + github.com/docker/cli v29.2.0+incompatible // indirect github.com/docker/distribution v2.8.3+incompatible // indirect github.com/docker/docker-credential-helpers v0.9.3 // indirect github.com/docker/go-units v0.5.0 // indirect diff --git a/demo/go.sum b/demo/go.sum index 4fc68a7941..fb48cfef4f 100644 --- a/demo/go.sum +++ b/demo/go.sum @@ -81,8 +81,8 @@ github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwu github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI= github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/docker/cli v28.2.2+incompatible h1:qzx5BNUDFqlvyq4AHzdNB7gSyVTmU4cgsyN9SdInc1A= -github.com/docker/cli v28.2.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v29.2.0+incompatible h1:9oBd9+YM7rxjZLfyMGxjraKBKE4/nVyvVfN4qNl9XRM= +github.com/docker/cli v29.2.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker-credential-helpers v0.9.3 h1:gAm/VtF9wgqJMoxzT3Gj5p4AqIjCBS4wrsOh9yRqcz8= diff --git a/router-tests/go.mod b/router-tests/go.mod index 251d8af3c0..e2cecfff74 100644 --- a/router-tests/go.mod +++ b/router-tests/go.mod @@ -8,6 +8,7 @@ require ( github.com/buger/jsonparser v1.1.1 github.com/cloudflare/backoff v0.0.0-20240920015135-e46b80a3a7d0 github.com/golang-jwt/jwt/v5 v5.2.2 + github.com/google/go-containerregistry v0.20.3 github.com/google/uuid v1.6.0 github.com/gorilla/websocket v1.5.1 github.com/hashicorp/go-cleanhttp v0.5.2 @@ -66,7 +67,7 @@ require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dgraph-io/ristretto/v2 v2.4.0 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect - github.com/docker/cli v28.2.2+incompatible // indirect + github.com/docker/cli v29.2.0+incompatible // indirect github.com/docker/distribution v2.8.3+incompatible // indirect github.com/docker/docker-credential-helpers v0.9.3 // indirect github.com/docker/go-units v0.5.0 // indirect @@ -88,7 +89,6 @@ require ( github.com/goccy/go-yaml v1.17.1 // indirect github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/golang/protobuf v1.5.4 // indirect - github.com/google/go-containerregistry v0.20.3 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-hclog v1.6.3 // indirect diff --git a/router-tests/go.sum b/router-tests/go.sum index 2c12b0b234..755a85cafc 100644 --- a/router-tests/go.sum +++ b/router-tests/go.sum @@ -77,8 +77,8 @@ github.com/dgryski/trifles v0.0.0-20230903005119-f50d829f2e54 h1:SG7nF6SRlWhcT7c github.com/dgryski/trifles v0.0.0-20230903005119-f50d829f2e54/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA= github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI= github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/docker/cli v28.2.2+incompatible h1:qzx5BNUDFqlvyq4AHzdNB7gSyVTmU4cgsyN9SdInc1A= -github.com/docker/cli v28.2.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v29.2.0+incompatible h1:9oBd9+YM7rxjZLfyMGxjraKBKE4/nVyvVfN4qNl9XRM= +github.com/docker/cli v29.2.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker-credential-helpers v0.9.3 h1:gAm/VtF9wgqJMoxzT3Gj5p4AqIjCBS4wrsOh9yRqcz8= diff --git a/router-tests/oci_test_helpers.go b/router-tests/oci_test_helpers.go new file mode 100644 index 0000000000..111a886df9 --- /dev/null +++ b/router-tests/oci_test_helpers.go @@ -0,0 +1,145 @@ +package integration + +import ( + "archive/tar" + "bytes" + "fmt" + "io" + "net/http/httptest" + "os" + "path/filepath" + "runtime" + "strings" + "testing" + + "github.com/google/go-containerregistry/pkg/crane" + "github.com/google/go-containerregistry/pkg/name" + "github.com/google/go-containerregistry/pkg/registry" + v1 "github.com/google/go-containerregistry/pkg/v1" + "github.com/google/go-containerregistry/pkg/v1/empty" + "github.com/google/go-containerregistry/pkg/v1/mutate" + "github.com/google/go-containerregistry/pkg/v1/partial" + "github.com/google/go-containerregistry/pkg/v1/tarball" + "github.com/google/go-containerregistry/pkg/v1/types" + "github.com/stretchr/testify/require" +) + +// startTestOCIRegistry starts an in-memory OCI registry on localhost and returns the host:port. +func startTestOCIRegistry(t *testing.T) string { + t.Helper() + reg := registry.New() + server := httptest.NewServer(reg) + t.Cleanup(server.Close) + return strings.TrimPrefix(server.URL, "http://") +} + +// buildAndPushPluginImage reads a plugin binary (and any adjacent files in its directory), +// wraps them in an OCI image, and pushes it to the test registry. +// The binary is placed at /plugin in the image with the entrypoint set to ["/plugin"]. +// Any sibling files/directories next to the binary are included at the same relative paths. +func buildAndPushPluginImage(t *testing.T, registryHost, repo, tag, pluginBinaryPath string) { + t.Helper() + + pluginDir := filepath.Dir(pluginBinaryPath) + binaryName := filepath.Base(pluginBinaryPath) + + var buf bytes.Buffer + tw := tar.NewWriter(&buf) + + err := filepath.Walk(pluginDir, func(path string, info os.FileInfo, err error) error { + if err != nil { + return err + } + + relPath, err := filepath.Rel(pluginDir, path) + if err != nil { + return err + } + + // Skip the root directory itself + if relPath == "." { + return nil + } + + // Rename the binary to "plugin" + tarPath := relPath + if relPath == binaryName { + tarPath = "plugin" + } + + header, err := tar.FileInfoHeader(info, "") + if err != nil { + return err + } + header.Name = tarPath + + if err := tw.WriteHeader(header); err != nil { + return err + } + + if !info.IsDir() { + data, err := os.ReadFile(path) + if err != nil { + return err + } + if _, err := tw.Write(data); err != nil { + return err + } + } + + return nil + }) + require.NoError(t, err) + require.NoError(t, tw.Close()) + + layerBytes := buf.Bytes() + layer, err := tarball.LayerFromOpener(func() (io.ReadCloser, error) { + return io.NopCloser(bytes.NewReader(layerBytes)), nil + }) + require.NoError(t, err) + + img, err := mutate.AppendLayers(empty.Image, layer) + require.NoError(t, err) + + cfgFile, err := img.ConfigFile() + require.NoError(t, err) + cfgFile.Config.Entrypoint = []string{"/plugin"} + cfgFile.OS = runtime.GOOS + cfgFile.Architecture = runtime.GOARCH + img, err = mutate.ConfigFile(img, cfgFile) + require.NoError(t, err) + + img = &ociImage{img} + + ref := fmt.Sprintf("%s/%s:%s", registryHost, repo, tag) + nameRef, err := name.ParseReference(ref) + require.NoError(t, err) + err = crane.Push(img, nameRef.String(), crane.Insecure) + require.NoError(t, err, "pushing image to test registry") +} + +// ociImage wraps a v1.Image to force OCI media types. +type ociImage struct { + v1.Image +} + +func (i *ociImage) MediaType() (types.MediaType, error) { + return types.OCIManifestSchema1, nil +} + +func (i *ociImage) Digest() (v1.Hash, error) { + return partial.Digest(i) +} + +func (i *ociImage) Manifest() (*v1.Manifest, error) { + m, err := i.Image.Manifest() + if err != nil { + return nil, err + } + m.MediaType = types.OCIManifestSchema1 + return m, nil +} + +func (i *ociImage) RawManifest() ([]byte, error) { + return partial.RawManifest(i) +} diff --git a/router-tests/router_oci_plugin_test.go b/router-tests/router_oci_plugin_test.go new file mode 100644 index 0000000000..58efeee8a2 --- /dev/null +++ b/router-tests/router_oci_plugin_test.go @@ -0,0 +1,108 @@ +package integration + +import ( + "fmt" + "runtime" + "slices" + "strings" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.uber.org/zap/zapcore" + "go.uber.org/zap/zaptest/observer" + + "github.com/wundergraph/cosmo/router-tests/testenv" +) + +func TestOCIPlugin_PullAndRun(t *testing.T) { + t.Parallel() + + registryHost := startTestOCIRegistry(t) + + projectsBinary := fmt.Sprintf("../router/plugins/projects/bin/%s_%s", runtime.GOOS, runtime.GOARCH) + coursesBinary := fmt.Sprintf("../router/plugins/courses/bin/%s_%s", runtime.GOOS, runtime.GOARCH) + + buildAndPushPluginImage(t, registryHost, "test-org/projects", "v1", projectsBinary) + buildAndPushPluginImage(t, registryHost, "test-org/courses", "v1", coursesBinary) + + testenv.Run(t, &testenv.Config{ + RouterConfigJSONTemplate: testenv.ConfigWithOCIPluginsJSONTemplate, + Plugins: testenv.PluginConfig{ + Enabled: true, + RegistryURL: registryHost, + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + response := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { projects { id name } }`, + }) + require.Equal(t, `{"data":{"projects":[{"id":"1","name":"Cloud Migration Overhaul"},{"id":"2","name":"Microservices Revolution"},{"id":"3","name":"AI-Powered Analytics"},{"id":"4","name":"DevOps Transformation"},{"id":"5","name":"Security Overhaul"},{"id":"6","name":"Mobile App Development"},{"id":"7","name":"Data Lake Implementation"}]}}`, response.Body) + + response = xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { courses { id title description } }`, + }) + require.Equal(t, `{"data":{"courses":[{"id":"1","title":"Introduction to TypeScript","description":"Learn the basics of TypeScript"},{"id":"2","title":"Advanced GraphQL","description":"Master GraphQL federation"},{"id":"3","title":"Go Programming","description":"Build services with Go"}]}}`, response.Body) + }) +} + +func TestOCIPlugin_ImageNotFound(t *testing.T) { + t.Parallel() + + registryHost := startTestOCIRegistry(t) + // Don't push any images — registry is empty + + testenv.FailsOnStartup(t, &testenv.Config{ + RouterConfigJSONTemplate: testenv.ConfigWithOCIPluginsJSONTemplate, + Plugins: testenv.PluginConfig{ + Enabled: true, + RegistryURL: registryHost, + }, + }, func(t *testing.T, err error) { + require.ErrorContains(t, err, "pulling image") + }) +} + +func TestOCIPlugin_Restart(t *testing.T) { + t.Parallel() + + registryHost := startTestOCIRegistry(t) + + projectsBinary := fmt.Sprintf("../router/plugins/projects/bin/%s_%s", runtime.GOOS, runtime.GOARCH) + coursesBinary := fmt.Sprintf("../router/plugins/courses/bin/%s_%s", runtime.GOOS, runtime.GOARCH) + + buildAndPushPluginImage(t, registryHost, "test-org/projects", "v1", projectsBinary) + buildAndPushPluginImage(t, registryHost, "test-org/courses", "v1", coursesBinary) + + testenv.Run(t, &testenv.Config{ + RouterConfigJSONTemplate: testenv.ConfigWithOCIPluginsJSONTemplate, + LogObservation: testenv.LogObservationConfig{ + Enabled: true, + LogLevel: zapcore.ErrorLevel, + }, + Plugins: testenv.PluginConfig{ + Enabled: true, + RegistryURL: registryHost, + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { killService }`, + }) + + require.EventuallyWithT(t, func(c *assert.CollectT) { + logMessages := xEnv.Observer().All() + require.True(c, slices.ContainsFunc(logMessages, func(msg observer.LoggedEntry) bool { + return strings.Contains(msg.Message, "plugin process exited") + }), "expected to find 'plugin process exited' message in logs") + }, 5*time.Second, 1*time.Second) + + require.EventuallyWithT(t, func(c *assert.CollectT) { + response, err := xEnv.MakeGraphQLRequest(testenv.GraphQLRequest{ + Query: `query { projects { id name } }`, + }) + require.NoError(c, err) + require.Equal(c, 200, response.Response.StatusCode) + require.Equal(c, `{"data":{"projects":[{"id":"1","name":"Cloud Migration Overhaul"},{"id":"2","name":"Microservices Revolution"},{"id":"3","name":"AI-Powered Analytics"},{"id":"4","name":"DevOps Transformation"},{"id":"5","name":"Security Overhaul"},{"id":"6","name":"Mobile App Development"},{"id":"7","name":"Data Lake Implementation"}]}}`, response.Body) + }, 20*time.Second, 2*time.Second) + }) +} diff --git a/router-tests/testenv/testdata/configWithOCIPlugins.json b/router-tests/testenv/testdata/configWithOCIPlugins.json new file mode 100644 index 0000000000..47c665a240 --- /dev/null +++ b/router-tests/testenv/testdata/configWithOCIPlugins.json @@ -0,0 +1,4349 @@ +{ + "engineConfig": { + "defaultFlushInterval": "500", + "datasourceConfigurations": [ + { + "kind": "GRAPHQL", + "rootNodes": [ + { + "typeName": "Query", + "fieldNames": [ + "employee", + "employeeAsList", + "employees", + "products", + "teammates", + "firstEmployee", + "findEmployeesBy" + ], + "requireFetchReasonsFieldNames": ["employee"] + }, + { + "typeName": "Mutation", + "fieldNames": ["updateEmployeeTag", "singleUpload", "singleUploadWithInput", "multipleUpload"] + }, + { "typeName": "Subscription", "fieldNames": ["currentTime", "countEmp", "countEmp2", "countFor"] }, + { "typeName": "Country", "fieldNames": ["key"] }, + { + "typeName": "Employee", + "fieldNames": [ + "details", + "id", + "tag", + "role", + "updatedAt", + "startDate", + "derivedMood", + "rootFieldThrowsError", + "rootFieldErrorWrapper" + ], + "externalFieldNames": ["currentMood", "isAvailable"] + }, + { "typeName": "Consultancy", "fieldNames": ["upc", "lead", "isLeadAvailable"] }, + { "typeName": "Cosmo", "fieldNames": ["upc", "engineers", "lead", "isLeadAvailable"] }, + { "typeName": "SDK", "fieldNames": ["upc", "engineers", "owner", "unicode"] } + ], + "childNodes": [ + { "typeName": "RoleType", "fieldNames": ["departments", "title", "employees"] }, + { "typeName": "Identifiable", "fieldNames": ["id"], "requireFetchReasonsFieldNames": ["id"] }, + { "typeName": "Engineer", "fieldNames": ["departments", "title", "employees", "engineerType"] }, + { "typeName": "Marketer", "fieldNames": ["departments", "title", "employees"] }, + { "typeName": "Operator", "fieldNames": ["departments", "title", "employees", "operatorType"] }, + { "typeName": "Details", "fieldNames": ["forename", "location", "surname", "pastLocations"] }, + { "typeName": "City", "fieldNames": ["type", "name", "country"] }, + { "typeName": "CountryKey", "fieldNames": ["name"] }, + { "typeName": "ErrorWrapper", "fieldNames": ["okField", "errorField"] }, + { "typeName": "Time", "fieldNames": ["unixTime", "timeStamp"] }, + { "typeName": "IProduct", "fieldNames": ["upc", "engineers"] } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4001/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4001/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n @link(\n url: \"https://specs.apollo.dev/federation/v2.5\"\n import: [\n \"@authenticated\"\n \"@composeDirective\"\n \"@external\"\n \"@extends\"\n \"@inaccessible\"\n \"@interfaceObject\"\n \"@override\"\n \"@provides\"\n \"@key\"\n \"@requires\"\n \"@requiresScopes\"\n \"@shareable\"\n \"@tag\"\n ]\n )\n\ndirective @goField(\n forceResolver: Boolean\n name: String\n omittable: Boolean\n) on INPUT_FIELD_DEFINITION | FIELD_DEFINITION\n\ndirective @openfed__requireFetchReasons repeatable on FIELD_DEFINITION | INTERFACE | OBJECT\n\ntype Query {\n employee(id: Int!): Employee @openfed__requireFetchReasons\n employeeAsList(id: Int!): [Employee]\n employees: [Employee]\n products: [Products!]!\n teammates(team: Department!): [Employee!]!\n firstEmployee: Employee! @tag(name: \"internal\")\n findEmployeesBy(criteria: FindEmployeeCriteria!): [Employee!]!\n}\n\nscalar Upload\n\ntype Mutation {\n updateEmployeeTag(id: Int!, tag: String!): Employee\n\n singleUpload(file: Upload!): Boolean!\n singleUploadWithInput(arg: FileUpload!): Boolean!\n multipleUpload(files: [Upload!]!): Boolean!\n}\n\ninput FileUpload {\n nested: DeeplyNestedFileUpload\n nestedList: [Upload!]\n}\n\ninput DeeplyNestedFileUpload {\n file: Upload!\n}\n\ntype Subscription {\n \"\"\"\n `currentTime` will return a stream of `Time` objects.\n \"\"\"\n currentTime: Time!\n countEmp(max: Int!, intervalMilliseconds: Int!): Int!\n countEmp2(max: Int!, intervalMilliseconds: Int!): Int!\n countFor(count: Int!): Int!\n}\n\nenum Department {\n ENGINEERING\n MARKETING\n OPERATIONS\n}\n\ninterface RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]! @goField(forceResolver: true)\n}\n\nenum EngineerType {\n BACKEND\n FRONTEND\n FULLSTACK\n}\n\ninterface Identifiable @openfed__requireFetchReasons {\n id: Int!\n}\n\ntype Engineer implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]! @goField(forceResolver: true)\n engineerType: EngineerType!\n}\n\ntype Marketer implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]! @goField(forceResolver: true)\n}\n\nenum OperationType {\n FINANCE\n HUMAN_RESOURCES\n}\n\ntype Operator implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]! @goField(forceResolver: true)\n operatorType: [OperationType!]!\n}\n\ntype Details {\n forename: String! @shareable\n location: Country!\n surname: String! @shareable\n pastLocations: [City!]!\n}\n\ntype City {\n type: String!\n name: String!\n country: Country\n}\n\n# Using a nested key field simply because it can showcase potential bug\n# vectors / Federation capabilities.\ntype Country @key(fields: \"key { name }\", resolvable: false) {\n key: CountryKey!\n}\n\ntype CountryKey {\n name: String!\n}\n\nenum Mood {\n HAPPY\n SAD\n}\n\ntype Employee implements Identifiable @key(fields: \"id\") {\n details: Details! @shareable\n id: Int!\n tag: String!\n role: RoleType!\n notes: String @shareable\n updatedAt: String!\n startDate: String! @requiresScopes(scopes: [[\"read:employee\", \"read:private\"], [\"read:all\"]])\n currentMood: Mood! @external\n derivedMood: Mood! @requires(fields: \"currentMood\")\n # From the `availability` service. Only defined for use in @requires\n isAvailable: Boolean @external\n rootFieldThrowsError: String @goField(forceResolver: true)\n rootFieldErrorWrapper: ErrorWrapper @goField(forceResolver: true)\n}\n\ntype ErrorWrapper {\n okField: String\n errorField: String @goField(forceResolver: true)\n}\n\ntype Time {\n unixTime: Int!\n timeStamp: String!\n}\n\nunion Products = Consultancy | Cosmo | SDK\n\ninterface IProduct {\n upc: ID!\n engineers: [Employee!]!\n}\n\ntype Consultancy @key(fields: \"upc\") {\n upc: ID!\n lead: Employee!\n isLeadAvailable: Boolean @requires(fields: \"lead { isAvailable }\")\n}\n\ntype Cosmo implements IProduct @key(fields: \"upc\") {\n upc: ID!\n engineers: [Employee!]!\n lead: Employee!\n isLeadAvailable: Boolean @requires(fields: \"lead { isAvailable }\")\n}\n\ntype SDK implements IProduct @key(fields: \"upc\") {\n upc: ID!\n engineers: [Employee!]!\n owner: Employee!\n unicode: String!\n}\n\ninput FindEmployeeCriteria @oneOf {\n id: Int\n department: Department\n title: String\n}" + }, + "upstreamSchema": { "key": "73e7c8ef50d3dc0c5d564e34702baf455be9cee3" } + }, + "requestTimeoutSeconds": "10", + "id": "0", + "keys": [ + { "typeName": "Country", "selectionSet": "key { name }", "disableEntityResolver": true }, + { "typeName": "Employee", "selectionSet": "id" }, + { "typeName": "Consultancy", "selectionSet": "upc" }, + { "typeName": "Cosmo", "selectionSet": "upc" }, + { "typeName": "SDK", "selectionSet": "upc" } + ], + "requires": [ + { "typeName": "Employee", "fieldName": "derivedMood", "selectionSet": "currentMood" }, + { "typeName": "Consultancy", "fieldName": "isLeadAvailable", "selectionSet": "lead { isAvailable }" }, + { "typeName": "Cosmo", "fieldName": "isLeadAvailable", "selectionSet": "lead { isAvailable }" } + ] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { "typeName": "Query", "fieldNames": ["findEmployees"] }, + { "typeName": "Employee", "fieldNames": ["id", "details"] } + ], + "childNodes": [ + { "typeName": "Animal", "fieldNames": ["class", "gender"] }, + { "typeName": "Pet", "fieldNames": ["class", "gender", "name"] }, + { "typeName": "Alligator", "fieldNames": ["class", "dangerous", "gender", "name"] }, + { "typeName": "Cat", "fieldNames": ["class", "gender", "name", "type"] }, + { "typeName": "Dog", "fieldNames": ["breed", "class", "gender", "name"] }, + { "typeName": "Mouse", "fieldNames": ["class", "gender", "name"] }, + { "typeName": "Pony", "fieldNames": ["class", "gender", "name"] }, + { + "typeName": "Details", + "fieldNames": ["forename", "middlename", "surname", "hasChildren", "maritalStatus", "nationality", "pets"] + } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4002/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4002/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\ntype Query {\n \"\"\" This is a GraphQL query that retrieves a list of employees.\"\"\"\n findEmployees(criteria: SearchInput): [Employee!]!\n}\n\nenum Class {\n FISH\n MAMMAL\n REPTILE\n}\n\nenum Gender {\n FEMALE\n MALE\n UNKNOWN\n}\n\ninterface Animal {\n class: Class!\n gender: Gender!\n}\n\ninterface Pet implements Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\nenum CatType {\n HOME\n STREET\n}\n\ntype Alligator implements Pet & Animal {\n class: Class!\n dangerous: String!\n gender: Gender!\n name: String!\n}\n\ntype Cat implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n type: CatType!\n}\n\nenum DogBreed {\n GOLDEN_RETRIEVER\n POODLE\n ROTTWEILER\n YORKSHIRE_TERRIER\n}\n\ntype Dog implements Pet & Animal {\n breed: DogBreed!\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Mouse implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Pony implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\nenum MaritalStatus {\n ENGAGED\n MARRIED\n}\n\nenum Nationality {\n AMERICAN\n DUTCH\n ENGLISH\n GERMAN\n INDIAN\n SPANISH\n UKRAINIAN\n}\n\ntype Details {\n forename: String! @shareable\n middlename: String @deprecated\n surname: String! @shareable\n hasChildren: Boolean!\n maritalStatus: MaritalStatus\n nationality: Nationality!\n pets: [Pet]\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n details: Details @shareable\n}\n\n\"\"\" Allows to filter employees by their details. \"\"\"\ninput SearchInput {\n hasPets: Boolean\n nationality: Nationality\n nested: NestedSearchInput\n}\n\ninput NestedSearchInput {\n maritalStatus: MaritalStatus\n hasChildren: Boolean\n}\n" + }, + "upstreamSchema": { "key": "2265a44afac63dcf9da5f7ee5ff35c7a6dc8adff" } + }, + "requestTimeoutSeconds": "10", + "id": "1", + "keys": [{ "typeName": "Employee", "selectionSet": "id" }] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { "typeName": "Country", "fieldNames": ["key"] }, + { "typeName": "Employee", "fieldNames": ["id", "hobbies"] }, + { "typeName": "SDK", "fieldNames": ["upc", "clientLanguages"] }, + { "typeName": "Subscription", "fieldNames": ["countHob"] } + ], + "childNodes": [ + { "typeName": "Exercise", "fieldNames": ["employees", "category"] }, + { "typeName": "Experience", "fieldNames": ["yearsOfExperience"] }, + { "typeName": "Flying", "fieldNames": ["employees", "planeModels", "yearsOfExperience"] }, + { "typeName": "Gaming", "fieldNames": ["employees", "genres", "name", "yearsOfExperience"] }, + { "typeName": "Other", "fieldNames": ["employees", "name"] }, + { "typeName": "Programming", "fieldNames": ["employees", "languages"] }, + { "typeName": "CountryKey", "fieldNames": ["name"] }, + { "typeName": "Travelling", "fieldNames": ["employees", "countriesLived"] }, + { "typeName": "Hobby", "fieldNames": ["employees"] } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4003/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4003/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\ndirective @goField(\n forceResolver: Boolean\n name: String\n omittable: Boolean\n) on INPUT_FIELD_DEFINITION | FIELD_DEFINITION\n\nenum ExerciseType {\n CALISTHENICS\n HIKING\n SPORT\n STRENGTH_TRAINING\n}\n\ntype Exercise implements Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n category: ExerciseType!\n}\n\ninterface Experience {\n yearsOfExperience: Float!\n}\n\ntype Flying implements Experience & Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n planeModels: [String!]!\n yearsOfExperience: Float!\n}\n\nenum GameGenre {\n ADVENTURE\n BOARD\n FPS\n CARD\n RPG\n ROGUELITE\n SIMULATION\n STRATEGY\n}\n\ntype Gaming implements Experience & Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n genres: [GameGenre!]!\n name: String!\n yearsOfExperience: Float!\n}\n\ntype Other implements Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n name: String!\n}\n\nenum ProgrammingLanguage {\n CSHARP\n GO\n RUST\n TYPESCRIPT\n}\n\ntype Programming implements Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n languages: [ProgrammingLanguage!]!\n}\n\n# Using a nested key field simply because it can showcase potential bug\n# vectors / Federation capabilities.\ntype Country @key(fields: \"key { name }\", resolvable: false) {\n key: CountryKey!\n}\n\ntype CountryKey {\n name: String!\n}\n\ntype Travelling implements Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n countriesLived: [Country!]!\n}\n\ninterface Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n hobbies: [Hobby!]\n}\n\ntype SDK @key(fields: \"upc\") {\n upc: ID!\n clientLanguages: [ProgrammingLanguage!]!\n}\n\ntype Subscription {\n countHob(max: Int! intervalMilliseconds: Int!): Int!\n}" + }, + "upstreamSchema": { "key": "6f2131dd12f912ee7f5a965938039527994be676" } + }, + "requestTimeoutSeconds": "10", + "id": "2", + "keys": [ + { "typeName": "Country", "selectionSet": "key { name }", "disableEntityResolver": true }, + { "typeName": "Employee", "selectionSet": "id" }, + { "typeName": "SDK", "selectionSet": "upc" } + ] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { + "typeName": "Query", + "fieldNames": ["productTypes", "topSecretFederationFacts", "factTypes", "sharedThings"] + }, + { "typeName": "Mutation", "fieldNames": ["addFact"] }, + { "typeName": "Employee", "fieldNames": ["id", "products", "notes"] }, + { "typeName": "Consultancy", "fieldNames": ["upc", "name"] }, + { "typeName": "Cosmo", "fieldNames": ["upc", "name", "repositoryURL"] } + ], + "childNodes": [ + { "typeName": "Thing", "fieldNames": ["a"] }, + { "typeName": "TopSecretFact", "fieldNames": ["description", "factType"] }, + { "typeName": "DirectiveFact", "fieldNames": ["title", "description", "factType"] }, + { "typeName": "EntityFact", "fieldNames": ["title", "description", "factType"] }, + { "typeName": "MiscellaneousFact", "fieldNames": ["title", "description", "factType"] }, + { "typeName": "Documentation", "fieldNames": ["url", "urls"] } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4004/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4004/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\nschema {\n query: Queries\n mutation: Mutation\n}\n\ntype Queries {\n productTypes: [Products!]!\n topSecretFederationFacts: [TopSecretFact!]! @requiresScopes(scopes: [[\"read:fact\"], [\"read:all\"]])\n factTypes: [TopSecretFactType!]\n sharedThings(numOfA: Int! numOfB: Int!): [Thing!]! @shareable\n}\n\ntype Mutation {\n addFact(fact: TopSecretFactInput!): TopSecretFact! @requiresScopes(scopes: [[\"write:fact\"], [\"write:all\"]])\n}\n\ntype Thing @shareable {\n a: String!\n}\n\ninput TopSecretFactInput {\n title: String!\n description: FactContent!\n factType: TopSecretFactType!\n}\n\nenum TopSecretFactType @authenticated {\n DIRECTIVE,\n ENTITY,\n MISCELLANEOUS,\n}\n\ninterface TopSecretFact @authenticated {\n description: FactContent!\n factType: TopSecretFactType\n}\n\nscalar FactContent @requiresScopes(scopes: [[\"read:scalar\"], [\"read:all\"]])\n\ntype DirectiveFact implements TopSecretFact @authenticated {\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype EntityFact implements TopSecretFact @requiresScopes(scopes: [[\"read:entity\"]]){\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype MiscellaneousFact implements TopSecretFact {\n title: String!\n description: FactContent! @requiresScopes(scopes: [[\"read:miscellaneous\"]])\n factType: TopSecretFactType\n}\n\nenum ProductName {\n CONSULTANCY\n COSMO\n ENGINE\n FINANCE\n HUMAN_RESOURCES\n MARKETING\n SDK\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n products: [ProductName!]!\n notes: String @override(from: \"employees\")\n}\n\nunion Products = Consultancy | Cosmo | Documentation\n\ntype Consultancy @key(fields: \"upc\") {\n upc: ID!\n name: ProductName!\n}\n\ntype Cosmo @key(fields: \"upc\") {\n upc: ID!\n name: ProductName!\n repositoryURL: String!\n}\n\ntype Documentation {\n url(product: ProductName!): String!\n urls(products: [ProductName!]!): [String!]!\n}\n" + }, + "upstreamSchema": { "key": "acbfd8f3662503e41417bfd29f5a0579e8cff323" } + }, + "requestTimeoutSeconds": "10", + "id": "3", + "keys": [ + { "typeName": "Employee", "selectionSet": "id" }, + { "typeName": "Consultancy", "selectionSet": "upc" }, + { "typeName": "Cosmo", "selectionSet": "upc" } + ] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { + "typeName": "Query", + "fieldNames": [ + "headerValue", + "initPayloadValue", + "initialPayload", + "delay", + "bigResponse", + "longResponse", + "bigAbstractResponse", + "rootFieldWithListArg", + "rootFieldWithNestedListArg", + "rootFieldWithListOfInputArg", + "rootFieldWithListOfEnumArg", + "rootFieldWithInput", + "floatField", + "sharedThings", + "secret" + ] + }, + { + "typeName": "Subscription", + "fieldNames": ["headerValue", "initPayloadValue", "initialPayload", "returnsError"] + }, + { "typeName": "Employee", "fieldNames": ["id", "fieldThrowsError"] } + ], + "childNodes": [ + { "typeName": "Secret", "fieldNames": ["value"] }, + { "typeName": "Thing", "fieldNames": ["b"] }, + { "typeName": "InputResponse", "fieldNames": ["arg"] }, + { "typeName": "TimestampedString", "fieldNames": ["value", "unixTime", "seq", "total", "initialPayload"] }, + { "typeName": "BigObject", "fieldNames": ["nestedObjects"] }, + { "typeName": "NestedObject", "fieldNames": ["deeplyNestedObjects"] }, + { + "typeName": "DeeplyNestedObject", + "fieldNames": [ + "aFieldOnDeeplyNestedObject", + "bFieldOnDeeplyNestedObject", + "cFieldOnDeeplyNestedObject", + "dFieldOnDeeplyNestedObject", + "eFieldOnDeeplyNestedObject", + "fFieldOnDeeplyNestedObject", + "gFieldOnDeeplyNestedObject", + "hFieldOnDeeplyNestedObject", + "iFieldOnDeeplyNestedObject", + "jFieldOnDeeplyNestedObject", + "kFieldOnDeeplyNestedObject", + "lFieldOnDeeplyNestedObject", + "mFieldOnDeeplyNestedObject", + "nFieldOnDeeplyNestedObject", + "oFieldOnDeeplyNestedObject", + "pFieldOnDeeplyNestedObject", + "qFieldOnDeeplyNestedObject", + "rFieldOnDeeplyNestedObject", + "sFieldOnDeeplyNestedObject", + "tFieldOnDeeplyNestedObject", + "uFieldOnDeeplyNestedObject", + "vFieldOnDeeplyNestedObject", + "wFieldOnDeeplyNestedObject", + "xFieldOnDeeplyNestedObject", + "yFieldOnDeeplyNestedObject", + "zFieldOnDeeplyNestedObject" + ] + }, + { + "typeName": "ABigObject", + "fieldNames": [ + "aFieldOnABigObject", + "bFieldOnABigObject", + "cFieldOnABigObject", + "dFieldOnABigObject", + "eFieldOnABigObject", + "fFieldOnABigObject", + "gFieldOnABigObject", + "hFieldOnABigObject", + "iFieldOnABigObject", + "jFieldOnABigObject", + "kFieldOnABigObject", + "lFieldOnABigObject", + "mFieldOnABigObject", + "nFieldOnABigObject", + "oFieldOnABigObject", + "pFieldOnABigObject", + "qFieldOnABigObject", + "rFieldOnABigObject", + "sFieldOnABigObject", + "tFieldOnABigObject", + "uFieldOnABigObject", + "vFieldOnABigObject", + "wFieldOnABigObject", + "xFieldOnABigObject", + "yFieldOnABigObject", + "zFieldOnABigObject" + ] + }, + { + "typeName": "BBigObject", + "fieldNames": [ + "aFieldOnBBigObject", + "bFieldOnBBigObject", + "cFieldOnBBigObject", + "dFieldOnBBigObject", + "eFieldOnBBigObject", + "fFieldOnBBigObject", + "gFieldOnBBigObject", + "hFieldOnBBigObject", + "iFieldOnBBigObject", + "jFieldOnBBigObject", + "kFieldOnBBigObject", + "lFieldOnBBigObject", + "mFieldOnBBigObject", + "nFieldOnBBigObject", + "oFieldOnBBigObject", + "pFieldOnBBigObject", + "qFieldOnBBigObject", + "rFieldOnBBigObject", + "sFieldOnBBigObject", + "tFieldOnBBigObject", + "uFieldOnBBigObject", + "vFieldOnBBigObject", + "wFieldOnBBigObject", + "xFieldOnBBigObject", + "yFieldOnBBigObject", + "zFieldOnBBigObject" + ] + }, + { + "typeName": "CBigObject", + "fieldNames": [ + "aFieldOnCBigObject", + "bFieldOnCBigObject", + "cFieldOnCBigObject", + "dFieldOnCBigObject", + "eFieldOnCBigObject", + "fFieldOnCBigObject", + "gFieldOnCBigObject", + "hFieldOnCBigObject", + "iFieldOnCBigObject", + "jFieldOnCBigObject", + "kFieldOnCBigObject", + "lFieldOnCBigObject", + "mFieldOnCBigObject", + "nFieldOnCBigObject", + "oFieldOnCBigObject", + "pFieldOnCBigObject", + "qFieldOnCBigObject", + "rFieldOnCBigObject", + "sFieldOnCBigObject", + "tFieldOnCBigObject", + "uFieldOnCBigObject", + "vFieldOnCBigObject", + "wFieldOnCBigObject", + "xFieldOnCBigObject", + "yFieldOnCBigObject", + "zFieldOnCBigObject" + ] + }, + { + "typeName": "DBigObject", + "fieldNames": [ + "aFieldOnDBigObject", + "bFieldOnDBigObject", + "cFieldOnDBigObject", + "dFieldOnDBigObject", + "eFieldOnDBigObject", + "fFieldOnDBigObject", + "gFieldOnDBigObject", + "hFieldOnDBigObject", + "iFieldOnDBigObject", + "jFieldOnDBigObject", + "kFieldOnDBigObject", + "lFieldOnDBigObject", + "mFieldOnDBigObject", + "nFieldOnDBigObject", + "oFieldOnDBigObject", + "pFieldOnDBigObject", + "qFieldOnDBigObject", + "rFieldOnDBigObject", + "sFieldOnDBigObject", + "tFieldOnDBigObject", + "uFieldOnDBigObject", + "vFieldOnDBigObject", + "wFieldOnDBigObject", + "xFieldOnDBigObject", + "yFieldOnDBigObject", + "zFieldOnDBigObject" + ] + }, + { + "typeName": "EBigObject", + "fieldNames": [ + "aFieldOnEBigObject", + "bFieldOnEBigObject", + "cFieldOnEBigObject", + "dFieldOnEBigObject", + "eFieldOnEBigObject", + "fFieldOnEBigObject", + "gFieldOnEBigObject", + "hFieldOnEBigObject", + "iFieldOnEBigObject", + "jFieldOnEBigObject", + "kFieldOnEBigObject", + "lFieldOnEBigObject", + "mFieldOnEBigObject", + "nFieldOnEBigObject", + "oFieldOnEBigObject", + "pFieldOnEBigObject", + "qFieldOnEBigObject", + "rFieldOnEBigObject", + "sFieldOnEBigObject", + "tFieldOnEBigObject", + "uFieldOnEBigObject", + "vFieldOnEBigObject", + "wFieldOnEBigObject", + "xFieldOnEBigObject", + "yFieldOnEBigObject", + "zFieldOnEBigObject" + ] + }, + { + "typeName": "FBigObject", + "fieldNames": [ + "aFieldOnFBigObject", + "bFieldOnFBigObject", + "cFieldOnFBigObject", + "dFieldOnFBigObject", + "eFieldOnFBigObject", + "fFieldOnFBigObject", + "gFieldOnFBigObject", + "hFieldOnFBigObject", + "iFieldOnFBigObject", + "jFieldOnFBigObject", + "kFieldOnFBigObject", + "lFieldOnFBigObject", + "mFieldOnFBigObject", + "nFieldOnFBigObject", + "oFieldOnFBigObject", + "pFieldOnFBigObject", + "qFieldOnFBigObject", + "rFieldOnFBigObject", + "sFieldOnFBigObject", + "tFieldOnFBigObject", + "uFieldOnFBigObject", + "vFieldOnFBigObject", + "wFieldOnFBigObject", + "xFieldOnFBigObject", + "yFieldOnFBigObject", + "zFieldOnFBigObject" + ] + }, + { + "typeName": "GBigObject", + "fieldNames": [ + "aFieldOnGBigObject", + "bFieldOnGBigObject", + "cFieldOnGBigObject", + "dFieldOnGBigObject", + "eFieldOnGBigObject", + "fFieldOnGBigObject", + "gFieldOnGBigObject", + "hFieldOnGBigObject", + "iFieldOnGBigObject", + "jFieldOnGBigObject", + "kFieldOnGBigObject", + "lFieldOnGBigObject", + "mFieldOnGBigObject", + "nFieldOnGBigObject", + "oFieldOnGBigObject", + "pFieldOnGBigObject", + "qFieldOnGBigObject", + "rFieldOnGBigObject", + "sFieldOnGBigObject", + "tFieldOnGBigObject", + "uFieldOnGBigObject", + "vFieldOnGBigObject", + "wFieldOnGBigObject", + "xFieldOnGBigObject", + "yFieldOnGBigObject", + "zFieldOnGBigObject" + ] + }, + { + "typeName": "HBigObject", + "fieldNames": [ + "aFieldOnHBigObject", + "bFieldOnHBigObject", + "cFieldOnHBigObject", + "dFieldOnHBigObject", + "eFieldOnHBigObject", + "fFieldOnHBigObject", + "gFieldOnHBigObject", + "hFieldOnHBigObject", + "iFieldOnHBigObject", + "jFieldOnHBigObject", + "kFieldOnHBigObject", + "lFieldOnHBigObject", + "mFieldOnHBigObject", + "nFieldOnHBigObject", + "oFieldOnHBigObject", + "pFieldOnHBigObject", + "qFieldOnHBigObject", + "rFieldOnHBigObject", + "sFieldOnHBigObject", + "tFieldOnHBigObject", + "uFieldOnHBigObject", + "vFieldOnHBigObject", + "wFieldOnHBigObject", + "xFieldOnHBigObject", + "yFieldOnHBigObject", + "zFieldOnHBigObject" + ] + }, + { + "typeName": "IBigObject", + "fieldNames": [ + "aFieldOnIBigObject", + "bFieldOnIBigObject", + "cFieldOnIBigObject", + "dFieldOnIBigObject", + "eFieldOnIBigObject", + "fFieldOnIBigObject", + "gFieldOnIBigObject", + "hFieldOnIBigObject", + "iFieldOnIBigObject", + "jFieldOnIBigObject", + "kFieldOnIBigObject", + "lFieldOnIBigObject", + "mFieldOnIBigObject", + "nFieldOnIBigObject", + "oFieldOnIBigObject", + "pFieldOnIBigObject", + "qFieldOnIBigObject", + "rFieldOnIBigObject", + "sFieldOnIBigObject", + "tFieldOnIBigObject", + "uFieldOnIBigObject", + "vFieldOnIBigObject", + "wFieldOnIBigObject", + "xFieldOnIBigObject", + "yFieldOnIBigObject", + "zFieldOnIBigObject" + ] + }, + { + "typeName": "JBigObject", + "fieldNames": [ + "aFieldOnJBigObject", + "bFieldOnJBigObject", + "cFieldOnJBigObject", + "dFieldOnJBigObject", + "eFieldOnJBigObject", + "fFieldOnJBigObject", + "gFieldOnJBigObject", + "hFieldOnJBigObject", + "iFieldOnJBigObject", + "jFieldOnJBigObject", + "kFieldOnJBigObject", + "lFieldOnJBigObject", + "mFieldOnJBigObject", + "nFieldOnJBigObject", + "oFieldOnJBigObject", + "pFieldOnJBigObject", + "qFieldOnJBigObject", + "rFieldOnJBigObject", + "sFieldOnJBigObject", + "tFieldOnJBigObject", + "uFieldOnJBigObject", + "vFieldOnJBigObject", + "wFieldOnJBigObject", + "xFieldOnJBigObject", + "yFieldOnJBigObject", + "zFieldOnJBigObject" + ] + }, + { + "typeName": "KBigObject", + "fieldNames": [ + "aFieldOnKBigObject", + "bFieldOnKBigObject", + "cFieldOnKBigObject", + "dFieldOnKBigObject", + "eFieldOnKBigObject", + "fFieldOnKBigObject", + "gFieldOnKBigObject", + "hFieldOnKBigObject", + "iFieldOnKBigObject", + "jFieldOnKBigObject", + "kFieldOnKBigObject", + "lFieldOnKBigObject", + "mFieldOnKBigObject", + "nFieldOnKBigObject", + "oFieldOnKBigObject", + "pFieldOnKBigObject", + "qFieldOnKBigObject", + "rFieldOnKBigObject", + "sFieldOnKBigObject", + "tFieldOnKBigObject", + "uFieldOnKBigObject", + "vFieldOnKBigObject", + "wFieldOnKBigObject", + "xFieldOnKBigObject", + "yFieldOnKBigObject", + "zFieldOnKBigObject" + ] + }, + { + "typeName": "LBigObject", + "fieldNames": [ + "aFieldOnLBigObject", + "bFieldOnLBigObject", + "cFieldOnLBigObject", + "dFieldOnLBigObject", + "eFieldOnLBigObject", + "fFieldOnLBigObject", + "gFieldOnLBigObject", + "hFieldOnLBigObject", + "iFieldOnLBigObject", + "jFieldOnLBigObject", + "kFieldOnLBigObject", + "lFieldOnLBigObject", + "mFieldOnLBigObject", + "nFieldOnLBigObject", + "oFieldOnLBigObject", + "pFieldOnLBigObject", + "qFieldOnLBigObject", + "rFieldOnLBigObject", + "sFieldOnLBigObject", + "tFieldOnLBigObject", + "uFieldOnLBigObject", + "vFieldOnLBigObject", + "wFieldOnLBigObject", + "xFieldOnLBigObject", + "yFieldOnLBigObject", + "zFieldOnLBigObject" + ] + }, + { + "typeName": "MBigObject", + "fieldNames": [ + "aFieldOnMBigObject", + "bFieldOnMBigObject", + "cFieldOnMBigObject", + "dFieldOnMBigObject", + "eFieldOnMBigObject", + "fFieldOnMBigObject", + "gFieldOnMBigObject", + "hFieldOnMBigObject", + "iFieldOnMBigObject", + "jFieldOnMBigObject", + "kFieldOnMBigObject", + "lFieldOnMBigObject", + "mFieldOnMBigObject", + "nFieldOnMBigObject", + "oFieldOnMBigObject", + "pFieldOnMBigObject", + "qFieldOnMBigObject", + "rFieldOnMBigObject", + "sFieldOnMBigObject", + "tFieldOnMBigObject", + "uFieldOnMBigObject", + "vFieldOnMBigObject", + "wFieldOnMBigObject", + "xFieldOnMBigObject", + "yFieldOnMBigObject", + "zFieldOnMBigObject" + ] + }, + { + "typeName": "NBigObject", + "fieldNames": [ + "aFieldOnNBigObject", + "bFieldOnNBigObject", + "cFieldOnNBigObject", + "dFieldOnNBigObject", + "eFieldOnNBigObject", + "fFieldOnNBigObject", + "gFieldOnNBigObject", + "hFieldOnNBigObject", + "iFieldOnNBigObject", + "jFieldOnNBigObject", + "kFieldOnNBigObject", + "lFieldOnNBigObject", + "mFieldOnNBigObject", + "nFieldOnNBigObject", + "oFieldOnNBigObject", + "pFieldOnNBigObject", + "qFieldOnNBigObject", + "rFieldOnNBigObject", + "sFieldOnNBigObject", + "tFieldOnNBigObject", + "uFieldOnNBigObject", + "vFieldOnNBigObject", + "wFieldOnNBigObject", + "xFieldOnNBigObject", + "yFieldOnNBigObject", + "zFieldOnNBigObject" + ] + }, + { + "typeName": "OBigObject", + "fieldNames": [ + "aFieldOnOBigObject", + "bFieldOnOBigObject", + "cFieldOnOBigObject", + "dFieldOnOBigObject", + "eFieldOnOBigObject", + "fFieldOnOBigObject", + "gFieldOnOBigObject", + "hFieldOnOBigObject", + "iFieldOnOBigObject", + "jFieldOnOBigObject", + "kFieldOnOBigObject", + "lFieldOnOBigObject", + "mFieldOnOBigObject", + "nFieldOnOBigObject", + "oFieldOnOBigObject", + "pFieldOnOBigObject", + "qFieldOnOBigObject", + "rFieldOnOBigObject", + "sFieldOnOBigObject", + "tFieldOnOBigObject", + "uFieldOnOBigObject", + "vFieldOnOBigObject", + "wFieldOnOBigObject", + "xFieldOnOBigObject", + "yFieldOnOBigObject", + "zFieldOnOBigObject" + ] + }, + { + "typeName": "PBigObject", + "fieldNames": [ + "aFieldOnPBigObject", + "bFieldOnPBigObject", + "cFieldOnPBigObject", + "dFieldOnPBigObject", + "eFieldOnPBigObject", + "fFieldOnPBigObject", + "gFieldOnPBigObject", + "hFieldOnPBigObject", + "iFieldOnPBigObject", + "jFieldOnPBigObject", + "kFieldOnPBigObject", + "lFieldOnPBigObject", + "mFieldOnPBigObject", + "nFieldOnPBigObject", + "oFieldOnPBigObject", + "pFieldOnPBigObject", + "qFieldOnPBigObject", + "rFieldOnPBigObject", + "sFieldOnPBigObject", + "tFieldOnPBigObject", + "uFieldOnPBigObject", + "vFieldOnPBigObject", + "wFieldOnPBigObject", + "xFieldOnPBigObject", + "yFieldOnPBigObject", + "zFieldOnPBigObject" + ] + }, + { + "typeName": "QBigObject", + "fieldNames": [ + "aFieldOnQBigObject", + "bFieldOnQBigObject", + "cFieldOnQBigObject", + "dFieldOnQBigObject", + "eFieldOnQBigObject", + "fFieldOnQBigObject", + "gFieldOnQBigObject", + "hFieldOnQBigObject", + "iFieldOnQBigObject", + "jFieldOnQBigObject", + "kFieldOnQBigObject", + "lFieldOnQBigObject", + "mFieldOnQBigObject", + "nFieldOnQBigObject", + "oFieldOnQBigObject", + "pFieldOnQBigObject", + "qFieldOnQBigObject", + "rFieldOnQBigObject", + "sFieldOnQBigObject", + "tFieldOnQBigObject", + "uFieldOnQBigObject", + "vFieldOnQBigObject", + "wFieldOnQBigObject", + "xFieldOnQBigObject", + "yFieldOnQBigObject", + "zFieldOnQBigObject" + ] + }, + { + "typeName": "RBigObject", + "fieldNames": [ + "aFieldOnRBigObject", + "bFieldOnRBigObject", + "cFieldOnRBigObject", + "dFieldOnRBigObject", + "eFieldOnRBigObject", + "fFieldOnRBigObject", + "gFieldOnRBigObject", + "hFieldOnRBigObject", + "iFieldOnRBigObject", + "jFieldOnRBigObject", + "kFieldOnRBigObject", + "lFieldOnRBigObject", + "mFieldOnRBigObject", + "nFieldOnRBigObject", + "oFieldOnRBigObject", + "pFieldOnRBigObject", + "qFieldOnRBigObject", + "rFieldOnRBigObject", + "sFieldOnRBigObject", + "tFieldOnRBigObject", + "uFieldOnRBigObject", + "vFieldOnRBigObject", + "wFieldOnRBigObject", + "xFieldOnRBigObject", + "yFieldOnRBigObject", + "zFieldOnRBigObject" + ] + }, + { + "typeName": "SBigObject", + "fieldNames": [ + "aFieldOnSBigObject", + "bFieldOnSBigObject", + "cFieldOnSBigObject", + "dFieldOnSBigObject", + "eFieldOnSBigObject", + "fFieldOnSBigObject", + "gFieldOnSBigObject", + "hFieldOnSBigObject", + "iFieldOnSBigObject", + "jFieldOnSBigObject", + "kFieldOnSBigObject", + "lFieldOnSBigObject", + "mFieldOnSBigObject", + "nFieldOnSBigObject", + "oFieldOnSBigObject", + "pFieldOnSBigObject", + "qFieldOnSBigObject", + "rFieldOnSBigObject", + "sFieldOnSBigObject", + "tFieldOnSBigObject", + "uFieldOnSBigObject", + "vFieldOnSBigObject", + "wFieldOnSBigObject", + "xFieldOnSBigObject", + "yFieldOnSBigObject", + "zFieldOnSBigObject" + ] + }, + { + "typeName": "TBigObject", + "fieldNames": [ + "aFieldOnTBigObject", + "bFieldOnTBigObject", + "cFieldOnTBigObject", + "dFieldOnTBigObject", + "eFieldOnTBigObject", + "fFieldOnTBigObject", + "gFieldOnTBigObject", + "hFieldOnTBigObject", + "iFieldOnTBigObject", + "jFieldOnTBigObject", + "kFieldOnTBigObject", + "lFieldOnTBigObject", + "mFieldOnTBigObject", + "nFieldOnTBigObject", + "oFieldOnTBigObject", + "pFieldOnTBigObject", + "qFieldOnTBigObject", + "rFieldOnTBigObject", + "sFieldOnTBigObject", + "tFieldOnTBigObject", + "uFieldOnTBigObject", + "vFieldOnTBigObject", + "wFieldOnTBigObject", + "xFieldOnTBigObject", + "yFieldOnTBigObject", + "zFieldOnTBigObject" + ] + }, + { + "typeName": "UBigObject", + "fieldNames": [ + "aFieldOnUBigObject", + "bFieldOnUBigObject", + "cFieldOnUBigObject", + "dFieldOnUBigObject", + "eFieldOnUBigObject", + "fFieldOnUBigObject", + "gFieldOnUBigObject", + "hFieldOnUBigObject", + "iFieldOnUBigObject", + "jFieldOnUBigObject", + "kFieldOnUBigObject", + "lFieldOnUBigObject", + "mFieldOnUBigObject", + "nFieldOnUBigObject", + "oFieldOnUBigObject", + "pFieldOnUBigObject", + "qFieldOnUBigObject", + "rFieldOnUBigObject", + "sFieldOnUBigObject", + "tFieldOnUBigObject", + "uFieldOnUBigObject", + "vFieldOnUBigObject", + "wFieldOnUBigObject", + "xFieldOnUBigObject", + "yFieldOnUBigObject", + "zFieldOnUBigObject" + ] + }, + { + "typeName": "VBigObject", + "fieldNames": [ + "aFieldOnVBigObject", + "bFieldOnVBigObject", + "cFieldOnVBigObject", + "dFieldOnVBigObject", + "eFieldOnVBigObject", + "fFieldOnVBigObject", + "gFieldOnVBigObject", + "hFieldOnVBigObject", + "iFieldOnVBigObject", + "jFieldOnVBigObject", + "kFieldOnVBigObject", + "lFieldOnVBigObject", + "mFieldOnVBigObject", + "nFieldOnVBigObject", + "oFieldOnVBigObject", + "pFieldOnVBigObject", + "qFieldOnVBigObject", + "rFieldOnVBigObject", + "sFieldOnVBigObject", + "tFieldOnVBigObject", + "uFieldOnVBigObject", + "vFieldOnVBigObject", + "wFieldOnVBigObject", + "xFieldOnVBigObject", + "yFieldOnVBigObject", + "zFieldOnVBigObject" + ] + }, + { + "typeName": "WBigObject", + "fieldNames": [ + "aFieldOnWBigObject", + "bFieldOnWBigObject", + "cFieldOnWBigObject", + "dFieldOnWBigObject", + "eFieldOnWBigObject", + "fFieldOnWBigObject", + "gFieldOnWBigObject", + "hFieldOnWBigObject", + "iFieldOnWBigObject", + "jFieldOnWBigObject", + "kFieldOnWBigObject", + "lFieldOnWBigObject", + "mFieldOnWBigObject", + "nFieldOnWBigObject", + "oFieldOnWBigObject", + "pFieldOnWBigObject", + "qFieldOnWBigObject", + "rFieldOnWBigObject", + "sFieldOnWBigObject", + "tFieldOnWBigObject", + "uFieldOnWBigObject", + "vFieldOnWBigObject", + "wFieldOnWBigObject", + "xFieldOnWBigObject", + "yFieldOnWBigObject", + "zFieldOnWBigObject" + ] + }, + { + "typeName": "XBigObject", + "fieldNames": [ + "aFieldOnXBigObject", + "bFieldOnXBigObject", + "cFieldOnXBigObject", + "dFieldOnXBigObject", + "eFieldOnXBigObject", + "fFieldOnXBigObject", + "gFieldOnXBigObject", + "hFieldOnXBigObject", + "iFieldOnXBigObject", + "jFieldOnXBigObject", + "kFieldOnXBigObject", + "lFieldOnXBigObject", + "mFieldOnXBigObject", + "nFieldOnXBigObject", + "oFieldOnXBigObject", + "pFieldOnXBigObject", + "qFieldOnXBigObject", + "rFieldOnXBigObject", + "sFieldOnXBigObject", + "tFieldOnXBigObject", + "uFieldOnXBigObject", + "vFieldOnXBigObject", + "wFieldOnXBigObject", + "xFieldOnXBigObject", + "yFieldOnXBigObject", + "zFieldOnXBigObject" + ] + }, + { + "typeName": "YBigObject", + "fieldNames": [ + "aFieldOnYBigObject", + "bFieldOnYBigObject", + "cFieldOnYBigObject", + "dFieldOnYBigObject", + "eFieldOnYBigObject", + "fFieldOnYBigObject", + "gFieldOnYBigObject", + "hFieldOnYBigObject", + "iFieldOnYBigObject", + "jFieldOnYBigObject", + "kFieldOnYBigObject", + "lFieldOnYBigObject", + "mFieldOnYBigObject", + "nFieldOnYBigObject", + "oFieldOnYBigObject", + "pFieldOnYBigObject", + "qFieldOnYBigObject", + "rFieldOnYBigObject", + "sFieldOnYBigObject", + "tFieldOnYBigObject", + "uFieldOnYBigObject", + "vFieldOnYBigObject", + "wFieldOnYBigObject", + "xFieldOnYBigObject", + "yFieldOnYBigObject", + "zFieldOnYBigObject" + ] + }, + { + "typeName": "ZBigObject", + "fieldNames": [ + "aFieldOnZBigObject", + "bFieldOnZBigObject", + "cFieldOnZBigObject", + "dFieldOnZBigObject", + "eFieldOnZBigObject", + "fFieldOnZBigObject", + "gFieldOnZBigObject", + "hFieldOnZBigObject", + "iFieldOnZBigObject", + "jFieldOnZBigObject", + "kFieldOnZBigObject", + "lFieldOnZBigObject", + "mFieldOnZBigObject", + "nFieldOnZBigObject", + "oFieldOnZBigObject", + "pFieldOnZBigObject", + "qFieldOnZBigObject", + "rFieldOnZBigObject", + "sFieldOnZBigObject", + "tFieldOnZBigObject", + "uFieldOnZBigObject", + "vFieldOnZBigObject", + "wFieldOnZBigObject", + "xFieldOnZBigObject", + "yFieldOnZBigObject", + "zFieldOnZBigObject" + ] + } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4006/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4006/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\ntype Query {\n \"Returns the value of the received HTTP header.\"\n headerValue(name: String!): String!\n \"Returns the value of the given key in the WS initial payload.\"\n initPayloadValue(key: String!): String!\n initialPayload: Map\n \"Returns response after the given delay\"\n delay(response: String!, ms: Int!): String!\n\n bigResponse(\n artificialDelay: Int! = 0\n bigObjects: Int! = 100\n nestedObjects: Int! = 100\n deeplyNestedObjects: Int! = 100\n ): [BigObject!]!\n\n longResponse(artificialDelay: Int! = 0, bytes: Int!): String\n\n bigAbstractResponse: BigAbstractResponse\n\n rootFieldWithListArg(arg: [String!]!): [String!]!\n rootFieldWithNestedListArg(arg: [[String!]!]!): [[String!]!]!\n rootFieldWithListOfInputArg(arg: [InputType!]!): [InputResponse!]!\n rootFieldWithListOfEnumArg(arg: [EnumType!]!): [EnumType!]!\n rootFieldWithInput(arg: InputArg!): String!\n\n floatField(arg: Float): Float\n\n sharedThings(numOfA: Int! numOfB: Int!): [Thing!]! @shareable\n\n secret: Secret @requiresScopes(scopes: [[\"read:secret\"]])\n}\n\ntype Secret {\n value: String\n}\n\ntype Thing @shareable {\n b: String!\n}\n\ninput InputArg {\n enums: [EnumType!]\n enum: EnumType\n string: String\n strings: [String!]\n}\n\nenum EnumType {\n A\n B\n C\n}\n\ninput InputType {\n arg: String!\n}\n\ntype InputResponse {\n arg: String!\n}\n\nscalar Map\n\ntype TimestampedString {\n \"The value of the string.\"\n value: String!\n \"The timestamp when the response was generated.\"\n unixTime: Int!\n \"Sequence number\"\n seq: Int!\n \"Total number of responses to be sent\"\n total: Int!\n initialPayload: Map\n}\n\ntype Subscription {\n \"Returns a stream with the value of the received HTTP header.\"\n headerValue(name: String!, repeat: Int): TimestampedString!\n \"Returns a stream with the value of value of the given key in the WS initial payload.\"\n initPayloadValue(key: String!, repeat: Int): TimestampedString!\n \"Returns a stream with the value of the WS initial payload.\"\n initialPayload(repeat: Int): Map\n returnsError: String\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n fieldThrowsError: String\n}\n\ntype BigObject {\n nestedObjects: [NestedObject!]!\n}\n\ntype NestedObject {\n deeplyNestedObjects: [DeeplyNestedObject!]!\n}\n\ntype DeeplyNestedObject {\n aFieldOnDeeplyNestedObject: String!\n bFieldOnDeeplyNestedObject: Int!\n cFieldOnDeeplyNestedObject: Boolean!\n dFieldOnDeeplyNestedObject: Float!\n eFieldOnDeeplyNestedObject: String!\n fFieldOnDeeplyNestedObject: Int!\n gFieldOnDeeplyNestedObject: Boolean!\n hFieldOnDeeplyNestedObject: Float!\n iFieldOnDeeplyNestedObject: String!\n jFieldOnDeeplyNestedObject: Int!\n kFieldOnDeeplyNestedObject: Boolean!\n lFieldOnDeeplyNestedObject: Float!\n mFieldOnDeeplyNestedObject: String!\n nFieldOnDeeplyNestedObject: Int!\n oFieldOnDeeplyNestedObject: Boolean!\n pFieldOnDeeplyNestedObject: Float!\n qFieldOnDeeplyNestedObject: String!\n rFieldOnDeeplyNestedObject: Int!\n sFieldOnDeeplyNestedObject: Boolean!\n tFieldOnDeeplyNestedObject: Float!\n uFieldOnDeeplyNestedObject: String!\n vFieldOnDeeplyNestedObject: Int!\n wFieldOnDeeplyNestedObject: Boolean!\n xFieldOnDeeplyNestedObject: Float!\n yFieldOnDeeplyNestedObject: String!\n zFieldOnDeeplyNestedObject: Int!\n}\n\nunion BigAbstractResponse = ABigObject | BBigObject | CBigObject | DBigObject | EBigObject | FBigObject | GBigObject | HBigObject | IBigObject | JBigObject | KBigObject | LBigObject | MBigObject | NBigObject | OBigObject | PBigObject | QBigObject | RBigObject | SBigObject | TBigObject | UBigObject | VBigObject | WBigObject | XBigObject | YBigObject | ZBigObject\n\ntype ABigObject {\n aFieldOnABigObject: String!\n bFieldOnABigObject: Int!\n cFieldOnABigObject: Boolean!\n dFieldOnABigObject: Float!\n eFieldOnABigObject: String!\n fFieldOnABigObject: Int!\n gFieldOnABigObject: Boolean!\n hFieldOnABigObject: Float!\n iFieldOnABigObject: String!\n jFieldOnABigObject: Int!\n kFieldOnABigObject: Boolean!\n lFieldOnABigObject: Float!\n mFieldOnABigObject: String!\n nFieldOnABigObject: Int!\n oFieldOnABigObject: Boolean!\n pFieldOnABigObject: Float!\n qFieldOnABigObject: String!\n rFieldOnABigObject: Int!\n sFieldOnABigObject: Boolean!\n tFieldOnABigObject: Float!\n uFieldOnABigObject: String!\n vFieldOnABigObject: Int!\n wFieldOnABigObject: Boolean!\n xFieldOnABigObject: Float!\n yFieldOnABigObject: String!\n zFieldOnABigObject: Int!\n}\n\ntype BBigObject {\n aFieldOnBBigObject: String!\n bFieldOnBBigObject: Int!\n cFieldOnBBigObject: Boolean!\n dFieldOnBBigObject: Float!\n eFieldOnBBigObject: String!\n fFieldOnBBigObject: Int!\n gFieldOnBBigObject: Boolean!\n hFieldOnBBigObject: Float!\n iFieldOnBBigObject: String!\n jFieldOnBBigObject: Int!\n kFieldOnBBigObject: Boolean!\n lFieldOnBBigObject: Float!\n mFieldOnBBigObject: String!\n nFieldOnBBigObject: Int!\n oFieldOnBBigObject: Boolean!\n pFieldOnBBigObject: Float!\n qFieldOnBBigObject: String!\n rFieldOnBBigObject: Int!\n sFieldOnBBigObject: Boolean!\n tFieldOnBBigObject: Float!\n uFieldOnBBigObject: String!\n vFieldOnBBigObject: Int!\n wFieldOnBBigObject: Boolean!\n xFieldOnBBigObject: Float!\n yFieldOnBBigObject: String!\n zFieldOnBBigObject: Int!\n}\n\ntype CBigObject {\n aFieldOnCBigObject: String!\n bFieldOnCBigObject: Int!\n cFieldOnCBigObject: Boolean!\n dFieldOnCBigObject: Float!\n eFieldOnCBigObject: String!\n fFieldOnCBigObject: Int!\n gFieldOnCBigObject: Boolean!\n hFieldOnCBigObject: Float!\n iFieldOnCBigObject: String!\n jFieldOnCBigObject: Int!\n kFieldOnCBigObject: Boolean!\n lFieldOnCBigObject: Float!\n mFieldOnCBigObject: String!\n nFieldOnCBigObject: Int!\n oFieldOnCBigObject: Boolean!\n pFieldOnCBigObject: Float!\n qFieldOnCBigObject: String!\n rFieldOnCBigObject: Int!\n sFieldOnCBigObject: Boolean!\n tFieldOnCBigObject: Float!\n uFieldOnCBigObject: String!\n vFieldOnCBigObject: Int!\n wFieldOnCBigObject: Boolean!\n xFieldOnCBigObject: Float!\n yFieldOnCBigObject: String!\n zFieldOnCBigObject: Int!\n}\n\ntype DBigObject {\n aFieldOnDBigObject: String!\n bFieldOnDBigObject: Int!\n cFieldOnDBigObject: Boolean!\n dFieldOnDBigObject: Float!\n eFieldOnDBigObject: String!\n fFieldOnDBigObject: Int!\n gFieldOnDBigObject: Boolean!\n hFieldOnDBigObject: Float!\n iFieldOnDBigObject: String!\n jFieldOnDBigObject: Int!\n kFieldOnDBigObject: Boolean!\n lFieldOnDBigObject: Float!\n mFieldOnDBigObject: String!\n nFieldOnDBigObject: Int!\n oFieldOnDBigObject: Boolean!\n pFieldOnDBigObject: Float!\n qFieldOnDBigObject: String!\n rFieldOnDBigObject: Int!\n sFieldOnDBigObject: Boolean!\n tFieldOnDBigObject: Float!\n uFieldOnDBigObject: String!\n vFieldOnDBigObject: Int!\n wFieldOnDBigObject: Boolean!\n xFieldOnDBigObject: Float!\n yFieldOnDBigObject: String!\n zFieldOnDBigObject: Int!\n}\n\ntype EBigObject {\n aFieldOnEBigObject: String!\n bFieldOnEBigObject: Int!\n cFieldOnEBigObject: Boolean!\n dFieldOnEBigObject: Float!\n eFieldOnEBigObject: String!\n fFieldOnEBigObject: Int!\n gFieldOnEBigObject: Boolean!\n hFieldOnEBigObject: Float!\n iFieldOnEBigObject: String!\n jFieldOnEBigObject: Int!\n kFieldOnEBigObject: Boolean!\n lFieldOnEBigObject: Float!\n mFieldOnEBigObject: String!\n nFieldOnEBigObject: Int!\n oFieldOnEBigObject: Boolean!\n pFieldOnEBigObject: Float!\n qFieldOnEBigObject: String!\n rFieldOnEBigObject: Int!\n sFieldOnEBigObject: Boolean!\n tFieldOnEBigObject: Float!\n uFieldOnEBigObject: String!\n vFieldOnEBigObject: Int!\n wFieldOnEBigObject: Boolean!\n xFieldOnEBigObject: Float!\n yFieldOnEBigObject: String!\n zFieldOnEBigObject: Int!\n}\n\ntype FBigObject {\n aFieldOnFBigObject: String!\n bFieldOnFBigObject: Int!\n cFieldOnFBigObject: Boolean!\n dFieldOnFBigObject: Float!\n eFieldOnFBigObject: String!\n fFieldOnFBigObject: Int!\n gFieldOnFBigObject: Boolean!\n hFieldOnFBigObject: Float!\n iFieldOnFBigObject: String!\n jFieldOnFBigObject: Int!\n kFieldOnFBigObject: Boolean!\n lFieldOnFBigObject: Float!\n mFieldOnFBigObject: String!\n nFieldOnFBigObject: Int!\n oFieldOnFBigObject: Boolean!\n pFieldOnFBigObject: Float!\n qFieldOnFBigObject: String!\n rFieldOnFBigObject: Int!\n sFieldOnFBigObject: Boolean!\n tFieldOnFBigObject: Float!\n uFieldOnFBigObject: String!\n vFieldOnFBigObject: Int!\n wFieldOnFBigObject: Boolean!\n xFieldOnFBigObject: Float!\n yFieldOnFBigObject: String!\n zFieldOnFBigObject: Int!\n}\n\ntype GBigObject {\n aFieldOnGBigObject: String!\n bFieldOnGBigObject: Int!\n cFieldOnGBigObject: Boolean!\n dFieldOnGBigObject: Float!\n eFieldOnGBigObject: String!\n fFieldOnGBigObject: Int!\n gFieldOnGBigObject: Boolean!\n hFieldOnGBigObject: Float!\n iFieldOnGBigObject: String!\n jFieldOnGBigObject: Int!\n kFieldOnGBigObject: Boolean!\n lFieldOnGBigObject: Float!\n mFieldOnGBigObject: String!\n nFieldOnGBigObject: Int!\n oFieldOnGBigObject: Boolean!\n pFieldOnGBigObject: Float!\n qFieldOnGBigObject: String!\n rFieldOnGBigObject: Int!\n sFieldOnGBigObject: Boolean!\n tFieldOnGBigObject: Float!\n uFieldOnGBigObject: String!\n vFieldOnGBigObject: Int!\n wFieldOnGBigObject: Boolean!\n xFieldOnGBigObject: Float!\n yFieldOnGBigObject: String!\n zFieldOnGBigObject: Int!\n}\n\ntype HBigObject {\n aFieldOnHBigObject: String!\n bFieldOnHBigObject: Int!\n cFieldOnHBigObject: Boolean!\n dFieldOnHBigObject: Float!\n eFieldOnHBigObject: String!\n fFieldOnHBigObject: Int!\n gFieldOnHBigObject: Boolean!\n hFieldOnHBigObject: Float!\n iFieldOnHBigObject: String!\n jFieldOnHBigObject: Int!\n kFieldOnHBigObject: Boolean!\n lFieldOnHBigObject: Float!\n mFieldOnHBigObject: String!\n nFieldOnHBigObject: Int!\n oFieldOnHBigObject: Boolean!\n pFieldOnHBigObject: Float!\n qFieldOnHBigObject: String!\n rFieldOnHBigObject: Int!\n sFieldOnHBigObject: Boolean!\n tFieldOnHBigObject: Float!\n uFieldOnHBigObject: String!\n vFieldOnHBigObject: Int!\n wFieldOnHBigObject: Boolean!\n xFieldOnHBigObject: Float!\n yFieldOnHBigObject: String!\n zFieldOnHBigObject: Int!\n}\n\ntype IBigObject {\n aFieldOnIBigObject: String!\n bFieldOnIBigObject: Int!\n cFieldOnIBigObject: Boolean!\n dFieldOnIBigObject: Float!\n eFieldOnIBigObject: String!\n fFieldOnIBigObject: Int!\n gFieldOnIBigObject: Boolean!\n hFieldOnIBigObject: Float!\n iFieldOnIBigObject: String!\n jFieldOnIBigObject: Int!\n kFieldOnIBigObject: Boolean!\n lFieldOnIBigObject: Float!\n mFieldOnIBigObject: String!\n nFieldOnIBigObject: Int!\n oFieldOnIBigObject: Boolean!\n pFieldOnIBigObject: Float!\n qFieldOnIBigObject: String!\n rFieldOnIBigObject: Int!\n sFieldOnIBigObject: Boolean!\n tFieldOnIBigObject: Float!\n uFieldOnIBigObject: String!\n vFieldOnIBigObject: Int!\n wFieldOnIBigObject: Boolean!\n xFieldOnIBigObject: Float!\n yFieldOnIBigObject: String!\n zFieldOnIBigObject: Int!\n}\n\ntype JBigObject {\n aFieldOnJBigObject: String!\n bFieldOnJBigObject: Int!\n cFieldOnJBigObject: Boolean!\n dFieldOnJBigObject: Float!\n eFieldOnJBigObject: String!\n fFieldOnJBigObject: Int!\n gFieldOnJBigObject: Boolean!\n hFieldOnJBigObject: Float!\n iFieldOnJBigObject: String!\n jFieldOnJBigObject: Int!\n kFieldOnJBigObject: Boolean!\n lFieldOnJBigObject: Float!\n mFieldOnJBigObject: String!\n nFieldOnJBigObject: Int!\n oFieldOnJBigObject: Boolean!\n pFieldOnJBigObject: Float!\n qFieldOnJBigObject: String!\n rFieldOnJBigObject: Int!\n sFieldOnJBigObject: Boolean!\n tFieldOnJBigObject: Float!\n uFieldOnJBigObject: String!\n vFieldOnJBigObject: Int!\n wFieldOnJBigObject: Boolean!\n xFieldOnJBigObject: Float!\n yFieldOnJBigObject: String!\n zFieldOnJBigObject: Int!\n}\n\ntype KBigObject {\n aFieldOnKBigObject: String!\n bFieldOnKBigObject: Int!\n cFieldOnKBigObject: Boolean!\n dFieldOnKBigObject: Float!\n eFieldOnKBigObject: String!\n fFieldOnKBigObject: Int!\n gFieldOnKBigObject: Boolean!\n hFieldOnKBigObject: Float!\n iFieldOnKBigObject: String!\n jFieldOnKBigObject: Int!\n kFieldOnKBigObject: Boolean!\n lFieldOnKBigObject: Float!\n mFieldOnKBigObject: String!\n nFieldOnKBigObject: Int!\n oFieldOnKBigObject: Boolean!\n pFieldOnKBigObject: Float!\n qFieldOnKBigObject: String!\n rFieldOnKBigObject: Int!\n sFieldOnKBigObject: Boolean!\n tFieldOnKBigObject: Float!\n uFieldOnKBigObject: String!\n vFieldOnKBigObject: Int!\n wFieldOnKBigObject: Boolean!\n xFieldOnKBigObject: Float!\n yFieldOnKBigObject: String!\n zFieldOnKBigObject: Int!\n}\n\ntype LBigObject {\n aFieldOnLBigObject: String!\n bFieldOnLBigObject: Int!\n cFieldOnLBigObject: Boolean!\n dFieldOnLBigObject: Float!\n eFieldOnLBigObject: String!\n fFieldOnLBigObject: Int!\n gFieldOnLBigObject: Boolean!\n hFieldOnLBigObject: Float!\n iFieldOnLBigObject: String!\n jFieldOnLBigObject: Int!\n kFieldOnLBigObject: Boolean!\n lFieldOnLBigObject: Float!\n mFieldOnLBigObject: String!\n nFieldOnLBigObject: Int!\n oFieldOnLBigObject: Boolean!\n pFieldOnLBigObject: Float!\n qFieldOnLBigObject: String!\n rFieldOnLBigObject: Int!\n sFieldOnLBigObject: Boolean!\n tFieldOnLBigObject: Float!\n uFieldOnLBigObject: String!\n vFieldOnLBigObject: Int!\n wFieldOnLBigObject: Boolean!\n xFieldOnLBigObject: Float!\n yFieldOnLBigObject: String!\n zFieldOnLBigObject: Int!\n}\n\ntype MBigObject {\n aFieldOnMBigObject: String!\n bFieldOnMBigObject: Int!\n cFieldOnMBigObject: Boolean!\n dFieldOnMBigObject: Float!\n eFieldOnMBigObject: String!\n fFieldOnMBigObject: Int!\n gFieldOnMBigObject: Boolean!\n hFieldOnMBigObject: Float!\n iFieldOnMBigObject: String!\n jFieldOnMBigObject: Int!\n kFieldOnMBigObject: Boolean!\n lFieldOnMBigObject: Float!\n mFieldOnMBigObject: String!\n nFieldOnMBigObject: Int!\n oFieldOnMBigObject: Boolean!\n pFieldOnMBigObject: Float!\n qFieldOnMBigObject: String!\n rFieldOnMBigObject: Int!\n sFieldOnMBigObject: Boolean!\n tFieldOnMBigObject: Float!\n uFieldOnMBigObject: String!\n vFieldOnMBigObject: Int!\n wFieldOnMBigObject: Boolean!\n xFieldOnMBigObject: Float!\n yFieldOnMBigObject: String!\n zFieldOnMBigObject: Int!\n}\n\ntype NBigObject {\n aFieldOnNBigObject: String!\n bFieldOnNBigObject: Int!\n cFieldOnNBigObject: Boolean!\n dFieldOnNBigObject: Float!\n eFieldOnNBigObject: String!\n fFieldOnNBigObject: Int!\n gFieldOnNBigObject: Boolean!\n hFieldOnNBigObject: Float!\n iFieldOnNBigObject: String!\n jFieldOnNBigObject: Int!\n kFieldOnNBigObject: Boolean!\n lFieldOnNBigObject: Float!\n mFieldOnNBigObject: String!\n nFieldOnNBigObject: Int!\n oFieldOnNBigObject: Boolean!\n pFieldOnNBigObject: Float!\n qFieldOnNBigObject: String!\n rFieldOnNBigObject: Int!\n sFieldOnNBigObject: Boolean!\n tFieldOnNBigObject: Float!\n uFieldOnNBigObject: String!\n vFieldOnNBigObject: Int!\n wFieldOnNBigObject: Boolean!\n xFieldOnNBigObject: Float!\n yFieldOnNBigObject: String!\n zFieldOnNBigObject: Int!\n}\n\ntype OBigObject {\n aFieldOnOBigObject: String!\n bFieldOnOBigObject: Int!\n cFieldOnOBigObject: Boolean!\n dFieldOnOBigObject: Float!\n eFieldOnOBigObject: String!\n fFieldOnOBigObject: Int!\n gFieldOnOBigObject: Boolean!\n hFieldOnOBigObject: Float!\n iFieldOnOBigObject: String!\n jFieldOnOBigObject: Int!\n kFieldOnOBigObject: Boolean!\n lFieldOnOBigObject: Float!\n mFieldOnOBigObject: String!\n nFieldOnOBigObject: Int!\n oFieldOnOBigObject: Boolean!\n pFieldOnOBigObject: Float!\n qFieldOnOBigObject: String!\n rFieldOnOBigObject: Int!\n sFieldOnOBigObject: Boolean!\n tFieldOnOBigObject: Float!\n uFieldOnOBigObject: String!\n vFieldOnOBigObject: Int!\n wFieldOnOBigObject: Boolean!\n xFieldOnOBigObject: Float!\n yFieldOnOBigObject: String!\n zFieldOnOBigObject: Int!\n}\n\ntype PBigObject {\n aFieldOnPBigObject: String!\n bFieldOnPBigObject: Int!\n cFieldOnPBigObject: Boolean!\n dFieldOnPBigObject: Float!\n eFieldOnPBigObject: String!\n fFieldOnPBigObject: Int!\n gFieldOnPBigObject: Boolean!\n hFieldOnPBigObject: Float!\n iFieldOnPBigObject: String!\n jFieldOnPBigObject: Int!\n kFieldOnPBigObject: Boolean!\n lFieldOnPBigObject: Float!\n mFieldOnPBigObject: String!\n nFieldOnPBigObject: Int!\n oFieldOnPBigObject: Boolean!\n pFieldOnPBigObject: Float!\n qFieldOnPBigObject: String!\n rFieldOnPBigObject: Int!\n sFieldOnPBigObject: Boolean!\n tFieldOnPBigObject: Float!\n uFieldOnPBigObject: String!\n vFieldOnPBigObject: Int!\n wFieldOnPBigObject: Boolean!\n xFieldOnPBigObject: Float!\n yFieldOnPBigObject: String!\n zFieldOnPBigObject: Int!\n}\n\ntype QBigObject {\n aFieldOnQBigObject: String!\n bFieldOnQBigObject: Int!\n cFieldOnQBigObject: Boolean!\n dFieldOnQBigObject: Float!\n eFieldOnQBigObject: String!\n fFieldOnQBigObject: Int!\n gFieldOnQBigObject: Boolean!\n hFieldOnQBigObject: Float!\n iFieldOnQBigObject: String!\n jFieldOnQBigObject: Int!\n kFieldOnQBigObject: Boolean!\n lFieldOnQBigObject: Float!\n mFieldOnQBigObject: String!\n nFieldOnQBigObject: Int!\n oFieldOnQBigObject: Boolean!\n pFieldOnQBigObject: Float!\n qFieldOnQBigObject: String!\n rFieldOnQBigObject: Int!\n sFieldOnQBigObject: Boolean!\n tFieldOnQBigObject: Float!\n uFieldOnQBigObject: String!\n vFieldOnQBigObject: Int!\n wFieldOnQBigObject: Boolean!\n xFieldOnQBigObject: Float!\n yFieldOnQBigObject: String!\n zFieldOnQBigObject: Int!\n}\n\ntype RBigObject {\n aFieldOnRBigObject: String!\n bFieldOnRBigObject: Int!\n cFieldOnRBigObject: Boolean!\n dFieldOnRBigObject: Float!\n eFieldOnRBigObject: String!\n fFieldOnRBigObject: Int!\n gFieldOnRBigObject: Boolean!\n hFieldOnRBigObject: Float!\n iFieldOnRBigObject: String!\n jFieldOnRBigObject: Int!\n kFieldOnRBigObject: Boolean!\n lFieldOnRBigObject: Float!\n mFieldOnRBigObject: String!\n nFieldOnRBigObject: Int!\n oFieldOnRBigObject: Boolean!\n pFieldOnRBigObject: Float!\n qFieldOnRBigObject: String!\n rFieldOnRBigObject: Int!\n sFieldOnRBigObject: Boolean!\n tFieldOnRBigObject: Float!\n uFieldOnRBigObject: String!\n vFieldOnRBigObject: Int!\n wFieldOnRBigObject: Boolean!\n xFieldOnRBigObject: Float!\n yFieldOnRBigObject: String!\n zFieldOnRBigObject: Int!\n}\n\ntype SBigObject {\n aFieldOnSBigObject: String!\n bFieldOnSBigObject: Int!\n cFieldOnSBigObject: Boolean!\n dFieldOnSBigObject: Float!\n eFieldOnSBigObject: String!\n fFieldOnSBigObject: Int!\n gFieldOnSBigObject: Boolean!\n hFieldOnSBigObject: Float!\n iFieldOnSBigObject: String!\n jFieldOnSBigObject: Int!\n kFieldOnSBigObject: Boolean!\n lFieldOnSBigObject: Float!\n mFieldOnSBigObject: String!\n nFieldOnSBigObject: Int!\n oFieldOnSBigObject: Boolean!\n pFieldOnSBigObject: Float!\n qFieldOnSBigObject: String!\n rFieldOnSBigObject: Int!\n sFieldOnSBigObject: Boolean!\n tFieldOnSBigObject: Float!\n uFieldOnSBigObject: String!\n vFieldOnSBigObject: Int!\n wFieldOnSBigObject: Boolean!\n xFieldOnSBigObject: Float!\n yFieldOnSBigObject: String!\n zFieldOnSBigObject: Int!\n}\n\ntype TBigObject {\n aFieldOnTBigObject: String!\n bFieldOnTBigObject: Int!\n cFieldOnTBigObject: Boolean!\n dFieldOnTBigObject: Float!\n eFieldOnTBigObject: String!\n fFieldOnTBigObject: Int!\n gFieldOnTBigObject: Boolean!\n hFieldOnTBigObject: Float!\n iFieldOnTBigObject: String!\n jFieldOnTBigObject: Int!\n kFieldOnTBigObject: Boolean!\n lFieldOnTBigObject: Float!\n mFieldOnTBigObject: String!\n nFieldOnTBigObject: Int!\n oFieldOnTBigObject: Boolean!\n pFieldOnTBigObject: Float!\n qFieldOnTBigObject: String!\n rFieldOnTBigObject: Int!\n sFieldOnTBigObject: Boolean!\n tFieldOnTBigObject: Float!\n uFieldOnTBigObject: String!\n vFieldOnTBigObject: Int!\n wFieldOnTBigObject: Boolean!\n xFieldOnTBigObject: Float!\n yFieldOnTBigObject: String!\n zFieldOnTBigObject: Int!\n}\n\ntype UBigObject {\n aFieldOnUBigObject: String!\n bFieldOnUBigObject: Int!\n cFieldOnUBigObject: Boolean!\n dFieldOnUBigObject: Float!\n eFieldOnUBigObject: String!\n fFieldOnUBigObject: Int!\n gFieldOnUBigObject: Boolean!\n hFieldOnUBigObject: Float!\n iFieldOnUBigObject: String!\n jFieldOnUBigObject: Int!\n kFieldOnUBigObject: Boolean!\n lFieldOnUBigObject: Float!\n mFieldOnUBigObject: String!\n nFieldOnUBigObject: Int!\n oFieldOnUBigObject: Boolean!\n pFieldOnUBigObject: Float!\n qFieldOnUBigObject: String!\n rFieldOnUBigObject: Int!\n sFieldOnUBigObject: Boolean!\n tFieldOnUBigObject: Float!\n uFieldOnUBigObject: String!\n vFieldOnUBigObject: Int!\n wFieldOnUBigObject: Boolean!\n xFieldOnUBigObject: Float!\n yFieldOnUBigObject: String!\n zFieldOnUBigObject: Int!\n}\n\ntype VBigObject {\n aFieldOnVBigObject: String!\n bFieldOnVBigObject: Int!\n cFieldOnVBigObject: Boolean!\n dFieldOnVBigObject: Float!\n eFieldOnVBigObject: String!\n fFieldOnVBigObject: Int!\n gFieldOnVBigObject: Boolean!\n hFieldOnVBigObject: Float!\n iFieldOnVBigObject: String!\n jFieldOnVBigObject: Int!\n kFieldOnVBigObject: Boolean!\n lFieldOnVBigObject: Float!\n mFieldOnVBigObject: String!\n nFieldOnVBigObject: Int!\n oFieldOnVBigObject: Boolean!\n pFieldOnVBigObject: Float!\n qFieldOnVBigObject: String!\n rFieldOnVBigObject: Int!\n sFieldOnVBigObject: Boolean!\n tFieldOnVBigObject: Float!\n uFieldOnVBigObject: String!\n vFieldOnVBigObject: Int!\n wFieldOnVBigObject: Boolean!\n xFieldOnVBigObject: Float!\n yFieldOnVBigObject: String!\n zFieldOnVBigObject: Int!\n}\n\ntype WBigObject {\n aFieldOnWBigObject: String!\n bFieldOnWBigObject: Int!\n cFieldOnWBigObject: Boolean!\n dFieldOnWBigObject: Float!\n eFieldOnWBigObject: String!\n fFieldOnWBigObject: Int!\n gFieldOnWBigObject: Boolean!\n hFieldOnWBigObject: Float!\n iFieldOnWBigObject: String!\n jFieldOnWBigObject: Int!\n kFieldOnWBigObject: Boolean!\n lFieldOnWBigObject: Float!\n mFieldOnWBigObject: String!\n nFieldOnWBigObject: Int!\n oFieldOnWBigObject: Boolean!\n pFieldOnWBigObject: Float!\n qFieldOnWBigObject: String!\n rFieldOnWBigObject: Int!\n sFieldOnWBigObject: Boolean!\n tFieldOnWBigObject: Float!\n uFieldOnWBigObject: String!\n vFieldOnWBigObject: Int!\n wFieldOnWBigObject: Boolean!\n xFieldOnWBigObject: Float!\n yFieldOnWBigObject: String!\n zFieldOnWBigObject: Int!\n}\n\ntype XBigObject {\n aFieldOnXBigObject: String!\n bFieldOnXBigObject: Int!\n cFieldOnXBigObject: Boolean!\n dFieldOnXBigObject: Float!\n eFieldOnXBigObject: String!\n fFieldOnXBigObject: Int!\n gFieldOnXBigObject: Boolean!\n hFieldOnXBigObject: Float!\n iFieldOnXBigObject: String!\n jFieldOnXBigObject: Int!\n kFieldOnXBigObject: Boolean!\n lFieldOnXBigObject: Float!\n mFieldOnXBigObject: String!\n nFieldOnXBigObject: Int!\n oFieldOnXBigObject: Boolean!\n pFieldOnXBigObject: Float!\n qFieldOnXBigObject: String!\n rFieldOnXBigObject: Int!\n sFieldOnXBigObject: Boolean!\n tFieldOnXBigObject: Float!\n uFieldOnXBigObject: String!\n vFieldOnXBigObject: Int!\n wFieldOnXBigObject: Boolean!\n xFieldOnXBigObject: Float!\n yFieldOnXBigObject: String!\n zFieldOnXBigObject: Int!\n}\n\ntype YBigObject {\n aFieldOnYBigObject: String!\n bFieldOnYBigObject: Int!\n cFieldOnYBigObject: Boolean!\n dFieldOnYBigObject: Float!\n eFieldOnYBigObject: String!\n fFieldOnYBigObject: Int!\n gFieldOnYBigObject: Boolean!\n hFieldOnYBigObject: Float!\n iFieldOnYBigObject: String!\n jFieldOnYBigObject: Int!\n kFieldOnYBigObject: Boolean!\n lFieldOnYBigObject: Float!\n mFieldOnYBigObject: String!\n nFieldOnYBigObject: Int!\n oFieldOnYBigObject: Boolean!\n pFieldOnYBigObject: Float!\n qFieldOnYBigObject: String!\n rFieldOnYBigObject: Int!\n sFieldOnYBigObject: Boolean!\n tFieldOnYBigObject: Float!\n uFieldOnYBigObject: String!\n vFieldOnYBigObject: Int!\n wFieldOnYBigObject: Boolean!\n xFieldOnYBigObject: Float!\n yFieldOnYBigObject: String!\n zFieldOnYBigObject: Int!\n}\n\ntype ZBigObject {\n aFieldOnZBigObject: String!\n bFieldOnZBigObject: Int!\n cFieldOnZBigObject: Boolean!\n dFieldOnZBigObject: Float!\n eFieldOnZBigObject: String!\n fFieldOnZBigObject: Int!\n gFieldOnZBigObject: Boolean!\n hFieldOnZBigObject: Float!\n iFieldOnZBigObject: String!\n jFieldOnZBigObject: Int!\n kFieldOnZBigObject: Boolean!\n lFieldOnZBigObject: Float!\n mFieldOnZBigObject: String!\n nFieldOnZBigObject: Int!\n oFieldOnZBigObject: Boolean!\n pFieldOnZBigObject: Float!\n qFieldOnZBigObject: String!\n rFieldOnZBigObject: Int!\n sFieldOnZBigObject: Boolean!\n tFieldOnZBigObject: Float!\n uFieldOnZBigObject: String!\n vFieldOnZBigObject: Int!\n wFieldOnZBigObject: Boolean!\n xFieldOnZBigObject: Float!\n yFieldOnZBigObject: String!\n zFieldOnZBigObject: Int!\n}" + }, + "upstreamSchema": { "key": "5c5a237ac1f0c1d67ae52534584ee8116d4cc474" } + }, + "requestTimeoutSeconds": "10", + "id": "4", + "keys": [{ "typeName": "Employee", "selectionSet": "id" }] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { "typeName": "Mutation", "fieldNames": ["updateAvailability"] }, + { "typeName": "Employee", "fieldNames": ["id", "isAvailable"] } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4007/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4007/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\ntype Mutation {\n \"\"\" This mutation updates the availability status of an employee in the system.\"\"\"\n updateAvailability(employeeID: Int!, isAvailable: Boolean!): Employee!\n}\ntype Employee @key(fields: \"id\") {\n id: Int!\n isAvailable: Boolean\n}\n" + }, + "upstreamSchema": { "key": "865e365ca4e3de8aec4ccd25e875ca9a82a7edde" } + }, + "requestTimeoutSeconds": "10", + "id": "5", + "keys": [{ "typeName": "Employee", "selectionSet": "id" }] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { "typeName": "Mutation", "fieldNames": ["updateMood"] }, + { "typeName": "Employee", "fieldNames": ["id", "currentMood"] } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4008/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4008/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\ntype Mutation {\n \"\"\" This mutation update the mood of an employee. \"\"\"\n updateMood(employeeID: Int!, mood: Mood!): Employee!\n}\n\nenum Mood {\n APATHETIC @inaccessible\n HAPPY\n SAD\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n currentMood: Mood!\n}\n" + }, + "upstreamSchema": { "key": "10eccb92890a5709d24ac8c1293264d758b997c7" } + }, + "requestTimeoutSeconds": "10", + "id": "6", + "keys": [{ "typeName": "Employee", "selectionSet": "id" }] + }, + { + "kind": "GRAPHQL", + "rootNodes": [{ "typeName": "Country", "fieldNames": ["key", "language"] }], + "childNodes": [{ "typeName": "CountryKey", "fieldNames": ["name"] }], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4009/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4009/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\n# Using a nested key field simply because it can showcase potential bug\n# vectors / Federation capabilities.\ntype Country @key(fields: \"key { name }\") {\n key: CountryKey!\n language: String\n}\n\ntype CountryKey {\n name: String!\n}\n" + }, + "upstreamSchema": { "key": "0c7a814514a54c0b54af7ea5fa33730a321921e6" } + }, + "requestTimeoutSeconds": "10", + "id": "7", + "keys": [{ "typeName": "Country", "selectionSet": "key { name }" }] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { + "typeName": "Query", + "fieldNames": [ + "projects", + "project", + "projectStatuses", + "projectsByStatus", + "projectResources", + "searchProjects", + "milestones", + "tasks", + "projectActivities", + "projectTags", + "archivedProjects", + "tasksByPriority", + "resourceMatrix", + "killService", + "panic", + "nodesById" + ] + }, + { "typeName": "Mutation", "fieldNames": ["addProject", "addMilestone", "addTask", "updateProjectStatus"] }, + { + "typeName": "Project", + "fieldNames": [ + "id", + "name", + "description", + "startDate", + "endDate", + "status", + "teamMembers", + "relatedProducts", + "milestoneIds", + "milestones", + "tasks", + "progress", + "tags", + "alternativeProjects", + "dependencies", + "resourceGroups", + "tasksByPhase", + "milestoneGroups", + "priorityMatrix", + "subProjects", + "filteredTasks", + "completionRate", + "estimatedDaysRemaining", + "criticalDeadline", + "topPriorityItem" + ] + }, + { + "typeName": "Milestone", + "fieldNames": [ + "id", + "projectId", + "name", + "description", + "startDate", + "endDate", + "status", + "completionPercentage", + "dependencies", + "subtasks", + "reviewers", + "isAtRisk", + "daysUntilDue" + ] + }, + { + "typeName": "Task", + "fieldNames": [ + "id", + "projectId", + "milestoneId", + "assigneeId", + "name", + "description", + "priority", + "status", + "estimatedHours", + "actualHours", + "createdAt", + "completedAt", + "labels", + "subtasks", + "dependencies", + "attachmentUrls", + "reviewerIds", + "isBlocked", + "totalEffort" + ] + }, + { + "typeName": "Employee", + "fieldNames": [ + "id", + "projects", + "assignedTasks", + "completedTasks", + "skills", + "certifications", + "projectHistory", + "currentWorkload", + "averageTaskCompletionDays" + ] + }, + { "typeName": "Product", "fieldNames": ["upc", "projects", "featureMatrix"] } + ], + "childNodes": [ + { "typeName": "Node", "fieldNames": ["id"] }, + { "typeName": "Timestamped", "fieldNames": ["startDate", "endDate"] }, + { "typeName": "Assignable", "fieldNames": ["assigneeId"] }, + { + "typeName": "ProjectUpdate", + "fieldNames": ["id", "projectId", "updatedById", "updateType", "description", "timestamp", "metadata"] + } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:3000/plugin/8" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { "enabled": true }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\nschema {\n query: Query\n mutation: Mutation\n}\n\ntype Query {\n projects: [Project!]!\n project(id: ID!): Project\n projectStatuses: [ProjectStatus!]!\n projectsByStatus(status: ProjectStatus!): [Project!]!\n projectResources(projectId: ID!): [ProjectResource!]!\n searchProjects(query: String!): [ProjectSearchResult!]!\n milestones(projectId: ID!): [Milestone!]!\n tasks(projectId: ID!): [Task!]!\n projectActivities(projectId: ID!): [ProjectActivity!]!\n\n # New query fields with different list patterns\n projectTags: [String] # nullable list of nullable strings\n archivedProjects: [Project]! # non-nullable list of nullable projects\n tasksByPriority(projectId: ID!): [[Task]] # nullable list of nullable lists\n resourceMatrix(projectId: ID!): [[ProjectResource!]!]! # non-nullable list of non-nullable lists\n\n # query to simulate that the service goes down\n killService: Boolean!\n panic: Boolean!\n\n nodesById(id: ID!): [Node!]!\n}\n\ntype Mutation {\n addProject(project: ProjectInput!): Project!\n addMilestone(milestone: MilestoneInput!): Milestone!\n addTask(task: TaskInput!): Task!\n updateProjectStatus(projectId: ID!, status: ProjectStatus!): ProjectUpdate!\n}\n\ninput ProjectInput {\n name: String!\n description: String\n startDate: String # ISO date\n endDate: String # ISO date\n status: ProjectStatus!\n}\n\ninput MilestoneInput {\n projectId: ID!\n name: String!\n description: String\n dueDate: String # ISO date\n status: MilestoneStatus!\n}\n\ninput TaskInput {\n projectId: ID!\n assigneeId: Int\n name: String!\n description: String\n priority: TaskPriority!\n status: TaskStatus!\n estimatedHours: Float\n}\n\n# Interfaces\ninterface Node {\n id: ID!\n}\n\ninterface Timestamped {\n startDate: String\n endDate: String\n}\n\ninterface Assignable {\n assigneeId: Int\n}\n\n# Updated Project type implementing interfaces\ntype Project implements Node & Timestamped @key(fields: \"id\") {\n id: ID!\n name: String!\n description: String\n startDate: String # ISO date\n endDate: String # ISO date\n status: ProjectStatus!\n # Federated references:\n teamMembers: [Employee!]!\n relatedProducts: [Product!]! # from products subgraph\n # Project milestones or checkpoints\n milestoneIds: [String!] # Array of milestone identifiers\n\n # New fields for extended functionality\n milestones: [Milestone!]!\n tasks: [Task!]!\n progress: Float # Completion percentage\n\n # New fields with various list patterns for testing\n tags: [String] # nullable list of nullable tags\n alternativeProjects: [Project] # nullable list of nullable projects\n dependencies: [Project!] # nullable list of non-nullable projects\n resourceGroups: [[ProjectResource!]!]! # nested lists: non-nullable list of non-nullable lists\n tasksByPhase: [[Task!]]! # nested lists: non-nullable list of nullable lists\n milestoneGroups: [[Milestone]] # nested lists: nullable list of nullable lists\n priorityMatrix: [[[Task!]!]!] # triple nested: non-nullable list of non-nullable lists of non-nullable lists\n\n # Recursive field resolver for project hierarchy\n subProjects(includeArchived: Boolean): [Project!]! @connect__fieldResolver(context: \"id name status\")\n\n # Computed fields with @connect__fieldResolver\n filteredTasks(status: TaskStatus, priority: TaskPriority, limit: Int): [Task!]! @connect__fieldResolver(context: \"id\")\n completionRate(includeSubtasks: Boolean): Float! @connect__fieldResolver(context: \"id startDate endDate status\")\n estimatedDaysRemaining(fromDate: String): Int @connect__fieldResolver(context: \"id endDate status\")\n criticalDeadline(withinDays: Int): Timestamped @connect__fieldResolver(context: \"id status milestones\")\n topPriorityItem(category: String): ProjectSearchResult @connect__fieldResolver(context: \"id status\")\n}\n\n# New types - simplified with ID references only\ntype Milestone implements Node & Timestamped @key(fields: \"id\") {\n id: ID!\n projectId: ID!\n name: String!\n description: String\n startDate: String # ISO date (when milestone work starts)\n endDate: String # ISO date (milestone due date)\n status: MilestoneStatus!\n completionPercentage: Float\n\n # New fields with different list patterns\n dependencies: [Milestone]! # non-nullable list of nullable milestones\n subtasks: [Task] # nullable list of nullable tasks\n reviewers: [Employee!] # nullable list of non-nullable employees\n\n # Computed fields with @connect__fieldResolver\n isAtRisk(threshold: Float): Boolean! @connect__fieldResolver(context: \"id endDate status completionPercentage\")\n daysUntilDue(fromDate: String): Int @connect__fieldResolver(context: \"endDate\")\n}\n\ntype Task implements Node & Assignable @key(fields: \"id\") {\n id: ID!\n projectId: ID!\n milestoneId: ID\n assigneeId: Int\n name: String!\n description: String\n priority: TaskPriority!\n status: TaskStatus!\n estimatedHours: Float @deprecated(reason: \"No more estimations!\")\n actualHours: Float\n createdAt: String # ISO date\n completedAt: String # ISO date\n\n # New fields with different list patterns\n labels: [String] # nullable list of nullable labels\n subtasks: [Task!] # nullable list of non-nullable subtasks\n dependencies: [Task]! # non-nullable list of nullable tasks\n attachmentUrls: [String!]! # non-nullable list of non-nullable URLs\n reviewerIds: [Int] # nullable list of nullable reviewer IDs\n\n # Computed fields with @connect__fieldResolver\n isBlocked(checkDependencies: Boolean): Boolean! @connect__fieldResolver(context: \"id status\")\n totalEffort(includeSubtasks: Boolean): Float @connect__fieldResolver(context: \"id estimatedHours actualHours\")\n}\n\ntype ProjectUpdate implements Node {\n id: ID!\n projectId: ID!\n updatedById: Int!\n updateType: ProjectUpdateType!\n description: String!\n timestamp: String! # ISO date\n metadata: String # JSON metadata\n}\n\n# Enums\nenum ProjectStatus {\n PLANNING\n ACTIVE\n COMPLETED\n ON_HOLD\n}\n\nenum MilestoneStatus {\n PENDING\n IN_PROGRESS\n COMPLETED\n DELAYED\n}\n\nenum TaskStatus {\n TODO\n IN_PROGRESS\n REVIEW\n COMPLETED\n BLOCKED\n}\n\nenum TaskPriority {\n LOW\n MEDIUM\n HIGH\n URGENT\n}\n\nenum ProjectUpdateType {\n STATUS_CHANGE\n MILESTONE_ADDED\n TASK_ASSIGNED\n PROGRESS_UPDATE\n TEAM_CHANGE\n}\n\n# Unions\nunion ProjectResource = Employee | Product | Milestone | Task\n\nunion ProjectSearchResult = Project | Milestone | Task\n\nunion ProjectActivity = ProjectUpdate | Milestone | Task\n\n# Federated types (unchanged)\ntype Employee @key(fields: \"id\") {\n id: Int!\n # New field resolved by this subgraph:\n projects: [Project!]\n # New fields for extended functionality\n assignedTasks: [Task!]!\n completedTasks: [Task!]!\n\n # New fields with different list patterns\n skills: [String] # nullable list of nullable skills\n certifications: [String!] # nullable list of non-nullable certifications\n projectHistory: [[Project!]]! # non-nullable list of nullable lists of non-nullable projects\n\n # Computed fields with @connect__fieldResolver\n currentWorkload(includeCompleted: Boolean, projectId: ID): Int! @connect__fieldResolver(context: \"id\")\n averageTaskCompletionDays(projectId: ID, priority: TaskPriority): Float @connect__fieldResolver(context: \"id\")\n}\n\ntype Product @key(fields: \"upc\") {\n upc: String!\n # Projects contributing to this product:\n projects: [Project!]\n\n # New field with nested lists\n featureMatrix: [[String]] # nullable list of nullable lists of nullable features\n}\n" + }, + "upstreamSchema": { "key": "34e8a6b5fb00b0e37f716f0005c5bf6eee09c65c" }, + "grpc": { + "mapping": { + "version": 1, + "service": "ProjectsService", + "operationMappings": [ + { + "type": "OPERATION_TYPE_QUERY", + "original": "projects", + "mapped": "QueryProjects", + "request": "QueryProjectsRequest", + "response": "QueryProjectsResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "project", + "mapped": "QueryProject", + "request": "QueryProjectRequest", + "response": "QueryProjectResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "projectStatuses", + "mapped": "QueryProjectStatuses", + "request": "QueryProjectStatusesRequest", + "response": "QueryProjectStatusesResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "projectsByStatus", + "mapped": "QueryProjectsByStatus", + "request": "QueryProjectsByStatusRequest", + "response": "QueryProjectsByStatusResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "projectResources", + "mapped": "QueryProjectResources", + "request": "QueryProjectResourcesRequest", + "response": "QueryProjectResourcesResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "searchProjects", + "mapped": "QuerySearchProjects", + "request": "QuerySearchProjectsRequest", + "response": "QuerySearchProjectsResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "milestones", + "mapped": "QueryMilestones", + "request": "QueryMilestonesRequest", + "response": "QueryMilestonesResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "tasks", + "mapped": "QueryTasks", + "request": "QueryTasksRequest", + "response": "QueryTasksResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "projectActivities", + "mapped": "QueryProjectActivities", + "request": "QueryProjectActivitiesRequest", + "response": "QueryProjectActivitiesResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "projectTags", + "mapped": "QueryProjectTags", + "request": "QueryProjectTagsRequest", + "response": "QueryProjectTagsResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "archivedProjects", + "mapped": "QueryArchivedProjects", + "request": "QueryArchivedProjectsRequest", + "response": "QueryArchivedProjectsResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "tasksByPriority", + "mapped": "QueryTasksByPriority", + "request": "QueryTasksByPriorityRequest", + "response": "QueryTasksByPriorityResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "resourceMatrix", + "mapped": "QueryResourceMatrix", + "request": "QueryResourceMatrixRequest", + "response": "QueryResourceMatrixResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "killService", + "mapped": "QueryKillService", + "request": "QueryKillServiceRequest", + "response": "QueryKillServiceResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "panic", + "mapped": "QueryPanic", + "request": "QueryPanicRequest", + "response": "QueryPanicResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "nodesById", + "mapped": "QueryNodesById", + "request": "QueryNodesByIdRequest", + "response": "QueryNodesByIdResponse" + }, + { + "type": "OPERATION_TYPE_MUTATION", + "original": "addProject", + "mapped": "MutationAddProject", + "request": "MutationAddProjectRequest", + "response": "MutationAddProjectResponse" + }, + { + "type": "OPERATION_TYPE_MUTATION", + "original": "addMilestone", + "mapped": "MutationAddMilestone", + "request": "MutationAddMilestoneRequest", + "response": "MutationAddMilestoneResponse" + }, + { + "type": "OPERATION_TYPE_MUTATION", + "original": "addTask", + "mapped": "MutationAddTask", + "request": "MutationAddTaskRequest", + "response": "MutationAddTaskResponse" + }, + { + "type": "OPERATION_TYPE_MUTATION", + "original": "updateProjectStatus", + "mapped": "MutationUpdateProjectStatus", + "request": "MutationUpdateProjectStatusRequest", + "response": "MutationUpdateProjectStatusResponse" + } + ], + "entityMappings": [ + { + "typeName": "Project", + "kind": "entity", + "key": "id", + "rpc": "LookupProjectById", + "request": "LookupProjectByIdRequest", + "response": "LookupProjectByIdResponse" + }, + { + "typeName": "Milestone", + "kind": "entity", + "key": "id", + "rpc": "LookupMilestoneById", + "request": "LookupMilestoneByIdRequest", + "response": "LookupMilestoneByIdResponse" + }, + { + "typeName": "Task", + "kind": "entity", + "key": "id", + "rpc": "LookupTaskById", + "request": "LookupTaskByIdRequest", + "response": "LookupTaskByIdResponse" + }, + { + "typeName": "Employee", + "kind": "entity", + "key": "id", + "rpc": "LookupEmployeeById", + "request": "LookupEmployeeByIdRequest", + "response": "LookupEmployeeByIdResponse" + }, + { + "typeName": "Product", + "kind": "entity", + "key": "upc", + "rpc": "LookupProductByUpc", + "request": "LookupProductByUpcRequest", + "response": "LookupProductByUpcResponse" + } + ], + "typeFieldMappings": [ + { + "type": "Query", + "fieldMappings": [ + { "original": "projects", "mapped": "projects" }, + { + "original": "project", + "mapped": "project", + "argumentMappings": [{ "original": "id", "mapped": "id" }] + }, + { "original": "projectStatuses", "mapped": "project_statuses" }, + { + "original": "projectsByStatus", + "mapped": "projects_by_status", + "argumentMappings": [{ "original": "status", "mapped": "status" }] + }, + { + "original": "projectResources", + "mapped": "project_resources", + "argumentMappings": [{ "original": "projectId", "mapped": "project_id" }] + }, + { + "original": "searchProjects", + "mapped": "search_projects", + "argumentMappings": [{ "original": "query", "mapped": "query" }] + }, + { + "original": "milestones", + "mapped": "milestones", + "argumentMappings": [{ "original": "projectId", "mapped": "project_id" }] + }, + { + "original": "tasks", + "mapped": "tasks", + "argumentMappings": [{ "original": "projectId", "mapped": "project_id" }] + }, + { + "original": "projectActivities", + "mapped": "project_activities", + "argumentMappings": [{ "original": "projectId", "mapped": "project_id" }] + }, + { "original": "projectTags", "mapped": "project_tags" }, + { "original": "archivedProjects", "mapped": "archived_projects" }, + { + "original": "tasksByPriority", + "mapped": "tasks_by_priority", + "argumentMappings": [{ "original": "projectId", "mapped": "project_id" }] + }, + { + "original": "resourceMatrix", + "mapped": "resource_matrix", + "argumentMappings": [{ "original": "projectId", "mapped": "project_id" }] + }, + { "original": "killService", "mapped": "kill_service" }, + { "original": "panic", "mapped": "panic" }, + { + "original": "nodesById", + "mapped": "nodes_by_id", + "argumentMappings": [{ "original": "id", "mapped": "id" }] + } + ] + }, + { + "type": "Mutation", + "fieldMappings": [ + { + "original": "addProject", + "mapped": "add_project", + "argumentMappings": [{ "original": "project", "mapped": "project" }] + }, + { + "original": "addMilestone", + "mapped": "add_milestone", + "argumentMappings": [{ "original": "milestone", "mapped": "milestone" }] + }, + { + "original": "addTask", + "mapped": "add_task", + "argumentMappings": [{ "original": "task", "mapped": "task" }] + }, + { + "original": "updateProjectStatus", + "mapped": "update_project_status", + "argumentMappings": [ + { "original": "projectId", "mapped": "project_id" }, + { "original": "status", "mapped": "status" } + ] + } + ] + }, + { + "type": "ProjectInput", + "fieldMappings": [ + { "original": "name", "mapped": "name" }, + { "original": "description", "mapped": "description" }, + { "original": "startDate", "mapped": "start_date" }, + { "original": "endDate", "mapped": "end_date" }, + { "original": "status", "mapped": "status" } + ] + }, + { + "type": "MilestoneInput", + "fieldMappings": [ + { "original": "projectId", "mapped": "project_id" }, + { "original": "name", "mapped": "name" }, + { "original": "description", "mapped": "description" }, + { "original": "dueDate", "mapped": "due_date" }, + { "original": "status", "mapped": "status" } + ] + }, + { + "type": "TaskInput", + "fieldMappings": [ + { "original": "projectId", "mapped": "project_id" }, + { "original": "assigneeId", "mapped": "assignee_id" }, + { "original": "name", "mapped": "name" }, + { "original": "description", "mapped": "description" }, + { "original": "priority", "mapped": "priority" }, + { "original": "status", "mapped": "status" }, + { "original": "estimatedHours", "mapped": "estimated_hours" } + ] + }, + { + "type": "Project", + "fieldMappings": [ + { "original": "id", "mapped": "id" }, + { "original": "name", "mapped": "name" }, + { "original": "description", "mapped": "description" }, + { "original": "startDate", "mapped": "start_date" }, + { "original": "endDate", "mapped": "end_date" }, + { "original": "status", "mapped": "status" }, + { "original": "teamMembers", "mapped": "team_members" }, + { "original": "relatedProducts", "mapped": "related_products" }, + { "original": "milestoneIds", "mapped": "milestone_ids" }, + { "original": "milestones", "mapped": "milestones" }, + { "original": "tasks", "mapped": "tasks" }, + { "original": "progress", "mapped": "progress" }, + { "original": "tags", "mapped": "tags" }, + { "original": "alternativeProjects", "mapped": "alternative_projects" }, + { "original": "dependencies", "mapped": "dependencies" }, + { "original": "resourceGroups", "mapped": "resource_groups" }, + { "original": "tasksByPhase", "mapped": "tasks_by_phase" }, + { "original": "milestoneGroups", "mapped": "milestone_groups" }, + { "original": "priorityMatrix", "mapped": "priority_matrix" }, + { + "original": "subProjects", + "mapped": "sub_projects", + "argumentMappings": [{ "original": "includeArchived", "mapped": "include_archived" }] + }, + { + "original": "filteredTasks", + "mapped": "filtered_tasks", + "argumentMappings": [ + { "original": "status", "mapped": "status" }, + { "original": "priority", "mapped": "priority" }, + { "original": "limit", "mapped": "limit" } + ] + }, + { + "original": "completionRate", + "mapped": "completion_rate", + "argumentMappings": [{ "original": "includeSubtasks", "mapped": "include_subtasks" }] + }, + { + "original": "estimatedDaysRemaining", + "mapped": "estimated_days_remaining", + "argumentMappings": [{ "original": "fromDate", "mapped": "from_date" }] + }, + { + "original": "criticalDeadline", + "mapped": "critical_deadline", + "argumentMappings": [{ "original": "withinDays", "mapped": "within_days" }] + }, + { + "original": "topPriorityItem", + "mapped": "top_priority_item", + "argumentMappings": [{ "original": "category", "mapped": "category" }] + } + ] + }, + { + "type": "Milestone", + "fieldMappings": [ + { "original": "id", "mapped": "id" }, + { "original": "projectId", "mapped": "project_id" }, + { "original": "name", "mapped": "name" }, + { "original": "description", "mapped": "description" }, + { "original": "startDate", "mapped": "start_date" }, + { "original": "endDate", "mapped": "end_date" }, + { "original": "status", "mapped": "status" }, + { "original": "completionPercentage", "mapped": "completion_percentage" }, + { "original": "dependencies", "mapped": "dependencies" }, + { "original": "subtasks", "mapped": "subtasks" }, + { "original": "reviewers", "mapped": "reviewers" }, + { + "original": "isAtRisk", + "mapped": "is_at_risk", + "argumentMappings": [{ "original": "threshold", "mapped": "threshold" }] + }, + { + "original": "daysUntilDue", + "mapped": "days_until_due", + "argumentMappings": [{ "original": "fromDate", "mapped": "from_date" }] + } + ] + }, + { + "type": "Task", + "fieldMappings": [ + { "original": "id", "mapped": "id" }, + { "original": "projectId", "mapped": "project_id" }, + { "original": "milestoneId", "mapped": "milestone_id" }, + { "original": "assigneeId", "mapped": "assignee_id" }, + { "original": "name", "mapped": "name" }, + { "original": "description", "mapped": "description" }, + { "original": "priority", "mapped": "priority" }, + { "original": "status", "mapped": "status" }, + { "original": "estimatedHours", "mapped": "estimated_hours" }, + { "original": "actualHours", "mapped": "actual_hours" }, + { "original": "createdAt", "mapped": "created_at" }, + { "original": "completedAt", "mapped": "completed_at" }, + { "original": "labels", "mapped": "labels" }, + { "original": "subtasks", "mapped": "subtasks" }, + { "original": "dependencies", "mapped": "dependencies" }, + { "original": "attachmentUrls", "mapped": "attachment_urls" }, + { "original": "reviewerIds", "mapped": "reviewer_ids" }, + { + "original": "isBlocked", + "mapped": "is_blocked", + "argumentMappings": [{ "original": "checkDependencies", "mapped": "check_dependencies" }] + }, + { + "original": "totalEffort", + "mapped": "total_effort", + "argumentMappings": [{ "original": "includeSubtasks", "mapped": "include_subtasks" }] + } + ] + }, + { + "type": "ProjectUpdate", + "fieldMappings": [ + { "original": "id", "mapped": "id" }, + { "original": "projectId", "mapped": "project_id" }, + { "original": "updatedById", "mapped": "updated_by_id" }, + { "original": "updateType", "mapped": "update_type" }, + { "original": "description", "mapped": "description" }, + { "original": "timestamp", "mapped": "timestamp" }, + { "original": "metadata", "mapped": "metadata" } + ] + }, + { + "type": "Employee", + "fieldMappings": [ + { "original": "id", "mapped": "id" }, + { "original": "projects", "mapped": "projects" }, + { "original": "assignedTasks", "mapped": "assigned_tasks" }, + { "original": "completedTasks", "mapped": "completed_tasks" }, + { "original": "skills", "mapped": "skills" }, + { "original": "certifications", "mapped": "certifications" }, + { "original": "projectHistory", "mapped": "project_history" }, + { + "original": "currentWorkload", + "mapped": "current_workload", + "argumentMappings": [ + { "original": "includeCompleted", "mapped": "include_completed" }, + { "original": "projectId", "mapped": "project_id" } + ] + }, + { + "original": "averageTaskCompletionDays", + "mapped": "average_task_completion_days", + "argumentMappings": [ + { "original": "projectId", "mapped": "project_id" }, + { "original": "priority", "mapped": "priority" } + ] + } + ] + }, + { + "type": "Product", + "fieldMappings": [ + { "original": "upc", "mapped": "upc" }, + { "original": "projects", "mapped": "projects" }, + { "original": "featureMatrix", "mapped": "feature_matrix" } + ] + } + ], + "enumMappings": [ + { + "type": "ProjectStatus", + "values": [ + { "original": "PLANNING", "mapped": "PROJECT_STATUS_PLANNING" }, + { "original": "ACTIVE", "mapped": "PROJECT_STATUS_ACTIVE" }, + { "original": "COMPLETED", "mapped": "PROJECT_STATUS_COMPLETED" }, + { "original": "ON_HOLD", "mapped": "PROJECT_STATUS_ON_HOLD" } + ] + }, + { + "type": "MilestoneStatus", + "values": [ + { "original": "PENDING", "mapped": "MILESTONE_STATUS_PENDING" }, + { "original": "IN_PROGRESS", "mapped": "MILESTONE_STATUS_IN_PROGRESS" }, + { "original": "COMPLETED", "mapped": "MILESTONE_STATUS_COMPLETED" }, + { "original": "DELAYED", "mapped": "MILESTONE_STATUS_DELAYED" } + ] + }, + { + "type": "TaskStatus", + "values": [ + { "original": "TODO", "mapped": "TASK_STATUS_TODO" }, + { "original": "IN_PROGRESS", "mapped": "TASK_STATUS_IN_PROGRESS" }, + { "original": "REVIEW", "mapped": "TASK_STATUS_REVIEW" }, + { "original": "COMPLETED", "mapped": "TASK_STATUS_COMPLETED" }, + { "original": "BLOCKED", "mapped": "TASK_STATUS_BLOCKED" } + ] + }, + { + "type": "TaskPriority", + "values": [ + { "original": "LOW", "mapped": "TASK_PRIORITY_LOW" }, + { "original": "MEDIUM", "mapped": "TASK_PRIORITY_MEDIUM" }, + { "original": "HIGH", "mapped": "TASK_PRIORITY_HIGH" }, + { "original": "URGENT", "mapped": "TASK_PRIORITY_URGENT" } + ] + }, + { + "type": "ProjectUpdateType", + "values": [ + { "original": "STATUS_CHANGE", "mapped": "PROJECT_UPDATE_TYPE_STATUS_CHANGE" }, + { "original": "MILESTONE_ADDED", "mapped": "PROJECT_UPDATE_TYPE_MILESTONE_ADDED" }, + { "original": "TASK_ASSIGNED", "mapped": "PROJECT_UPDATE_TYPE_TASK_ASSIGNED" }, + { "original": "PROGRESS_UPDATE", "mapped": "PROJECT_UPDATE_TYPE_PROGRESS_UPDATE" }, + { "original": "TEAM_CHANGE", "mapped": "PROJECT_UPDATE_TYPE_TEAM_CHANGE" } + ] + } + ], + "resolveMappings": [ + { + "type": "LOOKUP_TYPE_RESOLVE", + "lookupMapping": { + "type": "Project", + "fieldMapping": { + "original": "subProjects", + "mapped": "sub_projects", + "argumentMappings": [{ "original": "includeArchived", "mapped": "include_archived" }] + } + }, + "rpc": "ResolveProjectSubProjects", + "request": "ResolveProjectSubProjectsRequest", + "response": "ResolveProjectSubProjectsResponse" + }, + { + "type": "LOOKUP_TYPE_RESOLVE", + "lookupMapping": { + "type": "Project", + "fieldMapping": { + "original": "filteredTasks", + "mapped": "filtered_tasks", + "argumentMappings": [ + { "original": "status", "mapped": "status" }, + { "original": "priority", "mapped": "priority" }, + { "original": "limit", "mapped": "limit" } + ] + } + }, + "rpc": "ResolveProjectFilteredTasks", + "request": "ResolveProjectFilteredTasksRequest", + "response": "ResolveProjectFilteredTasksResponse" + }, + { + "type": "LOOKUP_TYPE_RESOLVE", + "lookupMapping": { + "type": "Project", + "fieldMapping": { + "original": "completionRate", + "mapped": "completion_rate", + "argumentMappings": [{ "original": "includeSubtasks", "mapped": "include_subtasks" }] + } + }, + "rpc": "ResolveProjectCompletionRate", + "request": "ResolveProjectCompletionRateRequest", + "response": "ResolveProjectCompletionRateResponse" + }, + { + "type": "LOOKUP_TYPE_RESOLVE", + "lookupMapping": { + "type": "Project", + "fieldMapping": { + "original": "estimatedDaysRemaining", + "mapped": "estimated_days_remaining", + "argumentMappings": [{ "original": "fromDate", "mapped": "from_date" }] + } + }, + "rpc": "ResolveProjectEstimatedDaysRemaining", + "request": "ResolveProjectEstimatedDaysRemainingRequest", + "response": "ResolveProjectEstimatedDaysRemainingResponse" + }, + { + "type": "LOOKUP_TYPE_RESOLVE", + "lookupMapping": { + "type": "Project", + "fieldMapping": { + "original": "criticalDeadline", + "mapped": "critical_deadline", + "argumentMappings": [{ "original": "withinDays", "mapped": "within_days" }] + } + }, + "rpc": "ResolveProjectCriticalDeadline", + "request": "ResolveProjectCriticalDeadlineRequest", + "response": "ResolveProjectCriticalDeadlineResponse" + }, + { + "type": "LOOKUP_TYPE_RESOLVE", + "lookupMapping": { + "type": "Project", + "fieldMapping": { + "original": "topPriorityItem", + "mapped": "top_priority_item", + "argumentMappings": [{ "original": "category", "mapped": "category" }] + } + }, + "rpc": "ResolveProjectTopPriorityItem", + "request": "ResolveProjectTopPriorityItemRequest", + "response": "ResolveProjectTopPriorityItemResponse" + }, + { + "type": "LOOKUP_TYPE_RESOLVE", + "lookupMapping": { + "type": "Milestone", + "fieldMapping": { + "original": "isAtRisk", + "mapped": "is_at_risk", + "argumentMappings": [{ "original": "threshold", "mapped": "threshold" }] + } + }, + "rpc": "ResolveMilestoneIsAtRisk", + "request": "ResolveMilestoneIsAtRiskRequest", + "response": "ResolveMilestoneIsAtRiskResponse" + }, + { + "type": "LOOKUP_TYPE_RESOLVE", + "lookupMapping": { + "type": "Milestone", + "fieldMapping": { + "original": "daysUntilDue", + "mapped": "days_until_due", + "argumentMappings": [{ "original": "fromDate", "mapped": "from_date" }] + } + }, + "rpc": "ResolveMilestoneDaysUntilDue", + "request": "ResolveMilestoneDaysUntilDueRequest", + "response": "ResolveMilestoneDaysUntilDueResponse" + }, + { + "type": "LOOKUP_TYPE_RESOLVE", + "lookupMapping": { + "type": "Task", + "fieldMapping": { + "original": "isBlocked", + "mapped": "is_blocked", + "argumentMappings": [{ "original": "checkDependencies", "mapped": "check_dependencies" }] + } + }, + "rpc": "ResolveTaskIsBlocked", + "request": "ResolveTaskIsBlockedRequest", + "response": "ResolveTaskIsBlockedResponse" + }, + { + "type": "LOOKUP_TYPE_RESOLVE", + "lookupMapping": { + "type": "Task", + "fieldMapping": { + "original": "totalEffort", + "mapped": "total_effort", + "argumentMappings": [{ "original": "includeSubtasks", "mapped": "include_subtasks" }] + } + }, + "rpc": "ResolveTaskTotalEffort", + "request": "ResolveTaskTotalEffortRequest", + "response": "ResolveTaskTotalEffortResponse" + }, + { + "type": "LOOKUP_TYPE_RESOLVE", + "lookupMapping": { + "type": "Employee", + "fieldMapping": { + "original": "currentWorkload", + "mapped": "current_workload", + "argumentMappings": [ + { "original": "includeCompleted", "mapped": "include_completed" }, + { "original": "projectId", "mapped": "project_id" } + ] + } + }, + "rpc": "ResolveEmployeeCurrentWorkload", + "request": "ResolveEmployeeCurrentWorkloadRequest", + "response": "ResolveEmployeeCurrentWorkloadResponse" + }, + { + "type": "LOOKUP_TYPE_RESOLVE", + "lookupMapping": { + "type": "Employee", + "fieldMapping": { + "original": "averageTaskCompletionDays", + "mapped": "average_task_completion_days", + "argumentMappings": [ + { "original": "projectId", "mapped": "project_id" }, + { "original": "priority", "mapped": "priority" } + ] + } + }, + "rpc": "ResolveEmployeeAverageTaskCompletionDays", + "request": "ResolveEmployeeAverageTaskCompletionDaysRequest", + "response": "ResolveEmployeeAverageTaskCompletionDaysResponse" + } + ] + }, + "protoSchema": "syntax = \"proto3\";\npackage service;\n\noption go_package = \"github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects\";\n\nimport \"google/protobuf/wrappers.proto\";\n\n// Service definition for ProjectsService\nservice ProjectsService {\n // Lookup Employee entity by id\n rpc LookupEmployeeById(LookupEmployeeByIdRequest) returns (LookupEmployeeByIdResponse) {}\n // Lookup Milestone entity by id\n rpc LookupMilestoneById(LookupMilestoneByIdRequest) returns (LookupMilestoneByIdResponse) {}\n // Lookup Product entity by upc\n rpc LookupProductByUpc(LookupProductByUpcRequest) returns (LookupProductByUpcResponse) {}\n // Lookup Project entity by id\n rpc LookupProjectById(LookupProjectByIdRequest) returns (LookupProjectByIdResponse) {}\n // Lookup Task entity by id\n rpc LookupTaskById(LookupTaskByIdRequest) returns (LookupTaskByIdResponse) {}\n rpc MutationAddMilestone(MutationAddMilestoneRequest) returns (MutationAddMilestoneResponse) {}\n rpc MutationAddProject(MutationAddProjectRequest) returns (MutationAddProjectResponse) {}\n rpc MutationAddTask(MutationAddTaskRequest) returns (MutationAddTaskResponse) {}\n rpc MutationUpdateProjectStatus(MutationUpdateProjectStatusRequest) returns (MutationUpdateProjectStatusResponse) {}\n rpc QueryArchivedProjects(QueryArchivedProjectsRequest) returns (QueryArchivedProjectsResponse) {}\n rpc QueryKillService(QueryKillServiceRequest) returns (QueryKillServiceResponse) {}\n rpc QueryMilestones(QueryMilestonesRequest) returns (QueryMilestonesResponse) {}\n rpc QueryNodesById(QueryNodesByIdRequest) returns (QueryNodesByIdResponse) {}\n rpc QueryPanic(QueryPanicRequest) returns (QueryPanicResponse) {}\n rpc QueryProject(QueryProjectRequest) returns (QueryProjectResponse) {}\n rpc QueryProjectActivities(QueryProjectActivitiesRequest) returns (QueryProjectActivitiesResponse) {}\n rpc QueryProjectResources(QueryProjectResourcesRequest) returns (QueryProjectResourcesResponse) {}\n rpc QueryProjectStatuses(QueryProjectStatusesRequest) returns (QueryProjectStatusesResponse) {}\n rpc QueryProjectTags(QueryProjectTagsRequest) returns (QueryProjectTagsResponse) {}\n rpc QueryProjects(QueryProjectsRequest) returns (QueryProjectsResponse) {}\n rpc QueryProjectsByStatus(QueryProjectsByStatusRequest) returns (QueryProjectsByStatusResponse) {}\n rpc QueryResourceMatrix(QueryResourceMatrixRequest) returns (QueryResourceMatrixResponse) {}\n rpc QuerySearchProjects(QuerySearchProjectsRequest) returns (QuerySearchProjectsResponse) {}\n rpc QueryTasks(QueryTasksRequest) returns (QueryTasksResponse) {}\n rpc QueryTasksByPriority(QueryTasksByPriorityRequest) returns (QueryTasksByPriorityResponse) {}\n rpc ResolveEmployeeAverageTaskCompletionDays(ResolveEmployeeAverageTaskCompletionDaysRequest) returns (ResolveEmployeeAverageTaskCompletionDaysResponse) {}\n rpc ResolveEmployeeCurrentWorkload(ResolveEmployeeCurrentWorkloadRequest) returns (ResolveEmployeeCurrentWorkloadResponse) {}\n rpc ResolveMilestoneDaysUntilDue(ResolveMilestoneDaysUntilDueRequest) returns (ResolveMilestoneDaysUntilDueResponse) {}\n rpc ResolveMilestoneIsAtRisk(ResolveMilestoneIsAtRiskRequest) returns (ResolveMilestoneIsAtRiskResponse) {}\n rpc ResolveProjectCompletionRate(ResolveProjectCompletionRateRequest) returns (ResolveProjectCompletionRateResponse) {}\n rpc ResolveProjectCriticalDeadline(ResolveProjectCriticalDeadlineRequest) returns (ResolveProjectCriticalDeadlineResponse) {}\n rpc ResolveProjectEstimatedDaysRemaining(ResolveProjectEstimatedDaysRemainingRequest) returns (ResolveProjectEstimatedDaysRemainingResponse) {}\n rpc ResolveProjectFilteredTasks(ResolveProjectFilteredTasksRequest) returns (ResolveProjectFilteredTasksResponse) {}\n rpc ResolveProjectSubProjects(ResolveProjectSubProjectsRequest) returns (ResolveProjectSubProjectsResponse) {}\n rpc ResolveProjectTopPriorityItem(ResolveProjectTopPriorityItemRequest) returns (ResolveProjectTopPriorityItemResponse) {}\n rpc ResolveTaskIsBlocked(ResolveTaskIsBlockedRequest) returns (ResolveTaskIsBlockedResponse) {}\n rpc ResolveTaskTotalEffort(ResolveTaskTotalEffortRequest) returns (ResolveTaskTotalEffortResponse) {}\n}\n\n// Wrapper message for a list of Employee.\nmessage ListOfEmployee {\n message List {\n repeated Employee items = 1;\n }\n List list = 1;\n}\n// Wrapper message for a list of Int.\nmessage ListOfInt {\n message List {\n repeated int32 items = 1;\n }\n List list = 1;\n}\n// Wrapper message for a list of Task.\nmessage ListOfListOfListOfTask {\n message List {\n repeated ListOfListOfTask items = 1;\n }\n List list = 1;\n}\n// Wrapper message for a list of Milestone.\nmessage ListOfListOfMilestone {\n message List {\n repeated ListOfMilestone items = 1;\n }\n List list = 1;\n}\n// Wrapper message for a list of Project.\nmessage ListOfListOfProject {\n message List {\n repeated ListOfProject items = 1;\n }\n List list = 1;\n}\n// Wrapper message for a list of ProjectResource.\nmessage ListOfListOfProjectResource {\n message List {\n repeated ListOfProjectResource items = 1;\n }\n List list = 1;\n}\n// Wrapper message for a list of String.\nmessage ListOfListOfString {\n message List {\n repeated ListOfString items = 1;\n }\n List list = 1;\n}\n// Wrapper message for a list of Task.\nmessage ListOfListOfTask {\n message List {\n repeated ListOfTask items = 1;\n }\n List list = 1;\n}\n// Wrapper message for a list of Milestone.\nmessage ListOfMilestone {\n message List {\n repeated Milestone items = 1;\n }\n List list = 1;\n}\n// Wrapper message for a list of Project.\nmessage ListOfProject {\n message List {\n repeated Project items = 1;\n }\n List list = 1;\n}\n// Wrapper message for a list of ProjectResource.\nmessage ListOfProjectResource {\n message List {\n repeated ProjectResource items = 1;\n }\n List list = 1;\n}\n// Wrapper message for a list of String.\nmessage ListOfString {\n message List {\n repeated string items = 1;\n }\n List list = 1;\n}\n// Wrapper message for a list of Task.\nmessage ListOfTask {\n message List {\n repeated Task items = 1;\n }\n List list = 1;\n}\n// Key message for Project entity lookup\nmessage LookupProjectByIdRequestKey {\n // Key field for Project entity lookup.\n string id = 1;\n}\n\n// Request message for Project entity lookup.\nmessage LookupProjectByIdRequest {\n /*\n * List of keys to look up Project entities.\n * Order matters - each key maps to one entity in LookupProjectByIdResponse.\n */\n repeated LookupProjectByIdRequestKey keys = 1;\n}\n\n// Response message for Project entity lookup.\nmessage LookupProjectByIdResponse {\n /*\n * List of Project entities in the same order as the keys in LookupProjectByIdRequest.\n * Always return the same number of entities as keys. Use null for entities that cannot be found.\n * \n * Example:\n * LookupUserByIdRequest:\n * keys:\n * - id: 1\n * - id: 2\n * LookupUserByIdResponse:\n * result:\n * - id: 1 # User with id 1 found\n * - null # User with id 2 not found\n */\n repeated Project result = 1;\n}\n\n// Key message for Milestone entity lookup\nmessage LookupMilestoneByIdRequestKey {\n // Key field for Milestone entity lookup.\n string id = 1;\n}\n\n// Request message for Milestone entity lookup.\nmessage LookupMilestoneByIdRequest {\n /*\n * List of keys to look up Milestone entities.\n * Order matters - each key maps to one entity in LookupMilestoneByIdResponse.\n */\n repeated LookupMilestoneByIdRequestKey keys = 1;\n}\n\n// Response message for Milestone entity lookup.\nmessage LookupMilestoneByIdResponse {\n /*\n * List of Milestone entities in the same order as the keys in LookupMilestoneByIdRequest.\n * Always return the same number of entities as keys. Use null for entities that cannot be found.\n * \n * Example:\n * LookupUserByIdRequest:\n * keys:\n * - id: 1\n * - id: 2\n * LookupUserByIdResponse:\n * result:\n * - id: 1 # User with id 1 found\n * - null # User with id 2 not found\n */\n repeated Milestone result = 1;\n}\n\n// Key message for Task entity lookup\nmessage LookupTaskByIdRequestKey {\n // Key field for Task entity lookup.\n string id = 1;\n}\n\n// Request message for Task entity lookup.\nmessage LookupTaskByIdRequest {\n /*\n * List of keys to look up Task entities.\n * Order matters - each key maps to one entity in LookupTaskByIdResponse.\n */\n repeated LookupTaskByIdRequestKey keys = 1;\n}\n\n// Response message for Task entity lookup.\nmessage LookupTaskByIdResponse {\n /*\n * List of Task entities in the same order as the keys in LookupTaskByIdRequest.\n * Always return the same number of entities as keys. Use null for entities that cannot be found.\n * \n * Example:\n * LookupUserByIdRequest:\n * keys:\n * - id: 1\n * - id: 2\n * LookupUserByIdResponse:\n * result:\n * - id: 1 # User with id 1 found\n * - null # User with id 2 not found\n */\n repeated Task result = 1;\n}\n\n// Key message for Employee entity lookup\nmessage LookupEmployeeByIdRequestKey {\n // Key field for Employee entity lookup.\n string id = 1;\n}\n\n// Request message for Employee entity lookup.\nmessage LookupEmployeeByIdRequest {\n /*\n * List of keys to look up Employee entities.\n * Order matters - each key maps to one entity in LookupEmployeeByIdResponse.\n */\n repeated LookupEmployeeByIdRequestKey keys = 1;\n}\n\n// Response message for Employee entity lookup.\nmessage LookupEmployeeByIdResponse {\n /*\n * List of Employee entities in the same order as the keys in LookupEmployeeByIdRequest.\n * Always return the same number of entities as keys. Use null for entities that cannot be found.\n * \n * Example:\n * LookupUserByIdRequest:\n * keys:\n * - id: 1\n * - id: 2\n * LookupUserByIdResponse:\n * result:\n * - id: 1 # User with id 1 found\n * - null # User with id 2 not found\n */\n repeated Employee result = 1;\n}\n\n// Key message for Product entity lookup\nmessage LookupProductByUpcRequestKey {\n // Key field for Product entity lookup.\n string upc = 1;\n}\n\n// Request message for Product entity lookup.\nmessage LookupProductByUpcRequest {\n /*\n * List of keys to look up Product entities.\n * Order matters - each key maps to one entity in LookupProductByUpcResponse.\n */\n repeated LookupProductByUpcRequestKey keys = 1;\n}\n\n// Response message for Product entity lookup.\nmessage LookupProductByUpcResponse {\n /*\n * List of Product entities in the same order as the keys in LookupProductByUpcRequest.\n * Always return the same number of entities as keys. Use null for entities that cannot be found.\n * \n * Example:\n * LookupUserByIdRequest:\n * keys:\n * - id: 1\n * - id: 2\n * LookupUserByIdResponse:\n * result:\n * - id: 1 # User with id 1 found\n * - null # User with id 2 not found\n */\n repeated Product result = 1;\n}\n\n// Request message for projects operation.\nmessage QueryProjectsRequest {\n}\n// Response message for projects operation.\nmessage QueryProjectsResponse {\n repeated Project projects = 1;\n}\n// Request message for project operation.\nmessage QueryProjectRequest {\n string id = 1;\n}\n// Response message for project operation.\nmessage QueryProjectResponse {\n Project project = 1;\n}\n// Request message for projectStatuses operation.\nmessage QueryProjectStatusesRequest {\n}\n// Response message for projectStatuses operation.\nmessage QueryProjectStatusesResponse {\n repeated ProjectStatus project_statuses = 1;\n}\n// Request message for projectsByStatus operation.\nmessage QueryProjectsByStatusRequest {\n ProjectStatus status = 1;\n}\n// Response message for projectsByStatus operation.\nmessage QueryProjectsByStatusResponse {\n repeated Project projects_by_status = 1;\n}\n// Request message for projectResources operation.\nmessage QueryProjectResourcesRequest {\n string project_id = 1;\n}\n// Response message for projectResources operation.\nmessage QueryProjectResourcesResponse {\n repeated ProjectResource project_resources = 1;\n}\n// Request message for searchProjects operation.\nmessage QuerySearchProjectsRequest {\n string query = 1;\n}\n// Response message for searchProjects operation.\nmessage QuerySearchProjectsResponse {\n repeated ProjectSearchResult search_projects = 1;\n}\n// Request message for milestones operation.\nmessage QueryMilestonesRequest {\n string project_id = 1;\n}\n// Response message for milestones operation.\nmessage QueryMilestonesResponse {\n repeated Milestone milestones = 1;\n}\n// Request message for tasks operation.\nmessage QueryTasksRequest {\n string project_id = 1;\n}\n// Response message for tasks operation.\nmessage QueryTasksResponse {\n repeated Task tasks = 1;\n}\n// Request message for projectActivities operation.\nmessage QueryProjectActivitiesRequest {\n string project_id = 1;\n}\n// Response message for projectActivities operation.\nmessage QueryProjectActivitiesResponse {\n repeated ProjectActivity project_activities = 1;\n}\n// Request message for projectTags operation.\nmessage QueryProjectTagsRequest {\n}\n// Response message for projectTags operation.\nmessage QueryProjectTagsResponse {\n ListOfString project_tags = 1;\n}\n// Request message for archivedProjects operation.\nmessage QueryArchivedProjectsRequest {\n}\n// Response message for archivedProjects operation.\nmessage QueryArchivedProjectsResponse {\n repeated Project archived_projects = 1;\n}\n// Request message for tasksByPriority operation.\nmessage QueryTasksByPriorityRequest {\n string project_id = 1;\n}\n// Response message for tasksByPriority operation.\nmessage QueryTasksByPriorityResponse {\n ListOfListOfTask tasks_by_priority = 1;\n}\n// Request message for resourceMatrix operation.\nmessage QueryResourceMatrixRequest {\n string project_id = 1;\n}\n// Response message for resourceMatrix operation.\nmessage QueryResourceMatrixResponse {\n ListOfListOfProjectResource resource_matrix = 1;\n}\n// Request message for killService operation.\nmessage QueryKillServiceRequest {\n}\n// Response message for killService operation.\nmessage QueryKillServiceResponse {\n bool kill_service = 1;\n}\n// Request message for panic operation.\nmessage QueryPanicRequest {\n}\n// Response message for panic operation.\nmessage QueryPanicResponse {\n bool panic = 1;\n}\n// Request message for nodesById operation.\nmessage QueryNodesByIdRequest {\n string id = 1;\n}\n// Response message for nodesById operation.\nmessage QueryNodesByIdResponse {\n repeated Node nodes_by_id = 1;\n}\n// Request message for addProject operation.\nmessage MutationAddProjectRequest {\n ProjectInput project = 1;\n}\n// Response message for addProject operation.\nmessage MutationAddProjectResponse {\n Project add_project = 1;\n}\n// Request message for addMilestone operation.\nmessage MutationAddMilestoneRequest {\n MilestoneInput milestone = 1;\n}\n// Response message for addMilestone operation.\nmessage MutationAddMilestoneResponse {\n Milestone add_milestone = 1;\n}\n// Request message for addTask operation.\nmessage MutationAddTaskRequest {\n TaskInput task = 1;\n}\n// Response message for addTask operation.\nmessage MutationAddTaskResponse {\n Task add_task = 1;\n}\n// Request message for updateProjectStatus operation.\nmessage MutationUpdateProjectStatusRequest {\n string project_id = 1;\n ProjectStatus status = 2;\n}\n// Response message for updateProjectStatus operation.\nmessage MutationUpdateProjectStatusResponse {\n ProjectUpdate update_project_status = 1;\n}\nmessage ResolveProjectSubProjectsArgs {\n google.protobuf.BoolValue include_archived = 1;\n}\n\nmessage ResolveProjectSubProjectsContext {\n string id = 1;\n string name = 2;\n ProjectStatus status = 3;\n}\n\nmessage ResolveProjectSubProjectsRequest {\n // context provides the resolver context for the field subProjects of type Project.\n repeated ResolveProjectSubProjectsContext context = 1;\n // field_args provides the arguments for the resolver field subProjects of type Project.\n ResolveProjectSubProjectsArgs field_args = 2;\n}\n\nmessage ResolveProjectSubProjectsResult {\n repeated Project sub_projects = 1;\n}\n\nmessage ResolveProjectSubProjectsResponse {\n repeated ResolveProjectSubProjectsResult result = 1;\n}\n\nmessage ResolveProjectFilteredTasksArgs {\n TaskStatus status = 1;\n TaskPriority priority = 2;\n google.protobuf.Int32Value limit = 3;\n}\n\nmessage ResolveProjectFilteredTasksContext {\n string id = 1;\n}\n\nmessage ResolveProjectFilteredTasksRequest {\n // context provides the resolver context for the field filteredTasks of type Project.\n repeated ResolveProjectFilteredTasksContext context = 1;\n // field_args provides the arguments for the resolver field filteredTasks of type Project.\n ResolveProjectFilteredTasksArgs field_args = 2;\n}\n\nmessage ResolveProjectFilteredTasksResult {\n repeated Task filtered_tasks = 1;\n}\n\nmessage ResolveProjectFilteredTasksResponse {\n repeated ResolveProjectFilteredTasksResult result = 1;\n}\n\nmessage ResolveProjectCompletionRateArgs {\n google.protobuf.BoolValue include_subtasks = 1;\n}\n\nmessage ResolveProjectCompletionRateContext {\n string id = 1;\n google.protobuf.StringValue start_date = 2;\n google.protobuf.StringValue end_date = 3;\n ProjectStatus status = 4;\n}\n\nmessage ResolveProjectCompletionRateRequest {\n // context provides the resolver context for the field completionRate of type Project.\n repeated ResolveProjectCompletionRateContext context = 1;\n // field_args provides the arguments for the resolver field completionRate of type Project.\n ResolveProjectCompletionRateArgs field_args = 2;\n}\n\nmessage ResolveProjectCompletionRateResult {\n double completion_rate = 1;\n}\n\nmessage ResolveProjectCompletionRateResponse {\n repeated ResolveProjectCompletionRateResult result = 1;\n}\n\nmessage ResolveProjectEstimatedDaysRemainingArgs {\n google.protobuf.StringValue from_date = 1;\n}\n\nmessage ResolveProjectEstimatedDaysRemainingContext {\n string id = 1;\n google.protobuf.StringValue end_date = 2;\n ProjectStatus status = 3;\n}\n\nmessage ResolveProjectEstimatedDaysRemainingRequest {\n // context provides the resolver context for the field estimatedDaysRemaining of type Project.\n repeated ResolveProjectEstimatedDaysRemainingContext context = 1;\n // field_args provides the arguments for the resolver field estimatedDaysRemaining of type Project.\n ResolveProjectEstimatedDaysRemainingArgs field_args = 2;\n}\n\nmessage ResolveProjectEstimatedDaysRemainingResult {\n google.protobuf.Int32Value estimated_days_remaining = 1;\n}\n\nmessage ResolveProjectEstimatedDaysRemainingResponse {\n repeated ResolveProjectEstimatedDaysRemainingResult result = 1;\n}\n\nmessage ResolveProjectCriticalDeadlineArgs {\n google.protobuf.Int32Value within_days = 1;\n}\n\nmessage ResolveProjectCriticalDeadlineContext {\n string id = 1;\n ProjectStatus status = 2;\n repeated Milestone milestones = 3;\n}\n\nmessage ResolveProjectCriticalDeadlineRequest {\n // context provides the resolver context for the field criticalDeadline of type Project.\n repeated ResolveProjectCriticalDeadlineContext context = 1;\n // field_args provides the arguments for the resolver field criticalDeadline of type Project.\n ResolveProjectCriticalDeadlineArgs field_args = 2;\n}\n\nmessage ResolveProjectCriticalDeadlineResult {\n Timestamped critical_deadline = 1;\n}\n\nmessage ResolveProjectCriticalDeadlineResponse {\n repeated ResolveProjectCriticalDeadlineResult result = 1;\n}\n\nmessage ResolveProjectTopPriorityItemArgs {\n google.protobuf.StringValue category = 1;\n}\n\nmessage ResolveProjectTopPriorityItemContext {\n string id = 1;\n ProjectStatus status = 2;\n}\n\nmessage ResolveProjectTopPriorityItemRequest {\n // context provides the resolver context for the field topPriorityItem of type Project.\n repeated ResolveProjectTopPriorityItemContext context = 1;\n // field_args provides the arguments for the resolver field topPriorityItem of type Project.\n ResolveProjectTopPriorityItemArgs field_args = 2;\n}\n\nmessage ResolveProjectTopPriorityItemResult {\n ProjectSearchResult top_priority_item = 1;\n}\n\nmessage ResolveProjectTopPriorityItemResponse {\n repeated ResolveProjectTopPriorityItemResult result = 1;\n}\n\nmessage ResolveMilestoneIsAtRiskArgs {\n google.protobuf.DoubleValue threshold = 1;\n}\n\nmessage ResolveMilestoneIsAtRiskContext {\n string id = 1;\n google.protobuf.StringValue end_date = 2;\n MilestoneStatus status = 3;\n google.protobuf.DoubleValue completion_percentage = 4;\n}\n\nmessage ResolveMilestoneIsAtRiskRequest {\n // context provides the resolver context for the field isAtRisk of type Milestone.\n repeated ResolveMilestoneIsAtRiskContext context = 1;\n // field_args provides the arguments for the resolver field isAtRisk of type Milestone.\n ResolveMilestoneIsAtRiskArgs field_args = 2;\n}\n\nmessage ResolveMilestoneIsAtRiskResult {\n bool is_at_risk = 1;\n}\n\nmessage ResolveMilestoneIsAtRiskResponse {\n repeated ResolveMilestoneIsAtRiskResult result = 1;\n}\n\nmessage ResolveMilestoneDaysUntilDueArgs {\n google.protobuf.StringValue from_date = 1;\n}\n\nmessage ResolveMilestoneDaysUntilDueContext {\n google.protobuf.StringValue end_date = 1;\n}\n\nmessage ResolveMilestoneDaysUntilDueRequest {\n // context provides the resolver context for the field daysUntilDue of type Milestone.\n repeated ResolveMilestoneDaysUntilDueContext context = 1;\n // field_args provides the arguments for the resolver field daysUntilDue of type Milestone.\n ResolveMilestoneDaysUntilDueArgs field_args = 2;\n}\n\nmessage ResolveMilestoneDaysUntilDueResult {\n google.protobuf.Int32Value days_until_due = 1;\n}\n\nmessage ResolveMilestoneDaysUntilDueResponse {\n repeated ResolveMilestoneDaysUntilDueResult result = 1;\n}\n\nmessage ResolveTaskIsBlockedArgs {\n google.protobuf.BoolValue check_dependencies = 1;\n}\n\nmessage ResolveTaskIsBlockedContext {\n string id = 1;\n TaskStatus status = 2;\n}\n\nmessage ResolveTaskIsBlockedRequest {\n // context provides the resolver context for the field isBlocked of type Task.\n repeated ResolveTaskIsBlockedContext context = 1;\n // field_args provides the arguments for the resolver field isBlocked of type Task.\n ResolveTaskIsBlockedArgs field_args = 2;\n}\n\nmessage ResolveTaskIsBlockedResult {\n bool is_blocked = 1;\n}\n\nmessage ResolveTaskIsBlockedResponse {\n repeated ResolveTaskIsBlockedResult result = 1;\n}\n\nmessage ResolveTaskTotalEffortArgs {\n google.protobuf.BoolValue include_subtasks = 1;\n}\n\nmessage ResolveTaskTotalEffortContext {\n string id = 1;\n google.protobuf.DoubleValue estimated_hours = 2;\n google.protobuf.DoubleValue actual_hours = 3;\n}\n\nmessage ResolveTaskTotalEffortRequest {\n // context provides the resolver context for the field totalEffort of type Task.\n repeated ResolveTaskTotalEffortContext context = 1;\n // field_args provides the arguments for the resolver field totalEffort of type Task.\n ResolveTaskTotalEffortArgs field_args = 2;\n}\n\nmessage ResolveTaskTotalEffortResult {\n google.protobuf.DoubleValue total_effort = 1;\n}\n\nmessage ResolveTaskTotalEffortResponse {\n repeated ResolveTaskTotalEffortResult result = 1;\n}\n\nmessage ResolveEmployeeCurrentWorkloadArgs {\n google.protobuf.BoolValue include_completed = 1;\n google.protobuf.StringValue project_id = 2;\n}\n\nmessage ResolveEmployeeCurrentWorkloadContext {\n int32 id = 1;\n}\n\nmessage ResolveEmployeeCurrentWorkloadRequest {\n // context provides the resolver context for the field currentWorkload of type Employee.\n repeated ResolveEmployeeCurrentWorkloadContext context = 1;\n // field_args provides the arguments for the resolver field currentWorkload of type Employee.\n ResolveEmployeeCurrentWorkloadArgs field_args = 2;\n}\n\nmessage ResolveEmployeeCurrentWorkloadResult {\n int32 current_workload = 1;\n}\n\nmessage ResolveEmployeeCurrentWorkloadResponse {\n repeated ResolveEmployeeCurrentWorkloadResult result = 1;\n}\n\nmessage ResolveEmployeeAverageTaskCompletionDaysArgs {\n google.protobuf.StringValue project_id = 1;\n TaskPriority priority = 2;\n}\n\nmessage ResolveEmployeeAverageTaskCompletionDaysContext {\n int32 id = 1;\n}\n\nmessage ResolveEmployeeAverageTaskCompletionDaysRequest {\n // context provides the resolver context for the field averageTaskCompletionDays of type Employee.\n repeated ResolveEmployeeAverageTaskCompletionDaysContext context = 1;\n // field_args provides the arguments for the resolver field averageTaskCompletionDays of type Employee.\n ResolveEmployeeAverageTaskCompletionDaysArgs field_args = 2;\n}\n\nmessage ResolveEmployeeAverageTaskCompletionDaysResult {\n google.protobuf.DoubleValue average_task_completion_days = 1;\n}\n\nmessage ResolveEmployeeAverageTaskCompletionDaysResponse {\n repeated ResolveEmployeeAverageTaskCompletionDaysResult result = 1;\n}\n\nmessage Project {\n reserved 20 to 25;\n string id = 1;\n string name = 2;\n google.protobuf.StringValue description = 3;\n google.protobuf.StringValue start_date = 4;\n google.protobuf.StringValue end_date = 5;\n ProjectStatus status = 6;\n repeated Employee team_members = 7;\n repeated Product related_products = 8;\n ListOfString milestone_ids = 9;\n repeated Milestone milestones = 10;\n repeated Task tasks = 11;\n google.protobuf.DoubleValue progress = 12;\n ListOfString tags = 13;\n ListOfProject alternative_projects = 14;\n ListOfProject dependencies = 15;\n ListOfListOfProjectResource resource_groups = 16;\n ListOfListOfTask tasks_by_phase = 17;\n ListOfListOfMilestone milestone_groups = 18;\n ListOfListOfListOfTask priority_matrix = 19;\n}\n\nmessage Milestone {\n reserved 12 to 13;\n string id = 1;\n string project_id = 2;\n string name = 3;\n google.protobuf.StringValue description = 4;\n google.protobuf.StringValue start_date = 5;\n google.protobuf.StringValue end_date = 6;\n MilestoneStatus status = 7;\n google.protobuf.DoubleValue completion_percentage = 8;\n repeated Milestone dependencies = 9;\n ListOfTask subtasks = 10;\n ListOfEmployee reviewers = 11;\n}\n\nmessage Task {\n reserved 18 to 19;\n string id = 1;\n string project_id = 2;\n google.protobuf.StringValue milestone_id = 3;\n google.protobuf.Int32Value assignee_id = 4;\n string name = 5;\n google.protobuf.StringValue description = 6;\n TaskPriority priority = 7;\n TaskStatus status = 8;\n // Deprecation notice: No more estimations!\n google.protobuf.DoubleValue estimated_hours = 9 [deprecated = true];\n google.protobuf.DoubleValue actual_hours = 10;\n google.protobuf.StringValue created_at = 11;\n google.protobuf.StringValue completed_at = 12;\n ListOfString labels = 13;\n ListOfTask subtasks = 14;\n repeated Task dependencies = 15;\n repeated string attachment_urls = 16;\n ListOfInt reviewer_ids = 17;\n}\n\nmessage Employee {\n reserved 8 to 9;\n int32 id = 1;\n ListOfProject projects = 2;\n repeated Task assigned_tasks = 3;\n repeated Task completed_tasks = 4;\n ListOfString skills = 5;\n ListOfString certifications = 6;\n ListOfListOfProject project_history = 7;\n}\n\nmessage Product {\n string upc = 1;\n ListOfProject projects = 2;\n ListOfListOfString feature_matrix = 3;\n}\n\nenum ProjectStatus {\n PROJECT_STATUS_UNSPECIFIED = 0;\n PROJECT_STATUS_PLANNING = 1;\n PROJECT_STATUS_ACTIVE = 2;\n PROJECT_STATUS_COMPLETED = 3;\n PROJECT_STATUS_ON_HOLD = 4;\n}\n\nmessage ProjectResource {\n oneof value {\n Employee employee = 1;\n Product product = 2;\n Milestone milestone = 3;\n Task task = 4;\n }\n}\n\nmessage ProjectSearchResult {\n oneof value {\n Project project = 1;\n Milestone milestone = 2;\n Task task = 3;\n }\n}\n\nmessage ProjectActivity {\n oneof value {\n ProjectUpdate project_update = 1;\n Milestone milestone = 2;\n Task task = 3;\n }\n}\n\nmessage Node {\n oneof instance {\n Project project = 1;\n Milestone milestone = 2;\n Task task = 3;\n ProjectUpdate project_update = 4;\n }\n}\n\nmessage ProjectInput {\n string name = 1;\n google.protobuf.StringValue description = 2;\n google.protobuf.StringValue start_date = 3;\n google.protobuf.StringValue end_date = 4;\n ProjectStatus status = 5;\n}\n\nmessage MilestoneInput {\n string project_id = 1;\n string name = 2;\n google.protobuf.StringValue description = 3;\n google.protobuf.StringValue due_date = 4;\n MilestoneStatus status = 5;\n}\n\nmessage TaskInput {\n string project_id = 1;\n google.protobuf.Int32Value assignee_id = 2;\n string name = 3;\n google.protobuf.StringValue description = 4;\n TaskPriority priority = 5;\n TaskStatus status = 6;\n google.protobuf.DoubleValue estimated_hours = 7;\n}\n\nmessage ProjectUpdate {\n string id = 1;\n string project_id = 2;\n int32 updated_by_id = 3;\n ProjectUpdateType update_type = 4;\n string description = 5;\n string timestamp = 6;\n google.protobuf.StringValue metadata = 7;\n}\n\nmessage Timestamped {\n oneof instance {\n Project project = 1;\n Milestone milestone = 2;\n }\n}\n\nmessage Assignable {\n oneof instance {\n Task task = 1;\n }\n}\n\nenum MilestoneStatus {\n MILESTONE_STATUS_UNSPECIFIED = 0;\n MILESTONE_STATUS_PENDING = 1;\n MILESTONE_STATUS_IN_PROGRESS = 2;\n MILESTONE_STATUS_COMPLETED = 3;\n MILESTONE_STATUS_DELAYED = 4;\n}\n\nenum TaskStatus {\n TASK_STATUS_UNSPECIFIED = 0;\n TASK_STATUS_TODO = 1;\n TASK_STATUS_IN_PROGRESS = 2;\n TASK_STATUS_REVIEW = 3;\n TASK_STATUS_COMPLETED = 4;\n TASK_STATUS_BLOCKED = 5;\n}\n\nenum TaskPriority {\n TASK_PRIORITY_UNSPECIFIED = 0;\n TASK_PRIORITY_LOW = 1;\n TASK_PRIORITY_MEDIUM = 2;\n TASK_PRIORITY_HIGH = 3;\n TASK_PRIORITY_URGENT = 4;\n}\n\nenum ProjectUpdateType {\n PROJECT_UPDATE_TYPE_UNSPECIFIED = 0;\n PROJECT_UPDATE_TYPE_STATUS_CHANGE = 1;\n PROJECT_UPDATE_TYPE_MILESTONE_ADDED = 2;\n PROJECT_UPDATE_TYPE_TASK_ASSIGNED = 3;\n PROJECT_UPDATE_TYPE_PROGRESS_UPDATE = 4;\n PROJECT_UPDATE_TYPE_TEAM_CHANGE = 5;\n}", + "plugin": { "name": "projects", "version": "0.0.1", "imageReference": { "repository": "test-org/projects", "reference": "v1" } } + } + }, + "requestTimeoutSeconds": "10", + "id": "8", + "keys": [ + { "typeName": "Project", "selectionSet": "id" }, + { "typeName": "Milestone", "selectionSet": "id" }, + { "typeName": "Task", "selectionSet": "id" }, + { "typeName": "Employee", "selectionSet": "id" }, + { "typeName": "Product", "selectionSet": "upc" } + ] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { + "typeName": "Query", + "fieldNames": ["courses", "course", "lessons", "killCoursesService", "throwErrorCourses"] + }, + { "typeName": "Mutation", "fieldNames": ["addCourse", "addLesson"] }, + { "typeName": "Employee", "fieldNames": ["id", "taughtCourses"] } + ], + "childNodes": [ + { "typeName": "Course", "fieldNames": ["id", "title", "description", "instructor", "lessons"] }, + { "typeName": "Lesson", "fieldNames": ["id", "courseId", "title", "description", "order", "course"] } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:3000/plugin/9" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { "enabled": true }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@key\", \"@shareable\"])\n\nschema {\n query: Query\n mutation: Mutation\n}\n\ntype Query {\n courses: [Course!]!\n course(id: ID!): Course\n lessons(courseId: ID!): [Lesson!]!\n killCoursesService: Boolean!\n throwErrorCourses: Boolean!\n}\n\ntype Mutation {\n addCourse(title: String!, instructorId: Int!): Course!\n addLesson(courseId: ID!, title: String!, order: Int!): Lesson!\n}\n\ntype Course {\n id: ID!\n title: String!\n description: String\n \n # Federated reference to instructor\n instructor: Employee!\n \n # Course lessons\n lessons: [Lesson!]!\n}\n\ntype Lesson {\n id: ID!\n courseId: ID!\n title: String!\n description: String\n order: Int!\n \n # Reference back to course\n course: Course!\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n # Fields resolved by this subgraph\n taughtCourses: [Course!]!\n}\n" + }, + "upstreamSchema": { "key": "ee6b1bfdd2b01ef540c2a53258a8f8e6f0d3e3dd" }, + "grpc": { + "mapping": { + "version": 1, + "service": "CoursesService", + "operationMappings": [ + { + "type": "OPERATION_TYPE_QUERY", + "original": "courses", + "mapped": "QueryCourses", + "request": "QueryCoursesRequest", + "response": "QueryCoursesResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "course", + "mapped": "QueryCourse", + "request": "QueryCourseRequest", + "response": "QueryCourseResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "lessons", + "mapped": "QueryLessons", + "request": "QueryLessonsRequest", + "response": "QueryLessonsResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "killCoursesService", + "mapped": "QueryKillCoursesService", + "request": "QueryKillCoursesServiceRequest", + "response": "QueryKillCoursesServiceResponse" + }, + { + "type": "OPERATION_TYPE_QUERY", + "original": "throwErrorCourses", + "mapped": "QueryThrowErrorCourses", + "request": "QueryThrowErrorCoursesRequest", + "response": "QueryThrowErrorCoursesResponse" + }, + { + "type": "OPERATION_TYPE_MUTATION", + "original": "addCourse", + "mapped": "MutationAddCourse", + "request": "MutationAddCourseRequest", + "response": "MutationAddCourseResponse" + }, + { + "type": "OPERATION_TYPE_MUTATION", + "original": "addLesson", + "mapped": "MutationAddLesson", + "request": "MutationAddLessonRequest", + "response": "MutationAddLessonResponse" + } + ], + "entityMappings": [ + { + "typeName": "Employee", + "kind": "entity", + "key": "id", + "rpc": "LookupEmployeeById", + "request": "LookupEmployeeByIdRequest", + "response": "LookupEmployeeByIdResponse" + } + ], + "typeFieldMappings": [ + { + "type": "Query", + "fieldMappings": [ + { "original": "courses", "mapped": "courses" }, + { + "original": "course", + "mapped": "course", + "argumentMappings": [{ "original": "id", "mapped": "id" }] + }, + { + "original": "lessons", + "mapped": "lessons", + "argumentMappings": [{ "original": "courseId", "mapped": "course_id" }] + }, + { "original": "killCoursesService", "mapped": "kill_courses_service" }, + { "original": "throwErrorCourses", "mapped": "throw_error_courses" } + ] + }, + { + "type": "Mutation", + "fieldMappings": [ + { + "original": "addCourse", + "mapped": "add_course", + "argumentMappings": [ + { "original": "title", "mapped": "title" }, + { "original": "instructorId", "mapped": "instructor_id" } + ] + }, + { + "original": "addLesson", + "mapped": "add_lesson", + "argumentMappings": [ + { "original": "courseId", "mapped": "course_id" }, + { "original": "title", "mapped": "title" }, + { "original": "order", "mapped": "order" } + ] + } + ] + }, + { + "type": "Course", + "fieldMappings": [ + { "original": "id", "mapped": "id" }, + { "original": "title", "mapped": "title" }, + { "original": "description", "mapped": "description" }, + { "original": "instructor", "mapped": "instructor" }, + { "original": "lessons", "mapped": "lessons" } + ] + }, + { + "type": "Lesson", + "fieldMappings": [ + { "original": "id", "mapped": "id" }, + { "original": "courseId", "mapped": "course_id" }, + { "original": "title", "mapped": "title" }, + { "original": "description", "mapped": "description" }, + { "original": "order", "mapped": "order" }, + { "original": "course", "mapped": "course" } + ] + }, + { + "type": "Employee", + "fieldMappings": [ + { "original": "id", "mapped": "id" }, + { "original": "taughtCourses", "mapped": "taught_courses" } + ] + } + ] + }, + "protoSchema": "syntax = \"proto3\";\npackage service;\n\nimport \"google/protobuf/wrappers.proto\";\n\n// Service definition for CoursesService\nservice CoursesService {\n // Lookup Employee entity by id\n rpc LookupEmployeeById(LookupEmployeeByIdRequest) returns (LookupEmployeeByIdResponse) {}\n rpc MutationAddCourse(MutationAddCourseRequest) returns (MutationAddCourseResponse) {}\n rpc MutationAddLesson(MutationAddLessonRequest) returns (MutationAddLessonResponse) {}\n rpc QueryCourse(QueryCourseRequest) returns (QueryCourseResponse) {}\n rpc QueryCourses(QueryCoursesRequest) returns (QueryCoursesResponse) {}\n rpc QueryKillCoursesService(QueryKillCoursesServiceRequest) returns (QueryKillCoursesServiceResponse) {}\n rpc QueryLessons(QueryLessonsRequest) returns (QueryLessonsResponse) {}\n rpc QueryThrowErrorCourses(QueryThrowErrorCoursesRequest) returns (QueryThrowErrorCoursesResponse) {}\n}\n\n// Key message for Employee entity lookup\nmessage LookupEmployeeByIdRequestKey {\n // Key field for Employee entity lookup.\n string id = 1;\n}\n\n// Request message for Employee entity lookup.\nmessage LookupEmployeeByIdRequest {\n /*\n * List of keys to look up Employee entities.\n * Order matters - each key maps to one entity in LookupEmployeeByIdResponse.\n */\n repeated LookupEmployeeByIdRequestKey keys = 1;\n}\n\n// Response message for Employee entity lookup.\nmessage LookupEmployeeByIdResponse {\n /*\n * List of Employee entities in the same order as the keys in LookupEmployeeByIdRequest.\n * Always return the same number of entities as keys. Use null for entities that cannot be found.\n * \n * Example:\n * LookupUserByIdRequest:\n * keys:\n * - id: 1\n * - id: 2\n * LookupUserByIdResponse:\n * result:\n * - id: 1 # User with id 1 found\n * - null # User with id 2 not found\n */\n repeated Employee result = 1;\n}\n\n// Request message for courses operation.\nmessage QueryCoursesRequest {\n}\n// Response message for courses operation.\nmessage QueryCoursesResponse {\n repeated Course courses = 1;\n}\n// Request message for course operation.\nmessage QueryCourseRequest {\n string id = 1;\n}\n// Response message for course operation.\nmessage QueryCourseResponse {\n Course course = 1;\n}\n// Request message for lessons operation.\nmessage QueryLessonsRequest {\n string course_id = 1;\n}\n// Response message for lessons operation.\nmessage QueryLessonsResponse {\n repeated Lesson lessons = 1;\n}\n// Request message for killCoursesService operation.\nmessage QueryKillCoursesServiceRequest {\n}\n// Response message for killCoursesService operation.\nmessage QueryKillCoursesServiceResponse {\n bool kill_courses_service = 1;\n}\n// Request message for throwErrorCourses operation.\nmessage QueryThrowErrorCoursesRequest {\n}\n// Response message for throwErrorCourses operation.\nmessage QueryThrowErrorCoursesResponse {\n bool throw_error_courses = 1;\n}\n// Request message for addCourse operation.\nmessage MutationAddCourseRequest {\n string title = 1;\n int32 instructor_id = 2;\n}\n// Response message for addCourse operation.\nmessage MutationAddCourseResponse {\n Course add_course = 1;\n}\n// Request message for addLesson operation.\nmessage MutationAddLessonRequest {\n string course_id = 1;\n string title = 2;\n int32 order = 3;\n}\n// Response message for addLesson operation.\nmessage MutationAddLessonResponse {\n Lesson add_lesson = 1;\n}\n\nmessage Employee {\n int32 id = 1;\n repeated Course taught_courses = 2;\n}\n\nmessage Course {\n string id = 1;\n string title = 2;\n google.protobuf.StringValue description = 3;\n Employee instructor = 4;\n repeated Lesson lessons = 5;\n}\n\nmessage Lesson {\n string id = 1;\n string course_id = 2;\n string title = 3;\n google.protobuf.StringValue description = 4;\n int32 order = 5;\n Course course = 6;\n}", + "plugin": { "name": "courses", "version": "0.0.1", "imageReference": { "repository": "test-org/courses", "reference": "v1" } } + } + }, + "requestTimeoutSeconds": "10", + "id": "9", + "keys": [{ "typeName": "Employee", "selectionSet": "id" }] + } + ], + "fieldConfigurations": [ + { + "typeName": "Query", + "fieldName": "employee", + "argumentsConfiguration": [{ "name": "id", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "employeeAsList", + "argumentsConfiguration": [{ "name": "id", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "teammates", + "argumentsConfiguration": [{ "name": "team", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "findEmployeesBy", + "argumentsConfiguration": [{ "name": "criteria", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "findEmployees", + "argumentsConfiguration": [{ "name": "criteria", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "sharedThings", + "argumentsConfiguration": [ + { "name": "numOfA", "sourceType": "FIELD_ARGUMENT" }, + { "name": "numOfB", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Query", + "fieldName": "headerValue", + "argumentsConfiguration": [{ "name": "name", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "initPayloadValue", + "argumentsConfiguration": [{ "name": "key", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "delay", + "argumentsConfiguration": [ + { "name": "response", "sourceType": "FIELD_ARGUMENT" }, + { "name": "ms", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Query", + "fieldName": "bigResponse", + "argumentsConfiguration": [ + { "name": "artificialDelay", "sourceType": "FIELD_ARGUMENT" }, + { "name": "bigObjects", "sourceType": "FIELD_ARGUMENT" }, + { "name": "nestedObjects", "sourceType": "FIELD_ARGUMENT" }, + { "name": "deeplyNestedObjects", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Query", + "fieldName": "longResponse", + "argumentsConfiguration": [ + { "name": "artificialDelay", "sourceType": "FIELD_ARGUMENT" }, + { "name": "bytes", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Query", + "fieldName": "rootFieldWithListArg", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "rootFieldWithNestedListArg", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "rootFieldWithListOfInputArg", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "rootFieldWithListOfEnumArg", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "rootFieldWithInput", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "floatField", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "project", + "argumentsConfiguration": [{ "name": "id", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "projectsByStatus", + "argumentsConfiguration": [{ "name": "status", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "projectResources", + "argumentsConfiguration": [{ "name": "projectId", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "searchProjects", + "argumentsConfiguration": [{ "name": "query", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "milestones", + "argumentsConfiguration": [{ "name": "projectId", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "tasks", + "argumentsConfiguration": [{ "name": "projectId", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "projectActivities", + "argumentsConfiguration": [{ "name": "projectId", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "tasksByPriority", + "argumentsConfiguration": [{ "name": "projectId", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "resourceMatrix", + "argumentsConfiguration": [{ "name": "projectId", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "nodesById", + "argumentsConfiguration": [{ "name": "id", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "course", + "argumentsConfiguration": [{ "name": "id", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "lessons", + "argumentsConfiguration": [{ "name": "courseId", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Mutation", + "fieldName": "updateEmployeeTag", + "argumentsConfiguration": [ + { "name": "id", "sourceType": "FIELD_ARGUMENT" }, + { "name": "tag", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Mutation", + "fieldName": "singleUpload", + "argumentsConfiguration": [{ "name": "file", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Mutation", + "fieldName": "singleUploadWithInput", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Mutation", + "fieldName": "multipleUpload", + "argumentsConfiguration": [{ "name": "files", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Mutation", + "fieldName": "addFact", + "argumentsConfiguration": [{ "name": "fact", "sourceType": "FIELD_ARGUMENT" }], + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [{ "requiredAndScopes": ["write:fact"] }, { "requiredAndScopes": ["write:all"] }], + "requiredOrScopesByOr": [{ "requiredAndScopes": ["write:fact"] }, { "requiredAndScopes": ["write:all"] }] + } + }, + { + "typeName": "Mutation", + "fieldName": "updateAvailability", + "argumentsConfiguration": [ + { "name": "employeeID", "sourceType": "FIELD_ARGUMENT" }, + { "name": "isAvailable", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Mutation", + "fieldName": "updateMood", + "argumentsConfiguration": [ + { "name": "employeeID", "sourceType": "FIELD_ARGUMENT" }, + { "name": "mood", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Mutation", + "fieldName": "addProject", + "argumentsConfiguration": [{ "name": "project", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Mutation", + "fieldName": "addMilestone", + "argumentsConfiguration": [{ "name": "milestone", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Mutation", + "fieldName": "addTask", + "argumentsConfiguration": [{ "name": "task", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Mutation", + "fieldName": "updateProjectStatus", + "argumentsConfiguration": [ + { "name": "projectId", "sourceType": "FIELD_ARGUMENT" }, + { "name": "status", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Mutation", + "fieldName": "addCourse", + "argumentsConfiguration": [ + { "name": "title", "sourceType": "FIELD_ARGUMENT" }, + { "name": "instructorId", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Mutation", + "fieldName": "addLesson", + "argumentsConfiguration": [ + { "name": "courseId", "sourceType": "FIELD_ARGUMENT" }, + { "name": "title", "sourceType": "FIELD_ARGUMENT" }, + { "name": "order", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Subscription", + "fieldName": "countEmp", + "argumentsConfiguration": [ + { "name": "max", "sourceType": "FIELD_ARGUMENT" }, + { "name": "intervalMilliseconds", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Subscription", + "fieldName": "countEmp2", + "argumentsConfiguration": [ + { "name": "max", "sourceType": "FIELD_ARGUMENT" }, + { "name": "intervalMilliseconds", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Subscription", + "fieldName": "countFor", + "argumentsConfiguration": [{ "name": "count", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Subscription", + "fieldName": "countHob", + "argumentsConfiguration": [ + { "name": "max", "sourceType": "FIELD_ARGUMENT" }, + { "name": "intervalMilliseconds", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Subscription", + "fieldName": "headerValue", + "argumentsConfiguration": [ + { "name": "name", "sourceType": "FIELD_ARGUMENT" }, + { "name": "repeat", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Subscription", + "fieldName": "initPayloadValue", + "argumentsConfiguration": [ + { "name": "key", "sourceType": "FIELD_ARGUMENT" }, + { "name": "repeat", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Subscription", + "fieldName": "initialPayload", + "argumentsConfiguration": [{ "name": "repeat", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Employee", + "fieldName": "currentWorkload", + "argumentsConfiguration": [ + { "name": "includeCompleted", "sourceType": "FIELD_ARGUMENT" }, + { "name": "projectId", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Employee", + "fieldName": "averageTaskCompletionDays", + "argumentsConfiguration": [ + { "name": "projectId", "sourceType": "FIELD_ARGUMENT" }, + { "name": "priority", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Documentation", + "fieldName": "url", + "argumentsConfiguration": [{ "name": "product", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Documentation", + "fieldName": "urls", + "argumentsConfiguration": [{ "name": "products", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Project", + "fieldName": "subProjects", + "argumentsConfiguration": [{ "name": "includeArchived", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Project", + "fieldName": "filteredTasks", + "argumentsConfiguration": [ + { "name": "status", "sourceType": "FIELD_ARGUMENT" }, + { "name": "priority", "sourceType": "FIELD_ARGUMENT" }, + { "name": "limit", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Project", + "fieldName": "completionRate", + "argumentsConfiguration": [{ "name": "includeSubtasks", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Project", + "fieldName": "estimatedDaysRemaining", + "argumentsConfiguration": [{ "name": "fromDate", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Project", + "fieldName": "criticalDeadline", + "argumentsConfiguration": [{ "name": "withinDays", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Project", + "fieldName": "topPriorityItem", + "argumentsConfiguration": [{ "name": "category", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Milestone", + "fieldName": "isAtRisk", + "argumentsConfiguration": [{ "name": "threshold", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Milestone", + "fieldName": "daysUntilDue", + "argumentsConfiguration": [{ "name": "fromDate", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Task", + "fieldName": "isBlocked", + "argumentsConfiguration": [{ "name": "checkDependencies", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Task", + "fieldName": "totalEffort", + "argumentsConfiguration": [{ "name": "includeSubtasks", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Employee", + "fieldName": "startDate", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [ + { "requiredAndScopes": ["read:employee", "read:private"] }, + { "requiredAndScopes": ["read:all"] } + ], + "requiredOrScopesByOr": [ + { "requiredAndScopes": ["read:employee", "read:private"] }, + { "requiredAndScopes": ["read:all"] } + ] + } + }, + { + "typeName": "Query", + "fieldName": "topSecretFederationFacts", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [{ "requiredAndScopes": ["read:fact"] }, { "requiredAndScopes": ["read:all"] }], + "requiredOrScopesByOr": [{ "requiredAndScopes": ["read:fact"] }, { "requiredAndScopes": ["read:all"] }] + } + }, + { + "typeName": "Query", + "fieldName": "secret", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [{ "requiredAndScopes": ["read:secret"] }], + "requiredOrScopesByOr": [{ "requiredAndScopes": ["read:secret"] }] + } + }, + { + "typeName": "Query", + "fieldName": "factTypes", + "authorizationConfiguration": { "requiresAuthentication": true } + }, + { + "typeName": "TopSecretFact", + "fieldName": "factType", + "authorizationConfiguration": { "requiresAuthentication": true } + }, + { + "typeName": "TopSecretFact", + "fieldName": "description", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [{ "requiredAndScopes": ["read:scalar"] }, { "requiredAndScopes": ["read:all"] }], + "requiredOrScopesByOr": [{ "requiredAndScopes": ["read:scalar"] }, { "requiredAndScopes": ["read:all"] }] + } + }, + { + "typeName": "DirectiveFact", + "fieldName": "factType", + "authorizationConfiguration": { "requiresAuthentication": true } + }, + { + "typeName": "DirectiveFact", + "fieldName": "description", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [{ "requiredAndScopes": ["read:scalar"] }, { "requiredAndScopes": ["read:all"] }], + "requiredOrScopesByOr": [{ "requiredAndScopes": ["read:scalar"] }, { "requiredAndScopes": ["read:all"] }] + } + }, + { + "typeName": "EntityFact", + "fieldName": "factType", + "authorizationConfiguration": { "requiresAuthentication": true } + }, + { + "typeName": "EntityFact", + "fieldName": "description", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [{ "requiredAndScopes": ["read:scalar"] }, { "requiredAndScopes": ["read:all"] }], + "requiredOrScopesByOr": [{ "requiredAndScopes": ["read:scalar"] }, { "requiredAndScopes": ["read:all"] }] + } + }, + { + "typeName": "MiscellaneousFact", + "fieldName": "description", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [ + { "requiredAndScopes": ["read:scalar", "read:miscellaneous"] }, + { "requiredAndScopes": ["read:all", "read:miscellaneous"] } + ], + "requiredOrScopesByOr": [ + { "requiredAndScopes": ["read:scalar", "read:miscellaneous"] }, + { "requiredAndScopes": ["read:all", "read:miscellaneous"] } + ] + } + }, + { + "typeName": "MiscellaneousFact", + "fieldName": "factType", + "authorizationConfiguration": { "requiresAuthentication": true } + } + ], + "graphqlSchema": "schema {\n query: Query\n mutation: Mutation\n subscription: Subscription\n}\n\ndirective @tag(name: String!) repeatable on ARGUMENT_DEFINITION | ENUM | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION\n\ndirective @requiresScopes(scopes: [[openfed__Scope!]!]!) on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR\n\ndirective @authenticated on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR\n\ndirective @inaccessible on ARGUMENT_DEFINITION | ENUM | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION\n\nscalar openfed__Scope\n\ntype Query {\n employee(id: Int!): Employee\n employeeAsList(id: Int!): [Employee]\n employees: [Employee]\n products: [Products!]!\n teammates(team: Department!): [Employee!]!\n firstEmployee: Employee! @tag(name: \"internal\")\n findEmployeesBy(criteria: FindEmployeeCriteria!): [Employee!]!\n \"\"\" This is a GraphQL query that retrieves a list of employees.\"\"\"\n findEmployees(criteria: SearchInput): [Employee!]!\n productTypes: [Products!]!\n topSecretFederationFacts: [TopSecretFact!]! @requiresScopes(scopes: [[\"read:fact\"], [\"read:all\"]])\n factTypes: [TopSecretFactType!]\n sharedThings(numOfA: Int!, numOfB: Int!): [Thing!]!\n \"\"\"Returns the value of the received HTTP header.\"\"\"\n headerValue(name: String!): String!\n \"\"\"Returns the value of the given key in the WS initial payload.\"\"\"\n initPayloadValue(key: String!): String!\n initialPayload: Map\n \"\"\"Returns response after the given delay\"\"\"\n delay(response: String!, ms: Int!): String!\n bigResponse(artificialDelay: Int! = 0, bigObjects: Int! = 100, nestedObjects: Int! = 100, deeplyNestedObjects: Int! = 100): [BigObject!]!\n longResponse(artificialDelay: Int! = 0, bytes: Int!): String\n bigAbstractResponse: BigAbstractResponse\n rootFieldWithListArg(arg: [String!]!): [String!]!\n rootFieldWithNestedListArg(arg: [[String!]!]!): [[String!]!]!\n rootFieldWithListOfInputArg(arg: [InputType!]!): [InputResponse!]!\n rootFieldWithListOfEnumArg(arg: [EnumType!]!): [EnumType!]!\n rootFieldWithInput(arg: InputArg!): String!\n floatField(arg: Float): Float\n secret: Secret @requiresScopes(scopes: [[\"read:secret\"]])\n projects: [Project!]!\n project(id: ID!): Project\n projectStatuses: [ProjectStatus!]!\n projectsByStatus(status: ProjectStatus!): [Project!]!\n projectResources(projectId: ID!): [ProjectResource!]!\n searchProjects(query: String!): [ProjectSearchResult!]!\n milestones(projectId: ID!): [Milestone!]!\n tasks(projectId: ID!): [Task!]!\n projectActivities(projectId: ID!): [ProjectActivity!]!\n projectTags: [String]\n archivedProjects: [Project]!\n tasksByPriority(projectId: ID!): [[Task]]\n resourceMatrix(projectId: ID!): [[ProjectResource!]!]!\n killService: Boolean!\n panic: Boolean!\n nodesById(id: ID!): [Node!]!\n courses: [Course!]!\n course(id: ID!): Course\n lessons(courseId: ID!): [Lesson!]!\n killCoursesService: Boolean!\n throwErrorCourses: Boolean!\n}\n\nscalar Upload\n\ntype Mutation {\n updateEmployeeTag(id: Int!, tag: String!): Employee\n singleUpload(file: Upload!): Boolean!\n singleUploadWithInput(arg: FileUpload!): Boolean!\n multipleUpload(files: [Upload!]!): Boolean!\n addFact(fact: TopSecretFactInput!): TopSecretFact! @requiresScopes(scopes: [[\"write:fact\"], [\"write:all\"]])\n \"\"\" This mutation updates the availability status of an employee in the system.\n \"\"\"\n updateAvailability(employeeID: Int!, isAvailable: Boolean!): Employee!\n \"\"\" This mutation update the mood of an employee. \"\"\"\n updateMood(employeeID: Int!, mood: Mood!): Employee!\n addProject(project: ProjectInput!): Project!\n addMilestone(milestone: MilestoneInput!): Milestone!\n addTask(task: TaskInput!): Task!\n updateProjectStatus(projectId: ID!, status: ProjectStatus!): ProjectUpdate!\n addCourse(title: String!, instructorId: Int!): Course!\n addLesson(courseId: ID!, title: String!, order: Int!): Lesson!\n}\n\ninput FileUpload {\n nested: DeeplyNestedFileUpload\n nestedList: [Upload!]\n}\n\ninput DeeplyNestedFileUpload {\n file: Upload!\n}\n\ntype Subscription {\n \"\"\"`currentTime` will return a stream of `Time` objects.\"\"\"\n currentTime: Time!\n countEmp(max: Int!, intervalMilliseconds: Int!): Int!\n countEmp2(max: Int!, intervalMilliseconds: Int!): Int!\n countFor(count: Int!): Int!\n countHob(max: Int!, intervalMilliseconds: Int!): Int!\n \"\"\"Returns a stream with the value of the received HTTP header.\"\"\"\n headerValue(name: String!, repeat: Int): TimestampedString!\n \"\"\"\n Returns a stream with the value of value of the given key in the WS initial payload.\n \"\"\"\n initPayloadValue(key: String!, repeat: Int): TimestampedString!\n \"\"\"Returns a stream with the value of the WS initial payload.\"\"\"\n initialPayload(repeat: Int): Map\n returnsError: String\n}\n\nenum Department {\n ENGINEERING\n MARKETING\n OPERATIONS\n}\n\ninterface RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n}\n\nenum EngineerType {\n BACKEND\n FRONTEND\n FULLSTACK\n}\n\ninterface Identifiable {\n id: Int!\n}\n\nenum OperationType {\n FINANCE\n HUMAN_RESOURCES\n}\n\ntype Details {\n forename: String!\n location: Country!\n surname: String!\n pastLocations: [City!]!\n middlename: String @deprecated(reason: \"No longer supported\")\n hasChildren: Boolean!\n maritalStatus: MaritalStatus\n nationality: Nationality!\n pets: [Pet]\n}\n\ntype City {\n type: String!\n name: String!\n country: Country\n}\n\ntype Country {\n key: CountryKey!\n language: String\n}\n\ntype CountryKey {\n name: String!\n}\n\nenum Mood {\n HAPPY\n SAD\n APATHETIC @inaccessible\n}\n\ntype ErrorWrapper {\n okField: String\n errorField: String\n}\n\ntype Time {\n unixTime: Int!\n timeStamp: String!\n}\n\nunion Products = Consultancy | Cosmo | SDK | Documentation\n\ninterface IProduct {\n upc: ID!\n engineers: [Employee!]!\n}\n\ntype Consultancy {\n upc: ID!\n lead: Employee!\n isLeadAvailable: Boolean\n name: ProductName!\n}\n\ninput FindEmployeeCriteria @oneOf {\n id: Int\n department: Department\n title: String\n}\n\nenum Class {\n FISH\n MAMMAL\n REPTILE\n}\n\nenum Gender {\n FEMALE\n MALE\n UNKNOWN\n}\n\ninterface Animal {\n class: Class!\n gender: Gender!\n}\n\nenum CatType {\n HOME\n STREET\n}\n\nenum DogBreed {\n GOLDEN_RETRIEVER\n POODLE\n ROTTWEILER\n YORKSHIRE_TERRIER\n}\n\nenum MaritalStatus {\n ENGAGED\n MARRIED\n}\n\nenum Nationality {\n AMERICAN\n DUTCH\n ENGLISH\n GERMAN\n INDIAN\n SPANISH\n UKRAINIAN\n}\n\n\"\"\" Allows to filter employees by their details. \"\"\"\ninput SearchInput {\n hasPets: Boolean\n nationality: Nationality\n nested: NestedSearchInput\n}\n\ninput NestedSearchInput {\n maritalStatus: MaritalStatus\n hasChildren: Boolean\n}\n\nenum ExerciseType {\n CALISTHENICS\n HIKING\n SPORT\n STRENGTH_TRAINING\n}\n\ninterface Experience {\n yearsOfExperience: Float!\n}\n\nenum GameGenre {\n ADVENTURE\n BOARD\n FPS\n CARD\n RPG\n ROGUELITE\n SIMULATION\n STRATEGY\n}\n\nenum ProgrammingLanguage {\n CSHARP\n GO\n RUST\n TYPESCRIPT\n}\n\ninterface Hobby {\n employees: [Employee!]!\n}\n\ntype Thing {\n a: String!\n b: String!\n}\n\ninput TopSecretFactInput {\n title: String!\n description: FactContent!\n factType: TopSecretFactType!\n}\n\nenum TopSecretFactType @authenticated {\n DIRECTIVE\n ENTITY\n MISCELLANEOUS\n}\n\ninterface TopSecretFact @authenticated {\n description: FactContent!\n factType: TopSecretFactType\n}\n\nscalar FactContent @requiresScopes(scopes: [[\"read:scalar\"], [\"read:all\"]])\n\nenum ProductName {\n CONSULTANCY\n COSMO\n ENGINE\n FINANCE\n HUMAN_RESOURCES\n MARKETING\n SDK\n}\n\ntype Documentation {\n url(product: ProductName!): String!\n urls(products: [ProductName!]!): [String!]!\n}\n\ntype Secret {\n value: String\n}\n\ninput InputArg {\n enums: [EnumType!]\n enum: EnumType\n string: String\n strings: [String!]\n}\n\nenum EnumType {\n A\n B\n C\n}\n\ninput InputType {\n arg: String!\n}\n\ntype InputResponse {\n arg: String!\n}\n\nscalar Map\n\ntype TimestampedString {\n \"\"\"The value of the string.\"\"\"\n value: String!\n \"\"\"The timestamp when the response was generated.\"\"\"\n unixTime: Int!\n \"\"\"Sequence number\"\"\"\n seq: Int!\n \"\"\"Total number of responses to be sent\"\"\"\n total: Int!\n initialPayload: Map\n}\n\ntype BigObject {\n nestedObjects: [NestedObject!]!\n}\n\ntype NestedObject {\n deeplyNestedObjects: [DeeplyNestedObject!]!\n}\n\ntype DeeplyNestedObject {\n aFieldOnDeeplyNestedObject: String!\n bFieldOnDeeplyNestedObject: Int!\n cFieldOnDeeplyNestedObject: Boolean!\n dFieldOnDeeplyNestedObject: Float!\n eFieldOnDeeplyNestedObject: String!\n fFieldOnDeeplyNestedObject: Int!\n gFieldOnDeeplyNestedObject: Boolean!\n hFieldOnDeeplyNestedObject: Float!\n iFieldOnDeeplyNestedObject: String!\n jFieldOnDeeplyNestedObject: Int!\n kFieldOnDeeplyNestedObject: Boolean!\n lFieldOnDeeplyNestedObject: Float!\n mFieldOnDeeplyNestedObject: String!\n nFieldOnDeeplyNestedObject: Int!\n oFieldOnDeeplyNestedObject: Boolean!\n pFieldOnDeeplyNestedObject: Float!\n qFieldOnDeeplyNestedObject: String!\n rFieldOnDeeplyNestedObject: Int!\n sFieldOnDeeplyNestedObject: Boolean!\n tFieldOnDeeplyNestedObject: Float!\n uFieldOnDeeplyNestedObject: String!\n vFieldOnDeeplyNestedObject: Int!\n wFieldOnDeeplyNestedObject: Boolean!\n xFieldOnDeeplyNestedObject: Float!\n yFieldOnDeeplyNestedObject: String!\n zFieldOnDeeplyNestedObject: Int!\n}\n\nunion BigAbstractResponse = ABigObject | BBigObject | CBigObject | DBigObject | EBigObject | FBigObject | GBigObject | HBigObject | IBigObject | JBigObject | KBigObject | LBigObject | MBigObject | NBigObject | OBigObject | PBigObject | QBigObject | RBigObject | SBigObject | TBigObject | UBigObject | VBigObject | WBigObject | XBigObject | YBigObject | ZBigObject\n\ntype ABigObject {\n aFieldOnABigObject: String!\n bFieldOnABigObject: Int!\n cFieldOnABigObject: Boolean!\n dFieldOnABigObject: Float!\n eFieldOnABigObject: String!\n fFieldOnABigObject: Int!\n gFieldOnABigObject: Boolean!\n hFieldOnABigObject: Float!\n iFieldOnABigObject: String!\n jFieldOnABigObject: Int!\n kFieldOnABigObject: Boolean!\n lFieldOnABigObject: Float!\n mFieldOnABigObject: String!\n nFieldOnABigObject: Int!\n oFieldOnABigObject: Boolean!\n pFieldOnABigObject: Float!\n qFieldOnABigObject: String!\n rFieldOnABigObject: Int!\n sFieldOnABigObject: Boolean!\n tFieldOnABigObject: Float!\n uFieldOnABigObject: String!\n vFieldOnABigObject: Int!\n wFieldOnABigObject: Boolean!\n xFieldOnABigObject: Float!\n yFieldOnABigObject: String!\n zFieldOnABigObject: Int!\n}\n\ntype BBigObject {\n aFieldOnBBigObject: String!\n bFieldOnBBigObject: Int!\n cFieldOnBBigObject: Boolean!\n dFieldOnBBigObject: Float!\n eFieldOnBBigObject: String!\n fFieldOnBBigObject: Int!\n gFieldOnBBigObject: Boolean!\n hFieldOnBBigObject: Float!\n iFieldOnBBigObject: String!\n jFieldOnBBigObject: Int!\n kFieldOnBBigObject: Boolean!\n lFieldOnBBigObject: Float!\n mFieldOnBBigObject: String!\n nFieldOnBBigObject: Int!\n oFieldOnBBigObject: Boolean!\n pFieldOnBBigObject: Float!\n qFieldOnBBigObject: String!\n rFieldOnBBigObject: Int!\n sFieldOnBBigObject: Boolean!\n tFieldOnBBigObject: Float!\n uFieldOnBBigObject: String!\n vFieldOnBBigObject: Int!\n wFieldOnBBigObject: Boolean!\n xFieldOnBBigObject: Float!\n yFieldOnBBigObject: String!\n zFieldOnBBigObject: Int!\n}\n\ntype CBigObject {\n aFieldOnCBigObject: String!\n bFieldOnCBigObject: Int!\n cFieldOnCBigObject: Boolean!\n dFieldOnCBigObject: Float!\n eFieldOnCBigObject: String!\n fFieldOnCBigObject: Int!\n gFieldOnCBigObject: Boolean!\n hFieldOnCBigObject: Float!\n iFieldOnCBigObject: String!\n jFieldOnCBigObject: Int!\n kFieldOnCBigObject: Boolean!\n lFieldOnCBigObject: Float!\n mFieldOnCBigObject: String!\n nFieldOnCBigObject: Int!\n oFieldOnCBigObject: Boolean!\n pFieldOnCBigObject: Float!\n qFieldOnCBigObject: String!\n rFieldOnCBigObject: Int!\n sFieldOnCBigObject: Boolean!\n tFieldOnCBigObject: Float!\n uFieldOnCBigObject: String!\n vFieldOnCBigObject: Int!\n wFieldOnCBigObject: Boolean!\n xFieldOnCBigObject: Float!\n yFieldOnCBigObject: String!\n zFieldOnCBigObject: Int!\n}\n\ntype DBigObject {\n aFieldOnDBigObject: String!\n bFieldOnDBigObject: Int!\n cFieldOnDBigObject: Boolean!\n dFieldOnDBigObject: Float!\n eFieldOnDBigObject: String!\n fFieldOnDBigObject: Int!\n gFieldOnDBigObject: Boolean!\n hFieldOnDBigObject: Float!\n iFieldOnDBigObject: String!\n jFieldOnDBigObject: Int!\n kFieldOnDBigObject: Boolean!\n lFieldOnDBigObject: Float!\n mFieldOnDBigObject: String!\n nFieldOnDBigObject: Int!\n oFieldOnDBigObject: Boolean!\n pFieldOnDBigObject: Float!\n qFieldOnDBigObject: String!\n rFieldOnDBigObject: Int!\n sFieldOnDBigObject: Boolean!\n tFieldOnDBigObject: Float!\n uFieldOnDBigObject: String!\n vFieldOnDBigObject: Int!\n wFieldOnDBigObject: Boolean!\n xFieldOnDBigObject: Float!\n yFieldOnDBigObject: String!\n zFieldOnDBigObject: Int!\n}\n\ntype EBigObject {\n aFieldOnEBigObject: String!\n bFieldOnEBigObject: Int!\n cFieldOnEBigObject: Boolean!\n dFieldOnEBigObject: Float!\n eFieldOnEBigObject: String!\n fFieldOnEBigObject: Int!\n gFieldOnEBigObject: Boolean!\n hFieldOnEBigObject: Float!\n iFieldOnEBigObject: String!\n jFieldOnEBigObject: Int!\n kFieldOnEBigObject: Boolean!\n lFieldOnEBigObject: Float!\n mFieldOnEBigObject: String!\n nFieldOnEBigObject: Int!\n oFieldOnEBigObject: Boolean!\n pFieldOnEBigObject: Float!\n qFieldOnEBigObject: String!\n rFieldOnEBigObject: Int!\n sFieldOnEBigObject: Boolean!\n tFieldOnEBigObject: Float!\n uFieldOnEBigObject: String!\n vFieldOnEBigObject: Int!\n wFieldOnEBigObject: Boolean!\n xFieldOnEBigObject: Float!\n yFieldOnEBigObject: String!\n zFieldOnEBigObject: Int!\n}\n\ntype FBigObject {\n aFieldOnFBigObject: String!\n bFieldOnFBigObject: Int!\n cFieldOnFBigObject: Boolean!\n dFieldOnFBigObject: Float!\n eFieldOnFBigObject: String!\n fFieldOnFBigObject: Int!\n gFieldOnFBigObject: Boolean!\n hFieldOnFBigObject: Float!\n iFieldOnFBigObject: String!\n jFieldOnFBigObject: Int!\n kFieldOnFBigObject: Boolean!\n lFieldOnFBigObject: Float!\n mFieldOnFBigObject: String!\n nFieldOnFBigObject: Int!\n oFieldOnFBigObject: Boolean!\n pFieldOnFBigObject: Float!\n qFieldOnFBigObject: String!\n rFieldOnFBigObject: Int!\n sFieldOnFBigObject: Boolean!\n tFieldOnFBigObject: Float!\n uFieldOnFBigObject: String!\n vFieldOnFBigObject: Int!\n wFieldOnFBigObject: Boolean!\n xFieldOnFBigObject: Float!\n yFieldOnFBigObject: String!\n zFieldOnFBigObject: Int!\n}\n\ntype GBigObject {\n aFieldOnGBigObject: String!\n bFieldOnGBigObject: Int!\n cFieldOnGBigObject: Boolean!\n dFieldOnGBigObject: Float!\n eFieldOnGBigObject: String!\n fFieldOnGBigObject: Int!\n gFieldOnGBigObject: Boolean!\n hFieldOnGBigObject: Float!\n iFieldOnGBigObject: String!\n jFieldOnGBigObject: Int!\n kFieldOnGBigObject: Boolean!\n lFieldOnGBigObject: Float!\n mFieldOnGBigObject: String!\n nFieldOnGBigObject: Int!\n oFieldOnGBigObject: Boolean!\n pFieldOnGBigObject: Float!\n qFieldOnGBigObject: String!\n rFieldOnGBigObject: Int!\n sFieldOnGBigObject: Boolean!\n tFieldOnGBigObject: Float!\n uFieldOnGBigObject: String!\n vFieldOnGBigObject: Int!\n wFieldOnGBigObject: Boolean!\n xFieldOnGBigObject: Float!\n yFieldOnGBigObject: String!\n zFieldOnGBigObject: Int!\n}\n\ntype HBigObject {\n aFieldOnHBigObject: String!\n bFieldOnHBigObject: Int!\n cFieldOnHBigObject: Boolean!\n dFieldOnHBigObject: Float!\n eFieldOnHBigObject: String!\n fFieldOnHBigObject: Int!\n gFieldOnHBigObject: Boolean!\n hFieldOnHBigObject: Float!\n iFieldOnHBigObject: String!\n jFieldOnHBigObject: Int!\n kFieldOnHBigObject: Boolean!\n lFieldOnHBigObject: Float!\n mFieldOnHBigObject: String!\n nFieldOnHBigObject: Int!\n oFieldOnHBigObject: Boolean!\n pFieldOnHBigObject: Float!\n qFieldOnHBigObject: String!\n rFieldOnHBigObject: Int!\n sFieldOnHBigObject: Boolean!\n tFieldOnHBigObject: Float!\n uFieldOnHBigObject: String!\n vFieldOnHBigObject: Int!\n wFieldOnHBigObject: Boolean!\n xFieldOnHBigObject: Float!\n yFieldOnHBigObject: String!\n zFieldOnHBigObject: Int!\n}\n\ntype IBigObject {\n aFieldOnIBigObject: String!\n bFieldOnIBigObject: Int!\n cFieldOnIBigObject: Boolean!\n dFieldOnIBigObject: Float!\n eFieldOnIBigObject: String!\n fFieldOnIBigObject: Int!\n gFieldOnIBigObject: Boolean!\n hFieldOnIBigObject: Float!\n iFieldOnIBigObject: String!\n jFieldOnIBigObject: Int!\n kFieldOnIBigObject: Boolean!\n lFieldOnIBigObject: Float!\n mFieldOnIBigObject: String!\n nFieldOnIBigObject: Int!\n oFieldOnIBigObject: Boolean!\n pFieldOnIBigObject: Float!\n qFieldOnIBigObject: String!\n rFieldOnIBigObject: Int!\n sFieldOnIBigObject: Boolean!\n tFieldOnIBigObject: Float!\n uFieldOnIBigObject: String!\n vFieldOnIBigObject: Int!\n wFieldOnIBigObject: Boolean!\n xFieldOnIBigObject: Float!\n yFieldOnIBigObject: String!\n zFieldOnIBigObject: Int!\n}\n\ntype JBigObject {\n aFieldOnJBigObject: String!\n bFieldOnJBigObject: Int!\n cFieldOnJBigObject: Boolean!\n dFieldOnJBigObject: Float!\n eFieldOnJBigObject: String!\n fFieldOnJBigObject: Int!\n gFieldOnJBigObject: Boolean!\n hFieldOnJBigObject: Float!\n iFieldOnJBigObject: String!\n jFieldOnJBigObject: Int!\n kFieldOnJBigObject: Boolean!\n lFieldOnJBigObject: Float!\n mFieldOnJBigObject: String!\n nFieldOnJBigObject: Int!\n oFieldOnJBigObject: Boolean!\n pFieldOnJBigObject: Float!\n qFieldOnJBigObject: String!\n rFieldOnJBigObject: Int!\n sFieldOnJBigObject: Boolean!\n tFieldOnJBigObject: Float!\n uFieldOnJBigObject: String!\n vFieldOnJBigObject: Int!\n wFieldOnJBigObject: Boolean!\n xFieldOnJBigObject: Float!\n yFieldOnJBigObject: String!\n zFieldOnJBigObject: Int!\n}\n\ntype KBigObject {\n aFieldOnKBigObject: String!\n bFieldOnKBigObject: Int!\n cFieldOnKBigObject: Boolean!\n dFieldOnKBigObject: Float!\n eFieldOnKBigObject: String!\n fFieldOnKBigObject: Int!\n gFieldOnKBigObject: Boolean!\n hFieldOnKBigObject: Float!\n iFieldOnKBigObject: String!\n jFieldOnKBigObject: Int!\n kFieldOnKBigObject: Boolean!\n lFieldOnKBigObject: Float!\n mFieldOnKBigObject: String!\n nFieldOnKBigObject: Int!\n oFieldOnKBigObject: Boolean!\n pFieldOnKBigObject: Float!\n qFieldOnKBigObject: String!\n rFieldOnKBigObject: Int!\n sFieldOnKBigObject: Boolean!\n tFieldOnKBigObject: Float!\n uFieldOnKBigObject: String!\n vFieldOnKBigObject: Int!\n wFieldOnKBigObject: Boolean!\n xFieldOnKBigObject: Float!\n yFieldOnKBigObject: String!\n zFieldOnKBigObject: Int!\n}\n\ntype LBigObject {\n aFieldOnLBigObject: String!\n bFieldOnLBigObject: Int!\n cFieldOnLBigObject: Boolean!\n dFieldOnLBigObject: Float!\n eFieldOnLBigObject: String!\n fFieldOnLBigObject: Int!\n gFieldOnLBigObject: Boolean!\n hFieldOnLBigObject: Float!\n iFieldOnLBigObject: String!\n jFieldOnLBigObject: Int!\n kFieldOnLBigObject: Boolean!\n lFieldOnLBigObject: Float!\n mFieldOnLBigObject: String!\n nFieldOnLBigObject: Int!\n oFieldOnLBigObject: Boolean!\n pFieldOnLBigObject: Float!\n qFieldOnLBigObject: String!\n rFieldOnLBigObject: Int!\n sFieldOnLBigObject: Boolean!\n tFieldOnLBigObject: Float!\n uFieldOnLBigObject: String!\n vFieldOnLBigObject: Int!\n wFieldOnLBigObject: Boolean!\n xFieldOnLBigObject: Float!\n yFieldOnLBigObject: String!\n zFieldOnLBigObject: Int!\n}\n\ntype MBigObject {\n aFieldOnMBigObject: String!\n bFieldOnMBigObject: Int!\n cFieldOnMBigObject: Boolean!\n dFieldOnMBigObject: Float!\n eFieldOnMBigObject: String!\n fFieldOnMBigObject: Int!\n gFieldOnMBigObject: Boolean!\n hFieldOnMBigObject: Float!\n iFieldOnMBigObject: String!\n jFieldOnMBigObject: Int!\n kFieldOnMBigObject: Boolean!\n lFieldOnMBigObject: Float!\n mFieldOnMBigObject: String!\n nFieldOnMBigObject: Int!\n oFieldOnMBigObject: Boolean!\n pFieldOnMBigObject: Float!\n qFieldOnMBigObject: String!\n rFieldOnMBigObject: Int!\n sFieldOnMBigObject: Boolean!\n tFieldOnMBigObject: Float!\n uFieldOnMBigObject: String!\n vFieldOnMBigObject: Int!\n wFieldOnMBigObject: Boolean!\n xFieldOnMBigObject: Float!\n yFieldOnMBigObject: String!\n zFieldOnMBigObject: Int!\n}\n\ntype NBigObject {\n aFieldOnNBigObject: String!\n bFieldOnNBigObject: Int!\n cFieldOnNBigObject: Boolean!\n dFieldOnNBigObject: Float!\n eFieldOnNBigObject: String!\n fFieldOnNBigObject: Int!\n gFieldOnNBigObject: Boolean!\n hFieldOnNBigObject: Float!\n iFieldOnNBigObject: String!\n jFieldOnNBigObject: Int!\n kFieldOnNBigObject: Boolean!\n lFieldOnNBigObject: Float!\n mFieldOnNBigObject: String!\n nFieldOnNBigObject: Int!\n oFieldOnNBigObject: Boolean!\n pFieldOnNBigObject: Float!\n qFieldOnNBigObject: String!\n rFieldOnNBigObject: Int!\n sFieldOnNBigObject: Boolean!\n tFieldOnNBigObject: Float!\n uFieldOnNBigObject: String!\n vFieldOnNBigObject: Int!\n wFieldOnNBigObject: Boolean!\n xFieldOnNBigObject: Float!\n yFieldOnNBigObject: String!\n zFieldOnNBigObject: Int!\n}\n\ntype OBigObject {\n aFieldOnOBigObject: String!\n bFieldOnOBigObject: Int!\n cFieldOnOBigObject: Boolean!\n dFieldOnOBigObject: Float!\n eFieldOnOBigObject: String!\n fFieldOnOBigObject: Int!\n gFieldOnOBigObject: Boolean!\n hFieldOnOBigObject: Float!\n iFieldOnOBigObject: String!\n jFieldOnOBigObject: Int!\n kFieldOnOBigObject: Boolean!\n lFieldOnOBigObject: Float!\n mFieldOnOBigObject: String!\n nFieldOnOBigObject: Int!\n oFieldOnOBigObject: Boolean!\n pFieldOnOBigObject: Float!\n qFieldOnOBigObject: String!\n rFieldOnOBigObject: Int!\n sFieldOnOBigObject: Boolean!\n tFieldOnOBigObject: Float!\n uFieldOnOBigObject: String!\n vFieldOnOBigObject: Int!\n wFieldOnOBigObject: Boolean!\n xFieldOnOBigObject: Float!\n yFieldOnOBigObject: String!\n zFieldOnOBigObject: Int!\n}\n\ntype PBigObject {\n aFieldOnPBigObject: String!\n bFieldOnPBigObject: Int!\n cFieldOnPBigObject: Boolean!\n dFieldOnPBigObject: Float!\n eFieldOnPBigObject: String!\n fFieldOnPBigObject: Int!\n gFieldOnPBigObject: Boolean!\n hFieldOnPBigObject: Float!\n iFieldOnPBigObject: String!\n jFieldOnPBigObject: Int!\n kFieldOnPBigObject: Boolean!\n lFieldOnPBigObject: Float!\n mFieldOnPBigObject: String!\n nFieldOnPBigObject: Int!\n oFieldOnPBigObject: Boolean!\n pFieldOnPBigObject: Float!\n qFieldOnPBigObject: String!\n rFieldOnPBigObject: Int!\n sFieldOnPBigObject: Boolean!\n tFieldOnPBigObject: Float!\n uFieldOnPBigObject: String!\n vFieldOnPBigObject: Int!\n wFieldOnPBigObject: Boolean!\n xFieldOnPBigObject: Float!\n yFieldOnPBigObject: String!\n zFieldOnPBigObject: Int!\n}\n\ntype QBigObject {\n aFieldOnQBigObject: String!\n bFieldOnQBigObject: Int!\n cFieldOnQBigObject: Boolean!\n dFieldOnQBigObject: Float!\n eFieldOnQBigObject: String!\n fFieldOnQBigObject: Int!\n gFieldOnQBigObject: Boolean!\n hFieldOnQBigObject: Float!\n iFieldOnQBigObject: String!\n jFieldOnQBigObject: Int!\n kFieldOnQBigObject: Boolean!\n lFieldOnQBigObject: Float!\n mFieldOnQBigObject: String!\n nFieldOnQBigObject: Int!\n oFieldOnQBigObject: Boolean!\n pFieldOnQBigObject: Float!\n qFieldOnQBigObject: String!\n rFieldOnQBigObject: Int!\n sFieldOnQBigObject: Boolean!\n tFieldOnQBigObject: Float!\n uFieldOnQBigObject: String!\n vFieldOnQBigObject: Int!\n wFieldOnQBigObject: Boolean!\n xFieldOnQBigObject: Float!\n yFieldOnQBigObject: String!\n zFieldOnQBigObject: Int!\n}\n\ntype RBigObject {\n aFieldOnRBigObject: String!\n bFieldOnRBigObject: Int!\n cFieldOnRBigObject: Boolean!\n dFieldOnRBigObject: Float!\n eFieldOnRBigObject: String!\n fFieldOnRBigObject: Int!\n gFieldOnRBigObject: Boolean!\n hFieldOnRBigObject: Float!\n iFieldOnRBigObject: String!\n jFieldOnRBigObject: Int!\n kFieldOnRBigObject: Boolean!\n lFieldOnRBigObject: Float!\n mFieldOnRBigObject: String!\n nFieldOnRBigObject: Int!\n oFieldOnRBigObject: Boolean!\n pFieldOnRBigObject: Float!\n qFieldOnRBigObject: String!\n rFieldOnRBigObject: Int!\n sFieldOnRBigObject: Boolean!\n tFieldOnRBigObject: Float!\n uFieldOnRBigObject: String!\n vFieldOnRBigObject: Int!\n wFieldOnRBigObject: Boolean!\n xFieldOnRBigObject: Float!\n yFieldOnRBigObject: String!\n zFieldOnRBigObject: Int!\n}\n\ntype SBigObject {\n aFieldOnSBigObject: String!\n bFieldOnSBigObject: Int!\n cFieldOnSBigObject: Boolean!\n dFieldOnSBigObject: Float!\n eFieldOnSBigObject: String!\n fFieldOnSBigObject: Int!\n gFieldOnSBigObject: Boolean!\n hFieldOnSBigObject: Float!\n iFieldOnSBigObject: String!\n jFieldOnSBigObject: Int!\n kFieldOnSBigObject: Boolean!\n lFieldOnSBigObject: Float!\n mFieldOnSBigObject: String!\n nFieldOnSBigObject: Int!\n oFieldOnSBigObject: Boolean!\n pFieldOnSBigObject: Float!\n qFieldOnSBigObject: String!\n rFieldOnSBigObject: Int!\n sFieldOnSBigObject: Boolean!\n tFieldOnSBigObject: Float!\n uFieldOnSBigObject: String!\n vFieldOnSBigObject: Int!\n wFieldOnSBigObject: Boolean!\n xFieldOnSBigObject: Float!\n yFieldOnSBigObject: String!\n zFieldOnSBigObject: Int!\n}\n\ntype TBigObject {\n aFieldOnTBigObject: String!\n bFieldOnTBigObject: Int!\n cFieldOnTBigObject: Boolean!\n dFieldOnTBigObject: Float!\n eFieldOnTBigObject: String!\n fFieldOnTBigObject: Int!\n gFieldOnTBigObject: Boolean!\n hFieldOnTBigObject: Float!\n iFieldOnTBigObject: String!\n jFieldOnTBigObject: Int!\n kFieldOnTBigObject: Boolean!\n lFieldOnTBigObject: Float!\n mFieldOnTBigObject: String!\n nFieldOnTBigObject: Int!\n oFieldOnTBigObject: Boolean!\n pFieldOnTBigObject: Float!\n qFieldOnTBigObject: String!\n rFieldOnTBigObject: Int!\n sFieldOnTBigObject: Boolean!\n tFieldOnTBigObject: Float!\n uFieldOnTBigObject: String!\n vFieldOnTBigObject: Int!\n wFieldOnTBigObject: Boolean!\n xFieldOnTBigObject: Float!\n yFieldOnTBigObject: String!\n zFieldOnTBigObject: Int!\n}\n\ntype UBigObject {\n aFieldOnUBigObject: String!\n bFieldOnUBigObject: Int!\n cFieldOnUBigObject: Boolean!\n dFieldOnUBigObject: Float!\n eFieldOnUBigObject: String!\n fFieldOnUBigObject: Int!\n gFieldOnUBigObject: Boolean!\n hFieldOnUBigObject: Float!\n iFieldOnUBigObject: String!\n jFieldOnUBigObject: Int!\n kFieldOnUBigObject: Boolean!\n lFieldOnUBigObject: Float!\n mFieldOnUBigObject: String!\n nFieldOnUBigObject: Int!\n oFieldOnUBigObject: Boolean!\n pFieldOnUBigObject: Float!\n qFieldOnUBigObject: String!\n rFieldOnUBigObject: Int!\n sFieldOnUBigObject: Boolean!\n tFieldOnUBigObject: Float!\n uFieldOnUBigObject: String!\n vFieldOnUBigObject: Int!\n wFieldOnUBigObject: Boolean!\n xFieldOnUBigObject: Float!\n yFieldOnUBigObject: String!\n zFieldOnUBigObject: Int!\n}\n\ntype VBigObject {\n aFieldOnVBigObject: String!\n bFieldOnVBigObject: Int!\n cFieldOnVBigObject: Boolean!\n dFieldOnVBigObject: Float!\n eFieldOnVBigObject: String!\n fFieldOnVBigObject: Int!\n gFieldOnVBigObject: Boolean!\n hFieldOnVBigObject: Float!\n iFieldOnVBigObject: String!\n jFieldOnVBigObject: Int!\n kFieldOnVBigObject: Boolean!\n lFieldOnVBigObject: Float!\n mFieldOnVBigObject: String!\n nFieldOnVBigObject: Int!\n oFieldOnVBigObject: Boolean!\n pFieldOnVBigObject: Float!\n qFieldOnVBigObject: String!\n rFieldOnVBigObject: Int!\n sFieldOnVBigObject: Boolean!\n tFieldOnVBigObject: Float!\n uFieldOnVBigObject: String!\n vFieldOnVBigObject: Int!\n wFieldOnVBigObject: Boolean!\n xFieldOnVBigObject: Float!\n yFieldOnVBigObject: String!\n zFieldOnVBigObject: Int!\n}\n\ntype WBigObject {\n aFieldOnWBigObject: String!\n bFieldOnWBigObject: Int!\n cFieldOnWBigObject: Boolean!\n dFieldOnWBigObject: Float!\n eFieldOnWBigObject: String!\n fFieldOnWBigObject: Int!\n gFieldOnWBigObject: Boolean!\n hFieldOnWBigObject: Float!\n iFieldOnWBigObject: String!\n jFieldOnWBigObject: Int!\n kFieldOnWBigObject: Boolean!\n lFieldOnWBigObject: Float!\n mFieldOnWBigObject: String!\n nFieldOnWBigObject: Int!\n oFieldOnWBigObject: Boolean!\n pFieldOnWBigObject: Float!\n qFieldOnWBigObject: String!\n rFieldOnWBigObject: Int!\n sFieldOnWBigObject: Boolean!\n tFieldOnWBigObject: Float!\n uFieldOnWBigObject: String!\n vFieldOnWBigObject: Int!\n wFieldOnWBigObject: Boolean!\n xFieldOnWBigObject: Float!\n yFieldOnWBigObject: String!\n zFieldOnWBigObject: Int!\n}\n\ntype XBigObject {\n aFieldOnXBigObject: String!\n bFieldOnXBigObject: Int!\n cFieldOnXBigObject: Boolean!\n dFieldOnXBigObject: Float!\n eFieldOnXBigObject: String!\n fFieldOnXBigObject: Int!\n gFieldOnXBigObject: Boolean!\n hFieldOnXBigObject: Float!\n iFieldOnXBigObject: String!\n jFieldOnXBigObject: Int!\n kFieldOnXBigObject: Boolean!\n lFieldOnXBigObject: Float!\n mFieldOnXBigObject: String!\n nFieldOnXBigObject: Int!\n oFieldOnXBigObject: Boolean!\n pFieldOnXBigObject: Float!\n qFieldOnXBigObject: String!\n rFieldOnXBigObject: Int!\n sFieldOnXBigObject: Boolean!\n tFieldOnXBigObject: Float!\n uFieldOnXBigObject: String!\n vFieldOnXBigObject: Int!\n wFieldOnXBigObject: Boolean!\n xFieldOnXBigObject: Float!\n yFieldOnXBigObject: String!\n zFieldOnXBigObject: Int!\n}\n\ntype YBigObject {\n aFieldOnYBigObject: String!\n bFieldOnYBigObject: Int!\n cFieldOnYBigObject: Boolean!\n dFieldOnYBigObject: Float!\n eFieldOnYBigObject: String!\n fFieldOnYBigObject: Int!\n gFieldOnYBigObject: Boolean!\n hFieldOnYBigObject: Float!\n iFieldOnYBigObject: String!\n jFieldOnYBigObject: Int!\n kFieldOnYBigObject: Boolean!\n lFieldOnYBigObject: Float!\n mFieldOnYBigObject: String!\n nFieldOnYBigObject: Int!\n oFieldOnYBigObject: Boolean!\n pFieldOnYBigObject: Float!\n qFieldOnYBigObject: String!\n rFieldOnYBigObject: Int!\n sFieldOnYBigObject: Boolean!\n tFieldOnYBigObject: Float!\n uFieldOnYBigObject: String!\n vFieldOnYBigObject: Int!\n wFieldOnYBigObject: Boolean!\n xFieldOnYBigObject: Float!\n yFieldOnYBigObject: String!\n zFieldOnYBigObject: Int!\n}\n\ntype ZBigObject {\n aFieldOnZBigObject: String!\n bFieldOnZBigObject: Int!\n cFieldOnZBigObject: Boolean!\n dFieldOnZBigObject: Float!\n eFieldOnZBigObject: String!\n fFieldOnZBigObject: Int!\n gFieldOnZBigObject: Boolean!\n hFieldOnZBigObject: Float!\n iFieldOnZBigObject: String!\n jFieldOnZBigObject: Int!\n kFieldOnZBigObject: Boolean!\n lFieldOnZBigObject: Float!\n mFieldOnZBigObject: String!\n nFieldOnZBigObject: Int!\n oFieldOnZBigObject: Boolean!\n pFieldOnZBigObject: Float!\n qFieldOnZBigObject: String!\n rFieldOnZBigObject: Int!\n sFieldOnZBigObject: Boolean!\n tFieldOnZBigObject: Float!\n uFieldOnZBigObject: String!\n vFieldOnZBigObject: Int!\n wFieldOnZBigObject: Boolean!\n xFieldOnZBigObject: Float!\n yFieldOnZBigObject: String!\n zFieldOnZBigObject: Int!\n}\n\ninput ProjectInput {\n name: String!\n description: String\n startDate: String\n endDate: String\n status: ProjectStatus!\n}\n\ninput MilestoneInput {\n projectId: ID!\n name: String!\n description: String\n dueDate: String\n status: MilestoneStatus!\n}\n\ninput TaskInput {\n projectId: ID!\n assigneeId: Int\n name: String!\n description: String\n priority: TaskPriority!\n status: TaskStatus!\n estimatedHours: Float\n}\n\ninterface Node {\n id: ID!\n}\n\ninterface Timestamped {\n startDate: String\n endDate: String\n}\n\ninterface Assignable {\n assigneeId: Int\n}\n\nenum ProjectStatus {\n PLANNING\n ACTIVE\n COMPLETED\n ON_HOLD\n}\n\nenum MilestoneStatus {\n PENDING\n IN_PROGRESS\n COMPLETED\n DELAYED\n}\n\nenum TaskStatus {\n TODO\n IN_PROGRESS\n REVIEW\n COMPLETED\n BLOCKED\n}\n\nenum TaskPriority {\n LOW\n MEDIUM\n HIGH\n URGENT\n}\n\nenum ProjectUpdateType {\n STATUS_CHANGE\n MILESTONE_ADDED\n TASK_ASSIGNED\n PROGRESS_UPDATE\n TEAM_CHANGE\n}\n\nunion ProjectResource = Employee | Product | Milestone | Task\n\nunion ProjectSearchResult = Project | Milestone | Task\n\nunion ProjectActivity = ProjectUpdate | Milestone | Task\n\ntype Product {\n upc: String!\n projects: [Project!]\n featureMatrix: [[String]]\n}\n\ntype Course {\n id: ID!\n title: String!\n description: String\n instructor: Employee!\n lessons: [Lesson!]!\n}\n\ntype Lesson {\n id: ID!\n courseId: ID!\n title: String!\n description: String\n order: Int!\n course: Course!\n}\n\ntype Engineer implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n engineerType: EngineerType!\n}\n\ntype Marketer implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n}\n\ntype Operator implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n operatorType: [OperationType!]!\n}\n\ntype Employee implements Identifiable {\n details: Details\n id: Int!\n tag: String!\n role: RoleType!\n notes: String\n updatedAt: String!\n startDate: String! @requiresScopes(scopes: [[\"read:employee\", \"read:private\"], [\"read:all\"]])\n currentMood: Mood!\n derivedMood: Mood!\n isAvailable: Boolean\n rootFieldThrowsError: String\n rootFieldErrorWrapper: ErrorWrapper\n hobbies: [Hobby!]\n products: [ProductName!]!\n fieldThrowsError: String\n projects: [Project!]\n assignedTasks: [Task!]!\n completedTasks: [Task!]!\n skills: [String]\n certifications: [String!]\n projectHistory: [[Project!]]!\n currentWorkload(includeCompleted: Boolean, projectId: ID): Int!\n averageTaskCompletionDays(projectId: ID, priority: TaskPriority): Float\n taughtCourses: [Course!]!\n}\n\ntype Cosmo implements IProduct {\n upc: ID!\n engineers: [Employee!]!\n lead: Employee!\n isLeadAvailable: Boolean\n name: ProductName!\n repositoryURL: String!\n}\n\ntype SDK implements IProduct {\n upc: ID!\n engineers: [Employee!]!\n owner: Employee!\n unicode: String!\n clientLanguages: [ProgrammingLanguage!]!\n}\n\ninterface Pet implements Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Alligator implements Pet & Animal {\n class: Class!\n dangerous: String!\n gender: Gender!\n name: String!\n}\n\ntype Cat implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n type: CatType!\n}\n\ntype Dog implements Pet & Animal {\n breed: DogBreed!\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Mouse implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Pony implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Exercise implements Hobby {\n employees: [Employee!]!\n category: ExerciseType!\n}\n\ntype Flying implements Experience & Hobby {\n employees: [Employee!]!\n planeModels: [String!]!\n yearsOfExperience: Float!\n}\n\ntype Gaming implements Experience & Hobby {\n employees: [Employee!]!\n genres: [GameGenre!]!\n name: String!\n yearsOfExperience: Float!\n}\n\ntype Other implements Hobby {\n employees: [Employee!]!\n name: String!\n}\n\ntype Programming implements Hobby {\n employees: [Employee!]!\n languages: [ProgrammingLanguage!]!\n}\n\ntype Travelling implements Hobby {\n employees: [Employee!]!\n countriesLived: [Country!]!\n}\n\ntype DirectiveFact implements TopSecretFact @authenticated {\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype EntityFact implements TopSecretFact @requiresScopes(scopes: [[\"read:entity\"]]) {\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype MiscellaneousFact implements TopSecretFact {\n title: String!\n description: FactContent! @requiresScopes(scopes: [[\"read:miscellaneous\"]])\n factType: TopSecretFactType\n}\n\ntype Project implements Node & Timestamped {\n id: ID!\n name: String!\n description: String\n startDate: String\n endDate: String\n status: ProjectStatus!\n teamMembers: [Employee!]!\n relatedProducts: [Product!]!\n milestoneIds: [String!]\n milestones: [Milestone!]!\n tasks: [Task!]!\n progress: Float\n tags: [String]\n alternativeProjects: [Project]\n dependencies: [Project!]\n resourceGroups: [[ProjectResource!]!]!\n tasksByPhase: [[Task!]]!\n milestoneGroups: [[Milestone]]\n priorityMatrix: [[[Task!]!]!]\n subProjects(includeArchived: Boolean): [Project!]!\n filteredTasks(status: TaskStatus, priority: TaskPriority, limit: Int): [Task!]!\n completionRate(includeSubtasks: Boolean): Float!\n estimatedDaysRemaining(fromDate: String): Int\n criticalDeadline(withinDays: Int): Timestamped\n topPriorityItem(category: String): ProjectSearchResult\n}\n\ntype Milestone implements Node & Timestamped {\n id: ID!\n projectId: ID!\n name: String!\n description: String\n startDate: String\n endDate: String\n status: MilestoneStatus!\n completionPercentage: Float\n dependencies: [Milestone]!\n subtasks: [Task]\n reviewers: [Employee!]\n isAtRisk(threshold: Float): Boolean!\n daysUntilDue(fromDate: String): Int\n}\n\ntype Task implements Node & Assignable {\n id: ID!\n projectId: ID!\n milestoneId: ID\n assigneeId: Int\n name: String!\n description: String\n priority: TaskPriority!\n status: TaskStatus!\n estimatedHours: Float @deprecated(reason: \"No more estimations!\")\n actualHours: Float\n createdAt: String\n completedAt: String\n labels: [String]\n subtasks: [Task!]\n dependencies: [Task]!\n attachmentUrls: [String!]!\n reviewerIds: [Int]\n isBlocked(checkDependencies: Boolean): Boolean!\n totalEffort(includeSubtasks: Boolean): Float\n}\n\ntype ProjectUpdate implements Node {\n id: ID!\n projectId: ID!\n updatedById: Int!\n updateType: ProjectUpdateType!\n description: String!\n timestamp: String!\n metadata: String\n}", + "stringStorage": { + "73e7c8ef50d3dc0c5d564e34702baf455be9cee3": "schema {\n query: Query\n mutation: Mutation\n subscription: Subscription\n}\n\ndirective @external on FIELD_DEFINITION | OBJECT\n\ndirective @goField(forceResolver: Boolean, name: String, omittable: Boolean) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ndirective @openfed__requireFetchReasons repeatable on FIELD_DEFINITION | INTERFACE | OBJECT\n\ndirective @requires(fields: openfed__FieldSet!) on FIELD_DEFINITION\n\ndirective @requiresScopes(scopes: [[openfed__Scope!]!]!) on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR\n\ndirective @shareable repeatable on FIELD_DEFINITION | OBJECT\n\ndirective @tag(name: String!) repeatable on ARGUMENT_DEFINITION | ENUM | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION\n\ntype City {\n country: Country\n name: String!\n type: String!\n}\n\ntype Consultancy @key(fields: \"upc\") {\n isLeadAvailable: Boolean @requires(fields: \"lead { isAvailable }\")\n lead: Employee!\n upc: ID!\n}\n\ntype Cosmo implements IProduct @key(fields: \"upc\") {\n engineers: [Employee!]!\n isLeadAvailable: Boolean @requires(fields: \"lead { isAvailable }\")\n lead: Employee!\n upc: ID!\n}\n\ntype Country @key(fields: \"key { name }\", resolvable: false) {\n key: CountryKey!\n}\n\ntype CountryKey {\n name: String!\n}\n\ninput DeeplyNestedFileUpload {\n file: Upload!\n}\n\nenum Department {\n ENGINEERING\n MARKETING\n OPERATIONS\n}\n\ntype Details {\n forename: String! @shareable\n location: Country!\n pastLocations: [City!]!\n surname: String! @shareable\n}\n\ntype Employee implements Identifiable @key(fields: \"id\") {\n currentMood: Mood! @external\n derivedMood: Mood! @requires(fields: \"currentMood\")\n details: Details! @shareable\n id: Int!\n isAvailable: Boolean @external\n notes: String @shareable\n role: RoleType!\n rootFieldErrorWrapper: ErrorWrapper @goField(forceResolver: true)\n rootFieldThrowsError: String @goField(forceResolver: true)\n startDate: String! @requiresScopes(scopes: [[\"read:employee\", \"read:private\"], [\"read:all\"]])\n tag: String!\n updatedAt: String!\n}\n\ntype Engineer implements RoleType {\n departments: [Department!]!\n employees: [Employee!]! @goField(forceResolver: true)\n engineerType: EngineerType!\n title: [String!]!\n}\n\nenum EngineerType {\n BACKEND\n FRONTEND\n FULLSTACK\n}\n\ntype ErrorWrapper {\n errorField: String @goField(forceResolver: true)\n okField: String\n}\n\ninput FileUpload {\n nested: DeeplyNestedFileUpload\n nestedList: [Upload!]\n}\n\ninput FindEmployeeCriteria @oneOf {\n department: Department\n id: Int\n title: String\n}\n\ninterface IProduct {\n engineers: [Employee!]!\n upc: ID!\n}\n\ninterface Identifiable {\n id: Int! @openfed__requireFetchReasons\n}\n\ntype Marketer implements RoleType {\n departments: [Department!]!\n employees: [Employee!]! @goField(forceResolver: true)\n title: [String!]!\n}\n\nenum Mood {\n HAPPY\n SAD\n}\n\ntype Mutation {\n multipleUpload(files: [Upload!]!): Boolean!\n singleUpload(file: Upload!): Boolean!\n singleUploadWithInput(arg: FileUpload!): Boolean!\n updateEmployeeTag(id: Int!, tag: String!): Employee\n}\n\nenum OperationType {\n FINANCE\n HUMAN_RESOURCES\n}\n\ntype Operator implements RoleType {\n departments: [Department!]!\n employees: [Employee!]! @goField(forceResolver: true)\n operatorType: [OperationType!]!\n title: [String!]!\n}\n\nunion Products = Consultancy | Cosmo | SDK\n\ntype Query {\n employee(id: Int!): Employee @openfed__requireFetchReasons\n employeeAsList(id: Int!): [Employee]\n employees: [Employee]\n findEmployeesBy(criteria: FindEmployeeCriteria!): [Employee!]!\n firstEmployee: Employee! @tag(name: \"internal\")\n products: [Products!]!\n teammates(team: Department!): [Employee!]!\n}\n\ninterface RoleType {\n departments: [Department!]!\n employees: [Employee!]! @goField(forceResolver: true)\n title: [String!]!\n}\n\ntype SDK implements IProduct @key(fields: \"upc\") {\n engineers: [Employee!]!\n owner: Employee!\n unicode: String!\n upc: ID!\n}\n\ntype Subscription {\n countEmp(intervalMilliseconds: Int!, max: Int!): Int!\n countEmp2(intervalMilliseconds: Int!, max: Int!): Int!\n countFor(count: Int!): Int!\n \"\"\"`currentTime` will return a stream of `Time` objects.\"\"\"\n currentTime: Time!\n}\n\ntype Time {\n timeStamp: String!\n unixTime: Int!\n}\n\nscalar Upload\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet\n\nscalar openfed__Scope", + "2265a44afac63dcf9da5f7ee5ff35c7a6dc8adff": "schema {\n query: Query\n}\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ndirective @shareable repeatable on FIELD_DEFINITION | OBJECT\n\ntype Alligator implements Animal & Pet {\n class: Class!\n dangerous: String!\n gender: Gender!\n name: String!\n}\n\ninterface Animal {\n class: Class!\n gender: Gender!\n}\n\ntype Cat implements Animal & Pet {\n class: Class!\n gender: Gender!\n name: String!\n type: CatType!\n}\n\nenum CatType {\n HOME\n STREET\n}\n\nenum Class {\n FISH\n MAMMAL\n REPTILE\n}\n\ntype Details {\n forename: String! @shareable\n hasChildren: Boolean!\n maritalStatus: MaritalStatus\n middlename: String @deprecated(reason: \"No longer supported\")\n nationality: Nationality!\n pets: [Pet]\n surname: String! @shareable\n}\n\ntype Dog implements Animal & Pet {\n breed: DogBreed!\n class: Class!\n gender: Gender!\n name: String!\n}\n\nenum DogBreed {\n GOLDEN_RETRIEVER\n POODLE\n ROTTWEILER\n YORKSHIRE_TERRIER\n}\n\ntype Employee @key(fields: \"id\") {\n details: Details @shareable\n id: Int!\n}\n\nenum Gender {\n FEMALE\n MALE\n UNKNOWN\n}\n\nenum MaritalStatus {\n ENGAGED\n MARRIED\n}\n\ntype Mouse implements Animal & Pet {\n class: Class!\n gender: Gender!\n name: String!\n}\n\nenum Nationality {\n AMERICAN\n DUTCH\n ENGLISH\n GERMAN\n INDIAN\n SPANISH\n UKRAINIAN\n}\n\ninput NestedSearchInput {\n hasChildren: Boolean\n maritalStatus: MaritalStatus\n}\n\ninterface Pet implements Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Pony implements Animal & Pet {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Query {\n \"\"\" This is a GraphQL query that retrieves a list of employees.\"\"\"\n findEmployees(criteria: SearchInput): [Employee!]!\n}\n\n\"\"\" Allows to filter employees by their details. \"\"\"\ninput SearchInput {\n hasPets: Boolean\n nationality: Nationality\n nested: NestedSearchInput\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet", + "6f2131dd12f912ee7f5a965938039527994be676": "schema {\n subscription: Subscription\n}\n\ndirective @goField(forceResolver: Boolean, name: String, omittable: Boolean) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ntype Country @key(fields: \"key { name }\", resolvable: false) {\n key: CountryKey!\n}\n\ntype CountryKey {\n name: String!\n}\n\ntype Employee @key(fields: \"id\") {\n hobbies: [Hobby!]\n id: Int!\n}\n\ntype Exercise implements Hobby {\n category: ExerciseType!\n employees: [Employee!]! @goField(forceResolver: true)\n}\n\nenum ExerciseType {\n CALISTHENICS\n HIKING\n SPORT\n STRENGTH_TRAINING\n}\n\ninterface Experience {\n yearsOfExperience: Float!\n}\n\ntype Flying implements Experience & Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n planeModels: [String!]!\n yearsOfExperience: Float!\n}\n\nenum GameGenre {\n ADVENTURE\n BOARD\n CARD\n FPS\n ROGUELITE\n RPG\n SIMULATION\n STRATEGY\n}\n\ntype Gaming implements Experience & Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n genres: [GameGenre!]!\n name: String!\n yearsOfExperience: Float!\n}\n\ninterface Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n}\n\ntype Other implements Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n name: String!\n}\n\ntype Programming implements Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n languages: [ProgrammingLanguage!]!\n}\n\nenum ProgrammingLanguage {\n CSHARP\n GO\n RUST\n TYPESCRIPT\n}\n\ntype SDK @key(fields: \"upc\") {\n clientLanguages: [ProgrammingLanguage!]!\n upc: ID!\n}\n\ntype Subscription {\n countHob(intervalMilliseconds: Int!, max: Int!): Int!\n}\n\ntype Travelling implements Hobby {\n countriesLived: [Country!]!\n employees: [Employee!]! @goField(forceResolver: true)\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet", + "acbfd8f3662503e41417bfd29f5a0579e8cff323": "schema @link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"]) {\n query: Queries\n mutation: Mutation\n}\n\ndirective @authenticated on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ndirective @override(from: String!) on FIELD_DEFINITION\n\ndirective @requiresScopes(scopes: [[openfed__Scope!]!]!) on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR\n\ndirective @shareable repeatable on FIELD_DEFINITION | OBJECT\n\ntype Consultancy @key(fields: \"upc\") {\n name: ProductName!\n upc: ID!\n}\n\ntype Cosmo @key(fields: \"upc\") {\n name: ProductName!\n repositoryURL: String!\n upc: ID!\n}\n\ntype DirectiveFact implements TopSecretFact @authenticated {\n description: FactContent!\n factType: TopSecretFactType\n title: String!\n}\n\ntype Documentation {\n url(product: ProductName!): String!\n urls(products: [ProductName!]!): [String!]!\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n notes: String @override(from: \"employees\")\n products: [ProductName!]!\n}\n\ntype EntityFact implements TopSecretFact @requiresScopes(scopes: [[\"read:entity\"]]) {\n description: FactContent!\n factType: TopSecretFactType\n title: String!\n}\n\nscalar FactContent @requiresScopes(scopes: [[\"read:scalar\"], [\"read:all\"]])\n\ntype MiscellaneousFact implements TopSecretFact {\n description: FactContent! @requiresScopes(scopes: [[\"read:miscellaneous\"]])\n factType: TopSecretFactType\n title: String!\n}\n\ntype Mutation {\n addFact(fact: TopSecretFactInput!): TopSecretFact! @requiresScopes(scopes: [[\"write:fact\"], [\"write:all\"]])\n}\n\nenum ProductName {\n CONSULTANCY\n COSMO\n ENGINE\n FINANCE\n HUMAN_RESOURCES\n MARKETING\n SDK\n}\n\nunion Products = Consultancy | Cosmo | Documentation\n\ntype Queries {\n factTypes: [TopSecretFactType!]\n productTypes: [Products!]!\n sharedThings(numOfA: Int!, numOfB: Int!): [Thing!]! @shareable\n topSecretFederationFacts: [TopSecretFact!]! @requiresScopes(scopes: [[\"read:fact\"], [\"read:all\"]])\n}\n\ntype Thing {\n a: String! @shareable\n}\n\ninterface TopSecretFact @authenticated {\n description: FactContent!\n factType: TopSecretFactType\n}\n\ninput TopSecretFactInput {\n description: FactContent!\n factType: TopSecretFactType!\n title: String!\n}\n\nenum TopSecretFactType @authenticated {\n DIRECTIVE\n ENTITY\n MISCELLANEOUS\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet\n\nscalar openfed__Scope", + "5c5a237ac1f0c1d67ae52534584ee8116d4cc474": "schema {\n query: Query\n subscription: Subscription\n}\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ndirective @requiresScopes(scopes: [[openfed__Scope!]!]!) on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR\n\ndirective @shareable repeatable on FIELD_DEFINITION | OBJECT\n\ntype ABigObject {\n aFieldOnABigObject: String!\n bFieldOnABigObject: Int!\n cFieldOnABigObject: Boolean!\n dFieldOnABigObject: Float!\n eFieldOnABigObject: String!\n fFieldOnABigObject: Int!\n gFieldOnABigObject: Boolean!\n hFieldOnABigObject: Float!\n iFieldOnABigObject: String!\n jFieldOnABigObject: Int!\n kFieldOnABigObject: Boolean!\n lFieldOnABigObject: Float!\n mFieldOnABigObject: String!\n nFieldOnABigObject: Int!\n oFieldOnABigObject: Boolean!\n pFieldOnABigObject: Float!\n qFieldOnABigObject: String!\n rFieldOnABigObject: Int!\n sFieldOnABigObject: Boolean!\n tFieldOnABigObject: Float!\n uFieldOnABigObject: String!\n vFieldOnABigObject: Int!\n wFieldOnABigObject: Boolean!\n xFieldOnABigObject: Float!\n yFieldOnABigObject: String!\n zFieldOnABigObject: Int!\n}\n\ntype BBigObject {\n aFieldOnBBigObject: String!\n bFieldOnBBigObject: Int!\n cFieldOnBBigObject: Boolean!\n dFieldOnBBigObject: Float!\n eFieldOnBBigObject: String!\n fFieldOnBBigObject: Int!\n gFieldOnBBigObject: Boolean!\n hFieldOnBBigObject: Float!\n iFieldOnBBigObject: String!\n jFieldOnBBigObject: Int!\n kFieldOnBBigObject: Boolean!\n lFieldOnBBigObject: Float!\n mFieldOnBBigObject: String!\n nFieldOnBBigObject: Int!\n oFieldOnBBigObject: Boolean!\n pFieldOnBBigObject: Float!\n qFieldOnBBigObject: String!\n rFieldOnBBigObject: Int!\n sFieldOnBBigObject: Boolean!\n tFieldOnBBigObject: Float!\n uFieldOnBBigObject: String!\n vFieldOnBBigObject: Int!\n wFieldOnBBigObject: Boolean!\n xFieldOnBBigObject: Float!\n yFieldOnBBigObject: String!\n zFieldOnBBigObject: Int!\n}\n\nunion BigAbstractResponse = ABigObject | BBigObject | CBigObject | DBigObject | EBigObject | FBigObject | GBigObject | HBigObject | IBigObject | JBigObject | KBigObject | LBigObject | MBigObject | NBigObject | OBigObject | PBigObject | QBigObject | RBigObject | SBigObject | TBigObject | UBigObject | VBigObject | WBigObject | XBigObject | YBigObject | ZBigObject\n\ntype BigObject {\n nestedObjects: [NestedObject!]!\n}\n\ntype CBigObject {\n aFieldOnCBigObject: String!\n bFieldOnCBigObject: Int!\n cFieldOnCBigObject: Boolean!\n dFieldOnCBigObject: Float!\n eFieldOnCBigObject: String!\n fFieldOnCBigObject: Int!\n gFieldOnCBigObject: Boolean!\n hFieldOnCBigObject: Float!\n iFieldOnCBigObject: String!\n jFieldOnCBigObject: Int!\n kFieldOnCBigObject: Boolean!\n lFieldOnCBigObject: Float!\n mFieldOnCBigObject: String!\n nFieldOnCBigObject: Int!\n oFieldOnCBigObject: Boolean!\n pFieldOnCBigObject: Float!\n qFieldOnCBigObject: String!\n rFieldOnCBigObject: Int!\n sFieldOnCBigObject: Boolean!\n tFieldOnCBigObject: Float!\n uFieldOnCBigObject: String!\n vFieldOnCBigObject: Int!\n wFieldOnCBigObject: Boolean!\n xFieldOnCBigObject: Float!\n yFieldOnCBigObject: String!\n zFieldOnCBigObject: Int!\n}\n\ntype DBigObject {\n aFieldOnDBigObject: String!\n bFieldOnDBigObject: Int!\n cFieldOnDBigObject: Boolean!\n dFieldOnDBigObject: Float!\n eFieldOnDBigObject: String!\n fFieldOnDBigObject: Int!\n gFieldOnDBigObject: Boolean!\n hFieldOnDBigObject: Float!\n iFieldOnDBigObject: String!\n jFieldOnDBigObject: Int!\n kFieldOnDBigObject: Boolean!\n lFieldOnDBigObject: Float!\n mFieldOnDBigObject: String!\n nFieldOnDBigObject: Int!\n oFieldOnDBigObject: Boolean!\n pFieldOnDBigObject: Float!\n qFieldOnDBigObject: String!\n rFieldOnDBigObject: Int!\n sFieldOnDBigObject: Boolean!\n tFieldOnDBigObject: Float!\n uFieldOnDBigObject: String!\n vFieldOnDBigObject: Int!\n wFieldOnDBigObject: Boolean!\n xFieldOnDBigObject: Float!\n yFieldOnDBigObject: String!\n zFieldOnDBigObject: Int!\n}\n\ntype DeeplyNestedObject {\n aFieldOnDeeplyNestedObject: String!\n bFieldOnDeeplyNestedObject: Int!\n cFieldOnDeeplyNestedObject: Boolean!\n dFieldOnDeeplyNestedObject: Float!\n eFieldOnDeeplyNestedObject: String!\n fFieldOnDeeplyNestedObject: Int!\n gFieldOnDeeplyNestedObject: Boolean!\n hFieldOnDeeplyNestedObject: Float!\n iFieldOnDeeplyNestedObject: String!\n jFieldOnDeeplyNestedObject: Int!\n kFieldOnDeeplyNestedObject: Boolean!\n lFieldOnDeeplyNestedObject: Float!\n mFieldOnDeeplyNestedObject: String!\n nFieldOnDeeplyNestedObject: Int!\n oFieldOnDeeplyNestedObject: Boolean!\n pFieldOnDeeplyNestedObject: Float!\n qFieldOnDeeplyNestedObject: String!\n rFieldOnDeeplyNestedObject: Int!\n sFieldOnDeeplyNestedObject: Boolean!\n tFieldOnDeeplyNestedObject: Float!\n uFieldOnDeeplyNestedObject: String!\n vFieldOnDeeplyNestedObject: Int!\n wFieldOnDeeplyNestedObject: Boolean!\n xFieldOnDeeplyNestedObject: Float!\n yFieldOnDeeplyNestedObject: String!\n zFieldOnDeeplyNestedObject: Int!\n}\n\ntype EBigObject {\n aFieldOnEBigObject: String!\n bFieldOnEBigObject: Int!\n cFieldOnEBigObject: Boolean!\n dFieldOnEBigObject: Float!\n eFieldOnEBigObject: String!\n fFieldOnEBigObject: Int!\n gFieldOnEBigObject: Boolean!\n hFieldOnEBigObject: Float!\n iFieldOnEBigObject: String!\n jFieldOnEBigObject: Int!\n kFieldOnEBigObject: Boolean!\n lFieldOnEBigObject: Float!\n mFieldOnEBigObject: String!\n nFieldOnEBigObject: Int!\n oFieldOnEBigObject: Boolean!\n pFieldOnEBigObject: Float!\n qFieldOnEBigObject: String!\n rFieldOnEBigObject: Int!\n sFieldOnEBigObject: Boolean!\n tFieldOnEBigObject: Float!\n uFieldOnEBigObject: String!\n vFieldOnEBigObject: Int!\n wFieldOnEBigObject: Boolean!\n xFieldOnEBigObject: Float!\n yFieldOnEBigObject: String!\n zFieldOnEBigObject: Int!\n}\n\ntype Employee @key(fields: \"id\") {\n fieldThrowsError: String\n id: Int!\n}\n\nenum EnumType {\n A\n B\n C\n}\n\ntype FBigObject {\n aFieldOnFBigObject: String!\n bFieldOnFBigObject: Int!\n cFieldOnFBigObject: Boolean!\n dFieldOnFBigObject: Float!\n eFieldOnFBigObject: String!\n fFieldOnFBigObject: Int!\n gFieldOnFBigObject: Boolean!\n hFieldOnFBigObject: Float!\n iFieldOnFBigObject: String!\n jFieldOnFBigObject: Int!\n kFieldOnFBigObject: Boolean!\n lFieldOnFBigObject: Float!\n mFieldOnFBigObject: String!\n nFieldOnFBigObject: Int!\n oFieldOnFBigObject: Boolean!\n pFieldOnFBigObject: Float!\n qFieldOnFBigObject: String!\n rFieldOnFBigObject: Int!\n sFieldOnFBigObject: Boolean!\n tFieldOnFBigObject: Float!\n uFieldOnFBigObject: String!\n vFieldOnFBigObject: Int!\n wFieldOnFBigObject: Boolean!\n xFieldOnFBigObject: Float!\n yFieldOnFBigObject: String!\n zFieldOnFBigObject: Int!\n}\n\ntype GBigObject {\n aFieldOnGBigObject: String!\n bFieldOnGBigObject: Int!\n cFieldOnGBigObject: Boolean!\n dFieldOnGBigObject: Float!\n eFieldOnGBigObject: String!\n fFieldOnGBigObject: Int!\n gFieldOnGBigObject: Boolean!\n hFieldOnGBigObject: Float!\n iFieldOnGBigObject: String!\n jFieldOnGBigObject: Int!\n kFieldOnGBigObject: Boolean!\n lFieldOnGBigObject: Float!\n mFieldOnGBigObject: String!\n nFieldOnGBigObject: Int!\n oFieldOnGBigObject: Boolean!\n pFieldOnGBigObject: Float!\n qFieldOnGBigObject: String!\n rFieldOnGBigObject: Int!\n sFieldOnGBigObject: Boolean!\n tFieldOnGBigObject: Float!\n uFieldOnGBigObject: String!\n vFieldOnGBigObject: Int!\n wFieldOnGBigObject: Boolean!\n xFieldOnGBigObject: Float!\n yFieldOnGBigObject: String!\n zFieldOnGBigObject: Int!\n}\n\ntype HBigObject {\n aFieldOnHBigObject: String!\n bFieldOnHBigObject: Int!\n cFieldOnHBigObject: Boolean!\n dFieldOnHBigObject: Float!\n eFieldOnHBigObject: String!\n fFieldOnHBigObject: Int!\n gFieldOnHBigObject: Boolean!\n hFieldOnHBigObject: Float!\n iFieldOnHBigObject: String!\n jFieldOnHBigObject: Int!\n kFieldOnHBigObject: Boolean!\n lFieldOnHBigObject: Float!\n mFieldOnHBigObject: String!\n nFieldOnHBigObject: Int!\n oFieldOnHBigObject: Boolean!\n pFieldOnHBigObject: Float!\n qFieldOnHBigObject: String!\n rFieldOnHBigObject: Int!\n sFieldOnHBigObject: Boolean!\n tFieldOnHBigObject: Float!\n uFieldOnHBigObject: String!\n vFieldOnHBigObject: Int!\n wFieldOnHBigObject: Boolean!\n xFieldOnHBigObject: Float!\n yFieldOnHBigObject: String!\n zFieldOnHBigObject: Int!\n}\n\ntype IBigObject {\n aFieldOnIBigObject: String!\n bFieldOnIBigObject: Int!\n cFieldOnIBigObject: Boolean!\n dFieldOnIBigObject: Float!\n eFieldOnIBigObject: String!\n fFieldOnIBigObject: Int!\n gFieldOnIBigObject: Boolean!\n hFieldOnIBigObject: Float!\n iFieldOnIBigObject: String!\n jFieldOnIBigObject: Int!\n kFieldOnIBigObject: Boolean!\n lFieldOnIBigObject: Float!\n mFieldOnIBigObject: String!\n nFieldOnIBigObject: Int!\n oFieldOnIBigObject: Boolean!\n pFieldOnIBigObject: Float!\n qFieldOnIBigObject: String!\n rFieldOnIBigObject: Int!\n sFieldOnIBigObject: Boolean!\n tFieldOnIBigObject: Float!\n uFieldOnIBigObject: String!\n vFieldOnIBigObject: Int!\n wFieldOnIBigObject: Boolean!\n xFieldOnIBigObject: Float!\n yFieldOnIBigObject: String!\n zFieldOnIBigObject: Int!\n}\n\ninput InputArg {\n enum: EnumType\n enums: [EnumType!]\n string: String\n strings: [String!]\n}\n\ntype InputResponse {\n arg: String!\n}\n\ninput InputType {\n arg: String!\n}\n\ntype JBigObject {\n aFieldOnJBigObject: String!\n bFieldOnJBigObject: Int!\n cFieldOnJBigObject: Boolean!\n dFieldOnJBigObject: Float!\n eFieldOnJBigObject: String!\n fFieldOnJBigObject: Int!\n gFieldOnJBigObject: Boolean!\n hFieldOnJBigObject: Float!\n iFieldOnJBigObject: String!\n jFieldOnJBigObject: Int!\n kFieldOnJBigObject: Boolean!\n lFieldOnJBigObject: Float!\n mFieldOnJBigObject: String!\n nFieldOnJBigObject: Int!\n oFieldOnJBigObject: Boolean!\n pFieldOnJBigObject: Float!\n qFieldOnJBigObject: String!\n rFieldOnJBigObject: Int!\n sFieldOnJBigObject: Boolean!\n tFieldOnJBigObject: Float!\n uFieldOnJBigObject: String!\n vFieldOnJBigObject: Int!\n wFieldOnJBigObject: Boolean!\n xFieldOnJBigObject: Float!\n yFieldOnJBigObject: String!\n zFieldOnJBigObject: Int!\n}\n\ntype KBigObject {\n aFieldOnKBigObject: String!\n bFieldOnKBigObject: Int!\n cFieldOnKBigObject: Boolean!\n dFieldOnKBigObject: Float!\n eFieldOnKBigObject: String!\n fFieldOnKBigObject: Int!\n gFieldOnKBigObject: Boolean!\n hFieldOnKBigObject: Float!\n iFieldOnKBigObject: String!\n jFieldOnKBigObject: Int!\n kFieldOnKBigObject: Boolean!\n lFieldOnKBigObject: Float!\n mFieldOnKBigObject: String!\n nFieldOnKBigObject: Int!\n oFieldOnKBigObject: Boolean!\n pFieldOnKBigObject: Float!\n qFieldOnKBigObject: String!\n rFieldOnKBigObject: Int!\n sFieldOnKBigObject: Boolean!\n tFieldOnKBigObject: Float!\n uFieldOnKBigObject: String!\n vFieldOnKBigObject: Int!\n wFieldOnKBigObject: Boolean!\n xFieldOnKBigObject: Float!\n yFieldOnKBigObject: String!\n zFieldOnKBigObject: Int!\n}\n\ntype LBigObject {\n aFieldOnLBigObject: String!\n bFieldOnLBigObject: Int!\n cFieldOnLBigObject: Boolean!\n dFieldOnLBigObject: Float!\n eFieldOnLBigObject: String!\n fFieldOnLBigObject: Int!\n gFieldOnLBigObject: Boolean!\n hFieldOnLBigObject: Float!\n iFieldOnLBigObject: String!\n jFieldOnLBigObject: Int!\n kFieldOnLBigObject: Boolean!\n lFieldOnLBigObject: Float!\n mFieldOnLBigObject: String!\n nFieldOnLBigObject: Int!\n oFieldOnLBigObject: Boolean!\n pFieldOnLBigObject: Float!\n qFieldOnLBigObject: String!\n rFieldOnLBigObject: Int!\n sFieldOnLBigObject: Boolean!\n tFieldOnLBigObject: Float!\n uFieldOnLBigObject: String!\n vFieldOnLBigObject: Int!\n wFieldOnLBigObject: Boolean!\n xFieldOnLBigObject: Float!\n yFieldOnLBigObject: String!\n zFieldOnLBigObject: Int!\n}\n\ntype MBigObject {\n aFieldOnMBigObject: String!\n bFieldOnMBigObject: Int!\n cFieldOnMBigObject: Boolean!\n dFieldOnMBigObject: Float!\n eFieldOnMBigObject: String!\n fFieldOnMBigObject: Int!\n gFieldOnMBigObject: Boolean!\n hFieldOnMBigObject: Float!\n iFieldOnMBigObject: String!\n jFieldOnMBigObject: Int!\n kFieldOnMBigObject: Boolean!\n lFieldOnMBigObject: Float!\n mFieldOnMBigObject: String!\n nFieldOnMBigObject: Int!\n oFieldOnMBigObject: Boolean!\n pFieldOnMBigObject: Float!\n qFieldOnMBigObject: String!\n rFieldOnMBigObject: Int!\n sFieldOnMBigObject: Boolean!\n tFieldOnMBigObject: Float!\n uFieldOnMBigObject: String!\n vFieldOnMBigObject: Int!\n wFieldOnMBigObject: Boolean!\n xFieldOnMBigObject: Float!\n yFieldOnMBigObject: String!\n zFieldOnMBigObject: Int!\n}\n\nscalar Map\n\ntype NBigObject {\n aFieldOnNBigObject: String!\n bFieldOnNBigObject: Int!\n cFieldOnNBigObject: Boolean!\n dFieldOnNBigObject: Float!\n eFieldOnNBigObject: String!\n fFieldOnNBigObject: Int!\n gFieldOnNBigObject: Boolean!\n hFieldOnNBigObject: Float!\n iFieldOnNBigObject: String!\n jFieldOnNBigObject: Int!\n kFieldOnNBigObject: Boolean!\n lFieldOnNBigObject: Float!\n mFieldOnNBigObject: String!\n nFieldOnNBigObject: Int!\n oFieldOnNBigObject: Boolean!\n pFieldOnNBigObject: Float!\n qFieldOnNBigObject: String!\n rFieldOnNBigObject: Int!\n sFieldOnNBigObject: Boolean!\n tFieldOnNBigObject: Float!\n uFieldOnNBigObject: String!\n vFieldOnNBigObject: Int!\n wFieldOnNBigObject: Boolean!\n xFieldOnNBigObject: Float!\n yFieldOnNBigObject: String!\n zFieldOnNBigObject: Int!\n}\n\ntype NestedObject {\n deeplyNestedObjects: [DeeplyNestedObject!]!\n}\n\ntype OBigObject {\n aFieldOnOBigObject: String!\n bFieldOnOBigObject: Int!\n cFieldOnOBigObject: Boolean!\n dFieldOnOBigObject: Float!\n eFieldOnOBigObject: String!\n fFieldOnOBigObject: Int!\n gFieldOnOBigObject: Boolean!\n hFieldOnOBigObject: Float!\n iFieldOnOBigObject: String!\n jFieldOnOBigObject: Int!\n kFieldOnOBigObject: Boolean!\n lFieldOnOBigObject: Float!\n mFieldOnOBigObject: String!\n nFieldOnOBigObject: Int!\n oFieldOnOBigObject: Boolean!\n pFieldOnOBigObject: Float!\n qFieldOnOBigObject: String!\n rFieldOnOBigObject: Int!\n sFieldOnOBigObject: Boolean!\n tFieldOnOBigObject: Float!\n uFieldOnOBigObject: String!\n vFieldOnOBigObject: Int!\n wFieldOnOBigObject: Boolean!\n xFieldOnOBigObject: Float!\n yFieldOnOBigObject: String!\n zFieldOnOBigObject: Int!\n}\n\ntype PBigObject {\n aFieldOnPBigObject: String!\n bFieldOnPBigObject: Int!\n cFieldOnPBigObject: Boolean!\n dFieldOnPBigObject: Float!\n eFieldOnPBigObject: String!\n fFieldOnPBigObject: Int!\n gFieldOnPBigObject: Boolean!\n hFieldOnPBigObject: Float!\n iFieldOnPBigObject: String!\n jFieldOnPBigObject: Int!\n kFieldOnPBigObject: Boolean!\n lFieldOnPBigObject: Float!\n mFieldOnPBigObject: String!\n nFieldOnPBigObject: Int!\n oFieldOnPBigObject: Boolean!\n pFieldOnPBigObject: Float!\n qFieldOnPBigObject: String!\n rFieldOnPBigObject: Int!\n sFieldOnPBigObject: Boolean!\n tFieldOnPBigObject: Float!\n uFieldOnPBigObject: String!\n vFieldOnPBigObject: Int!\n wFieldOnPBigObject: Boolean!\n xFieldOnPBigObject: Float!\n yFieldOnPBigObject: String!\n zFieldOnPBigObject: Int!\n}\n\ntype QBigObject {\n aFieldOnQBigObject: String!\n bFieldOnQBigObject: Int!\n cFieldOnQBigObject: Boolean!\n dFieldOnQBigObject: Float!\n eFieldOnQBigObject: String!\n fFieldOnQBigObject: Int!\n gFieldOnQBigObject: Boolean!\n hFieldOnQBigObject: Float!\n iFieldOnQBigObject: String!\n jFieldOnQBigObject: Int!\n kFieldOnQBigObject: Boolean!\n lFieldOnQBigObject: Float!\n mFieldOnQBigObject: String!\n nFieldOnQBigObject: Int!\n oFieldOnQBigObject: Boolean!\n pFieldOnQBigObject: Float!\n qFieldOnQBigObject: String!\n rFieldOnQBigObject: Int!\n sFieldOnQBigObject: Boolean!\n tFieldOnQBigObject: Float!\n uFieldOnQBigObject: String!\n vFieldOnQBigObject: Int!\n wFieldOnQBigObject: Boolean!\n xFieldOnQBigObject: Float!\n yFieldOnQBigObject: String!\n zFieldOnQBigObject: Int!\n}\n\ntype Query {\n bigAbstractResponse: BigAbstractResponse\n bigResponse(artificialDelay: Int! = 0, bigObjects: Int! = 100, deeplyNestedObjects: Int! = 100, nestedObjects: Int! = 100): [BigObject!]!\n \"\"\"Returns response after the given delay\"\"\"\n delay(ms: Int!, response: String!): String!\n floatField(arg: Float): Float\n \"\"\"Returns the value of the received HTTP header.\"\"\"\n headerValue(name: String!): String!\n \"\"\"Returns the value of the given key in the WS initial payload.\"\"\"\n initPayloadValue(key: String!): String!\n initialPayload: Map\n longResponse(artificialDelay: Int! = 0, bytes: Int!): String\n rootFieldWithInput(arg: InputArg!): String!\n rootFieldWithListArg(arg: [String!]!): [String!]!\n rootFieldWithListOfEnumArg(arg: [EnumType!]!): [EnumType!]!\n rootFieldWithListOfInputArg(arg: [InputType!]!): [InputResponse!]!\n rootFieldWithNestedListArg(arg: [[String!]!]!): [[String!]!]!\n secret: Secret @requiresScopes(scopes: [[\"read:secret\"]])\n sharedThings(numOfA: Int!, numOfB: Int!): [Thing!]! @shareable\n}\n\ntype RBigObject {\n aFieldOnRBigObject: String!\n bFieldOnRBigObject: Int!\n cFieldOnRBigObject: Boolean!\n dFieldOnRBigObject: Float!\n eFieldOnRBigObject: String!\n fFieldOnRBigObject: Int!\n gFieldOnRBigObject: Boolean!\n hFieldOnRBigObject: Float!\n iFieldOnRBigObject: String!\n jFieldOnRBigObject: Int!\n kFieldOnRBigObject: Boolean!\n lFieldOnRBigObject: Float!\n mFieldOnRBigObject: String!\n nFieldOnRBigObject: Int!\n oFieldOnRBigObject: Boolean!\n pFieldOnRBigObject: Float!\n qFieldOnRBigObject: String!\n rFieldOnRBigObject: Int!\n sFieldOnRBigObject: Boolean!\n tFieldOnRBigObject: Float!\n uFieldOnRBigObject: String!\n vFieldOnRBigObject: Int!\n wFieldOnRBigObject: Boolean!\n xFieldOnRBigObject: Float!\n yFieldOnRBigObject: String!\n zFieldOnRBigObject: Int!\n}\n\ntype SBigObject {\n aFieldOnSBigObject: String!\n bFieldOnSBigObject: Int!\n cFieldOnSBigObject: Boolean!\n dFieldOnSBigObject: Float!\n eFieldOnSBigObject: String!\n fFieldOnSBigObject: Int!\n gFieldOnSBigObject: Boolean!\n hFieldOnSBigObject: Float!\n iFieldOnSBigObject: String!\n jFieldOnSBigObject: Int!\n kFieldOnSBigObject: Boolean!\n lFieldOnSBigObject: Float!\n mFieldOnSBigObject: String!\n nFieldOnSBigObject: Int!\n oFieldOnSBigObject: Boolean!\n pFieldOnSBigObject: Float!\n qFieldOnSBigObject: String!\n rFieldOnSBigObject: Int!\n sFieldOnSBigObject: Boolean!\n tFieldOnSBigObject: Float!\n uFieldOnSBigObject: String!\n vFieldOnSBigObject: Int!\n wFieldOnSBigObject: Boolean!\n xFieldOnSBigObject: Float!\n yFieldOnSBigObject: String!\n zFieldOnSBigObject: Int!\n}\n\ntype Secret {\n value: String\n}\n\ntype Subscription {\n \"\"\"Returns a stream with the value of the received HTTP header.\"\"\"\n headerValue(name: String!, repeat: Int): TimestampedString!\n \"\"\"\n Returns a stream with the value of value of the given key in the WS initial payload.\n \"\"\"\n initPayloadValue(key: String!, repeat: Int): TimestampedString!\n \"\"\"Returns a stream with the value of the WS initial payload.\"\"\"\n initialPayload(repeat: Int): Map\n returnsError: String\n}\n\ntype TBigObject {\n aFieldOnTBigObject: String!\n bFieldOnTBigObject: Int!\n cFieldOnTBigObject: Boolean!\n dFieldOnTBigObject: Float!\n eFieldOnTBigObject: String!\n fFieldOnTBigObject: Int!\n gFieldOnTBigObject: Boolean!\n hFieldOnTBigObject: Float!\n iFieldOnTBigObject: String!\n jFieldOnTBigObject: Int!\n kFieldOnTBigObject: Boolean!\n lFieldOnTBigObject: Float!\n mFieldOnTBigObject: String!\n nFieldOnTBigObject: Int!\n oFieldOnTBigObject: Boolean!\n pFieldOnTBigObject: Float!\n qFieldOnTBigObject: String!\n rFieldOnTBigObject: Int!\n sFieldOnTBigObject: Boolean!\n tFieldOnTBigObject: Float!\n uFieldOnTBigObject: String!\n vFieldOnTBigObject: Int!\n wFieldOnTBigObject: Boolean!\n xFieldOnTBigObject: Float!\n yFieldOnTBigObject: String!\n zFieldOnTBigObject: Int!\n}\n\ntype Thing {\n b: String! @shareable\n}\n\ntype TimestampedString {\n initialPayload: Map\n \"\"\"Sequence number\"\"\"\n seq: Int!\n \"\"\"Total number of responses to be sent\"\"\"\n total: Int!\n \"\"\"The timestamp when the response was generated.\"\"\"\n unixTime: Int!\n \"\"\"The value of the string.\"\"\"\n value: String!\n}\n\ntype UBigObject {\n aFieldOnUBigObject: String!\n bFieldOnUBigObject: Int!\n cFieldOnUBigObject: Boolean!\n dFieldOnUBigObject: Float!\n eFieldOnUBigObject: String!\n fFieldOnUBigObject: Int!\n gFieldOnUBigObject: Boolean!\n hFieldOnUBigObject: Float!\n iFieldOnUBigObject: String!\n jFieldOnUBigObject: Int!\n kFieldOnUBigObject: Boolean!\n lFieldOnUBigObject: Float!\n mFieldOnUBigObject: String!\n nFieldOnUBigObject: Int!\n oFieldOnUBigObject: Boolean!\n pFieldOnUBigObject: Float!\n qFieldOnUBigObject: String!\n rFieldOnUBigObject: Int!\n sFieldOnUBigObject: Boolean!\n tFieldOnUBigObject: Float!\n uFieldOnUBigObject: String!\n vFieldOnUBigObject: Int!\n wFieldOnUBigObject: Boolean!\n xFieldOnUBigObject: Float!\n yFieldOnUBigObject: String!\n zFieldOnUBigObject: Int!\n}\n\ntype VBigObject {\n aFieldOnVBigObject: String!\n bFieldOnVBigObject: Int!\n cFieldOnVBigObject: Boolean!\n dFieldOnVBigObject: Float!\n eFieldOnVBigObject: String!\n fFieldOnVBigObject: Int!\n gFieldOnVBigObject: Boolean!\n hFieldOnVBigObject: Float!\n iFieldOnVBigObject: String!\n jFieldOnVBigObject: Int!\n kFieldOnVBigObject: Boolean!\n lFieldOnVBigObject: Float!\n mFieldOnVBigObject: String!\n nFieldOnVBigObject: Int!\n oFieldOnVBigObject: Boolean!\n pFieldOnVBigObject: Float!\n qFieldOnVBigObject: String!\n rFieldOnVBigObject: Int!\n sFieldOnVBigObject: Boolean!\n tFieldOnVBigObject: Float!\n uFieldOnVBigObject: String!\n vFieldOnVBigObject: Int!\n wFieldOnVBigObject: Boolean!\n xFieldOnVBigObject: Float!\n yFieldOnVBigObject: String!\n zFieldOnVBigObject: Int!\n}\n\ntype WBigObject {\n aFieldOnWBigObject: String!\n bFieldOnWBigObject: Int!\n cFieldOnWBigObject: Boolean!\n dFieldOnWBigObject: Float!\n eFieldOnWBigObject: String!\n fFieldOnWBigObject: Int!\n gFieldOnWBigObject: Boolean!\n hFieldOnWBigObject: Float!\n iFieldOnWBigObject: String!\n jFieldOnWBigObject: Int!\n kFieldOnWBigObject: Boolean!\n lFieldOnWBigObject: Float!\n mFieldOnWBigObject: String!\n nFieldOnWBigObject: Int!\n oFieldOnWBigObject: Boolean!\n pFieldOnWBigObject: Float!\n qFieldOnWBigObject: String!\n rFieldOnWBigObject: Int!\n sFieldOnWBigObject: Boolean!\n tFieldOnWBigObject: Float!\n uFieldOnWBigObject: String!\n vFieldOnWBigObject: Int!\n wFieldOnWBigObject: Boolean!\n xFieldOnWBigObject: Float!\n yFieldOnWBigObject: String!\n zFieldOnWBigObject: Int!\n}\n\ntype XBigObject {\n aFieldOnXBigObject: String!\n bFieldOnXBigObject: Int!\n cFieldOnXBigObject: Boolean!\n dFieldOnXBigObject: Float!\n eFieldOnXBigObject: String!\n fFieldOnXBigObject: Int!\n gFieldOnXBigObject: Boolean!\n hFieldOnXBigObject: Float!\n iFieldOnXBigObject: String!\n jFieldOnXBigObject: Int!\n kFieldOnXBigObject: Boolean!\n lFieldOnXBigObject: Float!\n mFieldOnXBigObject: String!\n nFieldOnXBigObject: Int!\n oFieldOnXBigObject: Boolean!\n pFieldOnXBigObject: Float!\n qFieldOnXBigObject: String!\n rFieldOnXBigObject: Int!\n sFieldOnXBigObject: Boolean!\n tFieldOnXBigObject: Float!\n uFieldOnXBigObject: String!\n vFieldOnXBigObject: Int!\n wFieldOnXBigObject: Boolean!\n xFieldOnXBigObject: Float!\n yFieldOnXBigObject: String!\n zFieldOnXBigObject: Int!\n}\n\ntype YBigObject {\n aFieldOnYBigObject: String!\n bFieldOnYBigObject: Int!\n cFieldOnYBigObject: Boolean!\n dFieldOnYBigObject: Float!\n eFieldOnYBigObject: String!\n fFieldOnYBigObject: Int!\n gFieldOnYBigObject: Boolean!\n hFieldOnYBigObject: Float!\n iFieldOnYBigObject: String!\n jFieldOnYBigObject: Int!\n kFieldOnYBigObject: Boolean!\n lFieldOnYBigObject: Float!\n mFieldOnYBigObject: String!\n nFieldOnYBigObject: Int!\n oFieldOnYBigObject: Boolean!\n pFieldOnYBigObject: Float!\n qFieldOnYBigObject: String!\n rFieldOnYBigObject: Int!\n sFieldOnYBigObject: Boolean!\n tFieldOnYBigObject: Float!\n uFieldOnYBigObject: String!\n vFieldOnYBigObject: Int!\n wFieldOnYBigObject: Boolean!\n xFieldOnYBigObject: Float!\n yFieldOnYBigObject: String!\n zFieldOnYBigObject: Int!\n}\n\ntype ZBigObject {\n aFieldOnZBigObject: String!\n bFieldOnZBigObject: Int!\n cFieldOnZBigObject: Boolean!\n dFieldOnZBigObject: Float!\n eFieldOnZBigObject: String!\n fFieldOnZBigObject: Int!\n gFieldOnZBigObject: Boolean!\n hFieldOnZBigObject: Float!\n iFieldOnZBigObject: String!\n jFieldOnZBigObject: Int!\n kFieldOnZBigObject: Boolean!\n lFieldOnZBigObject: Float!\n mFieldOnZBigObject: String!\n nFieldOnZBigObject: Int!\n oFieldOnZBigObject: Boolean!\n pFieldOnZBigObject: Float!\n qFieldOnZBigObject: String!\n rFieldOnZBigObject: Int!\n sFieldOnZBigObject: Boolean!\n tFieldOnZBigObject: Float!\n uFieldOnZBigObject: String!\n vFieldOnZBigObject: Int!\n wFieldOnZBigObject: Boolean!\n xFieldOnZBigObject: Float!\n yFieldOnZBigObject: String!\n zFieldOnZBigObject: Int!\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet\n\nscalar openfed__Scope", + "865e365ca4e3de8aec4ccd25e875ca9a82a7edde": "schema {\n mutation: Mutation\n}\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n isAvailable: Boolean\n}\n\ntype Mutation {\n \"\"\" This mutation updates the availability status of an employee in the system.\n \"\"\"\n updateAvailability(employeeID: Int!, isAvailable: Boolean!): Employee!\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet", + "10eccb92890a5709d24ac8c1293264d758b997c7": "schema {\n mutation: Mutation\n}\n\ndirective @inaccessible on ARGUMENT_DEFINITION | ENUM | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ntype Employee @key(fields: \"id\") {\n currentMood: Mood!\n id: Int!\n}\n\nenum Mood {\n APATHETIC @inaccessible\n HAPPY\n SAD\n}\n\ntype Mutation {\n \"\"\" This mutation update the mood of an employee. \"\"\"\n updateMood(employeeID: Int!, mood: Mood!): Employee!\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet", + "0c7a814514a54c0b54af7ea5fa33730a321921e6": "directive @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ntype Country @key(fields: \"key { name }\") {\n key: CountryKey!\n language: String\n}\n\ntype CountryKey {\n name: String!\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet", + "34e8a6b5fb00b0e37f716f0005c5bf6eee09c65c": "schema @link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"]) {\n query: Query\n mutation: Mutation\n}\n\ndirective @connect__fieldResolver(context: openfed__FieldSet!) on FIELD_DEFINITION\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ninterface Assignable {\n assigneeId: Int\n}\n\ntype Employee @key(fields: \"id\") {\n assignedTasks: [Task!]!\n averageTaskCompletionDays(priority: TaskPriority, projectId: ID): Float @connect__fieldResolver(context: \"id\")\n certifications: [String!]\n completedTasks: [Task!]!\n currentWorkload(includeCompleted: Boolean, projectId: ID): Int! @connect__fieldResolver(context: \"id\")\n id: Int!\n projectHistory: [[Project!]]!\n projects: [Project!]\n skills: [String]\n}\n\ntype Milestone implements Node & Timestamped @key(fields: \"id\") {\n completionPercentage: Float\n daysUntilDue(fromDate: String): Int @connect__fieldResolver(context: \"endDate\")\n dependencies: [Milestone]!\n description: String\n endDate: String\n id: ID!\n isAtRisk(threshold: Float): Boolean! @connect__fieldResolver(context: \"id endDate status completionPercentage\")\n name: String!\n projectId: ID!\n reviewers: [Employee!]\n startDate: String\n status: MilestoneStatus!\n subtasks: [Task]\n}\n\ninput MilestoneInput {\n description: String\n dueDate: String\n name: String!\n projectId: ID!\n status: MilestoneStatus!\n}\n\nenum MilestoneStatus {\n COMPLETED\n DELAYED\n IN_PROGRESS\n PENDING\n}\n\ntype Mutation {\n addMilestone(milestone: MilestoneInput!): Milestone!\n addProject(project: ProjectInput!): Project!\n addTask(task: TaskInput!): Task!\n updateProjectStatus(projectId: ID!, status: ProjectStatus!): ProjectUpdate!\n}\n\ninterface Node {\n id: ID!\n}\n\ntype Product @key(fields: \"upc\") {\n featureMatrix: [[String]]\n projects: [Project!]\n upc: String!\n}\n\ntype Project implements Node & Timestamped @key(fields: \"id\") {\n alternativeProjects: [Project]\n completionRate(includeSubtasks: Boolean): Float! @connect__fieldResolver(context: \"id startDate endDate status\")\n criticalDeadline(withinDays: Int): Timestamped @connect__fieldResolver(context: \"id status milestones\")\n dependencies: [Project!]\n description: String\n endDate: String\n estimatedDaysRemaining(fromDate: String): Int @connect__fieldResolver(context: \"id endDate status\")\n filteredTasks(limit: Int, priority: TaskPriority, status: TaskStatus): [Task!]! @connect__fieldResolver(context: \"id\")\n id: ID!\n milestoneGroups: [[Milestone]]\n milestoneIds: [String!]\n milestones: [Milestone!]!\n name: String!\n priorityMatrix: [[[Task!]!]!]\n progress: Float\n relatedProducts: [Product!]!\n resourceGroups: [[ProjectResource!]!]!\n startDate: String\n status: ProjectStatus!\n subProjects(includeArchived: Boolean): [Project!]! @connect__fieldResolver(context: \"id name status\")\n tags: [String]\n tasks: [Task!]!\n tasksByPhase: [[Task!]]!\n teamMembers: [Employee!]!\n topPriorityItem(category: String): ProjectSearchResult @connect__fieldResolver(context: \"id status\")\n}\n\nunion ProjectActivity = Milestone | ProjectUpdate | Task\n\ninput ProjectInput {\n description: String\n endDate: String\n name: String!\n startDate: String\n status: ProjectStatus!\n}\n\nunion ProjectResource = Employee | Milestone | Product | Task\n\nunion ProjectSearchResult = Milestone | Project | Task\n\nenum ProjectStatus {\n ACTIVE\n COMPLETED\n ON_HOLD\n PLANNING\n}\n\ntype ProjectUpdate implements Node {\n description: String!\n id: ID!\n metadata: String\n projectId: ID!\n timestamp: String!\n updateType: ProjectUpdateType!\n updatedById: Int!\n}\n\nenum ProjectUpdateType {\n MILESTONE_ADDED\n PROGRESS_UPDATE\n STATUS_CHANGE\n TASK_ASSIGNED\n TEAM_CHANGE\n}\n\ntype Query {\n archivedProjects: [Project]!\n killService: Boolean!\n milestones(projectId: ID!): [Milestone!]!\n nodesById(id: ID!): [Node!]!\n panic: Boolean!\n project(id: ID!): Project\n projectActivities(projectId: ID!): [ProjectActivity!]!\n projectResources(projectId: ID!): [ProjectResource!]!\n projectStatuses: [ProjectStatus!]!\n projectTags: [String]\n projects: [Project!]!\n projectsByStatus(status: ProjectStatus!): [Project!]!\n resourceMatrix(projectId: ID!): [[ProjectResource!]!]!\n searchProjects(query: String!): [ProjectSearchResult!]!\n tasks(projectId: ID!): [Task!]!\n tasksByPriority(projectId: ID!): [[Task]]\n}\n\ntype Task implements Assignable & Node @key(fields: \"id\") {\n actualHours: Float\n assigneeId: Int\n attachmentUrls: [String!]!\n completedAt: String\n createdAt: String\n dependencies: [Task]!\n description: String\n estimatedHours: Float @deprecated(reason: \"No more estimations!\")\n id: ID!\n isBlocked(checkDependencies: Boolean): Boolean! @connect__fieldResolver(context: \"id status\")\n labels: [String]\n milestoneId: ID\n name: String!\n priority: TaskPriority!\n projectId: ID!\n reviewerIds: [Int]\n status: TaskStatus!\n subtasks: [Task!]\n totalEffort(includeSubtasks: Boolean): Float @connect__fieldResolver(context: \"id estimatedHours actualHours\")\n}\n\ninput TaskInput {\n assigneeId: Int\n description: String\n estimatedHours: Float\n name: String!\n priority: TaskPriority!\n projectId: ID!\n status: TaskStatus!\n}\n\nenum TaskPriority {\n HIGH\n LOW\n MEDIUM\n URGENT\n}\n\nenum TaskStatus {\n BLOCKED\n COMPLETED\n IN_PROGRESS\n REVIEW\n TODO\n}\n\ninterface Timestamped {\n endDate: String\n startDate: String\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet", + "ee6b1bfdd2b01ef540c2a53258a8f8e6f0d3e3dd": "schema @link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@key\", \"@shareable\"]) {\n query: Query\n mutation: Mutation\n}\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ntype Course {\n description: String\n id: ID!\n instructor: Employee!\n lessons: [Lesson!]!\n title: String!\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n taughtCourses: [Course!]!\n}\n\ntype Lesson {\n course: Course!\n courseId: ID!\n description: String\n id: ID!\n order: Int!\n title: String!\n}\n\ntype Mutation {\n addCourse(instructorId: Int!, title: String!): Course!\n addLesson(courseId: ID!, order: Int!, title: String!): Lesson!\n}\n\ntype Query {\n course(id: ID!): Course\n courses: [Course!]!\n killCoursesService: Boolean!\n lessons(courseId: ID!): [Lesson!]!\n throwErrorCourses: Boolean!\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet" + }, + "graphqlClientSchema": "schema {\n query: Query\n mutation: Mutation\n subscription: Subscription\n}\n\ntype Query {\n employee(id: Int!): Employee\n employeeAsList(id: Int!): [Employee]\n employees: [Employee]\n products: [Products!]!\n teammates(team: Department!): [Employee!]!\n firstEmployee: Employee!\n findEmployeesBy(criteria: FindEmployeeCriteria!): [Employee!]!\n \"\"\" This is a GraphQL query that retrieves a list of employees.\"\"\"\n findEmployees(criteria: SearchInput): [Employee!]!\n productTypes: [Products!]!\n topSecretFederationFacts: [TopSecretFact!]!\n factTypes: [TopSecretFactType!]\n sharedThings(numOfA: Int!, numOfB: Int!): [Thing!]!\n \"\"\"Returns the value of the received HTTP header.\"\"\"\n headerValue(name: String!): String!\n \"\"\"Returns the value of the given key in the WS initial payload.\"\"\"\n initPayloadValue(key: String!): String!\n initialPayload: Map\n \"\"\"Returns response after the given delay\"\"\"\n delay(response: String!, ms: Int!): String!\n bigResponse(artificialDelay: Int! = 0, bigObjects: Int! = 100, nestedObjects: Int! = 100, deeplyNestedObjects: Int! = 100): [BigObject!]!\n longResponse(artificialDelay: Int! = 0, bytes: Int!): String\n bigAbstractResponse: BigAbstractResponse\n rootFieldWithListArg(arg: [String!]!): [String!]!\n rootFieldWithNestedListArg(arg: [[String!]!]!): [[String!]!]!\n rootFieldWithListOfInputArg(arg: [InputType!]!): [InputResponse!]!\n rootFieldWithListOfEnumArg(arg: [EnumType!]!): [EnumType!]!\n rootFieldWithInput(arg: InputArg!): String!\n floatField(arg: Float): Float\n secret: Secret\n projects: [Project!]!\n project(id: ID!): Project\n projectStatuses: [ProjectStatus!]!\n projectsByStatus(status: ProjectStatus!): [Project!]!\n projectResources(projectId: ID!): [ProjectResource!]!\n searchProjects(query: String!): [ProjectSearchResult!]!\n milestones(projectId: ID!): [Milestone!]!\n tasks(projectId: ID!): [Task!]!\n projectActivities(projectId: ID!): [ProjectActivity!]!\n projectTags: [String]\n archivedProjects: [Project]!\n tasksByPriority(projectId: ID!): [[Task]]\n resourceMatrix(projectId: ID!): [[ProjectResource!]!]!\n killService: Boolean!\n panic: Boolean!\n nodesById(id: ID!): [Node!]!\n courses: [Course!]!\n course(id: ID!): Course\n lessons(courseId: ID!): [Lesson!]!\n killCoursesService: Boolean!\n throwErrorCourses: Boolean!\n}\n\nscalar Upload\n\ntype Mutation {\n updateEmployeeTag(id: Int!, tag: String!): Employee\n singleUpload(file: Upload!): Boolean!\n singleUploadWithInput(arg: FileUpload!): Boolean!\n multipleUpload(files: [Upload!]!): Boolean!\n addFact(fact: TopSecretFactInput!): TopSecretFact!\n \"\"\" This mutation updates the availability status of an employee in the system.\n \"\"\"\n updateAvailability(employeeID: Int!, isAvailable: Boolean!): Employee!\n \"\"\" This mutation update the mood of an employee. \"\"\"\n updateMood(employeeID: Int!, mood: Mood!): Employee!\n addProject(project: ProjectInput!): Project!\n addMilestone(milestone: MilestoneInput!): Milestone!\n addTask(task: TaskInput!): Task!\n updateProjectStatus(projectId: ID!, status: ProjectStatus!): ProjectUpdate!\n addCourse(title: String!, instructorId: Int!): Course!\n addLesson(courseId: ID!, title: String!, order: Int!): Lesson!\n}\n\ninput FileUpload {\n nested: DeeplyNestedFileUpload\n nestedList: [Upload!]\n}\n\ninput DeeplyNestedFileUpload {\n file: Upload!\n}\n\ntype Subscription {\n \"\"\"`currentTime` will return a stream of `Time` objects.\"\"\"\n currentTime: Time!\n countEmp(max: Int!, intervalMilliseconds: Int!): Int!\n countEmp2(max: Int!, intervalMilliseconds: Int!): Int!\n countFor(count: Int!): Int!\n countHob(max: Int!, intervalMilliseconds: Int!): Int!\n \"\"\"Returns a stream with the value of the received HTTP header.\"\"\"\n headerValue(name: String!, repeat: Int): TimestampedString!\n \"\"\"\n Returns a stream with the value of value of the given key in the WS initial payload.\n \"\"\"\n initPayloadValue(key: String!, repeat: Int): TimestampedString!\n \"\"\"Returns a stream with the value of the WS initial payload.\"\"\"\n initialPayload(repeat: Int): Map\n returnsError: String\n}\n\nenum Department {\n ENGINEERING\n MARKETING\n OPERATIONS\n}\n\ninterface RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n}\n\nenum EngineerType {\n BACKEND\n FRONTEND\n FULLSTACK\n}\n\ninterface Identifiable {\n id: Int!\n}\n\nenum OperationType {\n FINANCE\n HUMAN_RESOURCES\n}\n\ntype Details {\n forename: String!\n location: Country!\n surname: String!\n pastLocations: [City!]!\n middlename: String @deprecated(reason: \"No longer supported\")\n hasChildren: Boolean!\n maritalStatus: MaritalStatus\n nationality: Nationality!\n pets: [Pet]\n}\n\ntype City {\n type: String!\n name: String!\n country: Country\n}\n\ntype Country {\n key: CountryKey!\n language: String\n}\n\ntype CountryKey {\n name: String!\n}\n\nenum Mood {\n HAPPY\n SAD\n}\n\ntype ErrorWrapper {\n okField: String\n errorField: String\n}\n\ntype Time {\n unixTime: Int!\n timeStamp: String!\n}\n\nunion Products = Consultancy | Cosmo | SDK | Documentation\n\ninterface IProduct {\n upc: ID!\n engineers: [Employee!]!\n}\n\ntype Consultancy {\n upc: ID!\n lead: Employee!\n isLeadAvailable: Boolean\n name: ProductName!\n}\n\ninput FindEmployeeCriteria @oneOf {\n id: Int\n department: Department\n title: String\n}\n\nenum Class {\n FISH\n MAMMAL\n REPTILE\n}\n\nenum Gender {\n FEMALE\n MALE\n UNKNOWN\n}\n\ninterface Animal {\n class: Class!\n gender: Gender!\n}\n\nenum CatType {\n HOME\n STREET\n}\n\nenum DogBreed {\n GOLDEN_RETRIEVER\n POODLE\n ROTTWEILER\n YORKSHIRE_TERRIER\n}\n\nenum MaritalStatus {\n ENGAGED\n MARRIED\n}\n\nenum Nationality {\n AMERICAN\n DUTCH\n ENGLISH\n GERMAN\n INDIAN\n SPANISH\n UKRAINIAN\n}\n\n\"\"\" Allows to filter employees by their details. \"\"\"\ninput SearchInput {\n hasPets: Boolean\n nationality: Nationality\n nested: NestedSearchInput\n}\n\ninput NestedSearchInput {\n maritalStatus: MaritalStatus\n hasChildren: Boolean\n}\n\nenum ExerciseType {\n CALISTHENICS\n HIKING\n SPORT\n STRENGTH_TRAINING\n}\n\ninterface Experience {\n yearsOfExperience: Float!\n}\n\nenum GameGenre {\n ADVENTURE\n BOARD\n FPS\n CARD\n RPG\n ROGUELITE\n SIMULATION\n STRATEGY\n}\n\nenum ProgrammingLanguage {\n CSHARP\n GO\n RUST\n TYPESCRIPT\n}\n\ninterface Hobby {\n employees: [Employee!]!\n}\n\ntype Thing {\n a: String!\n b: String!\n}\n\ninput TopSecretFactInput {\n title: String!\n description: FactContent!\n factType: TopSecretFactType!\n}\n\nenum TopSecretFactType {\n DIRECTIVE\n ENTITY\n MISCELLANEOUS\n}\n\ninterface TopSecretFact {\n description: FactContent!\n factType: TopSecretFactType\n}\n\nscalar FactContent\n\nenum ProductName {\n CONSULTANCY\n COSMO\n ENGINE\n FINANCE\n HUMAN_RESOURCES\n MARKETING\n SDK\n}\n\ntype Documentation {\n url(product: ProductName!): String!\n urls(products: [ProductName!]!): [String!]!\n}\n\ntype Secret {\n value: String\n}\n\ninput InputArg {\n enums: [EnumType!]\n enum: EnumType\n string: String\n strings: [String!]\n}\n\nenum EnumType {\n A\n B\n C\n}\n\ninput InputType {\n arg: String!\n}\n\ntype InputResponse {\n arg: String!\n}\n\nscalar Map\n\ntype TimestampedString {\n \"\"\"The value of the string.\"\"\"\n value: String!\n \"\"\"The timestamp when the response was generated.\"\"\"\n unixTime: Int!\n \"\"\"Sequence number\"\"\"\n seq: Int!\n \"\"\"Total number of responses to be sent\"\"\"\n total: Int!\n initialPayload: Map\n}\n\ntype BigObject {\n nestedObjects: [NestedObject!]!\n}\n\ntype NestedObject {\n deeplyNestedObjects: [DeeplyNestedObject!]!\n}\n\ntype DeeplyNestedObject {\n aFieldOnDeeplyNestedObject: String!\n bFieldOnDeeplyNestedObject: Int!\n cFieldOnDeeplyNestedObject: Boolean!\n dFieldOnDeeplyNestedObject: Float!\n eFieldOnDeeplyNestedObject: String!\n fFieldOnDeeplyNestedObject: Int!\n gFieldOnDeeplyNestedObject: Boolean!\n hFieldOnDeeplyNestedObject: Float!\n iFieldOnDeeplyNestedObject: String!\n jFieldOnDeeplyNestedObject: Int!\n kFieldOnDeeplyNestedObject: Boolean!\n lFieldOnDeeplyNestedObject: Float!\n mFieldOnDeeplyNestedObject: String!\n nFieldOnDeeplyNestedObject: Int!\n oFieldOnDeeplyNestedObject: Boolean!\n pFieldOnDeeplyNestedObject: Float!\n qFieldOnDeeplyNestedObject: String!\n rFieldOnDeeplyNestedObject: Int!\n sFieldOnDeeplyNestedObject: Boolean!\n tFieldOnDeeplyNestedObject: Float!\n uFieldOnDeeplyNestedObject: String!\n vFieldOnDeeplyNestedObject: Int!\n wFieldOnDeeplyNestedObject: Boolean!\n xFieldOnDeeplyNestedObject: Float!\n yFieldOnDeeplyNestedObject: String!\n zFieldOnDeeplyNestedObject: Int!\n}\n\nunion BigAbstractResponse = ABigObject | BBigObject | CBigObject | DBigObject | EBigObject | FBigObject | GBigObject | HBigObject | IBigObject | JBigObject | KBigObject | LBigObject | MBigObject | NBigObject | OBigObject | PBigObject | QBigObject | RBigObject | SBigObject | TBigObject | UBigObject | VBigObject | WBigObject | XBigObject | YBigObject | ZBigObject\n\ntype ABigObject {\n aFieldOnABigObject: String!\n bFieldOnABigObject: Int!\n cFieldOnABigObject: Boolean!\n dFieldOnABigObject: Float!\n eFieldOnABigObject: String!\n fFieldOnABigObject: Int!\n gFieldOnABigObject: Boolean!\n hFieldOnABigObject: Float!\n iFieldOnABigObject: String!\n jFieldOnABigObject: Int!\n kFieldOnABigObject: Boolean!\n lFieldOnABigObject: Float!\n mFieldOnABigObject: String!\n nFieldOnABigObject: Int!\n oFieldOnABigObject: Boolean!\n pFieldOnABigObject: Float!\n qFieldOnABigObject: String!\n rFieldOnABigObject: Int!\n sFieldOnABigObject: Boolean!\n tFieldOnABigObject: Float!\n uFieldOnABigObject: String!\n vFieldOnABigObject: Int!\n wFieldOnABigObject: Boolean!\n xFieldOnABigObject: Float!\n yFieldOnABigObject: String!\n zFieldOnABigObject: Int!\n}\n\ntype BBigObject {\n aFieldOnBBigObject: String!\n bFieldOnBBigObject: Int!\n cFieldOnBBigObject: Boolean!\n dFieldOnBBigObject: Float!\n eFieldOnBBigObject: String!\n fFieldOnBBigObject: Int!\n gFieldOnBBigObject: Boolean!\n hFieldOnBBigObject: Float!\n iFieldOnBBigObject: String!\n jFieldOnBBigObject: Int!\n kFieldOnBBigObject: Boolean!\n lFieldOnBBigObject: Float!\n mFieldOnBBigObject: String!\n nFieldOnBBigObject: Int!\n oFieldOnBBigObject: Boolean!\n pFieldOnBBigObject: Float!\n qFieldOnBBigObject: String!\n rFieldOnBBigObject: Int!\n sFieldOnBBigObject: Boolean!\n tFieldOnBBigObject: Float!\n uFieldOnBBigObject: String!\n vFieldOnBBigObject: Int!\n wFieldOnBBigObject: Boolean!\n xFieldOnBBigObject: Float!\n yFieldOnBBigObject: String!\n zFieldOnBBigObject: Int!\n}\n\ntype CBigObject {\n aFieldOnCBigObject: String!\n bFieldOnCBigObject: Int!\n cFieldOnCBigObject: Boolean!\n dFieldOnCBigObject: Float!\n eFieldOnCBigObject: String!\n fFieldOnCBigObject: Int!\n gFieldOnCBigObject: Boolean!\n hFieldOnCBigObject: Float!\n iFieldOnCBigObject: String!\n jFieldOnCBigObject: Int!\n kFieldOnCBigObject: Boolean!\n lFieldOnCBigObject: Float!\n mFieldOnCBigObject: String!\n nFieldOnCBigObject: Int!\n oFieldOnCBigObject: Boolean!\n pFieldOnCBigObject: Float!\n qFieldOnCBigObject: String!\n rFieldOnCBigObject: Int!\n sFieldOnCBigObject: Boolean!\n tFieldOnCBigObject: Float!\n uFieldOnCBigObject: String!\n vFieldOnCBigObject: Int!\n wFieldOnCBigObject: Boolean!\n xFieldOnCBigObject: Float!\n yFieldOnCBigObject: String!\n zFieldOnCBigObject: Int!\n}\n\ntype DBigObject {\n aFieldOnDBigObject: String!\n bFieldOnDBigObject: Int!\n cFieldOnDBigObject: Boolean!\n dFieldOnDBigObject: Float!\n eFieldOnDBigObject: String!\n fFieldOnDBigObject: Int!\n gFieldOnDBigObject: Boolean!\n hFieldOnDBigObject: Float!\n iFieldOnDBigObject: String!\n jFieldOnDBigObject: Int!\n kFieldOnDBigObject: Boolean!\n lFieldOnDBigObject: Float!\n mFieldOnDBigObject: String!\n nFieldOnDBigObject: Int!\n oFieldOnDBigObject: Boolean!\n pFieldOnDBigObject: Float!\n qFieldOnDBigObject: String!\n rFieldOnDBigObject: Int!\n sFieldOnDBigObject: Boolean!\n tFieldOnDBigObject: Float!\n uFieldOnDBigObject: String!\n vFieldOnDBigObject: Int!\n wFieldOnDBigObject: Boolean!\n xFieldOnDBigObject: Float!\n yFieldOnDBigObject: String!\n zFieldOnDBigObject: Int!\n}\n\ntype EBigObject {\n aFieldOnEBigObject: String!\n bFieldOnEBigObject: Int!\n cFieldOnEBigObject: Boolean!\n dFieldOnEBigObject: Float!\n eFieldOnEBigObject: String!\n fFieldOnEBigObject: Int!\n gFieldOnEBigObject: Boolean!\n hFieldOnEBigObject: Float!\n iFieldOnEBigObject: String!\n jFieldOnEBigObject: Int!\n kFieldOnEBigObject: Boolean!\n lFieldOnEBigObject: Float!\n mFieldOnEBigObject: String!\n nFieldOnEBigObject: Int!\n oFieldOnEBigObject: Boolean!\n pFieldOnEBigObject: Float!\n qFieldOnEBigObject: String!\n rFieldOnEBigObject: Int!\n sFieldOnEBigObject: Boolean!\n tFieldOnEBigObject: Float!\n uFieldOnEBigObject: String!\n vFieldOnEBigObject: Int!\n wFieldOnEBigObject: Boolean!\n xFieldOnEBigObject: Float!\n yFieldOnEBigObject: String!\n zFieldOnEBigObject: Int!\n}\n\ntype FBigObject {\n aFieldOnFBigObject: String!\n bFieldOnFBigObject: Int!\n cFieldOnFBigObject: Boolean!\n dFieldOnFBigObject: Float!\n eFieldOnFBigObject: String!\n fFieldOnFBigObject: Int!\n gFieldOnFBigObject: Boolean!\n hFieldOnFBigObject: Float!\n iFieldOnFBigObject: String!\n jFieldOnFBigObject: Int!\n kFieldOnFBigObject: Boolean!\n lFieldOnFBigObject: Float!\n mFieldOnFBigObject: String!\n nFieldOnFBigObject: Int!\n oFieldOnFBigObject: Boolean!\n pFieldOnFBigObject: Float!\n qFieldOnFBigObject: String!\n rFieldOnFBigObject: Int!\n sFieldOnFBigObject: Boolean!\n tFieldOnFBigObject: Float!\n uFieldOnFBigObject: String!\n vFieldOnFBigObject: Int!\n wFieldOnFBigObject: Boolean!\n xFieldOnFBigObject: Float!\n yFieldOnFBigObject: String!\n zFieldOnFBigObject: Int!\n}\n\ntype GBigObject {\n aFieldOnGBigObject: String!\n bFieldOnGBigObject: Int!\n cFieldOnGBigObject: Boolean!\n dFieldOnGBigObject: Float!\n eFieldOnGBigObject: String!\n fFieldOnGBigObject: Int!\n gFieldOnGBigObject: Boolean!\n hFieldOnGBigObject: Float!\n iFieldOnGBigObject: String!\n jFieldOnGBigObject: Int!\n kFieldOnGBigObject: Boolean!\n lFieldOnGBigObject: Float!\n mFieldOnGBigObject: String!\n nFieldOnGBigObject: Int!\n oFieldOnGBigObject: Boolean!\n pFieldOnGBigObject: Float!\n qFieldOnGBigObject: String!\n rFieldOnGBigObject: Int!\n sFieldOnGBigObject: Boolean!\n tFieldOnGBigObject: Float!\n uFieldOnGBigObject: String!\n vFieldOnGBigObject: Int!\n wFieldOnGBigObject: Boolean!\n xFieldOnGBigObject: Float!\n yFieldOnGBigObject: String!\n zFieldOnGBigObject: Int!\n}\n\ntype HBigObject {\n aFieldOnHBigObject: String!\n bFieldOnHBigObject: Int!\n cFieldOnHBigObject: Boolean!\n dFieldOnHBigObject: Float!\n eFieldOnHBigObject: String!\n fFieldOnHBigObject: Int!\n gFieldOnHBigObject: Boolean!\n hFieldOnHBigObject: Float!\n iFieldOnHBigObject: String!\n jFieldOnHBigObject: Int!\n kFieldOnHBigObject: Boolean!\n lFieldOnHBigObject: Float!\n mFieldOnHBigObject: String!\n nFieldOnHBigObject: Int!\n oFieldOnHBigObject: Boolean!\n pFieldOnHBigObject: Float!\n qFieldOnHBigObject: String!\n rFieldOnHBigObject: Int!\n sFieldOnHBigObject: Boolean!\n tFieldOnHBigObject: Float!\n uFieldOnHBigObject: String!\n vFieldOnHBigObject: Int!\n wFieldOnHBigObject: Boolean!\n xFieldOnHBigObject: Float!\n yFieldOnHBigObject: String!\n zFieldOnHBigObject: Int!\n}\n\ntype IBigObject {\n aFieldOnIBigObject: String!\n bFieldOnIBigObject: Int!\n cFieldOnIBigObject: Boolean!\n dFieldOnIBigObject: Float!\n eFieldOnIBigObject: String!\n fFieldOnIBigObject: Int!\n gFieldOnIBigObject: Boolean!\n hFieldOnIBigObject: Float!\n iFieldOnIBigObject: String!\n jFieldOnIBigObject: Int!\n kFieldOnIBigObject: Boolean!\n lFieldOnIBigObject: Float!\n mFieldOnIBigObject: String!\n nFieldOnIBigObject: Int!\n oFieldOnIBigObject: Boolean!\n pFieldOnIBigObject: Float!\n qFieldOnIBigObject: String!\n rFieldOnIBigObject: Int!\n sFieldOnIBigObject: Boolean!\n tFieldOnIBigObject: Float!\n uFieldOnIBigObject: String!\n vFieldOnIBigObject: Int!\n wFieldOnIBigObject: Boolean!\n xFieldOnIBigObject: Float!\n yFieldOnIBigObject: String!\n zFieldOnIBigObject: Int!\n}\n\ntype JBigObject {\n aFieldOnJBigObject: String!\n bFieldOnJBigObject: Int!\n cFieldOnJBigObject: Boolean!\n dFieldOnJBigObject: Float!\n eFieldOnJBigObject: String!\n fFieldOnJBigObject: Int!\n gFieldOnJBigObject: Boolean!\n hFieldOnJBigObject: Float!\n iFieldOnJBigObject: String!\n jFieldOnJBigObject: Int!\n kFieldOnJBigObject: Boolean!\n lFieldOnJBigObject: Float!\n mFieldOnJBigObject: String!\n nFieldOnJBigObject: Int!\n oFieldOnJBigObject: Boolean!\n pFieldOnJBigObject: Float!\n qFieldOnJBigObject: String!\n rFieldOnJBigObject: Int!\n sFieldOnJBigObject: Boolean!\n tFieldOnJBigObject: Float!\n uFieldOnJBigObject: String!\n vFieldOnJBigObject: Int!\n wFieldOnJBigObject: Boolean!\n xFieldOnJBigObject: Float!\n yFieldOnJBigObject: String!\n zFieldOnJBigObject: Int!\n}\n\ntype KBigObject {\n aFieldOnKBigObject: String!\n bFieldOnKBigObject: Int!\n cFieldOnKBigObject: Boolean!\n dFieldOnKBigObject: Float!\n eFieldOnKBigObject: String!\n fFieldOnKBigObject: Int!\n gFieldOnKBigObject: Boolean!\n hFieldOnKBigObject: Float!\n iFieldOnKBigObject: String!\n jFieldOnKBigObject: Int!\n kFieldOnKBigObject: Boolean!\n lFieldOnKBigObject: Float!\n mFieldOnKBigObject: String!\n nFieldOnKBigObject: Int!\n oFieldOnKBigObject: Boolean!\n pFieldOnKBigObject: Float!\n qFieldOnKBigObject: String!\n rFieldOnKBigObject: Int!\n sFieldOnKBigObject: Boolean!\n tFieldOnKBigObject: Float!\n uFieldOnKBigObject: String!\n vFieldOnKBigObject: Int!\n wFieldOnKBigObject: Boolean!\n xFieldOnKBigObject: Float!\n yFieldOnKBigObject: String!\n zFieldOnKBigObject: Int!\n}\n\ntype LBigObject {\n aFieldOnLBigObject: String!\n bFieldOnLBigObject: Int!\n cFieldOnLBigObject: Boolean!\n dFieldOnLBigObject: Float!\n eFieldOnLBigObject: String!\n fFieldOnLBigObject: Int!\n gFieldOnLBigObject: Boolean!\n hFieldOnLBigObject: Float!\n iFieldOnLBigObject: String!\n jFieldOnLBigObject: Int!\n kFieldOnLBigObject: Boolean!\n lFieldOnLBigObject: Float!\n mFieldOnLBigObject: String!\n nFieldOnLBigObject: Int!\n oFieldOnLBigObject: Boolean!\n pFieldOnLBigObject: Float!\n qFieldOnLBigObject: String!\n rFieldOnLBigObject: Int!\n sFieldOnLBigObject: Boolean!\n tFieldOnLBigObject: Float!\n uFieldOnLBigObject: String!\n vFieldOnLBigObject: Int!\n wFieldOnLBigObject: Boolean!\n xFieldOnLBigObject: Float!\n yFieldOnLBigObject: String!\n zFieldOnLBigObject: Int!\n}\n\ntype MBigObject {\n aFieldOnMBigObject: String!\n bFieldOnMBigObject: Int!\n cFieldOnMBigObject: Boolean!\n dFieldOnMBigObject: Float!\n eFieldOnMBigObject: String!\n fFieldOnMBigObject: Int!\n gFieldOnMBigObject: Boolean!\n hFieldOnMBigObject: Float!\n iFieldOnMBigObject: String!\n jFieldOnMBigObject: Int!\n kFieldOnMBigObject: Boolean!\n lFieldOnMBigObject: Float!\n mFieldOnMBigObject: String!\n nFieldOnMBigObject: Int!\n oFieldOnMBigObject: Boolean!\n pFieldOnMBigObject: Float!\n qFieldOnMBigObject: String!\n rFieldOnMBigObject: Int!\n sFieldOnMBigObject: Boolean!\n tFieldOnMBigObject: Float!\n uFieldOnMBigObject: String!\n vFieldOnMBigObject: Int!\n wFieldOnMBigObject: Boolean!\n xFieldOnMBigObject: Float!\n yFieldOnMBigObject: String!\n zFieldOnMBigObject: Int!\n}\n\ntype NBigObject {\n aFieldOnNBigObject: String!\n bFieldOnNBigObject: Int!\n cFieldOnNBigObject: Boolean!\n dFieldOnNBigObject: Float!\n eFieldOnNBigObject: String!\n fFieldOnNBigObject: Int!\n gFieldOnNBigObject: Boolean!\n hFieldOnNBigObject: Float!\n iFieldOnNBigObject: String!\n jFieldOnNBigObject: Int!\n kFieldOnNBigObject: Boolean!\n lFieldOnNBigObject: Float!\n mFieldOnNBigObject: String!\n nFieldOnNBigObject: Int!\n oFieldOnNBigObject: Boolean!\n pFieldOnNBigObject: Float!\n qFieldOnNBigObject: String!\n rFieldOnNBigObject: Int!\n sFieldOnNBigObject: Boolean!\n tFieldOnNBigObject: Float!\n uFieldOnNBigObject: String!\n vFieldOnNBigObject: Int!\n wFieldOnNBigObject: Boolean!\n xFieldOnNBigObject: Float!\n yFieldOnNBigObject: String!\n zFieldOnNBigObject: Int!\n}\n\ntype OBigObject {\n aFieldOnOBigObject: String!\n bFieldOnOBigObject: Int!\n cFieldOnOBigObject: Boolean!\n dFieldOnOBigObject: Float!\n eFieldOnOBigObject: String!\n fFieldOnOBigObject: Int!\n gFieldOnOBigObject: Boolean!\n hFieldOnOBigObject: Float!\n iFieldOnOBigObject: String!\n jFieldOnOBigObject: Int!\n kFieldOnOBigObject: Boolean!\n lFieldOnOBigObject: Float!\n mFieldOnOBigObject: String!\n nFieldOnOBigObject: Int!\n oFieldOnOBigObject: Boolean!\n pFieldOnOBigObject: Float!\n qFieldOnOBigObject: String!\n rFieldOnOBigObject: Int!\n sFieldOnOBigObject: Boolean!\n tFieldOnOBigObject: Float!\n uFieldOnOBigObject: String!\n vFieldOnOBigObject: Int!\n wFieldOnOBigObject: Boolean!\n xFieldOnOBigObject: Float!\n yFieldOnOBigObject: String!\n zFieldOnOBigObject: Int!\n}\n\ntype PBigObject {\n aFieldOnPBigObject: String!\n bFieldOnPBigObject: Int!\n cFieldOnPBigObject: Boolean!\n dFieldOnPBigObject: Float!\n eFieldOnPBigObject: String!\n fFieldOnPBigObject: Int!\n gFieldOnPBigObject: Boolean!\n hFieldOnPBigObject: Float!\n iFieldOnPBigObject: String!\n jFieldOnPBigObject: Int!\n kFieldOnPBigObject: Boolean!\n lFieldOnPBigObject: Float!\n mFieldOnPBigObject: String!\n nFieldOnPBigObject: Int!\n oFieldOnPBigObject: Boolean!\n pFieldOnPBigObject: Float!\n qFieldOnPBigObject: String!\n rFieldOnPBigObject: Int!\n sFieldOnPBigObject: Boolean!\n tFieldOnPBigObject: Float!\n uFieldOnPBigObject: String!\n vFieldOnPBigObject: Int!\n wFieldOnPBigObject: Boolean!\n xFieldOnPBigObject: Float!\n yFieldOnPBigObject: String!\n zFieldOnPBigObject: Int!\n}\n\ntype QBigObject {\n aFieldOnQBigObject: String!\n bFieldOnQBigObject: Int!\n cFieldOnQBigObject: Boolean!\n dFieldOnQBigObject: Float!\n eFieldOnQBigObject: String!\n fFieldOnQBigObject: Int!\n gFieldOnQBigObject: Boolean!\n hFieldOnQBigObject: Float!\n iFieldOnQBigObject: String!\n jFieldOnQBigObject: Int!\n kFieldOnQBigObject: Boolean!\n lFieldOnQBigObject: Float!\n mFieldOnQBigObject: String!\n nFieldOnQBigObject: Int!\n oFieldOnQBigObject: Boolean!\n pFieldOnQBigObject: Float!\n qFieldOnQBigObject: String!\n rFieldOnQBigObject: Int!\n sFieldOnQBigObject: Boolean!\n tFieldOnQBigObject: Float!\n uFieldOnQBigObject: String!\n vFieldOnQBigObject: Int!\n wFieldOnQBigObject: Boolean!\n xFieldOnQBigObject: Float!\n yFieldOnQBigObject: String!\n zFieldOnQBigObject: Int!\n}\n\ntype RBigObject {\n aFieldOnRBigObject: String!\n bFieldOnRBigObject: Int!\n cFieldOnRBigObject: Boolean!\n dFieldOnRBigObject: Float!\n eFieldOnRBigObject: String!\n fFieldOnRBigObject: Int!\n gFieldOnRBigObject: Boolean!\n hFieldOnRBigObject: Float!\n iFieldOnRBigObject: String!\n jFieldOnRBigObject: Int!\n kFieldOnRBigObject: Boolean!\n lFieldOnRBigObject: Float!\n mFieldOnRBigObject: String!\n nFieldOnRBigObject: Int!\n oFieldOnRBigObject: Boolean!\n pFieldOnRBigObject: Float!\n qFieldOnRBigObject: String!\n rFieldOnRBigObject: Int!\n sFieldOnRBigObject: Boolean!\n tFieldOnRBigObject: Float!\n uFieldOnRBigObject: String!\n vFieldOnRBigObject: Int!\n wFieldOnRBigObject: Boolean!\n xFieldOnRBigObject: Float!\n yFieldOnRBigObject: String!\n zFieldOnRBigObject: Int!\n}\n\ntype SBigObject {\n aFieldOnSBigObject: String!\n bFieldOnSBigObject: Int!\n cFieldOnSBigObject: Boolean!\n dFieldOnSBigObject: Float!\n eFieldOnSBigObject: String!\n fFieldOnSBigObject: Int!\n gFieldOnSBigObject: Boolean!\n hFieldOnSBigObject: Float!\n iFieldOnSBigObject: String!\n jFieldOnSBigObject: Int!\n kFieldOnSBigObject: Boolean!\n lFieldOnSBigObject: Float!\n mFieldOnSBigObject: String!\n nFieldOnSBigObject: Int!\n oFieldOnSBigObject: Boolean!\n pFieldOnSBigObject: Float!\n qFieldOnSBigObject: String!\n rFieldOnSBigObject: Int!\n sFieldOnSBigObject: Boolean!\n tFieldOnSBigObject: Float!\n uFieldOnSBigObject: String!\n vFieldOnSBigObject: Int!\n wFieldOnSBigObject: Boolean!\n xFieldOnSBigObject: Float!\n yFieldOnSBigObject: String!\n zFieldOnSBigObject: Int!\n}\n\ntype TBigObject {\n aFieldOnTBigObject: String!\n bFieldOnTBigObject: Int!\n cFieldOnTBigObject: Boolean!\n dFieldOnTBigObject: Float!\n eFieldOnTBigObject: String!\n fFieldOnTBigObject: Int!\n gFieldOnTBigObject: Boolean!\n hFieldOnTBigObject: Float!\n iFieldOnTBigObject: String!\n jFieldOnTBigObject: Int!\n kFieldOnTBigObject: Boolean!\n lFieldOnTBigObject: Float!\n mFieldOnTBigObject: String!\n nFieldOnTBigObject: Int!\n oFieldOnTBigObject: Boolean!\n pFieldOnTBigObject: Float!\n qFieldOnTBigObject: String!\n rFieldOnTBigObject: Int!\n sFieldOnTBigObject: Boolean!\n tFieldOnTBigObject: Float!\n uFieldOnTBigObject: String!\n vFieldOnTBigObject: Int!\n wFieldOnTBigObject: Boolean!\n xFieldOnTBigObject: Float!\n yFieldOnTBigObject: String!\n zFieldOnTBigObject: Int!\n}\n\ntype UBigObject {\n aFieldOnUBigObject: String!\n bFieldOnUBigObject: Int!\n cFieldOnUBigObject: Boolean!\n dFieldOnUBigObject: Float!\n eFieldOnUBigObject: String!\n fFieldOnUBigObject: Int!\n gFieldOnUBigObject: Boolean!\n hFieldOnUBigObject: Float!\n iFieldOnUBigObject: String!\n jFieldOnUBigObject: Int!\n kFieldOnUBigObject: Boolean!\n lFieldOnUBigObject: Float!\n mFieldOnUBigObject: String!\n nFieldOnUBigObject: Int!\n oFieldOnUBigObject: Boolean!\n pFieldOnUBigObject: Float!\n qFieldOnUBigObject: String!\n rFieldOnUBigObject: Int!\n sFieldOnUBigObject: Boolean!\n tFieldOnUBigObject: Float!\n uFieldOnUBigObject: String!\n vFieldOnUBigObject: Int!\n wFieldOnUBigObject: Boolean!\n xFieldOnUBigObject: Float!\n yFieldOnUBigObject: String!\n zFieldOnUBigObject: Int!\n}\n\ntype VBigObject {\n aFieldOnVBigObject: String!\n bFieldOnVBigObject: Int!\n cFieldOnVBigObject: Boolean!\n dFieldOnVBigObject: Float!\n eFieldOnVBigObject: String!\n fFieldOnVBigObject: Int!\n gFieldOnVBigObject: Boolean!\n hFieldOnVBigObject: Float!\n iFieldOnVBigObject: String!\n jFieldOnVBigObject: Int!\n kFieldOnVBigObject: Boolean!\n lFieldOnVBigObject: Float!\n mFieldOnVBigObject: String!\n nFieldOnVBigObject: Int!\n oFieldOnVBigObject: Boolean!\n pFieldOnVBigObject: Float!\n qFieldOnVBigObject: String!\n rFieldOnVBigObject: Int!\n sFieldOnVBigObject: Boolean!\n tFieldOnVBigObject: Float!\n uFieldOnVBigObject: String!\n vFieldOnVBigObject: Int!\n wFieldOnVBigObject: Boolean!\n xFieldOnVBigObject: Float!\n yFieldOnVBigObject: String!\n zFieldOnVBigObject: Int!\n}\n\ntype WBigObject {\n aFieldOnWBigObject: String!\n bFieldOnWBigObject: Int!\n cFieldOnWBigObject: Boolean!\n dFieldOnWBigObject: Float!\n eFieldOnWBigObject: String!\n fFieldOnWBigObject: Int!\n gFieldOnWBigObject: Boolean!\n hFieldOnWBigObject: Float!\n iFieldOnWBigObject: String!\n jFieldOnWBigObject: Int!\n kFieldOnWBigObject: Boolean!\n lFieldOnWBigObject: Float!\n mFieldOnWBigObject: String!\n nFieldOnWBigObject: Int!\n oFieldOnWBigObject: Boolean!\n pFieldOnWBigObject: Float!\n qFieldOnWBigObject: String!\n rFieldOnWBigObject: Int!\n sFieldOnWBigObject: Boolean!\n tFieldOnWBigObject: Float!\n uFieldOnWBigObject: String!\n vFieldOnWBigObject: Int!\n wFieldOnWBigObject: Boolean!\n xFieldOnWBigObject: Float!\n yFieldOnWBigObject: String!\n zFieldOnWBigObject: Int!\n}\n\ntype XBigObject {\n aFieldOnXBigObject: String!\n bFieldOnXBigObject: Int!\n cFieldOnXBigObject: Boolean!\n dFieldOnXBigObject: Float!\n eFieldOnXBigObject: String!\n fFieldOnXBigObject: Int!\n gFieldOnXBigObject: Boolean!\n hFieldOnXBigObject: Float!\n iFieldOnXBigObject: String!\n jFieldOnXBigObject: Int!\n kFieldOnXBigObject: Boolean!\n lFieldOnXBigObject: Float!\n mFieldOnXBigObject: String!\n nFieldOnXBigObject: Int!\n oFieldOnXBigObject: Boolean!\n pFieldOnXBigObject: Float!\n qFieldOnXBigObject: String!\n rFieldOnXBigObject: Int!\n sFieldOnXBigObject: Boolean!\n tFieldOnXBigObject: Float!\n uFieldOnXBigObject: String!\n vFieldOnXBigObject: Int!\n wFieldOnXBigObject: Boolean!\n xFieldOnXBigObject: Float!\n yFieldOnXBigObject: String!\n zFieldOnXBigObject: Int!\n}\n\ntype YBigObject {\n aFieldOnYBigObject: String!\n bFieldOnYBigObject: Int!\n cFieldOnYBigObject: Boolean!\n dFieldOnYBigObject: Float!\n eFieldOnYBigObject: String!\n fFieldOnYBigObject: Int!\n gFieldOnYBigObject: Boolean!\n hFieldOnYBigObject: Float!\n iFieldOnYBigObject: String!\n jFieldOnYBigObject: Int!\n kFieldOnYBigObject: Boolean!\n lFieldOnYBigObject: Float!\n mFieldOnYBigObject: String!\n nFieldOnYBigObject: Int!\n oFieldOnYBigObject: Boolean!\n pFieldOnYBigObject: Float!\n qFieldOnYBigObject: String!\n rFieldOnYBigObject: Int!\n sFieldOnYBigObject: Boolean!\n tFieldOnYBigObject: Float!\n uFieldOnYBigObject: String!\n vFieldOnYBigObject: Int!\n wFieldOnYBigObject: Boolean!\n xFieldOnYBigObject: Float!\n yFieldOnYBigObject: String!\n zFieldOnYBigObject: Int!\n}\n\ntype ZBigObject {\n aFieldOnZBigObject: String!\n bFieldOnZBigObject: Int!\n cFieldOnZBigObject: Boolean!\n dFieldOnZBigObject: Float!\n eFieldOnZBigObject: String!\n fFieldOnZBigObject: Int!\n gFieldOnZBigObject: Boolean!\n hFieldOnZBigObject: Float!\n iFieldOnZBigObject: String!\n jFieldOnZBigObject: Int!\n kFieldOnZBigObject: Boolean!\n lFieldOnZBigObject: Float!\n mFieldOnZBigObject: String!\n nFieldOnZBigObject: Int!\n oFieldOnZBigObject: Boolean!\n pFieldOnZBigObject: Float!\n qFieldOnZBigObject: String!\n rFieldOnZBigObject: Int!\n sFieldOnZBigObject: Boolean!\n tFieldOnZBigObject: Float!\n uFieldOnZBigObject: String!\n vFieldOnZBigObject: Int!\n wFieldOnZBigObject: Boolean!\n xFieldOnZBigObject: Float!\n yFieldOnZBigObject: String!\n zFieldOnZBigObject: Int!\n}\n\ninput ProjectInput {\n name: String!\n description: String\n startDate: String\n endDate: String\n status: ProjectStatus!\n}\n\ninput MilestoneInput {\n projectId: ID!\n name: String!\n description: String\n dueDate: String\n status: MilestoneStatus!\n}\n\ninput TaskInput {\n projectId: ID!\n assigneeId: Int\n name: String!\n description: String\n priority: TaskPriority!\n status: TaskStatus!\n estimatedHours: Float\n}\n\ninterface Node {\n id: ID!\n}\n\ninterface Timestamped {\n startDate: String\n endDate: String\n}\n\ninterface Assignable {\n assigneeId: Int\n}\n\nenum ProjectStatus {\n PLANNING\n ACTIVE\n COMPLETED\n ON_HOLD\n}\n\nenum MilestoneStatus {\n PENDING\n IN_PROGRESS\n COMPLETED\n DELAYED\n}\n\nenum TaskStatus {\n TODO\n IN_PROGRESS\n REVIEW\n COMPLETED\n BLOCKED\n}\n\nenum TaskPriority {\n LOW\n MEDIUM\n HIGH\n URGENT\n}\n\nenum ProjectUpdateType {\n STATUS_CHANGE\n MILESTONE_ADDED\n TASK_ASSIGNED\n PROGRESS_UPDATE\n TEAM_CHANGE\n}\n\nunion ProjectResource = Employee | Product | Milestone | Task\n\nunion ProjectSearchResult = Project | Milestone | Task\n\nunion ProjectActivity = ProjectUpdate | Milestone | Task\n\ntype Product {\n upc: String!\n projects: [Project!]\n featureMatrix: [[String]]\n}\n\ntype Course {\n id: ID!\n title: String!\n description: String\n instructor: Employee!\n lessons: [Lesson!]!\n}\n\ntype Lesson {\n id: ID!\n courseId: ID!\n title: String!\n description: String\n order: Int!\n course: Course!\n}\n\ntype Engineer implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n engineerType: EngineerType!\n}\n\ntype Marketer implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n}\n\ntype Operator implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n operatorType: [OperationType!]!\n}\n\ntype Employee implements Identifiable {\n details: Details\n id: Int!\n tag: String!\n role: RoleType!\n notes: String\n updatedAt: String!\n startDate: String!\n currentMood: Mood!\n derivedMood: Mood!\n isAvailable: Boolean\n rootFieldThrowsError: String\n rootFieldErrorWrapper: ErrorWrapper\n hobbies: [Hobby!]\n products: [ProductName!]!\n fieldThrowsError: String\n projects: [Project!]\n assignedTasks: [Task!]!\n completedTasks: [Task!]!\n skills: [String]\n certifications: [String!]\n projectHistory: [[Project!]]!\n currentWorkload(includeCompleted: Boolean, projectId: ID): Int!\n averageTaskCompletionDays(projectId: ID, priority: TaskPriority): Float\n taughtCourses: [Course!]!\n}\n\ntype Cosmo implements IProduct {\n upc: ID!\n engineers: [Employee!]!\n lead: Employee!\n isLeadAvailable: Boolean\n name: ProductName!\n repositoryURL: String!\n}\n\ntype SDK implements IProduct {\n upc: ID!\n engineers: [Employee!]!\n owner: Employee!\n unicode: String!\n clientLanguages: [ProgrammingLanguage!]!\n}\n\ninterface Pet implements Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Alligator implements Pet & Animal {\n class: Class!\n dangerous: String!\n gender: Gender!\n name: String!\n}\n\ntype Cat implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n type: CatType!\n}\n\ntype Dog implements Pet & Animal {\n breed: DogBreed!\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Mouse implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Pony implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Exercise implements Hobby {\n employees: [Employee!]!\n category: ExerciseType!\n}\n\ntype Flying implements Experience & Hobby {\n employees: [Employee!]!\n planeModels: [String!]!\n yearsOfExperience: Float!\n}\n\ntype Gaming implements Experience & Hobby {\n employees: [Employee!]!\n genres: [GameGenre!]!\n name: String!\n yearsOfExperience: Float!\n}\n\ntype Other implements Hobby {\n employees: [Employee!]!\n name: String!\n}\n\ntype Programming implements Hobby {\n employees: [Employee!]!\n languages: [ProgrammingLanguage!]!\n}\n\ntype Travelling implements Hobby {\n employees: [Employee!]!\n countriesLived: [Country!]!\n}\n\ntype DirectiveFact implements TopSecretFact {\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype EntityFact implements TopSecretFact {\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype MiscellaneousFact implements TopSecretFact {\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype Project implements Node & Timestamped {\n id: ID!\n name: String!\n description: String\n startDate: String\n endDate: String\n status: ProjectStatus!\n teamMembers: [Employee!]!\n relatedProducts: [Product!]!\n milestoneIds: [String!]\n milestones: [Milestone!]!\n tasks: [Task!]!\n progress: Float\n tags: [String]\n alternativeProjects: [Project]\n dependencies: [Project!]\n resourceGroups: [[ProjectResource!]!]!\n tasksByPhase: [[Task!]]!\n milestoneGroups: [[Milestone]]\n priorityMatrix: [[[Task!]!]!]\n subProjects(includeArchived: Boolean): [Project!]!\n filteredTasks(status: TaskStatus, priority: TaskPriority, limit: Int): [Task!]!\n completionRate(includeSubtasks: Boolean): Float!\n estimatedDaysRemaining(fromDate: String): Int\n criticalDeadline(withinDays: Int): Timestamped\n topPriorityItem(category: String): ProjectSearchResult\n}\n\ntype Milestone implements Node & Timestamped {\n id: ID!\n projectId: ID!\n name: String!\n description: String\n startDate: String\n endDate: String\n status: MilestoneStatus!\n completionPercentage: Float\n dependencies: [Milestone]!\n subtasks: [Task]\n reviewers: [Employee!]\n isAtRisk(threshold: Float): Boolean!\n daysUntilDue(fromDate: String): Int\n}\n\ntype Task implements Node & Assignable {\n id: ID!\n projectId: ID!\n milestoneId: ID\n assigneeId: Int\n name: String!\n description: String\n priority: TaskPriority!\n status: TaskStatus!\n estimatedHours: Float @deprecated(reason: \"No more estimations!\")\n actualHours: Float\n createdAt: String\n completedAt: String\n labels: [String]\n subtasks: [Task!]\n dependencies: [Task]!\n attachmentUrls: [String!]!\n reviewerIds: [Int]\n isBlocked(checkDependencies: Boolean): Boolean!\n totalEffort(includeSubtasks: Boolean): Float\n}\n\ntype ProjectUpdate implements Node {\n id: ID!\n projectId: ID!\n updatedById: Int!\n updateType: ProjectUpdateType!\n description: String!\n timestamp: String!\n metadata: String\n}" + }, + "version": "00000000-0000-0000-0000-000000000000", + "subgraphs": [ + { "id": "0", "name": "employees", "routingUrl": "http://localhost:4001/graphql" }, + { "id": "1", "name": "family", "routingUrl": "http://localhost:4002/graphql" }, + { "id": "2", "name": "hobbies", "routingUrl": "http://localhost:4003/graphql" }, + { "id": "3", "name": "products", "routingUrl": "http://localhost:4004/graphql" }, + { "id": "4", "name": "test1", "routingUrl": "http://localhost:4006/graphql" }, + { "id": "5", "name": "availability", "routingUrl": "http://localhost:4007/graphql" }, + { "id": "6", "name": "mood", "routingUrl": "http://localhost:4008/graphql" }, + { "id": "7", "name": "countries", "routingUrl": "http://localhost:4009/graphql" }, + { "id": "8", "name": "projects", "routingUrl": "http://localhost:3000/plugin/8" }, + { "id": "9", "name": "courses", "routingUrl": "http://localhost:3000/plugin/9" } + ], + "featureFlagConfigs": { + "configByFeatureFlagName": { + "myff": { + "engineConfig": { + "defaultFlushInterval": "500", + "datasourceConfigurations": [ + { + "kind": "GRAPHQL", + "rootNodes": [ + { + "typeName": "Query", + "fieldNames": [ + "employee", + "employeeAsList", + "employees", + "products", + "teammates", + "firstEmployee", + "findEmployeesBy" + ], + "requireFetchReasonsFieldNames": ["employee"] + }, + { + "typeName": "Mutation", + "fieldNames": ["updateEmployeeTag", "singleUpload", "singleUploadWithInput", "multipleUpload"] + }, + { "typeName": "Subscription", "fieldNames": ["currentTime", "countEmp", "countEmp2", "countFor"] }, + { "typeName": "Country", "fieldNames": ["key"] }, + { + "typeName": "Employee", + "fieldNames": [ + "details", + "id", + "tag", + "role", + "updatedAt", + "startDate", + "derivedMood", + "rootFieldThrowsError", + "rootFieldErrorWrapper" + ], + "externalFieldNames": ["currentMood", "isAvailable"] + }, + { "typeName": "Consultancy", "fieldNames": ["upc", "lead", "isLeadAvailable"] }, + { "typeName": "Cosmo", "fieldNames": ["upc", "engineers", "lead", "isLeadAvailable"] }, + { "typeName": "SDK", "fieldNames": ["upc", "engineers", "owner", "unicode"] } + ], + "childNodes": [ + { "typeName": "RoleType", "fieldNames": ["departments", "title", "employees"] }, + { "typeName": "Identifiable", "fieldNames": ["id"], "requireFetchReasonsFieldNames": ["id"] }, + { "typeName": "Engineer", "fieldNames": ["departments", "title", "employees", "engineerType"] }, + { "typeName": "Marketer", "fieldNames": ["departments", "title", "employees"] }, + { "typeName": "Operator", "fieldNames": ["departments", "title", "employees", "operatorType"] }, + { "typeName": "Details", "fieldNames": ["forename", "location", "surname", "pastLocations"] }, + { "typeName": "City", "fieldNames": ["type", "name", "country"] }, + { "typeName": "CountryKey", "fieldNames": ["name"] }, + { "typeName": "ErrorWrapper", "fieldNames": ["okField", "errorField"] }, + { "typeName": "Time", "fieldNames": ["unixTime", "timeStamp"] }, + { "typeName": "IProduct", "fieldNames": ["upc", "engineers"] } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4001/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4001/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n @link(\n url: \"https://specs.apollo.dev/federation/v2.5\"\n import: [\n \"@authenticated\"\n \"@composeDirective\"\n \"@external\"\n \"@extends\"\n \"@inaccessible\"\n \"@interfaceObject\"\n \"@override\"\n \"@provides\"\n \"@key\"\n \"@requires\"\n \"@requiresScopes\"\n \"@shareable\"\n \"@tag\"\n ]\n )\n\ndirective @goField(\n forceResolver: Boolean\n name: String\n omittable: Boolean\n) on INPUT_FIELD_DEFINITION | FIELD_DEFINITION\n\ndirective @openfed__requireFetchReasons repeatable on FIELD_DEFINITION | INTERFACE | OBJECT\n\ntype Query {\n employee(id: Int!): Employee @openfed__requireFetchReasons\n employeeAsList(id: Int!): [Employee]\n employees: [Employee]\n products: [Products!]!\n teammates(team: Department!): [Employee!]!\n firstEmployee: Employee! @tag(name: \"internal\")\n findEmployeesBy(criteria: FindEmployeeCriteria!): [Employee!]!\n}\n\nscalar Upload\n\ntype Mutation {\n updateEmployeeTag(id: Int!, tag: String!): Employee\n\n singleUpload(file: Upload!): Boolean!\n singleUploadWithInput(arg: FileUpload!): Boolean!\n multipleUpload(files: [Upload!]!): Boolean!\n}\n\ninput FileUpload {\n nested: DeeplyNestedFileUpload\n nestedList: [Upload!]\n}\n\ninput DeeplyNestedFileUpload {\n file: Upload!\n}\n\ntype Subscription {\n \"\"\"\n `currentTime` will return a stream of `Time` objects.\n \"\"\"\n currentTime: Time!\n countEmp(max: Int!, intervalMilliseconds: Int!): Int!\n countEmp2(max: Int!, intervalMilliseconds: Int!): Int!\n countFor(count: Int!): Int!\n}\n\nenum Department {\n ENGINEERING\n MARKETING\n OPERATIONS\n}\n\ninterface RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]! @goField(forceResolver: true)\n}\n\nenum EngineerType {\n BACKEND\n FRONTEND\n FULLSTACK\n}\n\ninterface Identifiable @openfed__requireFetchReasons {\n id: Int!\n}\n\ntype Engineer implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]! @goField(forceResolver: true)\n engineerType: EngineerType!\n}\n\ntype Marketer implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]! @goField(forceResolver: true)\n}\n\nenum OperationType {\n FINANCE\n HUMAN_RESOURCES\n}\n\ntype Operator implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]! @goField(forceResolver: true)\n operatorType: [OperationType!]!\n}\n\ntype Details {\n forename: String! @shareable\n location: Country!\n surname: String! @shareable\n pastLocations: [City!]!\n}\n\ntype City {\n type: String!\n name: String!\n country: Country\n}\n\n# Using a nested key field simply because it can showcase potential bug\n# vectors / Federation capabilities.\ntype Country @key(fields: \"key { name }\", resolvable: false) {\n key: CountryKey!\n}\n\ntype CountryKey {\n name: String!\n}\n\nenum Mood {\n HAPPY\n SAD\n}\n\ntype Employee implements Identifiable @key(fields: \"id\") {\n details: Details! @shareable\n id: Int!\n tag: String!\n role: RoleType!\n notes: String @shareable\n updatedAt: String!\n startDate: String! @requiresScopes(scopes: [[\"read:employee\", \"read:private\"], [\"read:all\"]])\n currentMood: Mood! @external\n derivedMood: Mood! @requires(fields: \"currentMood\")\n # From the `availability` service. Only defined for use in @requires\n isAvailable: Boolean @external\n rootFieldThrowsError: String @goField(forceResolver: true)\n rootFieldErrorWrapper: ErrorWrapper @goField(forceResolver: true)\n}\n\ntype ErrorWrapper {\n okField: String\n errorField: String @goField(forceResolver: true)\n}\n\ntype Time {\n unixTime: Int!\n timeStamp: String!\n}\n\nunion Products = Consultancy | Cosmo | SDK\n\ninterface IProduct {\n upc: ID!\n engineers: [Employee!]!\n}\n\ntype Consultancy @key(fields: \"upc\") {\n upc: ID!\n lead: Employee!\n isLeadAvailable: Boolean @requires(fields: \"lead { isAvailable }\")\n}\n\ntype Cosmo implements IProduct @key(fields: \"upc\") {\n upc: ID!\n engineers: [Employee!]!\n lead: Employee!\n isLeadAvailable: Boolean @requires(fields: \"lead { isAvailable }\")\n}\n\ntype SDK implements IProduct @key(fields: \"upc\") {\n upc: ID!\n engineers: [Employee!]!\n owner: Employee!\n unicode: String!\n}\n\ninput FindEmployeeCriteria @oneOf {\n id: Int\n department: Department\n title: String\n}" + }, + "upstreamSchema": { "key": "73e7c8ef50d3dc0c5d564e34702baf455be9cee3" } + }, + "requestTimeoutSeconds": "10", + "id": "0", + "keys": [ + { "typeName": "Country", "selectionSet": "key { name }", "disableEntityResolver": true }, + { "typeName": "Employee", "selectionSet": "id" }, + { "typeName": "Consultancy", "selectionSet": "upc" }, + { "typeName": "Cosmo", "selectionSet": "upc" }, + { "typeName": "SDK", "selectionSet": "upc" } + ], + "requires": [ + { "typeName": "Employee", "fieldName": "derivedMood", "selectionSet": "currentMood" }, + { "typeName": "Consultancy", "fieldName": "isLeadAvailable", "selectionSet": "lead { isAvailable }" }, + { "typeName": "Cosmo", "fieldName": "isLeadAvailable", "selectionSet": "lead { isAvailable }" } + ] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { "typeName": "Query", "fieldNames": ["findEmployees"] }, + { "typeName": "Employee", "fieldNames": ["id", "details"] } + ], + "childNodes": [ + { "typeName": "Animal", "fieldNames": ["class", "gender"] }, + { "typeName": "Pet", "fieldNames": ["class", "gender", "name"] }, + { "typeName": "Alligator", "fieldNames": ["class", "dangerous", "gender", "name"] }, + { "typeName": "Cat", "fieldNames": ["class", "gender", "name", "type"] }, + { "typeName": "Dog", "fieldNames": ["breed", "class", "gender", "name"] }, + { "typeName": "Mouse", "fieldNames": ["class", "gender", "name"] }, + { "typeName": "Pony", "fieldNames": ["class", "gender", "name"] }, + { + "typeName": "Details", + "fieldNames": [ + "forename", + "middlename", + "surname", + "hasChildren", + "maritalStatus", + "nationality", + "pets" + ] + } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4002/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4002/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\ntype Query {\n \"\"\" This is a GraphQL query that retrieves a list of employees.\"\"\"\n findEmployees(criteria: SearchInput): [Employee!]!\n}\n\nenum Class {\n FISH\n MAMMAL\n REPTILE\n}\n\nenum Gender {\n FEMALE\n MALE\n UNKNOWN\n}\n\ninterface Animal {\n class: Class!\n gender: Gender!\n}\n\ninterface Pet implements Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\nenum CatType {\n HOME\n STREET\n}\n\ntype Alligator implements Pet & Animal {\n class: Class!\n dangerous: String!\n gender: Gender!\n name: String!\n}\n\ntype Cat implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n type: CatType!\n}\n\nenum DogBreed {\n GOLDEN_RETRIEVER\n POODLE\n ROTTWEILER\n YORKSHIRE_TERRIER\n}\n\ntype Dog implements Pet & Animal {\n breed: DogBreed!\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Mouse implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Pony implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\nenum MaritalStatus {\n ENGAGED\n MARRIED\n}\n\nenum Nationality {\n AMERICAN\n DUTCH\n ENGLISH\n GERMAN\n INDIAN\n SPANISH\n UKRAINIAN\n}\n\ntype Details {\n forename: String! @shareable\n middlename: String @deprecated\n surname: String! @shareable\n hasChildren: Boolean!\n maritalStatus: MaritalStatus\n nationality: Nationality!\n pets: [Pet]\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n details: Details @shareable\n}\n\n\"\"\" Allows to filter employees by their details. \"\"\"\ninput SearchInput {\n hasPets: Boolean\n nationality: Nationality\n nested: NestedSearchInput\n}\n\ninput NestedSearchInput {\n maritalStatus: MaritalStatus\n hasChildren: Boolean\n}\n" + }, + "upstreamSchema": { "key": "2265a44afac63dcf9da5f7ee5ff35c7a6dc8adff" } + }, + "requestTimeoutSeconds": "10", + "id": "1", + "keys": [{ "typeName": "Employee", "selectionSet": "id" }] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { "typeName": "Country", "fieldNames": ["key"] }, + { "typeName": "Employee", "fieldNames": ["id", "hobbies"] }, + { "typeName": "SDK", "fieldNames": ["upc", "clientLanguages"] }, + { "typeName": "Subscription", "fieldNames": ["countHob"] } + ], + "childNodes": [ + { "typeName": "Exercise", "fieldNames": ["employees", "category"] }, + { "typeName": "Experience", "fieldNames": ["yearsOfExperience"] }, + { "typeName": "Flying", "fieldNames": ["employees", "planeModels", "yearsOfExperience"] }, + { "typeName": "Gaming", "fieldNames": ["employees", "genres", "name", "yearsOfExperience"] }, + { "typeName": "Other", "fieldNames": ["employees", "name"] }, + { "typeName": "Programming", "fieldNames": ["employees", "languages"] }, + { "typeName": "CountryKey", "fieldNames": ["name"] }, + { "typeName": "Travelling", "fieldNames": ["employees", "countriesLived"] }, + { "typeName": "Hobby", "fieldNames": ["employees"] } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4003/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4003/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\ndirective @goField(\n forceResolver: Boolean\n name: String\n omittable: Boolean\n) on INPUT_FIELD_DEFINITION | FIELD_DEFINITION\n\nenum ExerciseType {\n CALISTHENICS\n HIKING\n SPORT\n STRENGTH_TRAINING\n}\n\ntype Exercise implements Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n category: ExerciseType!\n}\n\ninterface Experience {\n yearsOfExperience: Float!\n}\n\ntype Flying implements Experience & Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n planeModels: [String!]!\n yearsOfExperience: Float!\n}\n\nenum GameGenre {\n ADVENTURE\n BOARD\n FPS\n CARD\n RPG\n ROGUELITE\n SIMULATION\n STRATEGY\n}\n\ntype Gaming implements Experience & Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n genres: [GameGenre!]!\n name: String!\n yearsOfExperience: Float!\n}\n\ntype Other implements Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n name: String!\n}\n\nenum ProgrammingLanguage {\n CSHARP\n GO\n RUST\n TYPESCRIPT\n}\n\ntype Programming implements Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n languages: [ProgrammingLanguage!]!\n}\n\n# Using a nested key field simply because it can showcase potential bug\n# vectors / Federation capabilities.\ntype Country @key(fields: \"key { name }\", resolvable: false) {\n key: CountryKey!\n}\n\ntype CountryKey {\n name: String!\n}\n\ntype Travelling implements Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n countriesLived: [Country!]!\n}\n\ninterface Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n hobbies: [Hobby!]\n}\n\ntype SDK @key(fields: \"upc\") {\n upc: ID!\n clientLanguages: [ProgrammingLanguage!]!\n}\n\ntype Subscription {\n countHob(max: Int! intervalMilliseconds: Int!): Int!\n}" + }, + "upstreamSchema": { "key": "6f2131dd12f912ee7f5a965938039527994be676" } + }, + "requestTimeoutSeconds": "10", + "id": "2", + "keys": [ + { "typeName": "Country", "selectionSet": "key { name }", "disableEntityResolver": true }, + { "typeName": "Employee", "selectionSet": "id" }, + { "typeName": "SDK", "selectionSet": "upc" } + ] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { "typeName": "Query", "fieldNames": ["productTypes", "topSecretFederationFacts", "factTypes"] }, + { "typeName": "Mutation", "fieldNames": ["addFact"] }, + { "typeName": "Employee", "fieldNames": ["id", "products", "productCount", "notes"] }, + { "typeName": "Consultancy", "fieldNames": ["upc", "name"] }, + { "typeName": "Cosmo", "fieldNames": ["upc", "name", "repositoryURL"] } + ], + "childNodes": [ + { "typeName": "TopSecretFact", "fieldNames": ["description", "factType"] }, + { "typeName": "DirectiveFact", "fieldNames": ["title", "description", "factType"] }, + { "typeName": "EntityFact", "fieldNames": ["title", "description", "factType"] }, + { "typeName": "MiscellaneousFact", "fieldNames": ["title", "description", "factType"] }, + { "typeName": "Documentation", "fieldNames": ["url", "urls"] } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4010/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4010/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\nschema {\n query: Queries\n mutation: Mutation\n}\n\n# dwedwedew\n\ntype Queries {\n productTypes: [Products!]!\n topSecretFederationFacts: [TopSecretFact!]! @requiresScopes(scopes: [[\"read:fact\"], [\"read:all\"]])\n factTypes: [TopSecretFactType!]\n}\n\ntype Mutation {\n addFact(fact: TopSecretFactInput!): TopSecretFact! @requiresScopes(scopes: [[\"write:fact\"], [\"write:all\"]])\n}\n\ninput TopSecretFactInput {\n title: String!\n description: FactContent!\n factType: TopSecretFactType!\n}\n\nenum TopSecretFactType @authenticated {\n DIRECTIVE,\n ENTITY,\n MISCELLANEOUS,\n}\n\ninterface TopSecretFact @authenticated {\n description: FactContent!\n factType: TopSecretFactType\n}\n\nscalar FactContent @requiresScopes(scopes: [[\"read:scalar\"], [\"read:all\"]])\n\ntype DirectiveFact implements TopSecretFact @authenticated {\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype EntityFact implements TopSecretFact @requiresScopes(scopes: [[\"read:entity\"]]){\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype MiscellaneousFact implements TopSecretFact {\n title: String!\n description: FactContent! @requiresScopes(scopes: [[\"read:miscellaneous\"]])\n factType: TopSecretFactType\n}\n\nenum ProductName {\n CONSULTANCY\n COSMO\n ENGINE\n FINANCE\n HUMAN_RESOURCES\n MARKETING\n SDK\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n products: [ProductName!]!\n productCount: Int!\n notes: String @override(from: \"employees\")\n}\n\nunion Products = Consultancy | Cosmo | Documentation\n\ntype Consultancy @key(fields: \"upc\") {\n upc: ID!\n name: ProductName!\n}\n\ntype Cosmo @key(fields: \"upc\") {\n upc: ID!\n name: ProductName!\n repositoryURL: String!\n}\n\ntype Documentation {\n url(product: ProductName!): String!\n urls(products: [ProductName!]!): [String!]!\n}\n" + }, + "upstreamSchema": { "key": "ae2f1af7c0ba46587f3fd229d25cb8e78212f91f" } + }, + "requestTimeoutSeconds": "10", + "id": "3", + "keys": [ + { "typeName": "Employee", "selectionSet": "id" }, + { "typeName": "Consultancy", "selectionSet": "upc" }, + { "typeName": "Cosmo", "selectionSet": "upc" } + ] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { + "typeName": "Query", + "fieldNames": [ + "headerValue", + "initPayloadValue", + "initialPayload", + "delay", + "bigResponse", + "longResponse", + "bigAbstractResponse", + "rootFieldWithListArg", + "rootFieldWithNestedListArg", + "rootFieldWithListOfInputArg", + "rootFieldWithListOfEnumArg", + "rootFieldWithInput", + "floatField", + "sharedThings", + "secret" + ] + }, + { + "typeName": "Subscription", + "fieldNames": ["headerValue", "initPayloadValue", "initialPayload", "returnsError"] + }, + { "typeName": "Employee", "fieldNames": ["id", "fieldThrowsError"] } + ], + "childNodes": [ + { "typeName": "Secret", "fieldNames": ["value"] }, + { "typeName": "Thing", "fieldNames": ["b"] }, + { "typeName": "InputResponse", "fieldNames": ["arg"] }, + { + "typeName": "TimestampedString", + "fieldNames": ["value", "unixTime", "seq", "total", "initialPayload"] + }, + { "typeName": "BigObject", "fieldNames": ["nestedObjects"] }, + { "typeName": "NestedObject", "fieldNames": ["deeplyNestedObjects"] }, + { + "typeName": "DeeplyNestedObject", + "fieldNames": [ + "aFieldOnDeeplyNestedObject", + "bFieldOnDeeplyNestedObject", + "cFieldOnDeeplyNestedObject", + "dFieldOnDeeplyNestedObject", + "eFieldOnDeeplyNestedObject", + "fFieldOnDeeplyNestedObject", + "gFieldOnDeeplyNestedObject", + "hFieldOnDeeplyNestedObject", + "iFieldOnDeeplyNestedObject", + "jFieldOnDeeplyNestedObject", + "kFieldOnDeeplyNestedObject", + "lFieldOnDeeplyNestedObject", + "mFieldOnDeeplyNestedObject", + "nFieldOnDeeplyNestedObject", + "oFieldOnDeeplyNestedObject", + "pFieldOnDeeplyNestedObject", + "qFieldOnDeeplyNestedObject", + "rFieldOnDeeplyNestedObject", + "sFieldOnDeeplyNestedObject", + "tFieldOnDeeplyNestedObject", + "uFieldOnDeeplyNestedObject", + "vFieldOnDeeplyNestedObject", + "wFieldOnDeeplyNestedObject", + "xFieldOnDeeplyNestedObject", + "yFieldOnDeeplyNestedObject", + "zFieldOnDeeplyNestedObject" + ] + }, + { + "typeName": "ABigObject", + "fieldNames": [ + "aFieldOnABigObject", + "bFieldOnABigObject", + "cFieldOnABigObject", + "dFieldOnABigObject", + "eFieldOnABigObject", + "fFieldOnABigObject", + "gFieldOnABigObject", + "hFieldOnABigObject", + "iFieldOnABigObject", + "jFieldOnABigObject", + "kFieldOnABigObject", + "lFieldOnABigObject", + "mFieldOnABigObject", + "nFieldOnABigObject", + "oFieldOnABigObject", + "pFieldOnABigObject", + "qFieldOnABigObject", + "rFieldOnABigObject", + "sFieldOnABigObject", + "tFieldOnABigObject", + "uFieldOnABigObject", + "vFieldOnABigObject", + "wFieldOnABigObject", + "xFieldOnABigObject", + "yFieldOnABigObject", + "zFieldOnABigObject" + ] + }, + { + "typeName": "BBigObject", + "fieldNames": [ + "aFieldOnBBigObject", + "bFieldOnBBigObject", + "cFieldOnBBigObject", + "dFieldOnBBigObject", + "eFieldOnBBigObject", + "fFieldOnBBigObject", + "gFieldOnBBigObject", + "hFieldOnBBigObject", + "iFieldOnBBigObject", + "jFieldOnBBigObject", + "kFieldOnBBigObject", + "lFieldOnBBigObject", + "mFieldOnBBigObject", + "nFieldOnBBigObject", + "oFieldOnBBigObject", + "pFieldOnBBigObject", + "qFieldOnBBigObject", + "rFieldOnBBigObject", + "sFieldOnBBigObject", + "tFieldOnBBigObject", + "uFieldOnBBigObject", + "vFieldOnBBigObject", + "wFieldOnBBigObject", + "xFieldOnBBigObject", + "yFieldOnBBigObject", + "zFieldOnBBigObject" + ] + }, + { + "typeName": "CBigObject", + "fieldNames": [ + "aFieldOnCBigObject", + "bFieldOnCBigObject", + "cFieldOnCBigObject", + "dFieldOnCBigObject", + "eFieldOnCBigObject", + "fFieldOnCBigObject", + "gFieldOnCBigObject", + "hFieldOnCBigObject", + "iFieldOnCBigObject", + "jFieldOnCBigObject", + "kFieldOnCBigObject", + "lFieldOnCBigObject", + "mFieldOnCBigObject", + "nFieldOnCBigObject", + "oFieldOnCBigObject", + "pFieldOnCBigObject", + "qFieldOnCBigObject", + "rFieldOnCBigObject", + "sFieldOnCBigObject", + "tFieldOnCBigObject", + "uFieldOnCBigObject", + "vFieldOnCBigObject", + "wFieldOnCBigObject", + "xFieldOnCBigObject", + "yFieldOnCBigObject", + "zFieldOnCBigObject" + ] + }, + { + "typeName": "DBigObject", + "fieldNames": [ + "aFieldOnDBigObject", + "bFieldOnDBigObject", + "cFieldOnDBigObject", + "dFieldOnDBigObject", + "eFieldOnDBigObject", + "fFieldOnDBigObject", + "gFieldOnDBigObject", + "hFieldOnDBigObject", + "iFieldOnDBigObject", + "jFieldOnDBigObject", + "kFieldOnDBigObject", + "lFieldOnDBigObject", + "mFieldOnDBigObject", + "nFieldOnDBigObject", + "oFieldOnDBigObject", + "pFieldOnDBigObject", + "qFieldOnDBigObject", + "rFieldOnDBigObject", + "sFieldOnDBigObject", + "tFieldOnDBigObject", + "uFieldOnDBigObject", + "vFieldOnDBigObject", + "wFieldOnDBigObject", + "xFieldOnDBigObject", + "yFieldOnDBigObject", + "zFieldOnDBigObject" + ] + }, + { + "typeName": "EBigObject", + "fieldNames": [ + "aFieldOnEBigObject", + "bFieldOnEBigObject", + "cFieldOnEBigObject", + "dFieldOnEBigObject", + "eFieldOnEBigObject", + "fFieldOnEBigObject", + "gFieldOnEBigObject", + "hFieldOnEBigObject", + "iFieldOnEBigObject", + "jFieldOnEBigObject", + "kFieldOnEBigObject", + "lFieldOnEBigObject", + "mFieldOnEBigObject", + "nFieldOnEBigObject", + "oFieldOnEBigObject", + "pFieldOnEBigObject", + "qFieldOnEBigObject", + "rFieldOnEBigObject", + "sFieldOnEBigObject", + "tFieldOnEBigObject", + "uFieldOnEBigObject", + "vFieldOnEBigObject", + "wFieldOnEBigObject", + "xFieldOnEBigObject", + "yFieldOnEBigObject", + "zFieldOnEBigObject" + ] + }, + { + "typeName": "FBigObject", + "fieldNames": [ + "aFieldOnFBigObject", + "bFieldOnFBigObject", + "cFieldOnFBigObject", + "dFieldOnFBigObject", + "eFieldOnFBigObject", + "fFieldOnFBigObject", + "gFieldOnFBigObject", + "hFieldOnFBigObject", + "iFieldOnFBigObject", + "jFieldOnFBigObject", + "kFieldOnFBigObject", + "lFieldOnFBigObject", + "mFieldOnFBigObject", + "nFieldOnFBigObject", + "oFieldOnFBigObject", + "pFieldOnFBigObject", + "qFieldOnFBigObject", + "rFieldOnFBigObject", + "sFieldOnFBigObject", + "tFieldOnFBigObject", + "uFieldOnFBigObject", + "vFieldOnFBigObject", + "wFieldOnFBigObject", + "xFieldOnFBigObject", + "yFieldOnFBigObject", + "zFieldOnFBigObject" + ] + }, + { + "typeName": "GBigObject", + "fieldNames": [ + "aFieldOnGBigObject", + "bFieldOnGBigObject", + "cFieldOnGBigObject", + "dFieldOnGBigObject", + "eFieldOnGBigObject", + "fFieldOnGBigObject", + "gFieldOnGBigObject", + "hFieldOnGBigObject", + "iFieldOnGBigObject", + "jFieldOnGBigObject", + "kFieldOnGBigObject", + "lFieldOnGBigObject", + "mFieldOnGBigObject", + "nFieldOnGBigObject", + "oFieldOnGBigObject", + "pFieldOnGBigObject", + "qFieldOnGBigObject", + "rFieldOnGBigObject", + "sFieldOnGBigObject", + "tFieldOnGBigObject", + "uFieldOnGBigObject", + "vFieldOnGBigObject", + "wFieldOnGBigObject", + "xFieldOnGBigObject", + "yFieldOnGBigObject", + "zFieldOnGBigObject" + ] + }, + { + "typeName": "HBigObject", + "fieldNames": [ + "aFieldOnHBigObject", + "bFieldOnHBigObject", + "cFieldOnHBigObject", + "dFieldOnHBigObject", + "eFieldOnHBigObject", + "fFieldOnHBigObject", + "gFieldOnHBigObject", + "hFieldOnHBigObject", + "iFieldOnHBigObject", + "jFieldOnHBigObject", + "kFieldOnHBigObject", + "lFieldOnHBigObject", + "mFieldOnHBigObject", + "nFieldOnHBigObject", + "oFieldOnHBigObject", + "pFieldOnHBigObject", + "qFieldOnHBigObject", + "rFieldOnHBigObject", + "sFieldOnHBigObject", + "tFieldOnHBigObject", + "uFieldOnHBigObject", + "vFieldOnHBigObject", + "wFieldOnHBigObject", + "xFieldOnHBigObject", + "yFieldOnHBigObject", + "zFieldOnHBigObject" + ] + }, + { + "typeName": "IBigObject", + "fieldNames": [ + "aFieldOnIBigObject", + "bFieldOnIBigObject", + "cFieldOnIBigObject", + "dFieldOnIBigObject", + "eFieldOnIBigObject", + "fFieldOnIBigObject", + "gFieldOnIBigObject", + "hFieldOnIBigObject", + "iFieldOnIBigObject", + "jFieldOnIBigObject", + "kFieldOnIBigObject", + "lFieldOnIBigObject", + "mFieldOnIBigObject", + "nFieldOnIBigObject", + "oFieldOnIBigObject", + "pFieldOnIBigObject", + "qFieldOnIBigObject", + "rFieldOnIBigObject", + "sFieldOnIBigObject", + "tFieldOnIBigObject", + "uFieldOnIBigObject", + "vFieldOnIBigObject", + "wFieldOnIBigObject", + "xFieldOnIBigObject", + "yFieldOnIBigObject", + "zFieldOnIBigObject" + ] + }, + { + "typeName": "JBigObject", + "fieldNames": [ + "aFieldOnJBigObject", + "bFieldOnJBigObject", + "cFieldOnJBigObject", + "dFieldOnJBigObject", + "eFieldOnJBigObject", + "fFieldOnJBigObject", + "gFieldOnJBigObject", + "hFieldOnJBigObject", + "iFieldOnJBigObject", + "jFieldOnJBigObject", + "kFieldOnJBigObject", + "lFieldOnJBigObject", + "mFieldOnJBigObject", + "nFieldOnJBigObject", + "oFieldOnJBigObject", + "pFieldOnJBigObject", + "qFieldOnJBigObject", + "rFieldOnJBigObject", + "sFieldOnJBigObject", + "tFieldOnJBigObject", + "uFieldOnJBigObject", + "vFieldOnJBigObject", + "wFieldOnJBigObject", + "xFieldOnJBigObject", + "yFieldOnJBigObject", + "zFieldOnJBigObject" + ] + }, + { + "typeName": "KBigObject", + "fieldNames": [ + "aFieldOnKBigObject", + "bFieldOnKBigObject", + "cFieldOnKBigObject", + "dFieldOnKBigObject", + "eFieldOnKBigObject", + "fFieldOnKBigObject", + "gFieldOnKBigObject", + "hFieldOnKBigObject", + "iFieldOnKBigObject", + "jFieldOnKBigObject", + "kFieldOnKBigObject", + "lFieldOnKBigObject", + "mFieldOnKBigObject", + "nFieldOnKBigObject", + "oFieldOnKBigObject", + "pFieldOnKBigObject", + "qFieldOnKBigObject", + "rFieldOnKBigObject", + "sFieldOnKBigObject", + "tFieldOnKBigObject", + "uFieldOnKBigObject", + "vFieldOnKBigObject", + "wFieldOnKBigObject", + "xFieldOnKBigObject", + "yFieldOnKBigObject", + "zFieldOnKBigObject" + ] + }, + { + "typeName": "LBigObject", + "fieldNames": [ + "aFieldOnLBigObject", + "bFieldOnLBigObject", + "cFieldOnLBigObject", + "dFieldOnLBigObject", + "eFieldOnLBigObject", + "fFieldOnLBigObject", + "gFieldOnLBigObject", + "hFieldOnLBigObject", + "iFieldOnLBigObject", + "jFieldOnLBigObject", + "kFieldOnLBigObject", + "lFieldOnLBigObject", + "mFieldOnLBigObject", + "nFieldOnLBigObject", + "oFieldOnLBigObject", + "pFieldOnLBigObject", + "qFieldOnLBigObject", + "rFieldOnLBigObject", + "sFieldOnLBigObject", + "tFieldOnLBigObject", + "uFieldOnLBigObject", + "vFieldOnLBigObject", + "wFieldOnLBigObject", + "xFieldOnLBigObject", + "yFieldOnLBigObject", + "zFieldOnLBigObject" + ] + }, + { + "typeName": "MBigObject", + "fieldNames": [ + "aFieldOnMBigObject", + "bFieldOnMBigObject", + "cFieldOnMBigObject", + "dFieldOnMBigObject", + "eFieldOnMBigObject", + "fFieldOnMBigObject", + "gFieldOnMBigObject", + "hFieldOnMBigObject", + "iFieldOnMBigObject", + "jFieldOnMBigObject", + "kFieldOnMBigObject", + "lFieldOnMBigObject", + "mFieldOnMBigObject", + "nFieldOnMBigObject", + "oFieldOnMBigObject", + "pFieldOnMBigObject", + "qFieldOnMBigObject", + "rFieldOnMBigObject", + "sFieldOnMBigObject", + "tFieldOnMBigObject", + "uFieldOnMBigObject", + "vFieldOnMBigObject", + "wFieldOnMBigObject", + "xFieldOnMBigObject", + "yFieldOnMBigObject", + "zFieldOnMBigObject" + ] + }, + { + "typeName": "NBigObject", + "fieldNames": [ + "aFieldOnNBigObject", + "bFieldOnNBigObject", + "cFieldOnNBigObject", + "dFieldOnNBigObject", + "eFieldOnNBigObject", + "fFieldOnNBigObject", + "gFieldOnNBigObject", + "hFieldOnNBigObject", + "iFieldOnNBigObject", + "jFieldOnNBigObject", + "kFieldOnNBigObject", + "lFieldOnNBigObject", + "mFieldOnNBigObject", + "nFieldOnNBigObject", + "oFieldOnNBigObject", + "pFieldOnNBigObject", + "qFieldOnNBigObject", + "rFieldOnNBigObject", + "sFieldOnNBigObject", + "tFieldOnNBigObject", + "uFieldOnNBigObject", + "vFieldOnNBigObject", + "wFieldOnNBigObject", + "xFieldOnNBigObject", + "yFieldOnNBigObject", + "zFieldOnNBigObject" + ] + }, + { + "typeName": "OBigObject", + "fieldNames": [ + "aFieldOnOBigObject", + "bFieldOnOBigObject", + "cFieldOnOBigObject", + "dFieldOnOBigObject", + "eFieldOnOBigObject", + "fFieldOnOBigObject", + "gFieldOnOBigObject", + "hFieldOnOBigObject", + "iFieldOnOBigObject", + "jFieldOnOBigObject", + "kFieldOnOBigObject", + "lFieldOnOBigObject", + "mFieldOnOBigObject", + "nFieldOnOBigObject", + "oFieldOnOBigObject", + "pFieldOnOBigObject", + "qFieldOnOBigObject", + "rFieldOnOBigObject", + "sFieldOnOBigObject", + "tFieldOnOBigObject", + "uFieldOnOBigObject", + "vFieldOnOBigObject", + "wFieldOnOBigObject", + "xFieldOnOBigObject", + "yFieldOnOBigObject", + "zFieldOnOBigObject" + ] + }, + { + "typeName": "PBigObject", + "fieldNames": [ + "aFieldOnPBigObject", + "bFieldOnPBigObject", + "cFieldOnPBigObject", + "dFieldOnPBigObject", + "eFieldOnPBigObject", + "fFieldOnPBigObject", + "gFieldOnPBigObject", + "hFieldOnPBigObject", + "iFieldOnPBigObject", + "jFieldOnPBigObject", + "kFieldOnPBigObject", + "lFieldOnPBigObject", + "mFieldOnPBigObject", + "nFieldOnPBigObject", + "oFieldOnPBigObject", + "pFieldOnPBigObject", + "qFieldOnPBigObject", + "rFieldOnPBigObject", + "sFieldOnPBigObject", + "tFieldOnPBigObject", + "uFieldOnPBigObject", + "vFieldOnPBigObject", + "wFieldOnPBigObject", + "xFieldOnPBigObject", + "yFieldOnPBigObject", + "zFieldOnPBigObject" + ] + }, + { + "typeName": "QBigObject", + "fieldNames": [ + "aFieldOnQBigObject", + "bFieldOnQBigObject", + "cFieldOnQBigObject", + "dFieldOnQBigObject", + "eFieldOnQBigObject", + "fFieldOnQBigObject", + "gFieldOnQBigObject", + "hFieldOnQBigObject", + "iFieldOnQBigObject", + "jFieldOnQBigObject", + "kFieldOnQBigObject", + "lFieldOnQBigObject", + "mFieldOnQBigObject", + "nFieldOnQBigObject", + "oFieldOnQBigObject", + "pFieldOnQBigObject", + "qFieldOnQBigObject", + "rFieldOnQBigObject", + "sFieldOnQBigObject", + "tFieldOnQBigObject", + "uFieldOnQBigObject", + "vFieldOnQBigObject", + "wFieldOnQBigObject", + "xFieldOnQBigObject", + "yFieldOnQBigObject", + "zFieldOnQBigObject" + ] + }, + { + "typeName": "RBigObject", + "fieldNames": [ + "aFieldOnRBigObject", + "bFieldOnRBigObject", + "cFieldOnRBigObject", + "dFieldOnRBigObject", + "eFieldOnRBigObject", + "fFieldOnRBigObject", + "gFieldOnRBigObject", + "hFieldOnRBigObject", + "iFieldOnRBigObject", + "jFieldOnRBigObject", + "kFieldOnRBigObject", + "lFieldOnRBigObject", + "mFieldOnRBigObject", + "nFieldOnRBigObject", + "oFieldOnRBigObject", + "pFieldOnRBigObject", + "qFieldOnRBigObject", + "rFieldOnRBigObject", + "sFieldOnRBigObject", + "tFieldOnRBigObject", + "uFieldOnRBigObject", + "vFieldOnRBigObject", + "wFieldOnRBigObject", + "xFieldOnRBigObject", + "yFieldOnRBigObject", + "zFieldOnRBigObject" + ] + }, + { + "typeName": "SBigObject", + "fieldNames": [ + "aFieldOnSBigObject", + "bFieldOnSBigObject", + "cFieldOnSBigObject", + "dFieldOnSBigObject", + "eFieldOnSBigObject", + "fFieldOnSBigObject", + "gFieldOnSBigObject", + "hFieldOnSBigObject", + "iFieldOnSBigObject", + "jFieldOnSBigObject", + "kFieldOnSBigObject", + "lFieldOnSBigObject", + "mFieldOnSBigObject", + "nFieldOnSBigObject", + "oFieldOnSBigObject", + "pFieldOnSBigObject", + "qFieldOnSBigObject", + "rFieldOnSBigObject", + "sFieldOnSBigObject", + "tFieldOnSBigObject", + "uFieldOnSBigObject", + "vFieldOnSBigObject", + "wFieldOnSBigObject", + "xFieldOnSBigObject", + "yFieldOnSBigObject", + "zFieldOnSBigObject" + ] + }, + { + "typeName": "TBigObject", + "fieldNames": [ + "aFieldOnTBigObject", + "bFieldOnTBigObject", + "cFieldOnTBigObject", + "dFieldOnTBigObject", + "eFieldOnTBigObject", + "fFieldOnTBigObject", + "gFieldOnTBigObject", + "hFieldOnTBigObject", + "iFieldOnTBigObject", + "jFieldOnTBigObject", + "kFieldOnTBigObject", + "lFieldOnTBigObject", + "mFieldOnTBigObject", + "nFieldOnTBigObject", + "oFieldOnTBigObject", + "pFieldOnTBigObject", + "qFieldOnTBigObject", + "rFieldOnTBigObject", + "sFieldOnTBigObject", + "tFieldOnTBigObject", + "uFieldOnTBigObject", + "vFieldOnTBigObject", + "wFieldOnTBigObject", + "xFieldOnTBigObject", + "yFieldOnTBigObject", + "zFieldOnTBigObject" + ] + }, + { + "typeName": "UBigObject", + "fieldNames": [ + "aFieldOnUBigObject", + "bFieldOnUBigObject", + "cFieldOnUBigObject", + "dFieldOnUBigObject", + "eFieldOnUBigObject", + "fFieldOnUBigObject", + "gFieldOnUBigObject", + "hFieldOnUBigObject", + "iFieldOnUBigObject", + "jFieldOnUBigObject", + "kFieldOnUBigObject", + "lFieldOnUBigObject", + "mFieldOnUBigObject", + "nFieldOnUBigObject", + "oFieldOnUBigObject", + "pFieldOnUBigObject", + "qFieldOnUBigObject", + "rFieldOnUBigObject", + "sFieldOnUBigObject", + "tFieldOnUBigObject", + "uFieldOnUBigObject", + "vFieldOnUBigObject", + "wFieldOnUBigObject", + "xFieldOnUBigObject", + "yFieldOnUBigObject", + "zFieldOnUBigObject" + ] + }, + { + "typeName": "VBigObject", + "fieldNames": [ + "aFieldOnVBigObject", + "bFieldOnVBigObject", + "cFieldOnVBigObject", + "dFieldOnVBigObject", + "eFieldOnVBigObject", + "fFieldOnVBigObject", + "gFieldOnVBigObject", + "hFieldOnVBigObject", + "iFieldOnVBigObject", + "jFieldOnVBigObject", + "kFieldOnVBigObject", + "lFieldOnVBigObject", + "mFieldOnVBigObject", + "nFieldOnVBigObject", + "oFieldOnVBigObject", + "pFieldOnVBigObject", + "qFieldOnVBigObject", + "rFieldOnVBigObject", + "sFieldOnVBigObject", + "tFieldOnVBigObject", + "uFieldOnVBigObject", + "vFieldOnVBigObject", + "wFieldOnVBigObject", + "xFieldOnVBigObject", + "yFieldOnVBigObject", + "zFieldOnVBigObject" + ] + }, + { + "typeName": "WBigObject", + "fieldNames": [ + "aFieldOnWBigObject", + "bFieldOnWBigObject", + "cFieldOnWBigObject", + "dFieldOnWBigObject", + "eFieldOnWBigObject", + "fFieldOnWBigObject", + "gFieldOnWBigObject", + "hFieldOnWBigObject", + "iFieldOnWBigObject", + "jFieldOnWBigObject", + "kFieldOnWBigObject", + "lFieldOnWBigObject", + "mFieldOnWBigObject", + "nFieldOnWBigObject", + "oFieldOnWBigObject", + "pFieldOnWBigObject", + "qFieldOnWBigObject", + "rFieldOnWBigObject", + "sFieldOnWBigObject", + "tFieldOnWBigObject", + "uFieldOnWBigObject", + "vFieldOnWBigObject", + "wFieldOnWBigObject", + "xFieldOnWBigObject", + "yFieldOnWBigObject", + "zFieldOnWBigObject" + ] + }, + { + "typeName": "XBigObject", + "fieldNames": [ + "aFieldOnXBigObject", + "bFieldOnXBigObject", + "cFieldOnXBigObject", + "dFieldOnXBigObject", + "eFieldOnXBigObject", + "fFieldOnXBigObject", + "gFieldOnXBigObject", + "hFieldOnXBigObject", + "iFieldOnXBigObject", + "jFieldOnXBigObject", + "kFieldOnXBigObject", + "lFieldOnXBigObject", + "mFieldOnXBigObject", + "nFieldOnXBigObject", + "oFieldOnXBigObject", + "pFieldOnXBigObject", + "qFieldOnXBigObject", + "rFieldOnXBigObject", + "sFieldOnXBigObject", + "tFieldOnXBigObject", + "uFieldOnXBigObject", + "vFieldOnXBigObject", + "wFieldOnXBigObject", + "xFieldOnXBigObject", + "yFieldOnXBigObject", + "zFieldOnXBigObject" + ] + }, + { + "typeName": "YBigObject", + "fieldNames": [ + "aFieldOnYBigObject", + "bFieldOnYBigObject", + "cFieldOnYBigObject", + "dFieldOnYBigObject", + "eFieldOnYBigObject", + "fFieldOnYBigObject", + "gFieldOnYBigObject", + "hFieldOnYBigObject", + "iFieldOnYBigObject", + "jFieldOnYBigObject", + "kFieldOnYBigObject", + "lFieldOnYBigObject", + "mFieldOnYBigObject", + "nFieldOnYBigObject", + "oFieldOnYBigObject", + "pFieldOnYBigObject", + "qFieldOnYBigObject", + "rFieldOnYBigObject", + "sFieldOnYBigObject", + "tFieldOnYBigObject", + "uFieldOnYBigObject", + "vFieldOnYBigObject", + "wFieldOnYBigObject", + "xFieldOnYBigObject", + "yFieldOnYBigObject", + "zFieldOnYBigObject" + ] + }, + { + "typeName": "ZBigObject", + "fieldNames": [ + "aFieldOnZBigObject", + "bFieldOnZBigObject", + "cFieldOnZBigObject", + "dFieldOnZBigObject", + "eFieldOnZBigObject", + "fFieldOnZBigObject", + "gFieldOnZBigObject", + "hFieldOnZBigObject", + "iFieldOnZBigObject", + "jFieldOnZBigObject", + "kFieldOnZBigObject", + "lFieldOnZBigObject", + "mFieldOnZBigObject", + "nFieldOnZBigObject", + "oFieldOnZBigObject", + "pFieldOnZBigObject", + "qFieldOnZBigObject", + "rFieldOnZBigObject", + "sFieldOnZBigObject", + "tFieldOnZBigObject", + "uFieldOnZBigObject", + "vFieldOnZBigObject", + "wFieldOnZBigObject", + "xFieldOnZBigObject", + "yFieldOnZBigObject", + "zFieldOnZBigObject" + ] + } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4006/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4006/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\ntype Query {\n \"Returns the value of the received HTTP header.\"\n headerValue(name: String!): String!\n \"Returns the value of the given key in the WS initial payload.\"\n initPayloadValue(key: String!): String!\n initialPayload: Map\n \"Returns response after the given delay\"\n delay(response: String!, ms: Int!): String!\n\n bigResponse(\n artificialDelay: Int! = 0\n bigObjects: Int! = 100\n nestedObjects: Int! = 100\n deeplyNestedObjects: Int! = 100\n ): [BigObject!]!\n\n longResponse(artificialDelay: Int! = 0, bytes: Int!): String\n\n bigAbstractResponse: BigAbstractResponse\n\n rootFieldWithListArg(arg: [String!]!): [String!]!\n rootFieldWithNestedListArg(arg: [[String!]!]!): [[String!]!]!\n rootFieldWithListOfInputArg(arg: [InputType!]!): [InputResponse!]!\n rootFieldWithListOfEnumArg(arg: [EnumType!]!): [EnumType!]!\n rootFieldWithInput(arg: InputArg!): String!\n\n floatField(arg: Float): Float\n\n sharedThings(numOfA: Int! numOfB: Int!): [Thing!]! @shareable\n\n secret: Secret @requiresScopes(scopes: [[\"read:secret\"]])\n}\n\ntype Secret {\n value: String\n}\n\ntype Thing @shareable {\n b: String!\n}\n\ninput InputArg {\n enums: [EnumType!]\n enum: EnumType\n string: String\n strings: [String!]\n}\n\nenum EnumType {\n A\n B\n C\n}\n\ninput InputType {\n arg: String!\n}\n\ntype InputResponse {\n arg: String!\n}\n\nscalar Map\n\ntype TimestampedString {\n \"The value of the string.\"\n value: String!\n \"The timestamp when the response was generated.\"\n unixTime: Int!\n \"Sequence number\"\n seq: Int!\n \"Total number of responses to be sent\"\n total: Int!\n initialPayload: Map\n}\n\ntype Subscription {\n \"Returns a stream with the value of the received HTTP header.\"\n headerValue(name: String!, repeat: Int): TimestampedString!\n \"Returns a stream with the value of value of the given key in the WS initial payload.\"\n initPayloadValue(key: String!, repeat: Int): TimestampedString!\n \"Returns a stream with the value of the WS initial payload.\"\n initialPayload(repeat: Int): Map\n returnsError: String\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n fieldThrowsError: String\n}\n\ntype BigObject {\n nestedObjects: [NestedObject!]!\n}\n\ntype NestedObject {\n deeplyNestedObjects: [DeeplyNestedObject!]!\n}\n\ntype DeeplyNestedObject {\n aFieldOnDeeplyNestedObject: String!\n bFieldOnDeeplyNestedObject: Int!\n cFieldOnDeeplyNestedObject: Boolean!\n dFieldOnDeeplyNestedObject: Float!\n eFieldOnDeeplyNestedObject: String!\n fFieldOnDeeplyNestedObject: Int!\n gFieldOnDeeplyNestedObject: Boolean!\n hFieldOnDeeplyNestedObject: Float!\n iFieldOnDeeplyNestedObject: String!\n jFieldOnDeeplyNestedObject: Int!\n kFieldOnDeeplyNestedObject: Boolean!\n lFieldOnDeeplyNestedObject: Float!\n mFieldOnDeeplyNestedObject: String!\n nFieldOnDeeplyNestedObject: Int!\n oFieldOnDeeplyNestedObject: Boolean!\n pFieldOnDeeplyNestedObject: Float!\n qFieldOnDeeplyNestedObject: String!\n rFieldOnDeeplyNestedObject: Int!\n sFieldOnDeeplyNestedObject: Boolean!\n tFieldOnDeeplyNestedObject: Float!\n uFieldOnDeeplyNestedObject: String!\n vFieldOnDeeplyNestedObject: Int!\n wFieldOnDeeplyNestedObject: Boolean!\n xFieldOnDeeplyNestedObject: Float!\n yFieldOnDeeplyNestedObject: String!\n zFieldOnDeeplyNestedObject: Int!\n}\n\nunion BigAbstractResponse = ABigObject | BBigObject | CBigObject | DBigObject | EBigObject | FBigObject | GBigObject | HBigObject | IBigObject | JBigObject | KBigObject | LBigObject | MBigObject | NBigObject | OBigObject | PBigObject | QBigObject | RBigObject | SBigObject | TBigObject | UBigObject | VBigObject | WBigObject | XBigObject | YBigObject | ZBigObject\n\ntype ABigObject {\n aFieldOnABigObject: String!\n bFieldOnABigObject: Int!\n cFieldOnABigObject: Boolean!\n dFieldOnABigObject: Float!\n eFieldOnABigObject: String!\n fFieldOnABigObject: Int!\n gFieldOnABigObject: Boolean!\n hFieldOnABigObject: Float!\n iFieldOnABigObject: String!\n jFieldOnABigObject: Int!\n kFieldOnABigObject: Boolean!\n lFieldOnABigObject: Float!\n mFieldOnABigObject: String!\n nFieldOnABigObject: Int!\n oFieldOnABigObject: Boolean!\n pFieldOnABigObject: Float!\n qFieldOnABigObject: String!\n rFieldOnABigObject: Int!\n sFieldOnABigObject: Boolean!\n tFieldOnABigObject: Float!\n uFieldOnABigObject: String!\n vFieldOnABigObject: Int!\n wFieldOnABigObject: Boolean!\n xFieldOnABigObject: Float!\n yFieldOnABigObject: String!\n zFieldOnABigObject: Int!\n}\n\ntype BBigObject {\n aFieldOnBBigObject: String!\n bFieldOnBBigObject: Int!\n cFieldOnBBigObject: Boolean!\n dFieldOnBBigObject: Float!\n eFieldOnBBigObject: String!\n fFieldOnBBigObject: Int!\n gFieldOnBBigObject: Boolean!\n hFieldOnBBigObject: Float!\n iFieldOnBBigObject: String!\n jFieldOnBBigObject: Int!\n kFieldOnBBigObject: Boolean!\n lFieldOnBBigObject: Float!\n mFieldOnBBigObject: String!\n nFieldOnBBigObject: Int!\n oFieldOnBBigObject: Boolean!\n pFieldOnBBigObject: Float!\n qFieldOnBBigObject: String!\n rFieldOnBBigObject: Int!\n sFieldOnBBigObject: Boolean!\n tFieldOnBBigObject: Float!\n uFieldOnBBigObject: String!\n vFieldOnBBigObject: Int!\n wFieldOnBBigObject: Boolean!\n xFieldOnBBigObject: Float!\n yFieldOnBBigObject: String!\n zFieldOnBBigObject: Int!\n}\n\ntype CBigObject {\n aFieldOnCBigObject: String!\n bFieldOnCBigObject: Int!\n cFieldOnCBigObject: Boolean!\n dFieldOnCBigObject: Float!\n eFieldOnCBigObject: String!\n fFieldOnCBigObject: Int!\n gFieldOnCBigObject: Boolean!\n hFieldOnCBigObject: Float!\n iFieldOnCBigObject: String!\n jFieldOnCBigObject: Int!\n kFieldOnCBigObject: Boolean!\n lFieldOnCBigObject: Float!\n mFieldOnCBigObject: String!\n nFieldOnCBigObject: Int!\n oFieldOnCBigObject: Boolean!\n pFieldOnCBigObject: Float!\n qFieldOnCBigObject: String!\n rFieldOnCBigObject: Int!\n sFieldOnCBigObject: Boolean!\n tFieldOnCBigObject: Float!\n uFieldOnCBigObject: String!\n vFieldOnCBigObject: Int!\n wFieldOnCBigObject: Boolean!\n xFieldOnCBigObject: Float!\n yFieldOnCBigObject: String!\n zFieldOnCBigObject: Int!\n}\n\ntype DBigObject {\n aFieldOnDBigObject: String!\n bFieldOnDBigObject: Int!\n cFieldOnDBigObject: Boolean!\n dFieldOnDBigObject: Float!\n eFieldOnDBigObject: String!\n fFieldOnDBigObject: Int!\n gFieldOnDBigObject: Boolean!\n hFieldOnDBigObject: Float!\n iFieldOnDBigObject: String!\n jFieldOnDBigObject: Int!\n kFieldOnDBigObject: Boolean!\n lFieldOnDBigObject: Float!\n mFieldOnDBigObject: String!\n nFieldOnDBigObject: Int!\n oFieldOnDBigObject: Boolean!\n pFieldOnDBigObject: Float!\n qFieldOnDBigObject: String!\n rFieldOnDBigObject: Int!\n sFieldOnDBigObject: Boolean!\n tFieldOnDBigObject: Float!\n uFieldOnDBigObject: String!\n vFieldOnDBigObject: Int!\n wFieldOnDBigObject: Boolean!\n xFieldOnDBigObject: Float!\n yFieldOnDBigObject: String!\n zFieldOnDBigObject: Int!\n}\n\ntype EBigObject {\n aFieldOnEBigObject: String!\n bFieldOnEBigObject: Int!\n cFieldOnEBigObject: Boolean!\n dFieldOnEBigObject: Float!\n eFieldOnEBigObject: String!\n fFieldOnEBigObject: Int!\n gFieldOnEBigObject: Boolean!\n hFieldOnEBigObject: Float!\n iFieldOnEBigObject: String!\n jFieldOnEBigObject: Int!\n kFieldOnEBigObject: Boolean!\n lFieldOnEBigObject: Float!\n mFieldOnEBigObject: String!\n nFieldOnEBigObject: Int!\n oFieldOnEBigObject: Boolean!\n pFieldOnEBigObject: Float!\n qFieldOnEBigObject: String!\n rFieldOnEBigObject: Int!\n sFieldOnEBigObject: Boolean!\n tFieldOnEBigObject: Float!\n uFieldOnEBigObject: String!\n vFieldOnEBigObject: Int!\n wFieldOnEBigObject: Boolean!\n xFieldOnEBigObject: Float!\n yFieldOnEBigObject: String!\n zFieldOnEBigObject: Int!\n}\n\ntype FBigObject {\n aFieldOnFBigObject: String!\n bFieldOnFBigObject: Int!\n cFieldOnFBigObject: Boolean!\n dFieldOnFBigObject: Float!\n eFieldOnFBigObject: String!\n fFieldOnFBigObject: Int!\n gFieldOnFBigObject: Boolean!\n hFieldOnFBigObject: Float!\n iFieldOnFBigObject: String!\n jFieldOnFBigObject: Int!\n kFieldOnFBigObject: Boolean!\n lFieldOnFBigObject: Float!\n mFieldOnFBigObject: String!\n nFieldOnFBigObject: Int!\n oFieldOnFBigObject: Boolean!\n pFieldOnFBigObject: Float!\n qFieldOnFBigObject: String!\n rFieldOnFBigObject: Int!\n sFieldOnFBigObject: Boolean!\n tFieldOnFBigObject: Float!\n uFieldOnFBigObject: String!\n vFieldOnFBigObject: Int!\n wFieldOnFBigObject: Boolean!\n xFieldOnFBigObject: Float!\n yFieldOnFBigObject: String!\n zFieldOnFBigObject: Int!\n}\n\ntype GBigObject {\n aFieldOnGBigObject: String!\n bFieldOnGBigObject: Int!\n cFieldOnGBigObject: Boolean!\n dFieldOnGBigObject: Float!\n eFieldOnGBigObject: String!\n fFieldOnGBigObject: Int!\n gFieldOnGBigObject: Boolean!\n hFieldOnGBigObject: Float!\n iFieldOnGBigObject: String!\n jFieldOnGBigObject: Int!\n kFieldOnGBigObject: Boolean!\n lFieldOnGBigObject: Float!\n mFieldOnGBigObject: String!\n nFieldOnGBigObject: Int!\n oFieldOnGBigObject: Boolean!\n pFieldOnGBigObject: Float!\n qFieldOnGBigObject: String!\n rFieldOnGBigObject: Int!\n sFieldOnGBigObject: Boolean!\n tFieldOnGBigObject: Float!\n uFieldOnGBigObject: String!\n vFieldOnGBigObject: Int!\n wFieldOnGBigObject: Boolean!\n xFieldOnGBigObject: Float!\n yFieldOnGBigObject: String!\n zFieldOnGBigObject: Int!\n}\n\ntype HBigObject {\n aFieldOnHBigObject: String!\n bFieldOnHBigObject: Int!\n cFieldOnHBigObject: Boolean!\n dFieldOnHBigObject: Float!\n eFieldOnHBigObject: String!\n fFieldOnHBigObject: Int!\n gFieldOnHBigObject: Boolean!\n hFieldOnHBigObject: Float!\n iFieldOnHBigObject: String!\n jFieldOnHBigObject: Int!\n kFieldOnHBigObject: Boolean!\n lFieldOnHBigObject: Float!\n mFieldOnHBigObject: String!\n nFieldOnHBigObject: Int!\n oFieldOnHBigObject: Boolean!\n pFieldOnHBigObject: Float!\n qFieldOnHBigObject: String!\n rFieldOnHBigObject: Int!\n sFieldOnHBigObject: Boolean!\n tFieldOnHBigObject: Float!\n uFieldOnHBigObject: String!\n vFieldOnHBigObject: Int!\n wFieldOnHBigObject: Boolean!\n xFieldOnHBigObject: Float!\n yFieldOnHBigObject: String!\n zFieldOnHBigObject: Int!\n}\n\ntype IBigObject {\n aFieldOnIBigObject: String!\n bFieldOnIBigObject: Int!\n cFieldOnIBigObject: Boolean!\n dFieldOnIBigObject: Float!\n eFieldOnIBigObject: String!\n fFieldOnIBigObject: Int!\n gFieldOnIBigObject: Boolean!\n hFieldOnIBigObject: Float!\n iFieldOnIBigObject: String!\n jFieldOnIBigObject: Int!\n kFieldOnIBigObject: Boolean!\n lFieldOnIBigObject: Float!\n mFieldOnIBigObject: String!\n nFieldOnIBigObject: Int!\n oFieldOnIBigObject: Boolean!\n pFieldOnIBigObject: Float!\n qFieldOnIBigObject: String!\n rFieldOnIBigObject: Int!\n sFieldOnIBigObject: Boolean!\n tFieldOnIBigObject: Float!\n uFieldOnIBigObject: String!\n vFieldOnIBigObject: Int!\n wFieldOnIBigObject: Boolean!\n xFieldOnIBigObject: Float!\n yFieldOnIBigObject: String!\n zFieldOnIBigObject: Int!\n}\n\ntype JBigObject {\n aFieldOnJBigObject: String!\n bFieldOnJBigObject: Int!\n cFieldOnJBigObject: Boolean!\n dFieldOnJBigObject: Float!\n eFieldOnJBigObject: String!\n fFieldOnJBigObject: Int!\n gFieldOnJBigObject: Boolean!\n hFieldOnJBigObject: Float!\n iFieldOnJBigObject: String!\n jFieldOnJBigObject: Int!\n kFieldOnJBigObject: Boolean!\n lFieldOnJBigObject: Float!\n mFieldOnJBigObject: String!\n nFieldOnJBigObject: Int!\n oFieldOnJBigObject: Boolean!\n pFieldOnJBigObject: Float!\n qFieldOnJBigObject: String!\n rFieldOnJBigObject: Int!\n sFieldOnJBigObject: Boolean!\n tFieldOnJBigObject: Float!\n uFieldOnJBigObject: String!\n vFieldOnJBigObject: Int!\n wFieldOnJBigObject: Boolean!\n xFieldOnJBigObject: Float!\n yFieldOnJBigObject: String!\n zFieldOnJBigObject: Int!\n}\n\ntype KBigObject {\n aFieldOnKBigObject: String!\n bFieldOnKBigObject: Int!\n cFieldOnKBigObject: Boolean!\n dFieldOnKBigObject: Float!\n eFieldOnKBigObject: String!\n fFieldOnKBigObject: Int!\n gFieldOnKBigObject: Boolean!\n hFieldOnKBigObject: Float!\n iFieldOnKBigObject: String!\n jFieldOnKBigObject: Int!\n kFieldOnKBigObject: Boolean!\n lFieldOnKBigObject: Float!\n mFieldOnKBigObject: String!\n nFieldOnKBigObject: Int!\n oFieldOnKBigObject: Boolean!\n pFieldOnKBigObject: Float!\n qFieldOnKBigObject: String!\n rFieldOnKBigObject: Int!\n sFieldOnKBigObject: Boolean!\n tFieldOnKBigObject: Float!\n uFieldOnKBigObject: String!\n vFieldOnKBigObject: Int!\n wFieldOnKBigObject: Boolean!\n xFieldOnKBigObject: Float!\n yFieldOnKBigObject: String!\n zFieldOnKBigObject: Int!\n}\n\ntype LBigObject {\n aFieldOnLBigObject: String!\n bFieldOnLBigObject: Int!\n cFieldOnLBigObject: Boolean!\n dFieldOnLBigObject: Float!\n eFieldOnLBigObject: String!\n fFieldOnLBigObject: Int!\n gFieldOnLBigObject: Boolean!\n hFieldOnLBigObject: Float!\n iFieldOnLBigObject: String!\n jFieldOnLBigObject: Int!\n kFieldOnLBigObject: Boolean!\n lFieldOnLBigObject: Float!\n mFieldOnLBigObject: String!\n nFieldOnLBigObject: Int!\n oFieldOnLBigObject: Boolean!\n pFieldOnLBigObject: Float!\n qFieldOnLBigObject: String!\n rFieldOnLBigObject: Int!\n sFieldOnLBigObject: Boolean!\n tFieldOnLBigObject: Float!\n uFieldOnLBigObject: String!\n vFieldOnLBigObject: Int!\n wFieldOnLBigObject: Boolean!\n xFieldOnLBigObject: Float!\n yFieldOnLBigObject: String!\n zFieldOnLBigObject: Int!\n}\n\ntype MBigObject {\n aFieldOnMBigObject: String!\n bFieldOnMBigObject: Int!\n cFieldOnMBigObject: Boolean!\n dFieldOnMBigObject: Float!\n eFieldOnMBigObject: String!\n fFieldOnMBigObject: Int!\n gFieldOnMBigObject: Boolean!\n hFieldOnMBigObject: Float!\n iFieldOnMBigObject: String!\n jFieldOnMBigObject: Int!\n kFieldOnMBigObject: Boolean!\n lFieldOnMBigObject: Float!\n mFieldOnMBigObject: String!\n nFieldOnMBigObject: Int!\n oFieldOnMBigObject: Boolean!\n pFieldOnMBigObject: Float!\n qFieldOnMBigObject: String!\n rFieldOnMBigObject: Int!\n sFieldOnMBigObject: Boolean!\n tFieldOnMBigObject: Float!\n uFieldOnMBigObject: String!\n vFieldOnMBigObject: Int!\n wFieldOnMBigObject: Boolean!\n xFieldOnMBigObject: Float!\n yFieldOnMBigObject: String!\n zFieldOnMBigObject: Int!\n}\n\ntype NBigObject {\n aFieldOnNBigObject: String!\n bFieldOnNBigObject: Int!\n cFieldOnNBigObject: Boolean!\n dFieldOnNBigObject: Float!\n eFieldOnNBigObject: String!\n fFieldOnNBigObject: Int!\n gFieldOnNBigObject: Boolean!\n hFieldOnNBigObject: Float!\n iFieldOnNBigObject: String!\n jFieldOnNBigObject: Int!\n kFieldOnNBigObject: Boolean!\n lFieldOnNBigObject: Float!\n mFieldOnNBigObject: String!\n nFieldOnNBigObject: Int!\n oFieldOnNBigObject: Boolean!\n pFieldOnNBigObject: Float!\n qFieldOnNBigObject: String!\n rFieldOnNBigObject: Int!\n sFieldOnNBigObject: Boolean!\n tFieldOnNBigObject: Float!\n uFieldOnNBigObject: String!\n vFieldOnNBigObject: Int!\n wFieldOnNBigObject: Boolean!\n xFieldOnNBigObject: Float!\n yFieldOnNBigObject: String!\n zFieldOnNBigObject: Int!\n}\n\ntype OBigObject {\n aFieldOnOBigObject: String!\n bFieldOnOBigObject: Int!\n cFieldOnOBigObject: Boolean!\n dFieldOnOBigObject: Float!\n eFieldOnOBigObject: String!\n fFieldOnOBigObject: Int!\n gFieldOnOBigObject: Boolean!\n hFieldOnOBigObject: Float!\n iFieldOnOBigObject: String!\n jFieldOnOBigObject: Int!\n kFieldOnOBigObject: Boolean!\n lFieldOnOBigObject: Float!\n mFieldOnOBigObject: String!\n nFieldOnOBigObject: Int!\n oFieldOnOBigObject: Boolean!\n pFieldOnOBigObject: Float!\n qFieldOnOBigObject: String!\n rFieldOnOBigObject: Int!\n sFieldOnOBigObject: Boolean!\n tFieldOnOBigObject: Float!\n uFieldOnOBigObject: String!\n vFieldOnOBigObject: Int!\n wFieldOnOBigObject: Boolean!\n xFieldOnOBigObject: Float!\n yFieldOnOBigObject: String!\n zFieldOnOBigObject: Int!\n}\n\ntype PBigObject {\n aFieldOnPBigObject: String!\n bFieldOnPBigObject: Int!\n cFieldOnPBigObject: Boolean!\n dFieldOnPBigObject: Float!\n eFieldOnPBigObject: String!\n fFieldOnPBigObject: Int!\n gFieldOnPBigObject: Boolean!\n hFieldOnPBigObject: Float!\n iFieldOnPBigObject: String!\n jFieldOnPBigObject: Int!\n kFieldOnPBigObject: Boolean!\n lFieldOnPBigObject: Float!\n mFieldOnPBigObject: String!\n nFieldOnPBigObject: Int!\n oFieldOnPBigObject: Boolean!\n pFieldOnPBigObject: Float!\n qFieldOnPBigObject: String!\n rFieldOnPBigObject: Int!\n sFieldOnPBigObject: Boolean!\n tFieldOnPBigObject: Float!\n uFieldOnPBigObject: String!\n vFieldOnPBigObject: Int!\n wFieldOnPBigObject: Boolean!\n xFieldOnPBigObject: Float!\n yFieldOnPBigObject: String!\n zFieldOnPBigObject: Int!\n}\n\ntype QBigObject {\n aFieldOnQBigObject: String!\n bFieldOnQBigObject: Int!\n cFieldOnQBigObject: Boolean!\n dFieldOnQBigObject: Float!\n eFieldOnQBigObject: String!\n fFieldOnQBigObject: Int!\n gFieldOnQBigObject: Boolean!\n hFieldOnQBigObject: Float!\n iFieldOnQBigObject: String!\n jFieldOnQBigObject: Int!\n kFieldOnQBigObject: Boolean!\n lFieldOnQBigObject: Float!\n mFieldOnQBigObject: String!\n nFieldOnQBigObject: Int!\n oFieldOnQBigObject: Boolean!\n pFieldOnQBigObject: Float!\n qFieldOnQBigObject: String!\n rFieldOnQBigObject: Int!\n sFieldOnQBigObject: Boolean!\n tFieldOnQBigObject: Float!\n uFieldOnQBigObject: String!\n vFieldOnQBigObject: Int!\n wFieldOnQBigObject: Boolean!\n xFieldOnQBigObject: Float!\n yFieldOnQBigObject: String!\n zFieldOnQBigObject: Int!\n}\n\ntype RBigObject {\n aFieldOnRBigObject: String!\n bFieldOnRBigObject: Int!\n cFieldOnRBigObject: Boolean!\n dFieldOnRBigObject: Float!\n eFieldOnRBigObject: String!\n fFieldOnRBigObject: Int!\n gFieldOnRBigObject: Boolean!\n hFieldOnRBigObject: Float!\n iFieldOnRBigObject: String!\n jFieldOnRBigObject: Int!\n kFieldOnRBigObject: Boolean!\n lFieldOnRBigObject: Float!\n mFieldOnRBigObject: String!\n nFieldOnRBigObject: Int!\n oFieldOnRBigObject: Boolean!\n pFieldOnRBigObject: Float!\n qFieldOnRBigObject: String!\n rFieldOnRBigObject: Int!\n sFieldOnRBigObject: Boolean!\n tFieldOnRBigObject: Float!\n uFieldOnRBigObject: String!\n vFieldOnRBigObject: Int!\n wFieldOnRBigObject: Boolean!\n xFieldOnRBigObject: Float!\n yFieldOnRBigObject: String!\n zFieldOnRBigObject: Int!\n}\n\ntype SBigObject {\n aFieldOnSBigObject: String!\n bFieldOnSBigObject: Int!\n cFieldOnSBigObject: Boolean!\n dFieldOnSBigObject: Float!\n eFieldOnSBigObject: String!\n fFieldOnSBigObject: Int!\n gFieldOnSBigObject: Boolean!\n hFieldOnSBigObject: Float!\n iFieldOnSBigObject: String!\n jFieldOnSBigObject: Int!\n kFieldOnSBigObject: Boolean!\n lFieldOnSBigObject: Float!\n mFieldOnSBigObject: String!\n nFieldOnSBigObject: Int!\n oFieldOnSBigObject: Boolean!\n pFieldOnSBigObject: Float!\n qFieldOnSBigObject: String!\n rFieldOnSBigObject: Int!\n sFieldOnSBigObject: Boolean!\n tFieldOnSBigObject: Float!\n uFieldOnSBigObject: String!\n vFieldOnSBigObject: Int!\n wFieldOnSBigObject: Boolean!\n xFieldOnSBigObject: Float!\n yFieldOnSBigObject: String!\n zFieldOnSBigObject: Int!\n}\n\ntype TBigObject {\n aFieldOnTBigObject: String!\n bFieldOnTBigObject: Int!\n cFieldOnTBigObject: Boolean!\n dFieldOnTBigObject: Float!\n eFieldOnTBigObject: String!\n fFieldOnTBigObject: Int!\n gFieldOnTBigObject: Boolean!\n hFieldOnTBigObject: Float!\n iFieldOnTBigObject: String!\n jFieldOnTBigObject: Int!\n kFieldOnTBigObject: Boolean!\n lFieldOnTBigObject: Float!\n mFieldOnTBigObject: String!\n nFieldOnTBigObject: Int!\n oFieldOnTBigObject: Boolean!\n pFieldOnTBigObject: Float!\n qFieldOnTBigObject: String!\n rFieldOnTBigObject: Int!\n sFieldOnTBigObject: Boolean!\n tFieldOnTBigObject: Float!\n uFieldOnTBigObject: String!\n vFieldOnTBigObject: Int!\n wFieldOnTBigObject: Boolean!\n xFieldOnTBigObject: Float!\n yFieldOnTBigObject: String!\n zFieldOnTBigObject: Int!\n}\n\ntype UBigObject {\n aFieldOnUBigObject: String!\n bFieldOnUBigObject: Int!\n cFieldOnUBigObject: Boolean!\n dFieldOnUBigObject: Float!\n eFieldOnUBigObject: String!\n fFieldOnUBigObject: Int!\n gFieldOnUBigObject: Boolean!\n hFieldOnUBigObject: Float!\n iFieldOnUBigObject: String!\n jFieldOnUBigObject: Int!\n kFieldOnUBigObject: Boolean!\n lFieldOnUBigObject: Float!\n mFieldOnUBigObject: String!\n nFieldOnUBigObject: Int!\n oFieldOnUBigObject: Boolean!\n pFieldOnUBigObject: Float!\n qFieldOnUBigObject: String!\n rFieldOnUBigObject: Int!\n sFieldOnUBigObject: Boolean!\n tFieldOnUBigObject: Float!\n uFieldOnUBigObject: String!\n vFieldOnUBigObject: Int!\n wFieldOnUBigObject: Boolean!\n xFieldOnUBigObject: Float!\n yFieldOnUBigObject: String!\n zFieldOnUBigObject: Int!\n}\n\ntype VBigObject {\n aFieldOnVBigObject: String!\n bFieldOnVBigObject: Int!\n cFieldOnVBigObject: Boolean!\n dFieldOnVBigObject: Float!\n eFieldOnVBigObject: String!\n fFieldOnVBigObject: Int!\n gFieldOnVBigObject: Boolean!\n hFieldOnVBigObject: Float!\n iFieldOnVBigObject: String!\n jFieldOnVBigObject: Int!\n kFieldOnVBigObject: Boolean!\n lFieldOnVBigObject: Float!\n mFieldOnVBigObject: String!\n nFieldOnVBigObject: Int!\n oFieldOnVBigObject: Boolean!\n pFieldOnVBigObject: Float!\n qFieldOnVBigObject: String!\n rFieldOnVBigObject: Int!\n sFieldOnVBigObject: Boolean!\n tFieldOnVBigObject: Float!\n uFieldOnVBigObject: String!\n vFieldOnVBigObject: Int!\n wFieldOnVBigObject: Boolean!\n xFieldOnVBigObject: Float!\n yFieldOnVBigObject: String!\n zFieldOnVBigObject: Int!\n}\n\ntype WBigObject {\n aFieldOnWBigObject: String!\n bFieldOnWBigObject: Int!\n cFieldOnWBigObject: Boolean!\n dFieldOnWBigObject: Float!\n eFieldOnWBigObject: String!\n fFieldOnWBigObject: Int!\n gFieldOnWBigObject: Boolean!\n hFieldOnWBigObject: Float!\n iFieldOnWBigObject: String!\n jFieldOnWBigObject: Int!\n kFieldOnWBigObject: Boolean!\n lFieldOnWBigObject: Float!\n mFieldOnWBigObject: String!\n nFieldOnWBigObject: Int!\n oFieldOnWBigObject: Boolean!\n pFieldOnWBigObject: Float!\n qFieldOnWBigObject: String!\n rFieldOnWBigObject: Int!\n sFieldOnWBigObject: Boolean!\n tFieldOnWBigObject: Float!\n uFieldOnWBigObject: String!\n vFieldOnWBigObject: Int!\n wFieldOnWBigObject: Boolean!\n xFieldOnWBigObject: Float!\n yFieldOnWBigObject: String!\n zFieldOnWBigObject: Int!\n}\n\ntype XBigObject {\n aFieldOnXBigObject: String!\n bFieldOnXBigObject: Int!\n cFieldOnXBigObject: Boolean!\n dFieldOnXBigObject: Float!\n eFieldOnXBigObject: String!\n fFieldOnXBigObject: Int!\n gFieldOnXBigObject: Boolean!\n hFieldOnXBigObject: Float!\n iFieldOnXBigObject: String!\n jFieldOnXBigObject: Int!\n kFieldOnXBigObject: Boolean!\n lFieldOnXBigObject: Float!\n mFieldOnXBigObject: String!\n nFieldOnXBigObject: Int!\n oFieldOnXBigObject: Boolean!\n pFieldOnXBigObject: Float!\n qFieldOnXBigObject: String!\n rFieldOnXBigObject: Int!\n sFieldOnXBigObject: Boolean!\n tFieldOnXBigObject: Float!\n uFieldOnXBigObject: String!\n vFieldOnXBigObject: Int!\n wFieldOnXBigObject: Boolean!\n xFieldOnXBigObject: Float!\n yFieldOnXBigObject: String!\n zFieldOnXBigObject: Int!\n}\n\ntype YBigObject {\n aFieldOnYBigObject: String!\n bFieldOnYBigObject: Int!\n cFieldOnYBigObject: Boolean!\n dFieldOnYBigObject: Float!\n eFieldOnYBigObject: String!\n fFieldOnYBigObject: Int!\n gFieldOnYBigObject: Boolean!\n hFieldOnYBigObject: Float!\n iFieldOnYBigObject: String!\n jFieldOnYBigObject: Int!\n kFieldOnYBigObject: Boolean!\n lFieldOnYBigObject: Float!\n mFieldOnYBigObject: String!\n nFieldOnYBigObject: Int!\n oFieldOnYBigObject: Boolean!\n pFieldOnYBigObject: Float!\n qFieldOnYBigObject: String!\n rFieldOnYBigObject: Int!\n sFieldOnYBigObject: Boolean!\n tFieldOnYBigObject: Float!\n uFieldOnYBigObject: String!\n vFieldOnYBigObject: Int!\n wFieldOnYBigObject: Boolean!\n xFieldOnYBigObject: Float!\n yFieldOnYBigObject: String!\n zFieldOnYBigObject: Int!\n}\n\ntype ZBigObject {\n aFieldOnZBigObject: String!\n bFieldOnZBigObject: Int!\n cFieldOnZBigObject: Boolean!\n dFieldOnZBigObject: Float!\n eFieldOnZBigObject: String!\n fFieldOnZBigObject: Int!\n gFieldOnZBigObject: Boolean!\n hFieldOnZBigObject: Float!\n iFieldOnZBigObject: String!\n jFieldOnZBigObject: Int!\n kFieldOnZBigObject: Boolean!\n lFieldOnZBigObject: Float!\n mFieldOnZBigObject: String!\n nFieldOnZBigObject: Int!\n oFieldOnZBigObject: Boolean!\n pFieldOnZBigObject: Float!\n qFieldOnZBigObject: String!\n rFieldOnZBigObject: Int!\n sFieldOnZBigObject: Boolean!\n tFieldOnZBigObject: Float!\n uFieldOnZBigObject: String!\n vFieldOnZBigObject: Int!\n wFieldOnZBigObject: Boolean!\n xFieldOnZBigObject: Float!\n yFieldOnZBigObject: String!\n zFieldOnZBigObject: Int!\n}" + }, + "upstreamSchema": { "key": "5c5a237ac1f0c1d67ae52534584ee8116d4cc474" } + }, + "requestTimeoutSeconds": "10", + "id": "4", + "keys": [{ "typeName": "Employee", "selectionSet": "id" }] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { "typeName": "Mutation", "fieldNames": ["updateAvailability"] }, + { "typeName": "Employee", "fieldNames": ["id", "isAvailable"] } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4007/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4007/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\ntype Mutation {\n \"\"\" This mutation updates the availability status of an employee in the system.\"\"\"\n updateAvailability(employeeID: Int!, isAvailable: Boolean!): Employee!\n}\ntype Employee @key(fields: \"id\") {\n id: Int!\n isAvailable: Boolean\n}\n" + }, + "upstreamSchema": { "key": "865e365ca4e3de8aec4ccd25e875ca9a82a7edde" } + }, + "requestTimeoutSeconds": "10", + "id": "5", + "keys": [{ "typeName": "Employee", "selectionSet": "id" }] + }, + { + "kind": "GRAPHQL", + "rootNodes": [ + { "typeName": "Mutation", "fieldNames": ["updateMood"] }, + { "typeName": "Employee", "fieldNames": ["id", "currentMood"] } + ], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4008/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4008/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\ntype Mutation {\n \"\"\" This mutation update the mood of an employee. \"\"\"\n updateMood(employeeID: Int!, mood: Mood!): Employee!\n}\n\nenum Mood {\n APATHETIC @inaccessible\n HAPPY\n SAD\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n currentMood: Mood!\n}\n" + }, + "upstreamSchema": { "key": "10eccb92890a5709d24ac8c1293264d758b997c7" } + }, + "requestTimeoutSeconds": "10", + "id": "6", + "keys": [{ "typeName": "Employee", "selectionSet": "id" }] + }, + { + "kind": "GRAPHQL", + "rootNodes": [{ "typeName": "Country", "fieldNames": ["key", "language"] }], + "childNodes": [{ "typeName": "CountryKey", "fieldNames": ["name"] }], + "overrideFieldPathFromAlias": true, + "customGraphql": { + "fetch": { + "url": { "staticVariableContent": "http://localhost:4009/graphql" }, + "method": "POST", + "body": {}, + "baseUrl": {}, + "path": {} + }, + "subscription": { + "enabled": true, + "url": { "staticVariableContent": "http://localhost:4009/graphql" }, + "protocol": "GRAPHQL_SUBSCRIPTION_PROTOCOL_WS", + "websocketSubprotocol": "GRAPHQL_WEBSOCKET_SUBPROTOCOL_AUTO" + }, + "federation": { + "enabled": true, + "serviceSdl": "extend schema\n@link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"])\n\n# Using a nested key field simply because it can showcase potential bug\n# vectors / Federation capabilities.\ntype Country @key(fields: \"key { name }\") {\n key: CountryKey!\n language: String\n}\n\ntype CountryKey {\n name: String!\n}\n" + }, + "upstreamSchema": { "key": "0c7a814514a54c0b54af7ea5fa33730a321921e6" } + }, + "requestTimeoutSeconds": "10", + "id": "7", + "keys": [{ "typeName": "Country", "selectionSet": "key { name }" }] + } + ], + "fieldConfigurations": [ + { + "typeName": "Query", + "fieldName": "employee", + "argumentsConfiguration": [{ "name": "id", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "employeeAsList", + "argumentsConfiguration": [{ "name": "id", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "teammates", + "argumentsConfiguration": [{ "name": "team", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "findEmployeesBy", + "argumentsConfiguration": [{ "name": "criteria", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "findEmployees", + "argumentsConfiguration": [{ "name": "criteria", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "headerValue", + "argumentsConfiguration": [{ "name": "name", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "initPayloadValue", + "argumentsConfiguration": [{ "name": "key", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "delay", + "argumentsConfiguration": [ + { "name": "response", "sourceType": "FIELD_ARGUMENT" }, + { "name": "ms", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Query", + "fieldName": "bigResponse", + "argumentsConfiguration": [ + { "name": "artificialDelay", "sourceType": "FIELD_ARGUMENT" }, + { "name": "bigObjects", "sourceType": "FIELD_ARGUMENT" }, + { "name": "nestedObjects", "sourceType": "FIELD_ARGUMENT" }, + { "name": "deeplyNestedObjects", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Query", + "fieldName": "longResponse", + "argumentsConfiguration": [ + { "name": "artificialDelay", "sourceType": "FIELD_ARGUMENT" }, + { "name": "bytes", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Query", + "fieldName": "rootFieldWithListArg", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "rootFieldWithNestedListArg", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "rootFieldWithListOfInputArg", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "rootFieldWithListOfEnumArg", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "rootFieldWithInput", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "floatField", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Query", + "fieldName": "sharedThings", + "argumentsConfiguration": [ + { "name": "numOfA", "sourceType": "FIELD_ARGUMENT" }, + { "name": "numOfB", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Mutation", + "fieldName": "updateEmployeeTag", + "argumentsConfiguration": [ + { "name": "id", "sourceType": "FIELD_ARGUMENT" }, + { "name": "tag", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Mutation", + "fieldName": "singleUpload", + "argumentsConfiguration": [{ "name": "file", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Mutation", + "fieldName": "singleUploadWithInput", + "argumentsConfiguration": [{ "name": "arg", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Mutation", + "fieldName": "multipleUpload", + "argumentsConfiguration": [{ "name": "files", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Mutation", + "fieldName": "addFact", + "argumentsConfiguration": [{ "name": "fact", "sourceType": "FIELD_ARGUMENT" }], + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [{ "requiredAndScopes": ["write:fact"] }, { "requiredAndScopes": ["write:all"] }], + "requiredOrScopesByOr": [ + { "requiredAndScopes": ["write:fact"] }, + { "requiredAndScopes": ["write:all"] } + ] + } + }, + { + "typeName": "Mutation", + "fieldName": "updateAvailability", + "argumentsConfiguration": [ + { "name": "employeeID", "sourceType": "FIELD_ARGUMENT" }, + { "name": "isAvailable", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Mutation", + "fieldName": "updateMood", + "argumentsConfiguration": [ + { "name": "employeeID", "sourceType": "FIELD_ARGUMENT" }, + { "name": "mood", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Subscription", + "fieldName": "countEmp", + "argumentsConfiguration": [ + { "name": "max", "sourceType": "FIELD_ARGUMENT" }, + { "name": "intervalMilliseconds", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Subscription", + "fieldName": "countEmp2", + "argumentsConfiguration": [ + { "name": "max", "sourceType": "FIELD_ARGUMENT" }, + { "name": "intervalMilliseconds", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Subscription", + "fieldName": "countFor", + "argumentsConfiguration": [{ "name": "count", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Subscription", + "fieldName": "countHob", + "argumentsConfiguration": [ + { "name": "max", "sourceType": "FIELD_ARGUMENT" }, + { "name": "intervalMilliseconds", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Subscription", + "fieldName": "headerValue", + "argumentsConfiguration": [ + { "name": "name", "sourceType": "FIELD_ARGUMENT" }, + { "name": "repeat", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Subscription", + "fieldName": "initPayloadValue", + "argumentsConfiguration": [ + { "name": "key", "sourceType": "FIELD_ARGUMENT" }, + { "name": "repeat", "sourceType": "FIELD_ARGUMENT" } + ] + }, + { + "typeName": "Subscription", + "fieldName": "initialPayload", + "argumentsConfiguration": [{ "name": "repeat", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Documentation", + "fieldName": "url", + "argumentsConfiguration": [{ "name": "product", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Documentation", + "fieldName": "urls", + "argumentsConfiguration": [{ "name": "products", "sourceType": "FIELD_ARGUMENT" }] + }, + { + "typeName": "Employee", + "fieldName": "startDate", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [ + { "requiredAndScopes": ["read:employee", "read:private"] }, + { "requiredAndScopes": ["read:all"] } + ], + "requiredOrScopesByOr": [ + { "requiredAndScopes": ["read:employee", "read:private"] }, + { "requiredAndScopes": ["read:all"] } + ] + } + }, + { + "typeName": "Query", + "fieldName": "topSecretFederationFacts", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [{ "requiredAndScopes": ["read:fact"] }, { "requiredAndScopes": ["read:all"] }], + "requiredOrScopesByOr": [{ "requiredAndScopes": ["read:fact"] }, { "requiredAndScopes": ["read:all"] }] + } + }, + { + "typeName": "Query", + "fieldName": "secret", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [{ "requiredAndScopes": ["read:secret"] }], + "requiredOrScopesByOr": [{ "requiredAndScopes": ["read:secret"] }] + } + }, + { + "typeName": "Query", + "fieldName": "factTypes", + "authorizationConfiguration": { "requiresAuthentication": true } + }, + { + "typeName": "TopSecretFact", + "fieldName": "factType", + "authorizationConfiguration": { "requiresAuthentication": true } + }, + { + "typeName": "TopSecretFact", + "fieldName": "description", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [{ "requiredAndScopes": ["read:scalar"] }, { "requiredAndScopes": ["read:all"] }], + "requiredOrScopesByOr": [ + { "requiredAndScopes": ["read:scalar"] }, + { "requiredAndScopes": ["read:all"] } + ] + } + }, + { + "typeName": "DirectiveFact", + "fieldName": "factType", + "authorizationConfiguration": { "requiresAuthentication": true } + }, + { + "typeName": "DirectiveFact", + "fieldName": "description", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [{ "requiredAndScopes": ["read:scalar"] }, { "requiredAndScopes": ["read:all"] }], + "requiredOrScopesByOr": [ + { "requiredAndScopes": ["read:scalar"] }, + { "requiredAndScopes": ["read:all"] } + ] + } + }, + { + "typeName": "EntityFact", + "fieldName": "factType", + "authorizationConfiguration": { "requiresAuthentication": true } + }, + { + "typeName": "EntityFact", + "fieldName": "description", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [{ "requiredAndScopes": ["read:scalar"] }, { "requiredAndScopes": ["read:all"] }], + "requiredOrScopesByOr": [ + { "requiredAndScopes": ["read:scalar"] }, + { "requiredAndScopes": ["read:all"] } + ] + } + }, + { + "typeName": "MiscellaneousFact", + "fieldName": "description", + "authorizationConfiguration": { + "requiresAuthentication": true, + "requiredOrScopes": [ + { "requiredAndScopes": ["read:scalar", "read:miscellaneous"] }, + { "requiredAndScopes": ["read:all", "read:miscellaneous"] } + ], + "requiredOrScopesByOr": [ + { "requiredAndScopes": ["read:scalar", "read:miscellaneous"] }, + { "requiredAndScopes": ["read:all", "read:miscellaneous"] } + ] + } + }, + { + "typeName": "MiscellaneousFact", + "fieldName": "factType", + "authorizationConfiguration": { "requiresAuthentication": true } + } + ], + "graphqlSchema": "schema {\n query: Query\n mutation: Mutation\n subscription: Subscription\n}\n\ndirective @tag(name: String!) repeatable on ARGUMENT_DEFINITION | ENUM | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION\n\ndirective @requiresScopes(scopes: [[openfed__Scope!]!]!) on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR\n\ndirective @authenticated on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR\n\ndirective @inaccessible on ARGUMENT_DEFINITION | ENUM | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION\n\nscalar openfed__Scope\n\ntype Query {\n employee(id: Int!): Employee\n employeeAsList(id: Int!): [Employee]\n employees: [Employee]\n products: [Products!]!\n teammates(team: Department!): [Employee!]!\n firstEmployee: Employee! @tag(name: \"internal\")\n findEmployeesBy(criteria: FindEmployeeCriteria!): [Employee!]!\n \"\"\" This is a GraphQL query that retrieves a list of employees.\"\"\"\n findEmployees(criteria: SearchInput): [Employee!]!\n productTypes: [Products!]!\n topSecretFederationFacts: [TopSecretFact!]! @requiresScopes(scopes: [[\"read:fact\"], [\"read:all\"]])\n factTypes: [TopSecretFactType!]\n \"\"\"Returns the value of the received HTTP header.\"\"\"\n headerValue(name: String!): String!\n \"\"\"Returns the value of the given key in the WS initial payload.\"\"\"\n initPayloadValue(key: String!): String!\n initialPayload: Map\n \"\"\"Returns response after the given delay\"\"\"\n delay(response: String!, ms: Int!): String!\n bigResponse(artificialDelay: Int! = 0, bigObjects: Int! = 100, nestedObjects: Int! = 100, deeplyNestedObjects: Int! = 100): [BigObject!]!\n longResponse(artificialDelay: Int! = 0, bytes: Int!): String\n bigAbstractResponse: BigAbstractResponse\n rootFieldWithListArg(arg: [String!]!): [String!]!\n rootFieldWithNestedListArg(arg: [[String!]!]!): [[String!]!]!\n rootFieldWithListOfInputArg(arg: [InputType!]!): [InputResponse!]!\n rootFieldWithListOfEnumArg(arg: [EnumType!]!): [EnumType!]!\n rootFieldWithInput(arg: InputArg!): String!\n floatField(arg: Float): Float\n sharedThings(numOfA: Int!, numOfB: Int!): [Thing!]!\n secret: Secret @requiresScopes(scopes: [[\"read:secret\"]])\n}\n\nscalar Upload\n\ntype Mutation {\n updateEmployeeTag(id: Int!, tag: String!): Employee\n singleUpload(file: Upload!): Boolean!\n singleUploadWithInput(arg: FileUpload!): Boolean!\n multipleUpload(files: [Upload!]!): Boolean!\n addFact(fact: TopSecretFactInput!): TopSecretFact! @requiresScopes(scopes: [[\"write:fact\"], [\"write:all\"]])\n \"\"\" This mutation updates the availability status of an employee in the system.\n \"\"\"\n updateAvailability(employeeID: Int!, isAvailable: Boolean!): Employee!\n \"\"\" This mutation update the mood of an employee. \"\"\"\n updateMood(employeeID: Int!, mood: Mood!): Employee!\n}\n\ninput FileUpload {\n nested: DeeplyNestedFileUpload\n nestedList: [Upload!]\n}\n\ninput DeeplyNestedFileUpload {\n file: Upload!\n}\n\ntype Subscription {\n \"\"\"`currentTime` will return a stream of `Time` objects.\"\"\"\n currentTime: Time!\n countEmp(max: Int!, intervalMilliseconds: Int!): Int!\n countEmp2(max: Int!, intervalMilliseconds: Int!): Int!\n countFor(count: Int!): Int!\n countHob(max: Int!, intervalMilliseconds: Int!): Int!\n \"\"\"Returns a stream with the value of the received HTTP header.\"\"\"\n headerValue(name: String!, repeat: Int): TimestampedString!\n \"\"\"\n Returns a stream with the value of value of the given key in the WS initial payload.\n \"\"\"\n initPayloadValue(key: String!, repeat: Int): TimestampedString!\n \"\"\"Returns a stream with the value of the WS initial payload.\"\"\"\n initialPayload(repeat: Int): Map\n returnsError: String\n}\n\nenum Department {\n ENGINEERING\n MARKETING\n OPERATIONS\n}\n\ninterface RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n}\n\nenum EngineerType {\n BACKEND\n FRONTEND\n FULLSTACK\n}\n\ninterface Identifiable {\n id: Int!\n}\n\nenum OperationType {\n FINANCE\n HUMAN_RESOURCES\n}\n\ntype Details {\n forename: String!\n location: Country!\n surname: String!\n pastLocations: [City!]!\n middlename: String @deprecated(reason: \"No longer supported\")\n hasChildren: Boolean!\n maritalStatus: MaritalStatus\n nationality: Nationality!\n pets: [Pet]\n}\n\ntype City {\n type: String!\n name: String!\n country: Country\n}\n\ntype Country {\n key: CountryKey!\n language: String\n}\n\ntype CountryKey {\n name: String!\n}\n\nenum Mood {\n HAPPY\n SAD\n APATHETIC @inaccessible\n}\n\ntype ErrorWrapper {\n okField: String\n errorField: String\n}\n\ntype Time {\n unixTime: Int!\n timeStamp: String!\n}\n\nunion Products = Consultancy | Cosmo | SDK | Documentation\n\ninterface IProduct {\n upc: ID!\n engineers: [Employee!]!\n}\n\ntype Consultancy {\n upc: ID!\n lead: Employee!\n isLeadAvailable: Boolean\n name: ProductName!\n}\n\ninput FindEmployeeCriteria @oneOf {\n id: Int\n department: Department\n title: String\n}\n\nenum Class {\n FISH\n MAMMAL\n REPTILE\n}\n\nenum Gender {\n FEMALE\n MALE\n UNKNOWN\n}\n\ninterface Animal {\n class: Class!\n gender: Gender!\n}\n\nenum CatType {\n HOME\n STREET\n}\n\nenum DogBreed {\n GOLDEN_RETRIEVER\n POODLE\n ROTTWEILER\n YORKSHIRE_TERRIER\n}\n\nenum MaritalStatus {\n ENGAGED\n MARRIED\n}\n\nenum Nationality {\n AMERICAN\n DUTCH\n ENGLISH\n GERMAN\n INDIAN\n SPANISH\n UKRAINIAN\n}\n\n\"\"\" Allows to filter employees by their details. \"\"\"\ninput SearchInput {\n hasPets: Boolean\n nationality: Nationality\n nested: NestedSearchInput\n}\n\ninput NestedSearchInput {\n maritalStatus: MaritalStatus\n hasChildren: Boolean\n}\n\nenum ExerciseType {\n CALISTHENICS\n HIKING\n SPORT\n STRENGTH_TRAINING\n}\n\ninterface Experience {\n yearsOfExperience: Float!\n}\n\nenum GameGenre {\n ADVENTURE\n BOARD\n FPS\n CARD\n RPG\n ROGUELITE\n SIMULATION\n STRATEGY\n}\n\nenum ProgrammingLanguage {\n CSHARP\n GO\n RUST\n TYPESCRIPT\n}\n\ninterface Hobby {\n employees: [Employee!]!\n}\n\ninput TopSecretFactInput {\n title: String!\n description: FactContent!\n factType: TopSecretFactType!\n}\n\nenum TopSecretFactType @authenticated {\n DIRECTIVE\n ENTITY\n MISCELLANEOUS\n}\n\ninterface TopSecretFact @authenticated {\n description: FactContent!\n factType: TopSecretFactType\n}\n\nscalar FactContent @requiresScopes(scopes: [[\"read:scalar\"], [\"read:all\"]])\n\nenum ProductName {\n CONSULTANCY\n COSMO\n ENGINE\n FINANCE\n HUMAN_RESOURCES\n MARKETING\n SDK\n}\n\ntype Documentation {\n url(product: ProductName!): String!\n urls(products: [ProductName!]!): [String!]!\n}\n\ntype Secret {\n value: String\n}\n\ntype Thing {\n b: String!\n}\n\ninput InputArg {\n enums: [EnumType!]\n enum: EnumType\n string: String\n strings: [String!]\n}\n\nenum EnumType {\n A\n B\n C\n}\n\ninput InputType {\n arg: String!\n}\n\ntype InputResponse {\n arg: String!\n}\n\nscalar Map\n\ntype TimestampedString {\n \"\"\"The value of the string.\"\"\"\n value: String!\n \"\"\"The timestamp when the response was generated.\"\"\"\n unixTime: Int!\n \"\"\"Sequence number\"\"\"\n seq: Int!\n \"\"\"Total number of responses to be sent\"\"\"\n total: Int!\n initialPayload: Map\n}\n\ntype BigObject {\n nestedObjects: [NestedObject!]!\n}\n\ntype NestedObject {\n deeplyNestedObjects: [DeeplyNestedObject!]!\n}\n\ntype DeeplyNestedObject {\n aFieldOnDeeplyNestedObject: String!\n bFieldOnDeeplyNestedObject: Int!\n cFieldOnDeeplyNestedObject: Boolean!\n dFieldOnDeeplyNestedObject: Float!\n eFieldOnDeeplyNestedObject: String!\n fFieldOnDeeplyNestedObject: Int!\n gFieldOnDeeplyNestedObject: Boolean!\n hFieldOnDeeplyNestedObject: Float!\n iFieldOnDeeplyNestedObject: String!\n jFieldOnDeeplyNestedObject: Int!\n kFieldOnDeeplyNestedObject: Boolean!\n lFieldOnDeeplyNestedObject: Float!\n mFieldOnDeeplyNestedObject: String!\n nFieldOnDeeplyNestedObject: Int!\n oFieldOnDeeplyNestedObject: Boolean!\n pFieldOnDeeplyNestedObject: Float!\n qFieldOnDeeplyNestedObject: String!\n rFieldOnDeeplyNestedObject: Int!\n sFieldOnDeeplyNestedObject: Boolean!\n tFieldOnDeeplyNestedObject: Float!\n uFieldOnDeeplyNestedObject: String!\n vFieldOnDeeplyNestedObject: Int!\n wFieldOnDeeplyNestedObject: Boolean!\n xFieldOnDeeplyNestedObject: Float!\n yFieldOnDeeplyNestedObject: String!\n zFieldOnDeeplyNestedObject: Int!\n}\n\nunion BigAbstractResponse = ABigObject | BBigObject | CBigObject | DBigObject | EBigObject | FBigObject | GBigObject | HBigObject | IBigObject | JBigObject | KBigObject | LBigObject | MBigObject | NBigObject | OBigObject | PBigObject | QBigObject | RBigObject | SBigObject | TBigObject | UBigObject | VBigObject | WBigObject | XBigObject | YBigObject | ZBigObject\n\ntype ABigObject {\n aFieldOnABigObject: String!\n bFieldOnABigObject: Int!\n cFieldOnABigObject: Boolean!\n dFieldOnABigObject: Float!\n eFieldOnABigObject: String!\n fFieldOnABigObject: Int!\n gFieldOnABigObject: Boolean!\n hFieldOnABigObject: Float!\n iFieldOnABigObject: String!\n jFieldOnABigObject: Int!\n kFieldOnABigObject: Boolean!\n lFieldOnABigObject: Float!\n mFieldOnABigObject: String!\n nFieldOnABigObject: Int!\n oFieldOnABigObject: Boolean!\n pFieldOnABigObject: Float!\n qFieldOnABigObject: String!\n rFieldOnABigObject: Int!\n sFieldOnABigObject: Boolean!\n tFieldOnABigObject: Float!\n uFieldOnABigObject: String!\n vFieldOnABigObject: Int!\n wFieldOnABigObject: Boolean!\n xFieldOnABigObject: Float!\n yFieldOnABigObject: String!\n zFieldOnABigObject: Int!\n}\n\ntype BBigObject {\n aFieldOnBBigObject: String!\n bFieldOnBBigObject: Int!\n cFieldOnBBigObject: Boolean!\n dFieldOnBBigObject: Float!\n eFieldOnBBigObject: String!\n fFieldOnBBigObject: Int!\n gFieldOnBBigObject: Boolean!\n hFieldOnBBigObject: Float!\n iFieldOnBBigObject: String!\n jFieldOnBBigObject: Int!\n kFieldOnBBigObject: Boolean!\n lFieldOnBBigObject: Float!\n mFieldOnBBigObject: String!\n nFieldOnBBigObject: Int!\n oFieldOnBBigObject: Boolean!\n pFieldOnBBigObject: Float!\n qFieldOnBBigObject: String!\n rFieldOnBBigObject: Int!\n sFieldOnBBigObject: Boolean!\n tFieldOnBBigObject: Float!\n uFieldOnBBigObject: String!\n vFieldOnBBigObject: Int!\n wFieldOnBBigObject: Boolean!\n xFieldOnBBigObject: Float!\n yFieldOnBBigObject: String!\n zFieldOnBBigObject: Int!\n}\n\ntype CBigObject {\n aFieldOnCBigObject: String!\n bFieldOnCBigObject: Int!\n cFieldOnCBigObject: Boolean!\n dFieldOnCBigObject: Float!\n eFieldOnCBigObject: String!\n fFieldOnCBigObject: Int!\n gFieldOnCBigObject: Boolean!\n hFieldOnCBigObject: Float!\n iFieldOnCBigObject: String!\n jFieldOnCBigObject: Int!\n kFieldOnCBigObject: Boolean!\n lFieldOnCBigObject: Float!\n mFieldOnCBigObject: String!\n nFieldOnCBigObject: Int!\n oFieldOnCBigObject: Boolean!\n pFieldOnCBigObject: Float!\n qFieldOnCBigObject: String!\n rFieldOnCBigObject: Int!\n sFieldOnCBigObject: Boolean!\n tFieldOnCBigObject: Float!\n uFieldOnCBigObject: String!\n vFieldOnCBigObject: Int!\n wFieldOnCBigObject: Boolean!\n xFieldOnCBigObject: Float!\n yFieldOnCBigObject: String!\n zFieldOnCBigObject: Int!\n}\n\ntype DBigObject {\n aFieldOnDBigObject: String!\n bFieldOnDBigObject: Int!\n cFieldOnDBigObject: Boolean!\n dFieldOnDBigObject: Float!\n eFieldOnDBigObject: String!\n fFieldOnDBigObject: Int!\n gFieldOnDBigObject: Boolean!\n hFieldOnDBigObject: Float!\n iFieldOnDBigObject: String!\n jFieldOnDBigObject: Int!\n kFieldOnDBigObject: Boolean!\n lFieldOnDBigObject: Float!\n mFieldOnDBigObject: String!\n nFieldOnDBigObject: Int!\n oFieldOnDBigObject: Boolean!\n pFieldOnDBigObject: Float!\n qFieldOnDBigObject: String!\n rFieldOnDBigObject: Int!\n sFieldOnDBigObject: Boolean!\n tFieldOnDBigObject: Float!\n uFieldOnDBigObject: String!\n vFieldOnDBigObject: Int!\n wFieldOnDBigObject: Boolean!\n xFieldOnDBigObject: Float!\n yFieldOnDBigObject: String!\n zFieldOnDBigObject: Int!\n}\n\ntype EBigObject {\n aFieldOnEBigObject: String!\n bFieldOnEBigObject: Int!\n cFieldOnEBigObject: Boolean!\n dFieldOnEBigObject: Float!\n eFieldOnEBigObject: String!\n fFieldOnEBigObject: Int!\n gFieldOnEBigObject: Boolean!\n hFieldOnEBigObject: Float!\n iFieldOnEBigObject: String!\n jFieldOnEBigObject: Int!\n kFieldOnEBigObject: Boolean!\n lFieldOnEBigObject: Float!\n mFieldOnEBigObject: String!\n nFieldOnEBigObject: Int!\n oFieldOnEBigObject: Boolean!\n pFieldOnEBigObject: Float!\n qFieldOnEBigObject: String!\n rFieldOnEBigObject: Int!\n sFieldOnEBigObject: Boolean!\n tFieldOnEBigObject: Float!\n uFieldOnEBigObject: String!\n vFieldOnEBigObject: Int!\n wFieldOnEBigObject: Boolean!\n xFieldOnEBigObject: Float!\n yFieldOnEBigObject: String!\n zFieldOnEBigObject: Int!\n}\n\ntype FBigObject {\n aFieldOnFBigObject: String!\n bFieldOnFBigObject: Int!\n cFieldOnFBigObject: Boolean!\n dFieldOnFBigObject: Float!\n eFieldOnFBigObject: String!\n fFieldOnFBigObject: Int!\n gFieldOnFBigObject: Boolean!\n hFieldOnFBigObject: Float!\n iFieldOnFBigObject: String!\n jFieldOnFBigObject: Int!\n kFieldOnFBigObject: Boolean!\n lFieldOnFBigObject: Float!\n mFieldOnFBigObject: String!\n nFieldOnFBigObject: Int!\n oFieldOnFBigObject: Boolean!\n pFieldOnFBigObject: Float!\n qFieldOnFBigObject: String!\n rFieldOnFBigObject: Int!\n sFieldOnFBigObject: Boolean!\n tFieldOnFBigObject: Float!\n uFieldOnFBigObject: String!\n vFieldOnFBigObject: Int!\n wFieldOnFBigObject: Boolean!\n xFieldOnFBigObject: Float!\n yFieldOnFBigObject: String!\n zFieldOnFBigObject: Int!\n}\n\ntype GBigObject {\n aFieldOnGBigObject: String!\n bFieldOnGBigObject: Int!\n cFieldOnGBigObject: Boolean!\n dFieldOnGBigObject: Float!\n eFieldOnGBigObject: String!\n fFieldOnGBigObject: Int!\n gFieldOnGBigObject: Boolean!\n hFieldOnGBigObject: Float!\n iFieldOnGBigObject: String!\n jFieldOnGBigObject: Int!\n kFieldOnGBigObject: Boolean!\n lFieldOnGBigObject: Float!\n mFieldOnGBigObject: String!\n nFieldOnGBigObject: Int!\n oFieldOnGBigObject: Boolean!\n pFieldOnGBigObject: Float!\n qFieldOnGBigObject: String!\n rFieldOnGBigObject: Int!\n sFieldOnGBigObject: Boolean!\n tFieldOnGBigObject: Float!\n uFieldOnGBigObject: String!\n vFieldOnGBigObject: Int!\n wFieldOnGBigObject: Boolean!\n xFieldOnGBigObject: Float!\n yFieldOnGBigObject: String!\n zFieldOnGBigObject: Int!\n}\n\ntype HBigObject {\n aFieldOnHBigObject: String!\n bFieldOnHBigObject: Int!\n cFieldOnHBigObject: Boolean!\n dFieldOnHBigObject: Float!\n eFieldOnHBigObject: String!\n fFieldOnHBigObject: Int!\n gFieldOnHBigObject: Boolean!\n hFieldOnHBigObject: Float!\n iFieldOnHBigObject: String!\n jFieldOnHBigObject: Int!\n kFieldOnHBigObject: Boolean!\n lFieldOnHBigObject: Float!\n mFieldOnHBigObject: String!\n nFieldOnHBigObject: Int!\n oFieldOnHBigObject: Boolean!\n pFieldOnHBigObject: Float!\n qFieldOnHBigObject: String!\n rFieldOnHBigObject: Int!\n sFieldOnHBigObject: Boolean!\n tFieldOnHBigObject: Float!\n uFieldOnHBigObject: String!\n vFieldOnHBigObject: Int!\n wFieldOnHBigObject: Boolean!\n xFieldOnHBigObject: Float!\n yFieldOnHBigObject: String!\n zFieldOnHBigObject: Int!\n}\n\ntype IBigObject {\n aFieldOnIBigObject: String!\n bFieldOnIBigObject: Int!\n cFieldOnIBigObject: Boolean!\n dFieldOnIBigObject: Float!\n eFieldOnIBigObject: String!\n fFieldOnIBigObject: Int!\n gFieldOnIBigObject: Boolean!\n hFieldOnIBigObject: Float!\n iFieldOnIBigObject: String!\n jFieldOnIBigObject: Int!\n kFieldOnIBigObject: Boolean!\n lFieldOnIBigObject: Float!\n mFieldOnIBigObject: String!\n nFieldOnIBigObject: Int!\n oFieldOnIBigObject: Boolean!\n pFieldOnIBigObject: Float!\n qFieldOnIBigObject: String!\n rFieldOnIBigObject: Int!\n sFieldOnIBigObject: Boolean!\n tFieldOnIBigObject: Float!\n uFieldOnIBigObject: String!\n vFieldOnIBigObject: Int!\n wFieldOnIBigObject: Boolean!\n xFieldOnIBigObject: Float!\n yFieldOnIBigObject: String!\n zFieldOnIBigObject: Int!\n}\n\ntype JBigObject {\n aFieldOnJBigObject: String!\n bFieldOnJBigObject: Int!\n cFieldOnJBigObject: Boolean!\n dFieldOnJBigObject: Float!\n eFieldOnJBigObject: String!\n fFieldOnJBigObject: Int!\n gFieldOnJBigObject: Boolean!\n hFieldOnJBigObject: Float!\n iFieldOnJBigObject: String!\n jFieldOnJBigObject: Int!\n kFieldOnJBigObject: Boolean!\n lFieldOnJBigObject: Float!\n mFieldOnJBigObject: String!\n nFieldOnJBigObject: Int!\n oFieldOnJBigObject: Boolean!\n pFieldOnJBigObject: Float!\n qFieldOnJBigObject: String!\n rFieldOnJBigObject: Int!\n sFieldOnJBigObject: Boolean!\n tFieldOnJBigObject: Float!\n uFieldOnJBigObject: String!\n vFieldOnJBigObject: Int!\n wFieldOnJBigObject: Boolean!\n xFieldOnJBigObject: Float!\n yFieldOnJBigObject: String!\n zFieldOnJBigObject: Int!\n}\n\ntype KBigObject {\n aFieldOnKBigObject: String!\n bFieldOnKBigObject: Int!\n cFieldOnKBigObject: Boolean!\n dFieldOnKBigObject: Float!\n eFieldOnKBigObject: String!\n fFieldOnKBigObject: Int!\n gFieldOnKBigObject: Boolean!\n hFieldOnKBigObject: Float!\n iFieldOnKBigObject: String!\n jFieldOnKBigObject: Int!\n kFieldOnKBigObject: Boolean!\n lFieldOnKBigObject: Float!\n mFieldOnKBigObject: String!\n nFieldOnKBigObject: Int!\n oFieldOnKBigObject: Boolean!\n pFieldOnKBigObject: Float!\n qFieldOnKBigObject: String!\n rFieldOnKBigObject: Int!\n sFieldOnKBigObject: Boolean!\n tFieldOnKBigObject: Float!\n uFieldOnKBigObject: String!\n vFieldOnKBigObject: Int!\n wFieldOnKBigObject: Boolean!\n xFieldOnKBigObject: Float!\n yFieldOnKBigObject: String!\n zFieldOnKBigObject: Int!\n}\n\ntype LBigObject {\n aFieldOnLBigObject: String!\n bFieldOnLBigObject: Int!\n cFieldOnLBigObject: Boolean!\n dFieldOnLBigObject: Float!\n eFieldOnLBigObject: String!\n fFieldOnLBigObject: Int!\n gFieldOnLBigObject: Boolean!\n hFieldOnLBigObject: Float!\n iFieldOnLBigObject: String!\n jFieldOnLBigObject: Int!\n kFieldOnLBigObject: Boolean!\n lFieldOnLBigObject: Float!\n mFieldOnLBigObject: String!\n nFieldOnLBigObject: Int!\n oFieldOnLBigObject: Boolean!\n pFieldOnLBigObject: Float!\n qFieldOnLBigObject: String!\n rFieldOnLBigObject: Int!\n sFieldOnLBigObject: Boolean!\n tFieldOnLBigObject: Float!\n uFieldOnLBigObject: String!\n vFieldOnLBigObject: Int!\n wFieldOnLBigObject: Boolean!\n xFieldOnLBigObject: Float!\n yFieldOnLBigObject: String!\n zFieldOnLBigObject: Int!\n}\n\ntype MBigObject {\n aFieldOnMBigObject: String!\n bFieldOnMBigObject: Int!\n cFieldOnMBigObject: Boolean!\n dFieldOnMBigObject: Float!\n eFieldOnMBigObject: String!\n fFieldOnMBigObject: Int!\n gFieldOnMBigObject: Boolean!\n hFieldOnMBigObject: Float!\n iFieldOnMBigObject: String!\n jFieldOnMBigObject: Int!\n kFieldOnMBigObject: Boolean!\n lFieldOnMBigObject: Float!\n mFieldOnMBigObject: String!\n nFieldOnMBigObject: Int!\n oFieldOnMBigObject: Boolean!\n pFieldOnMBigObject: Float!\n qFieldOnMBigObject: String!\n rFieldOnMBigObject: Int!\n sFieldOnMBigObject: Boolean!\n tFieldOnMBigObject: Float!\n uFieldOnMBigObject: String!\n vFieldOnMBigObject: Int!\n wFieldOnMBigObject: Boolean!\n xFieldOnMBigObject: Float!\n yFieldOnMBigObject: String!\n zFieldOnMBigObject: Int!\n}\n\ntype NBigObject {\n aFieldOnNBigObject: String!\n bFieldOnNBigObject: Int!\n cFieldOnNBigObject: Boolean!\n dFieldOnNBigObject: Float!\n eFieldOnNBigObject: String!\n fFieldOnNBigObject: Int!\n gFieldOnNBigObject: Boolean!\n hFieldOnNBigObject: Float!\n iFieldOnNBigObject: String!\n jFieldOnNBigObject: Int!\n kFieldOnNBigObject: Boolean!\n lFieldOnNBigObject: Float!\n mFieldOnNBigObject: String!\n nFieldOnNBigObject: Int!\n oFieldOnNBigObject: Boolean!\n pFieldOnNBigObject: Float!\n qFieldOnNBigObject: String!\n rFieldOnNBigObject: Int!\n sFieldOnNBigObject: Boolean!\n tFieldOnNBigObject: Float!\n uFieldOnNBigObject: String!\n vFieldOnNBigObject: Int!\n wFieldOnNBigObject: Boolean!\n xFieldOnNBigObject: Float!\n yFieldOnNBigObject: String!\n zFieldOnNBigObject: Int!\n}\n\ntype OBigObject {\n aFieldOnOBigObject: String!\n bFieldOnOBigObject: Int!\n cFieldOnOBigObject: Boolean!\n dFieldOnOBigObject: Float!\n eFieldOnOBigObject: String!\n fFieldOnOBigObject: Int!\n gFieldOnOBigObject: Boolean!\n hFieldOnOBigObject: Float!\n iFieldOnOBigObject: String!\n jFieldOnOBigObject: Int!\n kFieldOnOBigObject: Boolean!\n lFieldOnOBigObject: Float!\n mFieldOnOBigObject: String!\n nFieldOnOBigObject: Int!\n oFieldOnOBigObject: Boolean!\n pFieldOnOBigObject: Float!\n qFieldOnOBigObject: String!\n rFieldOnOBigObject: Int!\n sFieldOnOBigObject: Boolean!\n tFieldOnOBigObject: Float!\n uFieldOnOBigObject: String!\n vFieldOnOBigObject: Int!\n wFieldOnOBigObject: Boolean!\n xFieldOnOBigObject: Float!\n yFieldOnOBigObject: String!\n zFieldOnOBigObject: Int!\n}\n\ntype PBigObject {\n aFieldOnPBigObject: String!\n bFieldOnPBigObject: Int!\n cFieldOnPBigObject: Boolean!\n dFieldOnPBigObject: Float!\n eFieldOnPBigObject: String!\n fFieldOnPBigObject: Int!\n gFieldOnPBigObject: Boolean!\n hFieldOnPBigObject: Float!\n iFieldOnPBigObject: String!\n jFieldOnPBigObject: Int!\n kFieldOnPBigObject: Boolean!\n lFieldOnPBigObject: Float!\n mFieldOnPBigObject: String!\n nFieldOnPBigObject: Int!\n oFieldOnPBigObject: Boolean!\n pFieldOnPBigObject: Float!\n qFieldOnPBigObject: String!\n rFieldOnPBigObject: Int!\n sFieldOnPBigObject: Boolean!\n tFieldOnPBigObject: Float!\n uFieldOnPBigObject: String!\n vFieldOnPBigObject: Int!\n wFieldOnPBigObject: Boolean!\n xFieldOnPBigObject: Float!\n yFieldOnPBigObject: String!\n zFieldOnPBigObject: Int!\n}\n\ntype QBigObject {\n aFieldOnQBigObject: String!\n bFieldOnQBigObject: Int!\n cFieldOnQBigObject: Boolean!\n dFieldOnQBigObject: Float!\n eFieldOnQBigObject: String!\n fFieldOnQBigObject: Int!\n gFieldOnQBigObject: Boolean!\n hFieldOnQBigObject: Float!\n iFieldOnQBigObject: String!\n jFieldOnQBigObject: Int!\n kFieldOnQBigObject: Boolean!\n lFieldOnQBigObject: Float!\n mFieldOnQBigObject: String!\n nFieldOnQBigObject: Int!\n oFieldOnQBigObject: Boolean!\n pFieldOnQBigObject: Float!\n qFieldOnQBigObject: String!\n rFieldOnQBigObject: Int!\n sFieldOnQBigObject: Boolean!\n tFieldOnQBigObject: Float!\n uFieldOnQBigObject: String!\n vFieldOnQBigObject: Int!\n wFieldOnQBigObject: Boolean!\n xFieldOnQBigObject: Float!\n yFieldOnQBigObject: String!\n zFieldOnQBigObject: Int!\n}\n\ntype RBigObject {\n aFieldOnRBigObject: String!\n bFieldOnRBigObject: Int!\n cFieldOnRBigObject: Boolean!\n dFieldOnRBigObject: Float!\n eFieldOnRBigObject: String!\n fFieldOnRBigObject: Int!\n gFieldOnRBigObject: Boolean!\n hFieldOnRBigObject: Float!\n iFieldOnRBigObject: String!\n jFieldOnRBigObject: Int!\n kFieldOnRBigObject: Boolean!\n lFieldOnRBigObject: Float!\n mFieldOnRBigObject: String!\n nFieldOnRBigObject: Int!\n oFieldOnRBigObject: Boolean!\n pFieldOnRBigObject: Float!\n qFieldOnRBigObject: String!\n rFieldOnRBigObject: Int!\n sFieldOnRBigObject: Boolean!\n tFieldOnRBigObject: Float!\n uFieldOnRBigObject: String!\n vFieldOnRBigObject: Int!\n wFieldOnRBigObject: Boolean!\n xFieldOnRBigObject: Float!\n yFieldOnRBigObject: String!\n zFieldOnRBigObject: Int!\n}\n\ntype SBigObject {\n aFieldOnSBigObject: String!\n bFieldOnSBigObject: Int!\n cFieldOnSBigObject: Boolean!\n dFieldOnSBigObject: Float!\n eFieldOnSBigObject: String!\n fFieldOnSBigObject: Int!\n gFieldOnSBigObject: Boolean!\n hFieldOnSBigObject: Float!\n iFieldOnSBigObject: String!\n jFieldOnSBigObject: Int!\n kFieldOnSBigObject: Boolean!\n lFieldOnSBigObject: Float!\n mFieldOnSBigObject: String!\n nFieldOnSBigObject: Int!\n oFieldOnSBigObject: Boolean!\n pFieldOnSBigObject: Float!\n qFieldOnSBigObject: String!\n rFieldOnSBigObject: Int!\n sFieldOnSBigObject: Boolean!\n tFieldOnSBigObject: Float!\n uFieldOnSBigObject: String!\n vFieldOnSBigObject: Int!\n wFieldOnSBigObject: Boolean!\n xFieldOnSBigObject: Float!\n yFieldOnSBigObject: String!\n zFieldOnSBigObject: Int!\n}\n\ntype TBigObject {\n aFieldOnTBigObject: String!\n bFieldOnTBigObject: Int!\n cFieldOnTBigObject: Boolean!\n dFieldOnTBigObject: Float!\n eFieldOnTBigObject: String!\n fFieldOnTBigObject: Int!\n gFieldOnTBigObject: Boolean!\n hFieldOnTBigObject: Float!\n iFieldOnTBigObject: String!\n jFieldOnTBigObject: Int!\n kFieldOnTBigObject: Boolean!\n lFieldOnTBigObject: Float!\n mFieldOnTBigObject: String!\n nFieldOnTBigObject: Int!\n oFieldOnTBigObject: Boolean!\n pFieldOnTBigObject: Float!\n qFieldOnTBigObject: String!\n rFieldOnTBigObject: Int!\n sFieldOnTBigObject: Boolean!\n tFieldOnTBigObject: Float!\n uFieldOnTBigObject: String!\n vFieldOnTBigObject: Int!\n wFieldOnTBigObject: Boolean!\n xFieldOnTBigObject: Float!\n yFieldOnTBigObject: String!\n zFieldOnTBigObject: Int!\n}\n\ntype UBigObject {\n aFieldOnUBigObject: String!\n bFieldOnUBigObject: Int!\n cFieldOnUBigObject: Boolean!\n dFieldOnUBigObject: Float!\n eFieldOnUBigObject: String!\n fFieldOnUBigObject: Int!\n gFieldOnUBigObject: Boolean!\n hFieldOnUBigObject: Float!\n iFieldOnUBigObject: String!\n jFieldOnUBigObject: Int!\n kFieldOnUBigObject: Boolean!\n lFieldOnUBigObject: Float!\n mFieldOnUBigObject: String!\n nFieldOnUBigObject: Int!\n oFieldOnUBigObject: Boolean!\n pFieldOnUBigObject: Float!\n qFieldOnUBigObject: String!\n rFieldOnUBigObject: Int!\n sFieldOnUBigObject: Boolean!\n tFieldOnUBigObject: Float!\n uFieldOnUBigObject: String!\n vFieldOnUBigObject: Int!\n wFieldOnUBigObject: Boolean!\n xFieldOnUBigObject: Float!\n yFieldOnUBigObject: String!\n zFieldOnUBigObject: Int!\n}\n\ntype VBigObject {\n aFieldOnVBigObject: String!\n bFieldOnVBigObject: Int!\n cFieldOnVBigObject: Boolean!\n dFieldOnVBigObject: Float!\n eFieldOnVBigObject: String!\n fFieldOnVBigObject: Int!\n gFieldOnVBigObject: Boolean!\n hFieldOnVBigObject: Float!\n iFieldOnVBigObject: String!\n jFieldOnVBigObject: Int!\n kFieldOnVBigObject: Boolean!\n lFieldOnVBigObject: Float!\n mFieldOnVBigObject: String!\n nFieldOnVBigObject: Int!\n oFieldOnVBigObject: Boolean!\n pFieldOnVBigObject: Float!\n qFieldOnVBigObject: String!\n rFieldOnVBigObject: Int!\n sFieldOnVBigObject: Boolean!\n tFieldOnVBigObject: Float!\n uFieldOnVBigObject: String!\n vFieldOnVBigObject: Int!\n wFieldOnVBigObject: Boolean!\n xFieldOnVBigObject: Float!\n yFieldOnVBigObject: String!\n zFieldOnVBigObject: Int!\n}\n\ntype WBigObject {\n aFieldOnWBigObject: String!\n bFieldOnWBigObject: Int!\n cFieldOnWBigObject: Boolean!\n dFieldOnWBigObject: Float!\n eFieldOnWBigObject: String!\n fFieldOnWBigObject: Int!\n gFieldOnWBigObject: Boolean!\n hFieldOnWBigObject: Float!\n iFieldOnWBigObject: String!\n jFieldOnWBigObject: Int!\n kFieldOnWBigObject: Boolean!\n lFieldOnWBigObject: Float!\n mFieldOnWBigObject: String!\n nFieldOnWBigObject: Int!\n oFieldOnWBigObject: Boolean!\n pFieldOnWBigObject: Float!\n qFieldOnWBigObject: String!\n rFieldOnWBigObject: Int!\n sFieldOnWBigObject: Boolean!\n tFieldOnWBigObject: Float!\n uFieldOnWBigObject: String!\n vFieldOnWBigObject: Int!\n wFieldOnWBigObject: Boolean!\n xFieldOnWBigObject: Float!\n yFieldOnWBigObject: String!\n zFieldOnWBigObject: Int!\n}\n\ntype XBigObject {\n aFieldOnXBigObject: String!\n bFieldOnXBigObject: Int!\n cFieldOnXBigObject: Boolean!\n dFieldOnXBigObject: Float!\n eFieldOnXBigObject: String!\n fFieldOnXBigObject: Int!\n gFieldOnXBigObject: Boolean!\n hFieldOnXBigObject: Float!\n iFieldOnXBigObject: String!\n jFieldOnXBigObject: Int!\n kFieldOnXBigObject: Boolean!\n lFieldOnXBigObject: Float!\n mFieldOnXBigObject: String!\n nFieldOnXBigObject: Int!\n oFieldOnXBigObject: Boolean!\n pFieldOnXBigObject: Float!\n qFieldOnXBigObject: String!\n rFieldOnXBigObject: Int!\n sFieldOnXBigObject: Boolean!\n tFieldOnXBigObject: Float!\n uFieldOnXBigObject: String!\n vFieldOnXBigObject: Int!\n wFieldOnXBigObject: Boolean!\n xFieldOnXBigObject: Float!\n yFieldOnXBigObject: String!\n zFieldOnXBigObject: Int!\n}\n\ntype YBigObject {\n aFieldOnYBigObject: String!\n bFieldOnYBigObject: Int!\n cFieldOnYBigObject: Boolean!\n dFieldOnYBigObject: Float!\n eFieldOnYBigObject: String!\n fFieldOnYBigObject: Int!\n gFieldOnYBigObject: Boolean!\n hFieldOnYBigObject: Float!\n iFieldOnYBigObject: String!\n jFieldOnYBigObject: Int!\n kFieldOnYBigObject: Boolean!\n lFieldOnYBigObject: Float!\n mFieldOnYBigObject: String!\n nFieldOnYBigObject: Int!\n oFieldOnYBigObject: Boolean!\n pFieldOnYBigObject: Float!\n qFieldOnYBigObject: String!\n rFieldOnYBigObject: Int!\n sFieldOnYBigObject: Boolean!\n tFieldOnYBigObject: Float!\n uFieldOnYBigObject: String!\n vFieldOnYBigObject: Int!\n wFieldOnYBigObject: Boolean!\n xFieldOnYBigObject: Float!\n yFieldOnYBigObject: String!\n zFieldOnYBigObject: Int!\n}\n\ntype ZBigObject {\n aFieldOnZBigObject: String!\n bFieldOnZBigObject: Int!\n cFieldOnZBigObject: Boolean!\n dFieldOnZBigObject: Float!\n eFieldOnZBigObject: String!\n fFieldOnZBigObject: Int!\n gFieldOnZBigObject: Boolean!\n hFieldOnZBigObject: Float!\n iFieldOnZBigObject: String!\n jFieldOnZBigObject: Int!\n kFieldOnZBigObject: Boolean!\n lFieldOnZBigObject: Float!\n mFieldOnZBigObject: String!\n nFieldOnZBigObject: Int!\n oFieldOnZBigObject: Boolean!\n pFieldOnZBigObject: Float!\n qFieldOnZBigObject: String!\n rFieldOnZBigObject: Int!\n sFieldOnZBigObject: Boolean!\n tFieldOnZBigObject: Float!\n uFieldOnZBigObject: String!\n vFieldOnZBigObject: Int!\n wFieldOnZBigObject: Boolean!\n xFieldOnZBigObject: Float!\n yFieldOnZBigObject: String!\n zFieldOnZBigObject: Int!\n}\n\ntype Engineer implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n engineerType: EngineerType!\n}\n\ntype Marketer implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n}\n\ntype Operator implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n operatorType: [OperationType!]!\n}\n\ntype Employee implements Identifiable {\n details: Details\n id: Int!\n tag: String!\n role: RoleType!\n notes: String\n updatedAt: String!\n startDate: String! @requiresScopes(scopes: [[\"read:employee\", \"read:private\"], [\"read:all\"]])\n currentMood: Mood!\n derivedMood: Mood!\n isAvailable: Boolean\n rootFieldThrowsError: String\n rootFieldErrorWrapper: ErrorWrapper\n hobbies: [Hobby!]\n products: [ProductName!]!\n productCount: Int!\n fieldThrowsError: String\n}\n\ntype Cosmo implements IProduct {\n upc: ID!\n engineers: [Employee!]!\n lead: Employee!\n isLeadAvailable: Boolean\n name: ProductName!\n repositoryURL: String!\n}\n\ntype SDK implements IProduct {\n upc: ID!\n engineers: [Employee!]!\n owner: Employee!\n unicode: String!\n clientLanguages: [ProgrammingLanguage!]!\n}\n\ninterface Pet implements Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Alligator implements Pet & Animal {\n class: Class!\n dangerous: String!\n gender: Gender!\n name: String!\n}\n\ntype Cat implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n type: CatType!\n}\n\ntype Dog implements Pet & Animal {\n breed: DogBreed!\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Mouse implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Pony implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Exercise implements Hobby {\n employees: [Employee!]!\n category: ExerciseType!\n}\n\ntype Flying implements Experience & Hobby {\n employees: [Employee!]!\n planeModels: [String!]!\n yearsOfExperience: Float!\n}\n\ntype Gaming implements Experience & Hobby {\n employees: [Employee!]!\n genres: [GameGenre!]!\n name: String!\n yearsOfExperience: Float!\n}\n\ntype Other implements Hobby {\n employees: [Employee!]!\n name: String!\n}\n\ntype Programming implements Hobby {\n employees: [Employee!]!\n languages: [ProgrammingLanguage!]!\n}\n\ntype Travelling implements Hobby {\n employees: [Employee!]!\n countriesLived: [Country!]!\n}\n\ntype DirectiveFact implements TopSecretFact @authenticated {\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype EntityFact implements TopSecretFact @requiresScopes(scopes: [[\"read:entity\"]]) {\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype MiscellaneousFact implements TopSecretFact {\n title: String!\n description: FactContent! @requiresScopes(scopes: [[\"read:miscellaneous\"]])\n factType: TopSecretFactType\n}", + "stringStorage": { + "73e7c8ef50d3dc0c5d564e34702baf455be9cee3": "schema {\n query: Query\n mutation: Mutation\n subscription: Subscription\n}\n\ndirective @external on FIELD_DEFINITION | OBJECT\n\ndirective @goField(forceResolver: Boolean, name: String, omittable: Boolean) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ndirective @openfed__requireFetchReasons repeatable on FIELD_DEFINITION | INTERFACE | OBJECT\n\ndirective @requires(fields: openfed__FieldSet!) on FIELD_DEFINITION\n\ndirective @requiresScopes(scopes: [[openfed__Scope!]!]!) on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR\n\ndirective @shareable repeatable on FIELD_DEFINITION | OBJECT\n\ndirective @tag(name: String!) repeatable on ARGUMENT_DEFINITION | ENUM | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION\n\ntype City {\n country: Country\n name: String!\n type: String!\n}\n\ntype Consultancy @key(fields: \"upc\") {\n isLeadAvailable: Boolean @requires(fields: \"lead { isAvailable }\")\n lead: Employee!\n upc: ID!\n}\n\ntype Cosmo implements IProduct @key(fields: \"upc\") {\n engineers: [Employee!]!\n isLeadAvailable: Boolean @requires(fields: \"lead { isAvailable }\")\n lead: Employee!\n upc: ID!\n}\n\ntype Country @key(fields: \"key { name }\", resolvable: false) {\n key: CountryKey!\n}\n\ntype CountryKey {\n name: String!\n}\n\ninput DeeplyNestedFileUpload {\n file: Upload!\n}\n\nenum Department {\n ENGINEERING\n MARKETING\n OPERATIONS\n}\n\ntype Details {\n forename: String! @shareable\n location: Country!\n pastLocations: [City!]!\n surname: String! @shareable\n}\n\ntype Employee implements Identifiable @key(fields: \"id\") {\n currentMood: Mood! @external\n derivedMood: Mood! @requires(fields: \"currentMood\")\n details: Details! @shareable\n id: Int!\n isAvailable: Boolean @external\n notes: String @shareable\n role: RoleType!\n rootFieldErrorWrapper: ErrorWrapper @goField(forceResolver: true)\n rootFieldThrowsError: String @goField(forceResolver: true)\n startDate: String! @requiresScopes(scopes: [[\"read:employee\", \"read:private\"], [\"read:all\"]])\n tag: String!\n updatedAt: String!\n}\n\ntype Engineer implements RoleType {\n departments: [Department!]!\n employees: [Employee!]! @goField(forceResolver: true)\n engineerType: EngineerType!\n title: [String!]!\n}\n\nenum EngineerType {\n BACKEND\n FRONTEND\n FULLSTACK\n}\n\ntype ErrorWrapper {\n errorField: String @goField(forceResolver: true)\n okField: String\n}\n\ninput FileUpload {\n nested: DeeplyNestedFileUpload\n nestedList: [Upload!]\n}\n\ninput FindEmployeeCriteria @oneOf {\n department: Department\n id: Int\n title: String\n}\n\ninterface IProduct {\n engineers: [Employee!]!\n upc: ID!\n}\n\ninterface Identifiable {\n id: Int! @openfed__requireFetchReasons\n}\n\ntype Marketer implements RoleType {\n departments: [Department!]!\n employees: [Employee!]! @goField(forceResolver: true)\n title: [String!]!\n}\n\nenum Mood {\n HAPPY\n SAD\n}\n\ntype Mutation {\n multipleUpload(files: [Upload!]!): Boolean!\n singleUpload(file: Upload!): Boolean!\n singleUploadWithInput(arg: FileUpload!): Boolean!\n updateEmployeeTag(id: Int!, tag: String!): Employee\n}\n\nenum OperationType {\n FINANCE\n HUMAN_RESOURCES\n}\n\ntype Operator implements RoleType {\n departments: [Department!]!\n employees: [Employee!]! @goField(forceResolver: true)\n operatorType: [OperationType!]!\n title: [String!]!\n}\n\nunion Products = Consultancy | Cosmo | SDK\n\ntype Query {\n employee(id: Int!): Employee @openfed__requireFetchReasons\n employeeAsList(id: Int!): [Employee]\n employees: [Employee]\n findEmployeesBy(criteria: FindEmployeeCriteria!): [Employee!]!\n firstEmployee: Employee! @tag(name: \"internal\")\n products: [Products!]!\n teammates(team: Department!): [Employee!]!\n}\n\ninterface RoleType {\n departments: [Department!]!\n employees: [Employee!]! @goField(forceResolver: true)\n title: [String!]!\n}\n\ntype SDK implements IProduct @key(fields: \"upc\") {\n engineers: [Employee!]!\n owner: Employee!\n unicode: String!\n upc: ID!\n}\n\ntype Subscription {\n countEmp(intervalMilliseconds: Int!, max: Int!): Int!\n countEmp2(intervalMilliseconds: Int!, max: Int!): Int!\n countFor(count: Int!): Int!\n \"\"\"`currentTime` will return a stream of `Time` objects.\"\"\"\n currentTime: Time!\n}\n\ntype Time {\n timeStamp: String!\n unixTime: Int!\n}\n\nscalar Upload\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet\n\nscalar openfed__Scope", + "2265a44afac63dcf9da5f7ee5ff35c7a6dc8adff": "schema {\n query: Query\n}\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ndirective @shareable repeatable on FIELD_DEFINITION | OBJECT\n\ntype Alligator implements Animal & Pet {\n class: Class!\n dangerous: String!\n gender: Gender!\n name: String!\n}\n\ninterface Animal {\n class: Class!\n gender: Gender!\n}\n\ntype Cat implements Animal & Pet {\n class: Class!\n gender: Gender!\n name: String!\n type: CatType!\n}\n\nenum CatType {\n HOME\n STREET\n}\n\nenum Class {\n FISH\n MAMMAL\n REPTILE\n}\n\ntype Details {\n forename: String! @shareable\n hasChildren: Boolean!\n maritalStatus: MaritalStatus\n middlename: String @deprecated(reason: \"No longer supported\")\n nationality: Nationality!\n pets: [Pet]\n surname: String! @shareable\n}\n\ntype Dog implements Animal & Pet {\n breed: DogBreed!\n class: Class!\n gender: Gender!\n name: String!\n}\n\nenum DogBreed {\n GOLDEN_RETRIEVER\n POODLE\n ROTTWEILER\n YORKSHIRE_TERRIER\n}\n\ntype Employee @key(fields: \"id\") {\n details: Details @shareable\n id: Int!\n}\n\nenum Gender {\n FEMALE\n MALE\n UNKNOWN\n}\n\nenum MaritalStatus {\n ENGAGED\n MARRIED\n}\n\ntype Mouse implements Animal & Pet {\n class: Class!\n gender: Gender!\n name: String!\n}\n\nenum Nationality {\n AMERICAN\n DUTCH\n ENGLISH\n GERMAN\n INDIAN\n SPANISH\n UKRAINIAN\n}\n\ninput NestedSearchInput {\n hasChildren: Boolean\n maritalStatus: MaritalStatus\n}\n\ninterface Pet implements Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Pony implements Animal & Pet {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Query {\n \"\"\" This is a GraphQL query that retrieves a list of employees.\"\"\"\n findEmployees(criteria: SearchInput): [Employee!]!\n}\n\n\"\"\" Allows to filter employees by their details. \"\"\"\ninput SearchInput {\n hasPets: Boolean\n nationality: Nationality\n nested: NestedSearchInput\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet", + "6f2131dd12f912ee7f5a965938039527994be676": "schema {\n subscription: Subscription\n}\n\ndirective @goField(forceResolver: Boolean, name: String, omittable: Boolean) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ntype Country @key(fields: \"key { name }\", resolvable: false) {\n key: CountryKey!\n}\n\ntype CountryKey {\n name: String!\n}\n\ntype Employee @key(fields: \"id\") {\n hobbies: [Hobby!]\n id: Int!\n}\n\ntype Exercise implements Hobby {\n category: ExerciseType!\n employees: [Employee!]! @goField(forceResolver: true)\n}\n\nenum ExerciseType {\n CALISTHENICS\n HIKING\n SPORT\n STRENGTH_TRAINING\n}\n\ninterface Experience {\n yearsOfExperience: Float!\n}\n\ntype Flying implements Experience & Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n planeModels: [String!]!\n yearsOfExperience: Float!\n}\n\nenum GameGenre {\n ADVENTURE\n BOARD\n CARD\n FPS\n ROGUELITE\n RPG\n SIMULATION\n STRATEGY\n}\n\ntype Gaming implements Experience & Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n genres: [GameGenre!]!\n name: String!\n yearsOfExperience: Float!\n}\n\ninterface Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n}\n\ntype Other implements Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n name: String!\n}\n\ntype Programming implements Hobby {\n employees: [Employee!]! @goField(forceResolver: true)\n languages: [ProgrammingLanguage!]!\n}\n\nenum ProgrammingLanguage {\n CSHARP\n GO\n RUST\n TYPESCRIPT\n}\n\ntype SDK @key(fields: \"upc\") {\n clientLanguages: [ProgrammingLanguage!]!\n upc: ID!\n}\n\ntype Subscription {\n countHob(intervalMilliseconds: Int!, max: Int!): Int!\n}\n\ntype Travelling implements Hobby {\n countriesLived: [Country!]!\n employees: [Employee!]! @goField(forceResolver: true)\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet", + "ae2f1af7c0ba46587f3fd229d25cb8e78212f91f": "schema @link(url: \"https://specs.apollo.dev/federation/v2.5\", import: [\"@authenticated\", \"@composeDirective\", \"@external\", \"@extends\", \"@inaccessible\", \"@interfaceObject\", \"@override\", \"@provides\", \"@key\", \"@requires\", \"@requiresScopes\", \"@shareable\", \"@tag\"]) {\n query: Queries\n mutation: Mutation\n}\n\ndirective @authenticated on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ndirective @override(from: String!) on FIELD_DEFINITION\n\ndirective @requiresScopes(scopes: [[openfed__Scope!]!]!) on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR\n\ntype Consultancy @key(fields: \"upc\") {\n name: ProductName!\n upc: ID!\n}\n\ntype Cosmo @key(fields: \"upc\") {\n name: ProductName!\n repositoryURL: String!\n upc: ID!\n}\n\ntype DirectiveFact implements TopSecretFact @authenticated {\n description: FactContent!\n factType: TopSecretFactType\n title: String!\n}\n\ntype Documentation {\n url(product: ProductName!): String!\n urls(products: [ProductName!]!): [String!]!\n}\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n notes: String @override(from: \"employees\")\n productCount: Int!\n products: [ProductName!]!\n}\n\ntype EntityFact implements TopSecretFact @requiresScopes(scopes: [[\"read:entity\"]]) {\n description: FactContent!\n factType: TopSecretFactType\n title: String!\n}\n\nscalar FactContent @requiresScopes(scopes: [[\"read:scalar\"], [\"read:all\"]])\n\ntype MiscellaneousFact implements TopSecretFact {\n description: FactContent! @requiresScopes(scopes: [[\"read:miscellaneous\"]])\n factType: TopSecretFactType\n title: String!\n}\n\ntype Mutation {\n addFact(fact: TopSecretFactInput!): TopSecretFact! @requiresScopes(scopes: [[\"write:fact\"], [\"write:all\"]])\n}\n\nenum ProductName {\n CONSULTANCY\n COSMO\n ENGINE\n FINANCE\n HUMAN_RESOURCES\n MARKETING\n SDK\n}\n\nunion Products = Consultancy | Cosmo | Documentation\n\ntype Queries {\n factTypes: [TopSecretFactType!]\n productTypes: [Products!]!\n topSecretFederationFacts: [TopSecretFact!]! @requiresScopes(scopes: [[\"read:fact\"], [\"read:all\"]])\n}\n\ninterface TopSecretFact @authenticated {\n description: FactContent!\n factType: TopSecretFactType\n}\n\ninput TopSecretFactInput {\n description: FactContent!\n factType: TopSecretFactType!\n title: String!\n}\n\nenum TopSecretFactType @authenticated {\n DIRECTIVE\n ENTITY\n MISCELLANEOUS\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet\n\nscalar openfed__Scope", + "5c5a237ac1f0c1d67ae52534584ee8116d4cc474": "schema {\n query: Query\n subscription: Subscription\n}\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ndirective @requiresScopes(scopes: [[openfed__Scope!]!]!) on ENUM | FIELD_DEFINITION | INTERFACE | OBJECT | SCALAR\n\ndirective @shareable repeatable on FIELD_DEFINITION | OBJECT\n\ntype ABigObject {\n aFieldOnABigObject: String!\n bFieldOnABigObject: Int!\n cFieldOnABigObject: Boolean!\n dFieldOnABigObject: Float!\n eFieldOnABigObject: String!\n fFieldOnABigObject: Int!\n gFieldOnABigObject: Boolean!\n hFieldOnABigObject: Float!\n iFieldOnABigObject: String!\n jFieldOnABigObject: Int!\n kFieldOnABigObject: Boolean!\n lFieldOnABigObject: Float!\n mFieldOnABigObject: String!\n nFieldOnABigObject: Int!\n oFieldOnABigObject: Boolean!\n pFieldOnABigObject: Float!\n qFieldOnABigObject: String!\n rFieldOnABigObject: Int!\n sFieldOnABigObject: Boolean!\n tFieldOnABigObject: Float!\n uFieldOnABigObject: String!\n vFieldOnABigObject: Int!\n wFieldOnABigObject: Boolean!\n xFieldOnABigObject: Float!\n yFieldOnABigObject: String!\n zFieldOnABigObject: Int!\n}\n\ntype BBigObject {\n aFieldOnBBigObject: String!\n bFieldOnBBigObject: Int!\n cFieldOnBBigObject: Boolean!\n dFieldOnBBigObject: Float!\n eFieldOnBBigObject: String!\n fFieldOnBBigObject: Int!\n gFieldOnBBigObject: Boolean!\n hFieldOnBBigObject: Float!\n iFieldOnBBigObject: String!\n jFieldOnBBigObject: Int!\n kFieldOnBBigObject: Boolean!\n lFieldOnBBigObject: Float!\n mFieldOnBBigObject: String!\n nFieldOnBBigObject: Int!\n oFieldOnBBigObject: Boolean!\n pFieldOnBBigObject: Float!\n qFieldOnBBigObject: String!\n rFieldOnBBigObject: Int!\n sFieldOnBBigObject: Boolean!\n tFieldOnBBigObject: Float!\n uFieldOnBBigObject: String!\n vFieldOnBBigObject: Int!\n wFieldOnBBigObject: Boolean!\n xFieldOnBBigObject: Float!\n yFieldOnBBigObject: String!\n zFieldOnBBigObject: Int!\n}\n\nunion BigAbstractResponse = ABigObject | BBigObject | CBigObject | DBigObject | EBigObject | FBigObject | GBigObject | HBigObject | IBigObject | JBigObject | KBigObject | LBigObject | MBigObject | NBigObject | OBigObject | PBigObject | QBigObject | RBigObject | SBigObject | TBigObject | UBigObject | VBigObject | WBigObject | XBigObject | YBigObject | ZBigObject\n\ntype BigObject {\n nestedObjects: [NestedObject!]!\n}\n\ntype CBigObject {\n aFieldOnCBigObject: String!\n bFieldOnCBigObject: Int!\n cFieldOnCBigObject: Boolean!\n dFieldOnCBigObject: Float!\n eFieldOnCBigObject: String!\n fFieldOnCBigObject: Int!\n gFieldOnCBigObject: Boolean!\n hFieldOnCBigObject: Float!\n iFieldOnCBigObject: String!\n jFieldOnCBigObject: Int!\n kFieldOnCBigObject: Boolean!\n lFieldOnCBigObject: Float!\n mFieldOnCBigObject: String!\n nFieldOnCBigObject: Int!\n oFieldOnCBigObject: Boolean!\n pFieldOnCBigObject: Float!\n qFieldOnCBigObject: String!\n rFieldOnCBigObject: Int!\n sFieldOnCBigObject: Boolean!\n tFieldOnCBigObject: Float!\n uFieldOnCBigObject: String!\n vFieldOnCBigObject: Int!\n wFieldOnCBigObject: Boolean!\n xFieldOnCBigObject: Float!\n yFieldOnCBigObject: String!\n zFieldOnCBigObject: Int!\n}\n\ntype DBigObject {\n aFieldOnDBigObject: String!\n bFieldOnDBigObject: Int!\n cFieldOnDBigObject: Boolean!\n dFieldOnDBigObject: Float!\n eFieldOnDBigObject: String!\n fFieldOnDBigObject: Int!\n gFieldOnDBigObject: Boolean!\n hFieldOnDBigObject: Float!\n iFieldOnDBigObject: String!\n jFieldOnDBigObject: Int!\n kFieldOnDBigObject: Boolean!\n lFieldOnDBigObject: Float!\n mFieldOnDBigObject: String!\n nFieldOnDBigObject: Int!\n oFieldOnDBigObject: Boolean!\n pFieldOnDBigObject: Float!\n qFieldOnDBigObject: String!\n rFieldOnDBigObject: Int!\n sFieldOnDBigObject: Boolean!\n tFieldOnDBigObject: Float!\n uFieldOnDBigObject: String!\n vFieldOnDBigObject: Int!\n wFieldOnDBigObject: Boolean!\n xFieldOnDBigObject: Float!\n yFieldOnDBigObject: String!\n zFieldOnDBigObject: Int!\n}\n\ntype DeeplyNestedObject {\n aFieldOnDeeplyNestedObject: String!\n bFieldOnDeeplyNestedObject: Int!\n cFieldOnDeeplyNestedObject: Boolean!\n dFieldOnDeeplyNestedObject: Float!\n eFieldOnDeeplyNestedObject: String!\n fFieldOnDeeplyNestedObject: Int!\n gFieldOnDeeplyNestedObject: Boolean!\n hFieldOnDeeplyNestedObject: Float!\n iFieldOnDeeplyNestedObject: String!\n jFieldOnDeeplyNestedObject: Int!\n kFieldOnDeeplyNestedObject: Boolean!\n lFieldOnDeeplyNestedObject: Float!\n mFieldOnDeeplyNestedObject: String!\n nFieldOnDeeplyNestedObject: Int!\n oFieldOnDeeplyNestedObject: Boolean!\n pFieldOnDeeplyNestedObject: Float!\n qFieldOnDeeplyNestedObject: String!\n rFieldOnDeeplyNestedObject: Int!\n sFieldOnDeeplyNestedObject: Boolean!\n tFieldOnDeeplyNestedObject: Float!\n uFieldOnDeeplyNestedObject: String!\n vFieldOnDeeplyNestedObject: Int!\n wFieldOnDeeplyNestedObject: Boolean!\n xFieldOnDeeplyNestedObject: Float!\n yFieldOnDeeplyNestedObject: String!\n zFieldOnDeeplyNestedObject: Int!\n}\n\ntype EBigObject {\n aFieldOnEBigObject: String!\n bFieldOnEBigObject: Int!\n cFieldOnEBigObject: Boolean!\n dFieldOnEBigObject: Float!\n eFieldOnEBigObject: String!\n fFieldOnEBigObject: Int!\n gFieldOnEBigObject: Boolean!\n hFieldOnEBigObject: Float!\n iFieldOnEBigObject: String!\n jFieldOnEBigObject: Int!\n kFieldOnEBigObject: Boolean!\n lFieldOnEBigObject: Float!\n mFieldOnEBigObject: String!\n nFieldOnEBigObject: Int!\n oFieldOnEBigObject: Boolean!\n pFieldOnEBigObject: Float!\n qFieldOnEBigObject: String!\n rFieldOnEBigObject: Int!\n sFieldOnEBigObject: Boolean!\n tFieldOnEBigObject: Float!\n uFieldOnEBigObject: String!\n vFieldOnEBigObject: Int!\n wFieldOnEBigObject: Boolean!\n xFieldOnEBigObject: Float!\n yFieldOnEBigObject: String!\n zFieldOnEBigObject: Int!\n}\n\ntype Employee @key(fields: \"id\") {\n fieldThrowsError: String\n id: Int!\n}\n\nenum EnumType {\n A\n B\n C\n}\n\ntype FBigObject {\n aFieldOnFBigObject: String!\n bFieldOnFBigObject: Int!\n cFieldOnFBigObject: Boolean!\n dFieldOnFBigObject: Float!\n eFieldOnFBigObject: String!\n fFieldOnFBigObject: Int!\n gFieldOnFBigObject: Boolean!\n hFieldOnFBigObject: Float!\n iFieldOnFBigObject: String!\n jFieldOnFBigObject: Int!\n kFieldOnFBigObject: Boolean!\n lFieldOnFBigObject: Float!\n mFieldOnFBigObject: String!\n nFieldOnFBigObject: Int!\n oFieldOnFBigObject: Boolean!\n pFieldOnFBigObject: Float!\n qFieldOnFBigObject: String!\n rFieldOnFBigObject: Int!\n sFieldOnFBigObject: Boolean!\n tFieldOnFBigObject: Float!\n uFieldOnFBigObject: String!\n vFieldOnFBigObject: Int!\n wFieldOnFBigObject: Boolean!\n xFieldOnFBigObject: Float!\n yFieldOnFBigObject: String!\n zFieldOnFBigObject: Int!\n}\n\ntype GBigObject {\n aFieldOnGBigObject: String!\n bFieldOnGBigObject: Int!\n cFieldOnGBigObject: Boolean!\n dFieldOnGBigObject: Float!\n eFieldOnGBigObject: String!\n fFieldOnGBigObject: Int!\n gFieldOnGBigObject: Boolean!\n hFieldOnGBigObject: Float!\n iFieldOnGBigObject: String!\n jFieldOnGBigObject: Int!\n kFieldOnGBigObject: Boolean!\n lFieldOnGBigObject: Float!\n mFieldOnGBigObject: String!\n nFieldOnGBigObject: Int!\n oFieldOnGBigObject: Boolean!\n pFieldOnGBigObject: Float!\n qFieldOnGBigObject: String!\n rFieldOnGBigObject: Int!\n sFieldOnGBigObject: Boolean!\n tFieldOnGBigObject: Float!\n uFieldOnGBigObject: String!\n vFieldOnGBigObject: Int!\n wFieldOnGBigObject: Boolean!\n xFieldOnGBigObject: Float!\n yFieldOnGBigObject: String!\n zFieldOnGBigObject: Int!\n}\n\ntype HBigObject {\n aFieldOnHBigObject: String!\n bFieldOnHBigObject: Int!\n cFieldOnHBigObject: Boolean!\n dFieldOnHBigObject: Float!\n eFieldOnHBigObject: String!\n fFieldOnHBigObject: Int!\n gFieldOnHBigObject: Boolean!\n hFieldOnHBigObject: Float!\n iFieldOnHBigObject: String!\n jFieldOnHBigObject: Int!\n kFieldOnHBigObject: Boolean!\n lFieldOnHBigObject: Float!\n mFieldOnHBigObject: String!\n nFieldOnHBigObject: Int!\n oFieldOnHBigObject: Boolean!\n pFieldOnHBigObject: Float!\n qFieldOnHBigObject: String!\n rFieldOnHBigObject: Int!\n sFieldOnHBigObject: Boolean!\n tFieldOnHBigObject: Float!\n uFieldOnHBigObject: String!\n vFieldOnHBigObject: Int!\n wFieldOnHBigObject: Boolean!\n xFieldOnHBigObject: Float!\n yFieldOnHBigObject: String!\n zFieldOnHBigObject: Int!\n}\n\ntype IBigObject {\n aFieldOnIBigObject: String!\n bFieldOnIBigObject: Int!\n cFieldOnIBigObject: Boolean!\n dFieldOnIBigObject: Float!\n eFieldOnIBigObject: String!\n fFieldOnIBigObject: Int!\n gFieldOnIBigObject: Boolean!\n hFieldOnIBigObject: Float!\n iFieldOnIBigObject: String!\n jFieldOnIBigObject: Int!\n kFieldOnIBigObject: Boolean!\n lFieldOnIBigObject: Float!\n mFieldOnIBigObject: String!\n nFieldOnIBigObject: Int!\n oFieldOnIBigObject: Boolean!\n pFieldOnIBigObject: Float!\n qFieldOnIBigObject: String!\n rFieldOnIBigObject: Int!\n sFieldOnIBigObject: Boolean!\n tFieldOnIBigObject: Float!\n uFieldOnIBigObject: String!\n vFieldOnIBigObject: Int!\n wFieldOnIBigObject: Boolean!\n xFieldOnIBigObject: Float!\n yFieldOnIBigObject: String!\n zFieldOnIBigObject: Int!\n}\n\ninput InputArg {\n enum: EnumType\n enums: [EnumType!]\n string: String\n strings: [String!]\n}\n\ntype InputResponse {\n arg: String!\n}\n\ninput InputType {\n arg: String!\n}\n\ntype JBigObject {\n aFieldOnJBigObject: String!\n bFieldOnJBigObject: Int!\n cFieldOnJBigObject: Boolean!\n dFieldOnJBigObject: Float!\n eFieldOnJBigObject: String!\n fFieldOnJBigObject: Int!\n gFieldOnJBigObject: Boolean!\n hFieldOnJBigObject: Float!\n iFieldOnJBigObject: String!\n jFieldOnJBigObject: Int!\n kFieldOnJBigObject: Boolean!\n lFieldOnJBigObject: Float!\n mFieldOnJBigObject: String!\n nFieldOnJBigObject: Int!\n oFieldOnJBigObject: Boolean!\n pFieldOnJBigObject: Float!\n qFieldOnJBigObject: String!\n rFieldOnJBigObject: Int!\n sFieldOnJBigObject: Boolean!\n tFieldOnJBigObject: Float!\n uFieldOnJBigObject: String!\n vFieldOnJBigObject: Int!\n wFieldOnJBigObject: Boolean!\n xFieldOnJBigObject: Float!\n yFieldOnJBigObject: String!\n zFieldOnJBigObject: Int!\n}\n\ntype KBigObject {\n aFieldOnKBigObject: String!\n bFieldOnKBigObject: Int!\n cFieldOnKBigObject: Boolean!\n dFieldOnKBigObject: Float!\n eFieldOnKBigObject: String!\n fFieldOnKBigObject: Int!\n gFieldOnKBigObject: Boolean!\n hFieldOnKBigObject: Float!\n iFieldOnKBigObject: String!\n jFieldOnKBigObject: Int!\n kFieldOnKBigObject: Boolean!\n lFieldOnKBigObject: Float!\n mFieldOnKBigObject: String!\n nFieldOnKBigObject: Int!\n oFieldOnKBigObject: Boolean!\n pFieldOnKBigObject: Float!\n qFieldOnKBigObject: String!\n rFieldOnKBigObject: Int!\n sFieldOnKBigObject: Boolean!\n tFieldOnKBigObject: Float!\n uFieldOnKBigObject: String!\n vFieldOnKBigObject: Int!\n wFieldOnKBigObject: Boolean!\n xFieldOnKBigObject: Float!\n yFieldOnKBigObject: String!\n zFieldOnKBigObject: Int!\n}\n\ntype LBigObject {\n aFieldOnLBigObject: String!\n bFieldOnLBigObject: Int!\n cFieldOnLBigObject: Boolean!\n dFieldOnLBigObject: Float!\n eFieldOnLBigObject: String!\n fFieldOnLBigObject: Int!\n gFieldOnLBigObject: Boolean!\n hFieldOnLBigObject: Float!\n iFieldOnLBigObject: String!\n jFieldOnLBigObject: Int!\n kFieldOnLBigObject: Boolean!\n lFieldOnLBigObject: Float!\n mFieldOnLBigObject: String!\n nFieldOnLBigObject: Int!\n oFieldOnLBigObject: Boolean!\n pFieldOnLBigObject: Float!\n qFieldOnLBigObject: String!\n rFieldOnLBigObject: Int!\n sFieldOnLBigObject: Boolean!\n tFieldOnLBigObject: Float!\n uFieldOnLBigObject: String!\n vFieldOnLBigObject: Int!\n wFieldOnLBigObject: Boolean!\n xFieldOnLBigObject: Float!\n yFieldOnLBigObject: String!\n zFieldOnLBigObject: Int!\n}\n\ntype MBigObject {\n aFieldOnMBigObject: String!\n bFieldOnMBigObject: Int!\n cFieldOnMBigObject: Boolean!\n dFieldOnMBigObject: Float!\n eFieldOnMBigObject: String!\n fFieldOnMBigObject: Int!\n gFieldOnMBigObject: Boolean!\n hFieldOnMBigObject: Float!\n iFieldOnMBigObject: String!\n jFieldOnMBigObject: Int!\n kFieldOnMBigObject: Boolean!\n lFieldOnMBigObject: Float!\n mFieldOnMBigObject: String!\n nFieldOnMBigObject: Int!\n oFieldOnMBigObject: Boolean!\n pFieldOnMBigObject: Float!\n qFieldOnMBigObject: String!\n rFieldOnMBigObject: Int!\n sFieldOnMBigObject: Boolean!\n tFieldOnMBigObject: Float!\n uFieldOnMBigObject: String!\n vFieldOnMBigObject: Int!\n wFieldOnMBigObject: Boolean!\n xFieldOnMBigObject: Float!\n yFieldOnMBigObject: String!\n zFieldOnMBigObject: Int!\n}\n\nscalar Map\n\ntype NBigObject {\n aFieldOnNBigObject: String!\n bFieldOnNBigObject: Int!\n cFieldOnNBigObject: Boolean!\n dFieldOnNBigObject: Float!\n eFieldOnNBigObject: String!\n fFieldOnNBigObject: Int!\n gFieldOnNBigObject: Boolean!\n hFieldOnNBigObject: Float!\n iFieldOnNBigObject: String!\n jFieldOnNBigObject: Int!\n kFieldOnNBigObject: Boolean!\n lFieldOnNBigObject: Float!\n mFieldOnNBigObject: String!\n nFieldOnNBigObject: Int!\n oFieldOnNBigObject: Boolean!\n pFieldOnNBigObject: Float!\n qFieldOnNBigObject: String!\n rFieldOnNBigObject: Int!\n sFieldOnNBigObject: Boolean!\n tFieldOnNBigObject: Float!\n uFieldOnNBigObject: String!\n vFieldOnNBigObject: Int!\n wFieldOnNBigObject: Boolean!\n xFieldOnNBigObject: Float!\n yFieldOnNBigObject: String!\n zFieldOnNBigObject: Int!\n}\n\ntype NestedObject {\n deeplyNestedObjects: [DeeplyNestedObject!]!\n}\n\ntype OBigObject {\n aFieldOnOBigObject: String!\n bFieldOnOBigObject: Int!\n cFieldOnOBigObject: Boolean!\n dFieldOnOBigObject: Float!\n eFieldOnOBigObject: String!\n fFieldOnOBigObject: Int!\n gFieldOnOBigObject: Boolean!\n hFieldOnOBigObject: Float!\n iFieldOnOBigObject: String!\n jFieldOnOBigObject: Int!\n kFieldOnOBigObject: Boolean!\n lFieldOnOBigObject: Float!\n mFieldOnOBigObject: String!\n nFieldOnOBigObject: Int!\n oFieldOnOBigObject: Boolean!\n pFieldOnOBigObject: Float!\n qFieldOnOBigObject: String!\n rFieldOnOBigObject: Int!\n sFieldOnOBigObject: Boolean!\n tFieldOnOBigObject: Float!\n uFieldOnOBigObject: String!\n vFieldOnOBigObject: Int!\n wFieldOnOBigObject: Boolean!\n xFieldOnOBigObject: Float!\n yFieldOnOBigObject: String!\n zFieldOnOBigObject: Int!\n}\n\ntype PBigObject {\n aFieldOnPBigObject: String!\n bFieldOnPBigObject: Int!\n cFieldOnPBigObject: Boolean!\n dFieldOnPBigObject: Float!\n eFieldOnPBigObject: String!\n fFieldOnPBigObject: Int!\n gFieldOnPBigObject: Boolean!\n hFieldOnPBigObject: Float!\n iFieldOnPBigObject: String!\n jFieldOnPBigObject: Int!\n kFieldOnPBigObject: Boolean!\n lFieldOnPBigObject: Float!\n mFieldOnPBigObject: String!\n nFieldOnPBigObject: Int!\n oFieldOnPBigObject: Boolean!\n pFieldOnPBigObject: Float!\n qFieldOnPBigObject: String!\n rFieldOnPBigObject: Int!\n sFieldOnPBigObject: Boolean!\n tFieldOnPBigObject: Float!\n uFieldOnPBigObject: String!\n vFieldOnPBigObject: Int!\n wFieldOnPBigObject: Boolean!\n xFieldOnPBigObject: Float!\n yFieldOnPBigObject: String!\n zFieldOnPBigObject: Int!\n}\n\ntype QBigObject {\n aFieldOnQBigObject: String!\n bFieldOnQBigObject: Int!\n cFieldOnQBigObject: Boolean!\n dFieldOnQBigObject: Float!\n eFieldOnQBigObject: String!\n fFieldOnQBigObject: Int!\n gFieldOnQBigObject: Boolean!\n hFieldOnQBigObject: Float!\n iFieldOnQBigObject: String!\n jFieldOnQBigObject: Int!\n kFieldOnQBigObject: Boolean!\n lFieldOnQBigObject: Float!\n mFieldOnQBigObject: String!\n nFieldOnQBigObject: Int!\n oFieldOnQBigObject: Boolean!\n pFieldOnQBigObject: Float!\n qFieldOnQBigObject: String!\n rFieldOnQBigObject: Int!\n sFieldOnQBigObject: Boolean!\n tFieldOnQBigObject: Float!\n uFieldOnQBigObject: String!\n vFieldOnQBigObject: Int!\n wFieldOnQBigObject: Boolean!\n xFieldOnQBigObject: Float!\n yFieldOnQBigObject: String!\n zFieldOnQBigObject: Int!\n}\n\ntype Query {\n bigAbstractResponse: BigAbstractResponse\n bigResponse(artificialDelay: Int! = 0, bigObjects: Int! = 100, deeplyNestedObjects: Int! = 100, nestedObjects: Int! = 100): [BigObject!]!\n \"\"\"Returns response after the given delay\"\"\"\n delay(ms: Int!, response: String!): String!\n floatField(arg: Float): Float\n \"\"\"Returns the value of the received HTTP header.\"\"\"\n headerValue(name: String!): String!\n \"\"\"Returns the value of the given key in the WS initial payload.\"\"\"\n initPayloadValue(key: String!): String!\n initialPayload: Map\n longResponse(artificialDelay: Int! = 0, bytes: Int!): String\n rootFieldWithInput(arg: InputArg!): String!\n rootFieldWithListArg(arg: [String!]!): [String!]!\n rootFieldWithListOfEnumArg(arg: [EnumType!]!): [EnumType!]!\n rootFieldWithListOfInputArg(arg: [InputType!]!): [InputResponse!]!\n rootFieldWithNestedListArg(arg: [[String!]!]!): [[String!]!]!\n secret: Secret @requiresScopes(scopes: [[\"read:secret\"]])\n sharedThings(numOfA: Int!, numOfB: Int!): [Thing!]! @shareable\n}\n\ntype RBigObject {\n aFieldOnRBigObject: String!\n bFieldOnRBigObject: Int!\n cFieldOnRBigObject: Boolean!\n dFieldOnRBigObject: Float!\n eFieldOnRBigObject: String!\n fFieldOnRBigObject: Int!\n gFieldOnRBigObject: Boolean!\n hFieldOnRBigObject: Float!\n iFieldOnRBigObject: String!\n jFieldOnRBigObject: Int!\n kFieldOnRBigObject: Boolean!\n lFieldOnRBigObject: Float!\n mFieldOnRBigObject: String!\n nFieldOnRBigObject: Int!\n oFieldOnRBigObject: Boolean!\n pFieldOnRBigObject: Float!\n qFieldOnRBigObject: String!\n rFieldOnRBigObject: Int!\n sFieldOnRBigObject: Boolean!\n tFieldOnRBigObject: Float!\n uFieldOnRBigObject: String!\n vFieldOnRBigObject: Int!\n wFieldOnRBigObject: Boolean!\n xFieldOnRBigObject: Float!\n yFieldOnRBigObject: String!\n zFieldOnRBigObject: Int!\n}\n\ntype SBigObject {\n aFieldOnSBigObject: String!\n bFieldOnSBigObject: Int!\n cFieldOnSBigObject: Boolean!\n dFieldOnSBigObject: Float!\n eFieldOnSBigObject: String!\n fFieldOnSBigObject: Int!\n gFieldOnSBigObject: Boolean!\n hFieldOnSBigObject: Float!\n iFieldOnSBigObject: String!\n jFieldOnSBigObject: Int!\n kFieldOnSBigObject: Boolean!\n lFieldOnSBigObject: Float!\n mFieldOnSBigObject: String!\n nFieldOnSBigObject: Int!\n oFieldOnSBigObject: Boolean!\n pFieldOnSBigObject: Float!\n qFieldOnSBigObject: String!\n rFieldOnSBigObject: Int!\n sFieldOnSBigObject: Boolean!\n tFieldOnSBigObject: Float!\n uFieldOnSBigObject: String!\n vFieldOnSBigObject: Int!\n wFieldOnSBigObject: Boolean!\n xFieldOnSBigObject: Float!\n yFieldOnSBigObject: String!\n zFieldOnSBigObject: Int!\n}\n\ntype Secret {\n value: String\n}\n\ntype Subscription {\n \"\"\"Returns a stream with the value of the received HTTP header.\"\"\"\n headerValue(name: String!, repeat: Int): TimestampedString!\n \"\"\"\n Returns a stream with the value of value of the given key in the WS initial payload.\n \"\"\"\n initPayloadValue(key: String!, repeat: Int): TimestampedString!\n \"\"\"Returns a stream with the value of the WS initial payload.\"\"\"\n initialPayload(repeat: Int): Map\n returnsError: String\n}\n\ntype TBigObject {\n aFieldOnTBigObject: String!\n bFieldOnTBigObject: Int!\n cFieldOnTBigObject: Boolean!\n dFieldOnTBigObject: Float!\n eFieldOnTBigObject: String!\n fFieldOnTBigObject: Int!\n gFieldOnTBigObject: Boolean!\n hFieldOnTBigObject: Float!\n iFieldOnTBigObject: String!\n jFieldOnTBigObject: Int!\n kFieldOnTBigObject: Boolean!\n lFieldOnTBigObject: Float!\n mFieldOnTBigObject: String!\n nFieldOnTBigObject: Int!\n oFieldOnTBigObject: Boolean!\n pFieldOnTBigObject: Float!\n qFieldOnTBigObject: String!\n rFieldOnTBigObject: Int!\n sFieldOnTBigObject: Boolean!\n tFieldOnTBigObject: Float!\n uFieldOnTBigObject: String!\n vFieldOnTBigObject: Int!\n wFieldOnTBigObject: Boolean!\n xFieldOnTBigObject: Float!\n yFieldOnTBigObject: String!\n zFieldOnTBigObject: Int!\n}\n\ntype Thing {\n b: String! @shareable\n}\n\ntype TimestampedString {\n initialPayload: Map\n \"\"\"Sequence number\"\"\"\n seq: Int!\n \"\"\"Total number of responses to be sent\"\"\"\n total: Int!\n \"\"\"The timestamp when the response was generated.\"\"\"\n unixTime: Int!\n \"\"\"The value of the string.\"\"\"\n value: String!\n}\n\ntype UBigObject {\n aFieldOnUBigObject: String!\n bFieldOnUBigObject: Int!\n cFieldOnUBigObject: Boolean!\n dFieldOnUBigObject: Float!\n eFieldOnUBigObject: String!\n fFieldOnUBigObject: Int!\n gFieldOnUBigObject: Boolean!\n hFieldOnUBigObject: Float!\n iFieldOnUBigObject: String!\n jFieldOnUBigObject: Int!\n kFieldOnUBigObject: Boolean!\n lFieldOnUBigObject: Float!\n mFieldOnUBigObject: String!\n nFieldOnUBigObject: Int!\n oFieldOnUBigObject: Boolean!\n pFieldOnUBigObject: Float!\n qFieldOnUBigObject: String!\n rFieldOnUBigObject: Int!\n sFieldOnUBigObject: Boolean!\n tFieldOnUBigObject: Float!\n uFieldOnUBigObject: String!\n vFieldOnUBigObject: Int!\n wFieldOnUBigObject: Boolean!\n xFieldOnUBigObject: Float!\n yFieldOnUBigObject: String!\n zFieldOnUBigObject: Int!\n}\n\ntype VBigObject {\n aFieldOnVBigObject: String!\n bFieldOnVBigObject: Int!\n cFieldOnVBigObject: Boolean!\n dFieldOnVBigObject: Float!\n eFieldOnVBigObject: String!\n fFieldOnVBigObject: Int!\n gFieldOnVBigObject: Boolean!\n hFieldOnVBigObject: Float!\n iFieldOnVBigObject: String!\n jFieldOnVBigObject: Int!\n kFieldOnVBigObject: Boolean!\n lFieldOnVBigObject: Float!\n mFieldOnVBigObject: String!\n nFieldOnVBigObject: Int!\n oFieldOnVBigObject: Boolean!\n pFieldOnVBigObject: Float!\n qFieldOnVBigObject: String!\n rFieldOnVBigObject: Int!\n sFieldOnVBigObject: Boolean!\n tFieldOnVBigObject: Float!\n uFieldOnVBigObject: String!\n vFieldOnVBigObject: Int!\n wFieldOnVBigObject: Boolean!\n xFieldOnVBigObject: Float!\n yFieldOnVBigObject: String!\n zFieldOnVBigObject: Int!\n}\n\ntype WBigObject {\n aFieldOnWBigObject: String!\n bFieldOnWBigObject: Int!\n cFieldOnWBigObject: Boolean!\n dFieldOnWBigObject: Float!\n eFieldOnWBigObject: String!\n fFieldOnWBigObject: Int!\n gFieldOnWBigObject: Boolean!\n hFieldOnWBigObject: Float!\n iFieldOnWBigObject: String!\n jFieldOnWBigObject: Int!\n kFieldOnWBigObject: Boolean!\n lFieldOnWBigObject: Float!\n mFieldOnWBigObject: String!\n nFieldOnWBigObject: Int!\n oFieldOnWBigObject: Boolean!\n pFieldOnWBigObject: Float!\n qFieldOnWBigObject: String!\n rFieldOnWBigObject: Int!\n sFieldOnWBigObject: Boolean!\n tFieldOnWBigObject: Float!\n uFieldOnWBigObject: String!\n vFieldOnWBigObject: Int!\n wFieldOnWBigObject: Boolean!\n xFieldOnWBigObject: Float!\n yFieldOnWBigObject: String!\n zFieldOnWBigObject: Int!\n}\n\ntype XBigObject {\n aFieldOnXBigObject: String!\n bFieldOnXBigObject: Int!\n cFieldOnXBigObject: Boolean!\n dFieldOnXBigObject: Float!\n eFieldOnXBigObject: String!\n fFieldOnXBigObject: Int!\n gFieldOnXBigObject: Boolean!\n hFieldOnXBigObject: Float!\n iFieldOnXBigObject: String!\n jFieldOnXBigObject: Int!\n kFieldOnXBigObject: Boolean!\n lFieldOnXBigObject: Float!\n mFieldOnXBigObject: String!\n nFieldOnXBigObject: Int!\n oFieldOnXBigObject: Boolean!\n pFieldOnXBigObject: Float!\n qFieldOnXBigObject: String!\n rFieldOnXBigObject: Int!\n sFieldOnXBigObject: Boolean!\n tFieldOnXBigObject: Float!\n uFieldOnXBigObject: String!\n vFieldOnXBigObject: Int!\n wFieldOnXBigObject: Boolean!\n xFieldOnXBigObject: Float!\n yFieldOnXBigObject: String!\n zFieldOnXBigObject: Int!\n}\n\ntype YBigObject {\n aFieldOnYBigObject: String!\n bFieldOnYBigObject: Int!\n cFieldOnYBigObject: Boolean!\n dFieldOnYBigObject: Float!\n eFieldOnYBigObject: String!\n fFieldOnYBigObject: Int!\n gFieldOnYBigObject: Boolean!\n hFieldOnYBigObject: Float!\n iFieldOnYBigObject: String!\n jFieldOnYBigObject: Int!\n kFieldOnYBigObject: Boolean!\n lFieldOnYBigObject: Float!\n mFieldOnYBigObject: String!\n nFieldOnYBigObject: Int!\n oFieldOnYBigObject: Boolean!\n pFieldOnYBigObject: Float!\n qFieldOnYBigObject: String!\n rFieldOnYBigObject: Int!\n sFieldOnYBigObject: Boolean!\n tFieldOnYBigObject: Float!\n uFieldOnYBigObject: String!\n vFieldOnYBigObject: Int!\n wFieldOnYBigObject: Boolean!\n xFieldOnYBigObject: Float!\n yFieldOnYBigObject: String!\n zFieldOnYBigObject: Int!\n}\n\ntype ZBigObject {\n aFieldOnZBigObject: String!\n bFieldOnZBigObject: Int!\n cFieldOnZBigObject: Boolean!\n dFieldOnZBigObject: Float!\n eFieldOnZBigObject: String!\n fFieldOnZBigObject: Int!\n gFieldOnZBigObject: Boolean!\n hFieldOnZBigObject: Float!\n iFieldOnZBigObject: String!\n jFieldOnZBigObject: Int!\n kFieldOnZBigObject: Boolean!\n lFieldOnZBigObject: Float!\n mFieldOnZBigObject: String!\n nFieldOnZBigObject: Int!\n oFieldOnZBigObject: Boolean!\n pFieldOnZBigObject: Float!\n qFieldOnZBigObject: String!\n rFieldOnZBigObject: Int!\n sFieldOnZBigObject: Boolean!\n tFieldOnZBigObject: Float!\n uFieldOnZBigObject: String!\n vFieldOnZBigObject: Int!\n wFieldOnZBigObject: Boolean!\n xFieldOnZBigObject: Float!\n yFieldOnZBigObject: String!\n zFieldOnZBigObject: Int!\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet\n\nscalar openfed__Scope", + "865e365ca4e3de8aec4ccd25e875ca9a82a7edde": "schema {\n mutation: Mutation\n}\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ntype Employee @key(fields: \"id\") {\n id: Int!\n isAvailable: Boolean\n}\n\ntype Mutation {\n \"\"\" This mutation updates the availability status of an employee in the system.\n \"\"\"\n updateAvailability(employeeID: Int!, isAvailable: Boolean!): Employee!\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet", + "10eccb92890a5709d24ac8c1293264d758b997c7": "schema {\n mutation: Mutation\n}\n\ndirective @inaccessible on ARGUMENT_DEFINITION | ENUM | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION\n\ndirective @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ntype Employee @key(fields: \"id\") {\n currentMood: Mood!\n id: Int!\n}\n\nenum Mood {\n APATHETIC @inaccessible\n HAPPY\n SAD\n}\n\ntype Mutation {\n \"\"\" This mutation update the mood of an employee. \"\"\"\n updateMood(employeeID: Int!, mood: Mood!): Employee!\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet", + "0c7a814514a54c0b54af7ea5fa33730a321921e6": "directive @key(fields: openfed__FieldSet!, resolvable: Boolean = true) repeatable on INTERFACE | OBJECT\n\ndirective @link(as: String, for: link__Purpose, import: [link__Import], url: String!) repeatable on SCHEMA\n\ntype Country @key(fields: \"key { name }\") {\n key: CountryKey!\n language: String\n}\n\ntype CountryKey {\n name: String!\n}\n\nscalar link__Import\n\nenum link__Purpose {\n EXECUTION\n SECURITY\n}\n\nscalar openfed__FieldSet" + }, + "graphqlClientSchema": "type Query {\n employee(id: Int!): Employee\n employeeAsList(id: Int!): [Employee]\n employees: [Employee]\n products: [Products!]!\n teammates(team: Department!): [Employee!]!\n firstEmployee: Employee!\n findEmployeesBy(criteria: FindEmployeeCriteria!): [Employee!]!\n\n \"\"\" This is a GraphQL query that retrieves a list of employees.\"\"\"\n findEmployees(criteria: SearchInput): [Employee!]!\n productTypes: [Products!]!\n topSecretFederationFacts: [TopSecretFact!]!\n factTypes: [TopSecretFactType!]\n\n \"\"\"Returns the value of the received HTTP header.\"\"\"\n headerValue(name: String!): String!\n\n \"\"\"Returns the value of the given key in the WS initial payload.\"\"\"\n initPayloadValue(key: String!): String!\n initialPayload: Map\n\n \"\"\"Returns response after the given delay\"\"\"\n delay(response: String!, ms: Int!): String!\n bigResponse(artificialDelay: Int! = 0, bigObjects: Int! = 100, nestedObjects: Int! = 100, deeplyNestedObjects: Int! = 100): [BigObject!]!\n longResponse(artificialDelay: Int! = 0, bytes: Int!): String\n bigAbstractResponse: BigAbstractResponse\n rootFieldWithListArg(arg: [String!]!): [String!]!\n rootFieldWithNestedListArg(arg: [[String!]!]!): [[String!]!]!\n rootFieldWithListOfInputArg(arg: [InputType!]!): [InputResponse!]!\n rootFieldWithListOfEnumArg(arg: [EnumType!]!): [EnumType!]!\n rootFieldWithInput(arg: InputArg!): String!\n floatField(arg: Float): Float\n sharedThings(numOfA: Int!, numOfB: Int!): [Thing!]!\n secret: Secret\n}\n\nscalar Upload\n\ntype Mutation {\n updateEmployeeTag(id: Int!, tag: String!): Employee\n singleUpload(file: Upload!): Boolean!\n singleUploadWithInput(arg: FileUpload!): Boolean!\n multipleUpload(files: [Upload!]!): Boolean!\n addFact(fact: TopSecretFactInput!): TopSecretFact!\n\n \"\"\" This mutation updates the availability status of an employee in the system.\n \"\"\"\n updateAvailability(employeeID: Int!, isAvailable: Boolean!): Employee!\n\n \"\"\" This mutation update the mood of an employee. \"\"\"\n updateMood(employeeID: Int!, mood: Mood!): Employee!\n}\n\ninput FileUpload {\n nested: DeeplyNestedFileUpload\n nestedList: [Upload!]\n}\n\ninput DeeplyNestedFileUpload {\n file: Upload!\n}\n\ntype Subscription {\n \"\"\"`currentTime` will return a stream of `Time` objects.\"\"\"\n currentTime: Time!\n countEmp(max: Int!, intervalMilliseconds: Int!): Int!\n countEmp2(max: Int!, intervalMilliseconds: Int!): Int!\n countFor(count: Int!): Int!\n countHob(max: Int!, intervalMilliseconds: Int!): Int!\n\n \"\"\"Returns a stream with the value of the received HTTP header.\"\"\"\n headerValue(name: String!, repeat: Int): TimestampedString!\n\n \"\"\"\n Returns a stream with the value of value of the given key in the WS initial payload.\n \"\"\"\n initPayloadValue(key: String!, repeat: Int): TimestampedString!\n\n \"\"\"Returns a stream with the value of the WS initial payload.\"\"\"\n initialPayload(repeat: Int): Map\n returnsError: String\n}\n\nenum Department {\n ENGINEERING\n MARKETING\n OPERATIONS\n}\n\ninterface RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n}\n\nenum EngineerType {\n BACKEND\n FRONTEND\n FULLSTACK\n}\n\ninterface Identifiable {\n id: Int!\n}\n\nenum OperationType {\n FINANCE\n HUMAN_RESOURCES\n}\n\ntype Details {\n forename: String!\n location: Country!\n surname: String!\n pastLocations: [City!]!\n middlename: String @deprecated\n hasChildren: Boolean!\n maritalStatus: MaritalStatus\n nationality: Nationality!\n pets: [Pet]\n}\n\ntype City {\n type: String!\n name: String!\n country: Country\n}\n\ntype Country {\n key: CountryKey!\n language: String\n}\n\ntype CountryKey {\n name: String!\n}\n\nenum Mood {\n HAPPY\n SAD\n}\n\ntype ErrorWrapper {\n okField: String\n errorField: String\n}\n\ntype Time {\n unixTime: Int!\n timeStamp: String!\n}\n\nunion Products = Consultancy | Cosmo | SDK | Documentation\n\ninterface IProduct {\n upc: ID!\n engineers: [Employee!]!\n}\n\ntype Consultancy {\n upc: ID!\n lead: Employee!\n isLeadAvailable: Boolean\n name: ProductName!\n}\n\ninput FindEmployeeCriteria @oneOf {\n id: Int\n department: Department\n title: String\n}\n\nenum Class {\n FISH\n MAMMAL\n REPTILE\n}\n\nenum Gender {\n FEMALE\n MALE\n UNKNOWN\n}\n\ninterface Animal {\n class: Class!\n gender: Gender!\n}\n\nenum CatType {\n HOME\n STREET\n}\n\nenum DogBreed {\n GOLDEN_RETRIEVER\n POODLE\n ROTTWEILER\n YORKSHIRE_TERRIER\n}\n\nenum MaritalStatus {\n ENGAGED\n MARRIED\n}\n\nenum Nationality {\n AMERICAN\n DUTCH\n ENGLISH\n GERMAN\n INDIAN\n SPANISH\n UKRAINIAN\n}\n\n\"\"\" Allows to filter employees by their details. \"\"\"\ninput SearchInput {\n hasPets: Boolean\n nationality: Nationality\n nested: NestedSearchInput\n}\n\ninput NestedSearchInput {\n maritalStatus: MaritalStatus\n hasChildren: Boolean\n}\n\nenum ExerciseType {\n CALISTHENICS\n HIKING\n SPORT\n STRENGTH_TRAINING\n}\n\ninterface Experience {\n yearsOfExperience: Float!\n}\n\nenum GameGenre {\n ADVENTURE\n BOARD\n FPS\n CARD\n RPG\n ROGUELITE\n SIMULATION\n STRATEGY\n}\n\nenum ProgrammingLanguage {\n CSHARP\n GO\n RUST\n TYPESCRIPT\n}\n\ninterface Hobby {\n employees: [Employee!]!\n}\n\ninput TopSecretFactInput {\n title: String!\n description: FactContent!\n factType: TopSecretFactType!\n}\n\nenum TopSecretFactType {\n DIRECTIVE\n ENTITY\n MISCELLANEOUS\n}\n\ninterface TopSecretFact {\n description: FactContent!\n factType: TopSecretFactType\n}\n\nscalar FactContent\n\nenum ProductName {\n CONSULTANCY\n COSMO\n ENGINE\n FINANCE\n HUMAN_RESOURCES\n MARKETING\n SDK\n}\n\ntype Documentation {\n url(product: ProductName!): String!\n urls(products: [ProductName!]!): [String!]!\n}\n\ntype Secret {\n value: String\n}\n\ntype Thing {\n b: String!\n}\n\ninput InputArg {\n enums: [EnumType!]\n enum: EnumType\n string: String\n strings: [String!]\n}\n\nenum EnumType {\n A\n B\n C\n}\n\ninput InputType {\n arg: String!\n}\n\ntype InputResponse {\n arg: String!\n}\n\nscalar Map\n\ntype TimestampedString {\n \"\"\"The value of the string.\"\"\"\n value: String!\n\n \"\"\"The timestamp when the response was generated.\"\"\"\n unixTime: Int!\n\n \"\"\"Sequence number\"\"\"\n seq: Int!\n\n \"\"\"Total number of responses to be sent\"\"\"\n total: Int!\n initialPayload: Map\n}\n\ntype BigObject {\n nestedObjects: [NestedObject!]!\n}\n\ntype NestedObject {\n deeplyNestedObjects: [DeeplyNestedObject!]!\n}\n\ntype DeeplyNestedObject {\n aFieldOnDeeplyNestedObject: String!\n bFieldOnDeeplyNestedObject: Int!\n cFieldOnDeeplyNestedObject: Boolean!\n dFieldOnDeeplyNestedObject: Float!\n eFieldOnDeeplyNestedObject: String!\n fFieldOnDeeplyNestedObject: Int!\n gFieldOnDeeplyNestedObject: Boolean!\n hFieldOnDeeplyNestedObject: Float!\n iFieldOnDeeplyNestedObject: String!\n jFieldOnDeeplyNestedObject: Int!\n kFieldOnDeeplyNestedObject: Boolean!\n lFieldOnDeeplyNestedObject: Float!\n mFieldOnDeeplyNestedObject: String!\n nFieldOnDeeplyNestedObject: Int!\n oFieldOnDeeplyNestedObject: Boolean!\n pFieldOnDeeplyNestedObject: Float!\n qFieldOnDeeplyNestedObject: String!\n rFieldOnDeeplyNestedObject: Int!\n sFieldOnDeeplyNestedObject: Boolean!\n tFieldOnDeeplyNestedObject: Float!\n uFieldOnDeeplyNestedObject: String!\n vFieldOnDeeplyNestedObject: Int!\n wFieldOnDeeplyNestedObject: Boolean!\n xFieldOnDeeplyNestedObject: Float!\n yFieldOnDeeplyNestedObject: String!\n zFieldOnDeeplyNestedObject: Int!\n}\n\nunion BigAbstractResponse = ABigObject | BBigObject | CBigObject | DBigObject | EBigObject | FBigObject | GBigObject | HBigObject | IBigObject | JBigObject | KBigObject | LBigObject | MBigObject | NBigObject | OBigObject | PBigObject | QBigObject | RBigObject | SBigObject | TBigObject | UBigObject | VBigObject | WBigObject | XBigObject | YBigObject | ZBigObject\n\ntype ABigObject {\n aFieldOnABigObject: String!\n bFieldOnABigObject: Int!\n cFieldOnABigObject: Boolean!\n dFieldOnABigObject: Float!\n eFieldOnABigObject: String!\n fFieldOnABigObject: Int!\n gFieldOnABigObject: Boolean!\n hFieldOnABigObject: Float!\n iFieldOnABigObject: String!\n jFieldOnABigObject: Int!\n kFieldOnABigObject: Boolean!\n lFieldOnABigObject: Float!\n mFieldOnABigObject: String!\n nFieldOnABigObject: Int!\n oFieldOnABigObject: Boolean!\n pFieldOnABigObject: Float!\n qFieldOnABigObject: String!\n rFieldOnABigObject: Int!\n sFieldOnABigObject: Boolean!\n tFieldOnABigObject: Float!\n uFieldOnABigObject: String!\n vFieldOnABigObject: Int!\n wFieldOnABigObject: Boolean!\n xFieldOnABigObject: Float!\n yFieldOnABigObject: String!\n zFieldOnABigObject: Int!\n}\n\ntype BBigObject {\n aFieldOnBBigObject: String!\n bFieldOnBBigObject: Int!\n cFieldOnBBigObject: Boolean!\n dFieldOnBBigObject: Float!\n eFieldOnBBigObject: String!\n fFieldOnBBigObject: Int!\n gFieldOnBBigObject: Boolean!\n hFieldOnBBigObject: Float!\n iFieldOnBBigObject: String!\n jFieldOnBBigObject: Int!\n kFieldOnBBigObject: Boolean!\n lFieldOnBBigObject: Float!\n mFieldOnBBigObject: String!\n nFieldOnBBigObject: Int!\n oFieldOnBBigObject: Boolean!\n pFieldOnBBigObject: Float!\n qFieldOnBBigObject: String!\n rFieldOnBBigObject: Int!\n sFieldOnBBigObject: Boolean!\n tFieldOnBBigObject: Float!\n uFieldOnBBigObject: String!\n vFieldOnBBigObject: Int!\n wFieldOnBBigObject: Boolean!\n xFieldOnBBigObject: Float!\n yFieldOnBBigObject: String!\n zFieldOnBBigObject: Int!\n}\n\ntype CBigObject {\n aFieldOnCBigObject: String!\n bFieldOnCBigObject: Int!\n cFieldOnCBigObject: Boolean!\n dFieldOnCBigObject: Float!\n eFieldOnCBigObject: String!\n fFieldOnCBigObject: Int!\n gFieldOnCBigObject: Boolean!\n hFieldOnCBigObject: Float!\n iFieldOnCBigObject: String!\n jFieldOnCBigObject: Int!\n kFieldOnCBigObject: Boolean!\n lFieldOnCBigObject: Float!\n mFieldOnCBigObject: String!\n nFieldOnCBigObject: Int!\n oFieldOnCBigObject: Boolean!\n pFieldOnCBigObject: Float!\n qFieldOnCBigObject: String!\n rFieldOnCBigObject: Int!\n sFieldOnCBigObject: Boolean!\n tFieldOnCBigObject: Float!\n uFieldOnCBigObject: String!\n vFieldOnCBigObject: Int!\n wFieldOnCBigObject: Boolean!\n xFieldOnCBigObject: Float!\n yFieldOnCBigObject: String!\n zFieldOnCBigObject: Int!\n}\n\ntype DBigObject {\n aFieldOnDBigObject: String!\n bFieldOnDBigObject: Int!\n cFieldOnDBigObject: Boolean!\n dFieldOnDBigObject: Float!\n eFieldOnDBigObject: String!\n fFieldOnDBigObject: Int!\n gFieldOnDBigObject: Boolean!\n hFieldOnDBigObject: Float!\n iFieldOnDBigObject: String!\n jFieldOnDBigObject: Int!\n kFieldOnDBigObject: Boolean!\n lFieldOnDBigObject: Float!\n mFieldOnDBigObject: String!\n nFieldOnDBigObject: Int!\n oFieldOnDBigObject: Boolean!\n pFieldOnDBigObject: Float!\n qFieldOnDBigObject: String!\n rFieldOnDBigObject: Int!\n sFieldOnDBigObject: Boolean!\n tFieldOnDBigObject: Float!\n uFieldOnDBigObject: String!\n vFieldOnDBigObject: Int!\n wFieldOnDBigObject: Boolean!\n xFieldOnDBigObject: Float!\n yFieldOnDBigObject: String!\n zFieldOnDBigObject: Int!\n}\n\ntype EBigObject {\n aFieldOnEBigObject: String!\n bFieldOnEBigObject: Int!\n cFieldOnEBigObject: Boolean!\n dFieldOnEBigObject: Float!\n eFieldOnEBigObject: String!\n fFieldOnEBigObject: Int!\n gFieldOnEBigObject: Boolean!\n hFieldOnEBigObject: Float!\n iFieldOnEBigObject: String!\n jFieldOnEBigObject: Int!\n kFieldOnEBigObject: Boolean!\n lFieldOnEBigObject: Float!\n mFieldOnEBigObject: String!\n nFieldOnEBigObject: Int!\n oFieldOnEBigObject: Boolean!\n pFieldOnEBigObject: Float!\n qFieldOnEBigObject: String!\n rFieldOnEBigObject: Int!\n sFieldOnEBigObject: Boolean!\n tFieldOnEBigObject: Float!\n uFieldOnEBigObject: String!\n vFieldOnEBigObject: Int!\n wFieldOnEBigObject: Boolean!\n xFieldOnEBigObject: Float!\n yFieldOnEBigObject: String!\n zFieldOnEBigObject: Int!\n}\n\ntype FBigObject {\n aFieldOnFBigObject: String!\n bFieldOnFBigObject: Int!\n cFieldOnFBigObject: Boolean!\n dFieldOnFBigObject: Float!\n eFieldOnFBigObject: String!\n fFieldOnFBigObject: Int!\n gFieldOnFBigObject: Boolean!\n hFieldOnFBigObject: Float!\n iFieldOnFBigObject: String!\n jFieldOnFBigObject: Int!\n kFieldOnFBigObject: Boolean!\n lFieldOnFBigObject: Float!\n mFieldOnFBigObject: String!\n nFieldOnFBigObject: Int!\n oFieldOnFBigObject: Boolean!\n pFieldOnFBigObject: Float!\n qFieldOnFBigObject: String!\n rFieldOnFBigObject: Int!\n sFieldOnFBigObject: Boolean!\n tFieldOnFBigObject: Float!\n uFieldOnFBigObject: String!\n vFieldOnFBigObject: Int!\n wFieldOnFBigObject: Boolean!\n xFieldOnFBigObject: Float!\n yFieldOnFBigObject: String!\n zFieldOnFBigObject: Int!\n}\n\ntype GBigObject {\n aFieldOnGBigObject: String!\n bFieldOnGBigObject: Int!\n cFieldOnGBigObject: Boolean!\n dFieldOnGBigObject: Float!\n eFieldOnGBigObject: String!\n fFieldOnGBigObject: Int!\n gFieldOnGBigObject: Boolean!\n hFieldOnGBigObject: Float!\n iFieldOnGBigObject: String!\n jFieldOnGBigObject: Int!\n kFieldOnGBigObject: Boolean!\n lFieldOnGBigObject: Float!\n mFieldOnGBigObject: String!\n nFieldOnGBigObject: Int!\n oFieldOnGBigObject: Boolean!\n pFieldOnGBigObject: Float!\n qFieldOnGBigObject: String!\n rFieldOnGBigObject: Int!\n sFieldOnGBigObject: Boolean!\n tFieldOnGBigObject: Float!\n uFieldOnGBigObject: String!\n vFieldOnGBigObject: Int!\n wFieldOnGBigObject: Boolean!\n xFieldOnGBigObject: Float!\n yFieldOnGBigObject: String!\n zFieldOnGBigObject: Int!\n}\n\ntype HBigObject {\n aFieldOnHBigObject: String!\n bFieldOnHBigObject: Int!\n cFieldOnHBigObject: Boolean!\n dFieldOnHBigObject: Float!\n eFieldOnHBigObject: String!\n fFieldOnHBigObject: Int!\n gFieldOnHBigObject: Boolean!\n hFieldOnHBigObject: Float!\n iFieldOnHBigObject: String!\n jFieldOnHBigObject: Int!\n kFieldOnHBigObject: Boolean!\n lFieldOnHBigObject: Float!\n mFieldOnHBigObject: String!\n nFieldOnHBigObject: Int!\n oFieldOnHBigObject: Boolean!\n pFieldOnHBigObject: Float!\n qFieldOnHBigObject: String!\n rFieldOnHBigObject: Int!\n sFieldOnHBigObject: Boolean!\n tFieldOnHBigObject: Float!\n uFieldOnHBigObject: String!\n vFieldOnHBigObject: Int!\n wFieldOnHBigObject: Boolean!\n xFieldOnHBigObject: Float!\n yFieldOnHBigObject: String!\n zFieldOnHBigObject: Int!\n}\n\ntype IBigObject {\n aFieldOnIBigObject: String!\n bFieldOnIBigObject: Int!\n cFieldOnIBigObject: Boolean!\n dFieldOnIBigObject: Float!\n eFieldOnIBigObject: String!\n fFieldOnIBigObject: Int!\n gFieldOnIBigObject: Boolean!\n hFieldOnIBigObject: Float!\n iFieldOnIBigObject: String!\n jFieldOnIBigObject: Int!\n kFieldOnIBigObject: Boolean!\n lFieldOnIBigObject: Float!\n mFieldOnIBigObject: String!\n nFieldOnIBigObject: Int!\n oFieldOnIBigObject: Boolean!\n pFieldOnIBigObject: Float!\n qFieldOnIBigObject: String!\n rFieldOnIBigObject: Int!\n sFieldOnIBigObject: Boolean!\n tFieldOnIBigObject: Float!\n uFieldOnIBigObject: String!\n vFieldOnIBigObject: Int!\n wFieldOnIBigObject: Boolean!\n xFieldOnIBigObject: Float!\n yFieldOnIBigObject: String!\n zFieldOnIBigObject: Int!\n}\n\ntype JBigObject {\n aFieldOnJBigObject: String!\n bFieldOnJBigObject: Int!\n cFieldOnJBigObject: Boolean!\n dFieldOnJBigObject: Float!\n eFieldOnJBigObject: String!\n fFieldOnJBigObject: Int!\n gFieldOnJBigObject: Boolean!\n hFieldOnJBigObject: Float!\n iFieldOnJBigObject: String!\n jFieldOnJBigObject: Int!\n kFieldOnJBigObject: Boolean!\n lFieldOnJBigObject: Float!\n mFieldOnJBigObject: String!\n nFieldOnJBigObject: Int!\n oFieldOnJBigObject: Boolean!\n pFieldOnJBigObject: Float!\n qFieldOnJBigObject: String!\n rFieldOnJBigObject: Int!\n sFieldOnJBigObject: Boolean!\n tFieldOnJBigObject: Float!\n uFieldOnJBigObject: String!\n vFieldOnJBigObject: Int!\n wFieldOnJBigObject: Boolean!\n xFieldOnJBigObject: Float!\n yFieldOnJBigObject: String!\n zFieldOnJBigObject: Int!\n}\n\ntype KBigObject {\n aFieldOnKBigObject: String!\n bFieldOnKBigObject: Int!\n cFieldOnKBigObject: Boolean!\n dFieldOnKBigObject: Float!\n eFieldOnKBigObject: String!\n fFieldOnKBigObject: Int!\n gFieldOnKBigObject: Boolean!\n hFieldOnKBigObject: Float!\n iFieldOnKBigObject: String!\n jFieldOnKBigObject: Int!\n kFieldOnKBigObject: Boolean!\n lFieldOnKBigObject: Float!\n mFieldOnKBigObject: String!\n nFieldOnKBigObject: Int!\n oFieldOnKBigObject: Boolean!\n pFieldOnKBigObject: Float!\n qFieldOnKBigObject: String!\n rFieldOnKBigObject: Int!\n sFieldOnKBigObject: Boolean!\n tFieldOnKBigObject: Float!\n uFieldOnKBigObject: String!\n vFieldOnKBigObject: Int!\n wFieldOnKBigObject: Boolean!\n xFieldOnKBigObject: Float!\n yFieldOnKBigObject: String!\n zFieldOnKBigObject: Int!\n}\n\ntype LBigObject {\n aFieldOnLBigObject: String!\n bFieldOnLBigObject: Int!\n cFieldOnLBigObject: Boolean!\n dFieldOnLBigObject: Float!\n eFieldOnLBigObject: String!\n fFieldOnLBigObject: Int!\n gFieldOnLBigObject: Boolean!\n hFieldOnLBigObject: Float!\n iFieldOnLBigObject: String!\n jFieldOnLBigObject: Int!\n kFieldOnLBigObject: Boolean!\n lFieldOnLBigObject: Float!\n mFieldOnLBigObject: String!\n nFieldOnLBigObject: Int!\n oFieldOnLBigObject: Boolean!\n pFieldOnLBigObject: Float!\n qFieldOnLBigObject: String!\n rFieldOnLBigObject: Int!\n sFieldOnLBigObject: Boolean!\n tFieldOnLBigObject: Float!\n uFieldOnLBigObject: String!\n vFieldOnLBigObject: Int!\n wFieldOnLBigObject: Boolean!\n xFieldOnLBigObject: Float!\n yFieldOnLBigObject: String!\n zFieldOnLBigObject: Int!\n}\n\ntype MBigObject {\n aFieldOnMBigObject: String!\n bFieldOnMBigObject: Int!\n cFieldOnMBigObject: Boolean!\n dFieldOnMBigObject: Float!\n eFieldOnMBigObject: String!\n fFieldOnMBigObject: Int!\n gFieldOnMBigObject: Boolean!\n hFieldOnMBigObject: Float!\n iFieldOnMBigObject: String!\n jFieldOnMBigObject: Int!\n kFieldOnMBigObject: Boolean!\n lFieldOnMBigObject: Float!\n mFieldOnMBigObject: String!\n nFieldOnMBigObject: Int!\n oFieldOnMBigObject: Boolean!\n pFieldOnMBigObject: Float!\n qFieldOnMBigObject: String!\n rFieldOnMBigObject: Int!\n sFieldOnMBigObject: Boolean!\n tFieldOnMBigObject: Float!\n uFieldOnMBigObject: String!\n vFieldOnMBigObject: Int!\n wFieldOnMBigObject: Boolean!\n xFieldOnMBigObject: Float!\n yFieldOnMBigObject: String!\n zFieldOnMBigObject: Int!\n}\n\ntype NBigObject {\n aFieldOnNBigObject: String!\n bFieldOnNBigObject: Int!\n cFieldOnNBigObject: Boolean!\n dFieldOnNBigObject: Float!\n eFieldOnNBigObject: String!\n fFieldOnNBigObject: Int!\n gFieldOnNBigObject: Boolean!\n hFieldOnNBigObject: Float!\n iFieldOnNBigObject: String!\n jFieldOnNBigObject: Int!\n kFieldOnNBigObject: Boolean!\n lFieldOnNBigObject: Float!\n mFieldOnNBigObject: String!\n nFieldOnNBigObject: Int!\n oFieldOnNBigObject: Boolean!\n pFieldOnNBigObject: Float!\n qFieldOnNBigObject: String!\n rFieldOnNBigObject: Int!\n sFieldOnNBigObject: Boolean!\n tFieldOnNBigObject: Float!\n uFieldOnNBigObject: String!\n vFieldOnNBigObject: Int!\n wFieldOnNBigObject: Boolean!\n xFieldOnNBigObject: Float!\n yFieldOnNBigObject: String!\n zFieldOnNBigObject: Int!\n}\n\ntype OBigObject {\n aFieldOnOBigObject: String!\n bFieldOnOBigObject: Int!\n cFieldOnOBigObject: Boolean!\n dFieldOnOBigObject: Float!\n eFieldOnOBigObject: String!\n fFieldOnOBigObject: Int!\n gFieldOnOBigObject: Boolean!\n hFieldOnOBigObject: Float!\n iFieldOnOBigObject: String!\n jFieldOnOBigObject: Int!\n kFieldOnOBigObject: Boolean!\n lFieldOnOBigObject: Float!\n mFieldOnOBigObject: String!\n nFieldOnOBigObject: Int!\n oFieldOnOBigObject: Boolean!\n pFieldOnOBigObject: Float!\n qFieldOnOBigObject: String!\n rFieldOnOBigObject: Int!\n sFieldOnOBigObject: Boolean!\n tFieldOnOBigObject: Float!\n uFieldOnOBigObject: String!\n vFieldOnOBigObject: Int!\n wFieldOnOBigObject: Boolean!\n xFieldOnOBigObject: Float!\n yFieldOnOBigObject: String!\n zFieldOnOBigObject: Int!\n}\n\ntype PBigObject {\n aFieldOnPBigObject: String!\n bFieldOnPBigObject: Int!\n cFieldOnPBigObject: Boolean!\n dFieldOnPBigObject: Float!\n eFieldOnPBigObject: String!\n fFieldOnPBigObject: Int!\n gFieldOnPBigObject: Boolean!\n hFieldOnPBigObject: Float!\n iFieldOnPBigObject: String!\n jFieldOnPBigObject: Int!\n kFieldOnPBigObject: Boolean!\n lFieldOnPBigObject: Float!\n mFieldOnPBigObject: String!\n nFieldOnPBigObject: Int!\n oFieldOnPBigObject: Boolean!\n pFieldOnPBigObject: Float!\n qFieldOnPBigObject: String!\n rFieldOnPBigObject: Int!\n sFieldOnPBigObject: Boolean!\n tFieldOnPBigObject: Float!\n uFieldOnPBigObject: String!\n vFieldOnPBigObject: Int!\n wFieldOnPBigObject: Boolean!\n xFieldOnPBigObject: Float!\n yFieldOnPBigObject: String!\n zFieldOnPBigObject: Int!\n}\n\ntype QBigObject {\n aFieldOnQBigObject: String!\n bFieldOnQBigObject: Int!\n cFieldOnQBigObject: Boolean!\n dFieldOnQBigObject: Float!\n eFieldOnQBigObject: String!\n fFieldOnQBigObject: Int!\n gFieldOnQBigObject: Boolean!\n hFieldOnQBigObject: Float!\n iFieldOnQBigObject: String!\n jFieldOnQBigObject: Int!\n kFieldOnQBigObject: Boolean!\n lFieldOnQBigObject: Float!\n mFieldOnQBigObject: String!\n nFieldOnQBigObject: Int!\n oFieldOnQBigObject: Boolean!\n pFieldOnQBigObject: Float!\n qFieldOnQBigObject: String!\n rFieldOnQBigObject: Int!\n sFieldOnQBigObject: Boolean!\n tFieldOnQBigObject: Float!\n uFieldOnQBigObject: String!\n vFieldOnQBigObject: Int!\n wFieldOnQBigObject: Boolean!\n xFieldOnQBigObject: Float!\n yFieldOnQBigObject: String!\n zFieldOnQBigObject: Int!\n}\n\ntype RBigObject {\n aFieldOnRBigObject: String!\n bFieldOnRBigObject: Int!\n cFieldOnRBigObject: Boolean!\n dFieldOnRBigObject: Float!\n eFieldOnRBigObject: String!\n fFieldOnRBigObject: Int!\n gFieldOnRBigObject: Boolean!\n hFieldOnRBigObject: Float!\n iFieldOnRBigObject: String!\n jFieldOnRBigObject: Int!\n kFieldOnRBigObject: Boolean!\n lFieldOnRBigObject: Float!\n mFieldOnRBigObject: String!\n nFieldOnRBigObject: Int!\n oFieldOnRBigObject: Boolean!\n pFieldOnRBigObject: Float!\n qFieldOnRBigObject: String!\n rFieldOnRBigObject: Int!\n sFieldOnRBigObject: Boolean!\n tFieldOnRBigObject: Float!\n uFieldOnRBigObject: String!\n vFieldOnRBigObject: Int!\n wFieldOnRBigObject: Boolean!\n xFieldOnRBigObject: Float!\n yFieldOnRBigObject: String!\n zFieldOnRBigObject: Int!\n}\n\ntype SBigObject {\n aFieldOnSBigObject: String!\n bFieldOnSBigObject: Int!\n cFieldOnSBigObject: Boolean!\n dFieldOnSBigObject: Float!\n eFieldOnSBigObject: String!\n fFieldOnSBigObject: Int!\n gFieldOnSBigObject: Boolean!\n hFieldOnSBigObject: Float!\n iFieldOnSBigObject: String!\n jFieldOnSBigObject: Int!\n kFieldOnSBigObject: Boolean!\n lFieldOnSBigObject: Float!\n mFieldOnSBigObject: String!\n nFieldOnSBigObject: Int!\n oFieldOnSBigObject: Boolean!\n pFieldOnSBigObject: Float!\n qFieldOnSBigObject: String!\n rFieldOnSBigObject: Int!\n sFieldOnSBigObject: Boolean!\n tFieldOnSBigObject: Float!\n uFieldOnSBigObject: String!\n vFieldOnSBigObject: Int!\n wFieldOnSBigObject: Boolean!\n xFieldOnSBigObject: Float!\n yFieldOnSBigObject: String!\n zFieldOnSBigObject: Int!\n}\n\ntype TBigObject {\n aFieldOnTBigObject: String!\n bFieldOnTBigObject: Int!\n cFieldOnTBigObject: Boolean!\n dFieldOnTBigObject: Float!\n eFieldOnTBigObject: String!\n fFieldOnTBigObject: Int!\n gFieldOnTBigObject: Boolean!\n hFieldOnTBigObject: Float!\n iFieldOnTBigObject: String!\n jFieldOnTBigObject: Int!\n kFieldOnTBigObject: Boolean!\n lFieldOnTBigObject: Float!\n mFieldOnTBigObject: String!\n nFieldOnTBigObject: Int!\n oFieldOnTBigObject: Boolean!\n pFieldOnTBigObject: Float!\n qFieldOnTBigObject: String!\n rFieldOnTBigObject: Int!\n sFieldOnTBigObject: Boolean!\n tFieldOnTBigObject: Float!\n uFieldOnTBigObject: String!\n vFieldOnTBigObject: Int!\n wFieldOnTBigObject: Boolean!\n xFieldOnTBigObject: Float!\n yFieldOnTBigObject: String!\n zFieldOnTBigObject: Int!\n}\n\ntype UBigObject {\n aFieldOnUBigObject: String!\n bFieldOnUBigObject: Int!\n cFieldOnUBigObject: Boolean!\n dFieldOnUBigObject: Float!\n eFieldOnUBigObject: String!\n fFieldOnUBigObject: Int!\n gFieldOnUBigObject: Boolean!\n hFieldOnUBigObject: Float!\n iFieldOnUBigObject: String!\n jFieldOnUBigObject: Int!\n kFieldOnUBigObject: Boolean!\n lFieldOnUBigObject: Float!\n mFieldOnUBigObject: String!\n nFieldOnUBigObject: Int!\n oFieldOnUBigObject: Boolean!\n pFieldOnUBigObject: Float!\n qFieldOnUBigObject: String!\n rFieldOnUBigObject: Int!\n sFieldOnUBigObject: Boolean!\n tFieldOnUBigObject: Float!\n uFieldOnUBigObject: String!\n vFieldOnUBigObject: Int!\n wFieldOnUBigObject: Boolean!\n xFieldOnUBigObject: Float!\n yFieldOnUBigObject: String!\n zFieldOnUBigObject: Int!\n}\n\ntype VBigObject {\n aFieldOnVBigObject: String!\n bFieldOnVBigObject: Int!\n cFieldOnVBigObject: Boolean!\n dFieldOnVBigObject: Float!\n eFieldOnVBigObject: String!\n fFieldOnVBigObject: Int!\n gFieldOnVBigObject: Boolean!\n hFieldOnVBigObject: Float!\n iFieldOnVBigObject: String!\n jFieldOnVBigObject: Int!\n kFieldOnVBigObject: Boolean!\n lFieldOnVBigObject: Float!\n mFieldOnVBigObject: String!\n nFieldOnVBigObject: Int!\n oFieldOnVBigObject: Boolean!\n pFieldOnVBigObject: Float!\n qFieldOnVBigObject: String!\n rFieldOnVBigObject: Int!\n sFieldOnVBigObject: Boolean!\n tFieldOnVBigObject: Float!\n uFieldOnVBigObject: String!\n vFieldOnVBigObject: Int!\n wFieldOnVBigObject: Boolean!\n xFieldOnVBigObject: Float!\n yFieldOnVBigObject: String!\n zFieldOnVBigObject: Int!\n}\n\ntype WBigObject {\n aFieldOnWBigObject: String!\n bFieldOnWBigObject: Int!\n cFieldOnWBigObject: Boolean!\n dFieldOnWBigObject: Float!\n eFieldOnWBigObject: String!\n fFieldOnWBigObject: Int!\n gFieldOnWBigObject: Boolean!\n hFieldOnWBigObject: Float!\n iFieldOnWBigObject: String!\n jFieldOnWBigObject: Int!\n kFieldOnWBigObject: Boolean!\n lFieldOnWBigObject: Float!\n mFieldOnWBigObject: String!\n nFieldOnWBigObject: Int!\n oFieldOnWBigObject: Boolean!\n pFieldOnWBigObject: Float!\n qFieldOnWBigObject: String!\n rFieldOnWBigObject: Int!\n sFieldOnWBigObject: Boolean!\n tFieldOnWBigObject: Float!\n uFieldOnWBigObject: String!\n vFieldOnWBigObject: Int!\n wFieldOnWBigObject: Boolean!\n xFieldOnWBigObject: Float!\n yFieldOnWBigObject: String!\n zFieldOnWBigObject: Int!\n}\n\ntype XBigObject {\n aFieldOnXBigObject: String!\n bFieldOnXBigObject: Int!\n cFieldOnXBigObject: Boolean!\n dFieldOnXBigObject: Float!\n eFieldOnXBigObject: String!\n fFieldOnXBigObject: Int!\n gFieldOnXBigObject: Boolean!\n hFieldOnXBigObject: Float!\n iFieldOnXBigObject: String!\n jFieldOnXBigObject: Int!\n kFieldOnXBigObject: Boolean!\n lFieldOnXBigObject: Float!\n mFieldOnXBigObject: String!\n nFieldOnXBigObject: Int!\n oFieldOnXBigObject: Boolean!\n pFieldOnXBigObject: Float!\n qFieldOnXBigObject: String!\n rFieldOnXBigObject: Int!\n sFieldOnXBigObject: Boolean!\n tFieldOnXBigObject: Float!\n uFieldOnXBigObject: String!\n vFieldOnXBigObject: Int!\n wFieldOnXBigObject: Boolean!\n xFieldOnXBigObject: Float!\n yFieldOnXBigObject: String!\n zFieldOnXBigObject: Int!\n}\n\ntype YBigObject {\n aFieldOnYBigObject: String!\n bFieldOnYBigObject: Int!\n cFieldOnYBigObject: Boolean!\n dFieldOnYBigObject: Float!\n eFieldOnYBigObject: String!\n fFieldOnYBigObject: Int!\n gFieldOnYBigObject: Boolean!\n hFieldOnYBigObject: Float!\n iFieldOnYBigObject: String!\n jFieldOnYBigObject: Int!\n kFieldOnYBigObject: Boolean!\n lFieldOnYBigObject: Float!\n mFieldOnYBigObject: String!\n nFieldOnYBigObject: Int!\n oFieldOnYBigObject: Boolean!\n pFieldOnYBigObject: Float!\n qFieldOnYBigObject: String!\n rFieldOnYBigObject: Int!\n sFieldOnYBigObject: Boolean!\n tFieldOnYBigObject: Float!\n uFieldOnYBigObject: String!\n vFieldOnYBigObject: Int!\n wFieldOnYBigObject: Boolean!\n xFieldOnYBigObject: Float!\n yFieldOnYBigObject: String!\n zFieldOnYBigObject: Int!\n}\n\ntype ZBigObject {\n aFieldOnZBigObject: String!\n bFieldOnZBigObject: Int!\n cFieldOnZBigObject: Boolean!\n dFieldOnZBigObject: Float!\n eFieldOnZBigObject: String!\n fFieldOnZBigObject: Int!\n gFieldOnZBigObject: Boolean!\n hFieldOnZBigObject: Float!\n iFieldOnZBigObject: String!\n jFieldOnZBigObject: Int!\n kFieldOnZBigObject: Boolean!\n lFieldOnZBigObject: Float!\n mFieldOnZBigObject: String!\n nFieldOnZBigObject: Int!\n oFieldOnZBigObject: Boolean!\n pFieldOnZBigObject: Float!\n qFieldOnZBigObject: String!\n rFieldOnZBigObject: Int!\n sFieldOnZBigObject: Boolean!\n tFieldOnZBigObject: Float!\n uFieldOnZBigObject: String!\n vFieldOnZBigObject: Int!\n wFieldOnZBigObject: Boolean!\n xFieldOnZBigObject: Float!\n yFieldOnZBigObject: String!\n zFieldOnZBigObject: Int!\n}\n\ntype Engineer implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n engineerType: EngineerType!\n}\n\ntype Marketer implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n}\n\ntype Operator implements RoleType {\n departments: [Department!]!\n title: [String!]!\n employees: [Employee!]!\n operatorType: [OperationType!]!\n}\n\ntype Employee implements Identifiable {\n details: Details\n id: Int!\n tag: String!\n role: RoleType!\n notes: String\n updatedAt: String!\n startDate: String!\n currentMood: Mood!\n derivedMood: Mood!\n isAvailable: Boolean\n rootFieldThrowsError: String\n rootFieldErrorWrapper: ErrorWrapper\n hobbies: [Hobby!]\n products: [ProductName!]!\n productCount: Int!\n fieldThrowsError: String\n}\n\ntype Cosmo implements IProduct {\n upc: ID!\n engineers: [Employee!]!\n lead: Employee!\n isLeadAvailable: Boolean\n name: ProductName!\n repositoryURL: String!\n}\n\ntype SDK implements IProduct {\n upc: ID!\n engineers: [Employee!]!\n owner: Employee!\n unicode: String!\n clientLanguages: [ProgrammingLanguage!]!\n}\n\ninterface Pet implements Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Alligator implements Pet & Animal {\n class: Class!\n dangerous: String!\n gender: Gender!\n name: String!\n}\n\ntype Cat implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n type: CatType!\n}\n\ntype Dog implements Pet & Animal {\n breed: DogBreed!\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Mouse implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Pony implements Pet & Animal {\n class: Class!\n gender: Gender!\n name: String!\n}\n\ntype Exercise implements Hobby {\n employees: [Employee!]!\n category: ExerciseType!\n}\n\ntype Flying implements Experience & Hobby {\n employees: [Employee!]!\n planeModels: [String!]!\n yearsOfExperience: Float!\n}\n\ntype Gaming implements Experience & Hobby {\n employees: [Employee!]!\n genres: [GameGenre!]!\n name: String!\n yearsOfExperience: Float!\n}\n\ntype Other implements Hobby {\n employees: [Employee!]!\n name: String!\n}\n\ntype Programming implements Hobby {\n employees: [Employee!]!\n languages: [ProgrammingLanguage!]!\n}\n\ntype Travelling implements Hobby {\n employees: [Employee!]!\n countriesLived: [Country!]!\n}\n\ntype DirectiveFact implements TopSecretFact {\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype EntityFact implements TopSecretFact {\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}\n\ntype MiscellaneousFact implements TopSecretFact {\n title: String!\n description: FactContent!\n factType: TopSecretFactType\n}" + }, + "version": "00000000-0000-0000-0000-000000000000", + "subgraphs": [ + { "id": "0", "name": "employees", "routingUrl": "http://localhost:4001/graphql" }, + { "id": "1", "name": "family", "routingUrl": "http://localhost:4002/graphql" }, + { "id": "2", "name": "hobbies", "routingUrl": "http://localhost:4003/graphql" }, + { "id": "3", "name": "products_fg", "routingUrl": "http://localhost:4010/graphql" }, + { "id": "4", "name": "test1", "routingUrl": "http://localhost:4006/graphql" }, + { "id": "5", "name": "availability", "routingUrl": "http://localhost:4007/graphql" }, + { "id": "6", "name": "mood", "routingUrl": "http://localhost:4008/graphql" }, + { "id": "7", "name": "countries", "routingUrl": "http://localhost:4009/graphql" } + ] + } + } + }, + "compatibilityVersion": "1:{{$COMPOSITION__VERSION}}" +} diff --git a/router-tests/testenv/testenv.go b/router-tests/testenv/testenv.go index cea58ce43c..ee563a8bb8 100644 --- a/router-tests/testenv/testenv.go +++ b/router-tests/testenv/testenv.go @@ -89,6 +89,8 @@ var ( ConfigWithEdfsRedisJSONTemplate string //go:embed testdata/configWithPlugins.json ConfigWithPluginsJSONTemplate string + //go:embed testdata/configWithOCIPlugins.json + ConfigWithOCIPluginsJSONTemplate string //go:embed testdata/configWithGRPC.json ConfigWithGRPCJSONTemplate string @@ -360,8 +362,9 @@ type Config struct { } type PluginConfig struct { - Path string - Enabled bool + Path string + Enabled bool + RegistryURL string // for OCI plugin tests } type CacheMetricsAssertions struct { @@ -1489,10 +1492,19 @@ func configureRouter(listenerAddr string, testConfig *Config, routerConfig *node routerOpts = append(routerOpts, core.WithMCP(testConfig.MCP)) } - routerOpts = append(routerOpts, core.WithPlugins(config.PluginsConfiguration{ + pluginsCfg := config.PluginsConfiguration{ Path: testConfig.Plugins.Path, Enabled: testConfig.Plugins.Enabled, - })) + } + if testConfig.Plugins.RegistryURL != "" { + if strings.HasPrefix(testConfig.Plugins.RegistryURL, "http://") || strings.HasPrefix(testConfig.Plugins.RegistryURL, "https://") { + return nil, fmt.Errorf("RegistryURL must be a host-only OCI registry address (no http:// or https:// scheme), got %q", testConfig.Plugins.RegistryURL) + } + pluginsCfg.Registry = config.PluginRegistryConfiguration{ + URL: testConfig.Plugins.RegistryURL, + } + } + routerOpts = append(routerOpts, core.WithPlugins(pluginsCfg)) if testConfig.TraceExporter != nil { testConfig.PropagationConfig.TraceContext = true diff --git a/router/go.mod b/router/go.mod index 7519ebbf65..22cc8ce214 100644 --- a/router/go.mod +++ b/router/go.mod @@ -103,7 +103,7 @@ require ( github.com/coreos/go-systemd/v22 v22.5.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect - github.com/docker/cli v28.2.2+incompatible // indirect + github.com/docker/cli v29.2.0+incompatible // indirect github.com/docker/distribution v2.8.3+incompatible // indirect github.com/docker/docker-credential-helpers v0.9.3 // indirect github.com/docker/go-units v0.5.0 // indirect diff --git a/router/go.sum b/router/go.sum index ad42d0211f..c842f00fd4 100644 --- a/router/go.sum +++ b/router/go.sum @@ -64,8 +64,8 @@ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/r github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI= github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/docker/cli v28.2.2+incompatible h1:qzx5BNUDFqlvyq4AHzdNB7gSyVTmU4cgsyN9SdInc1A= -github.com/docker/cli v28.2.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v29.2.0+incompatible h1:9oBd9+YM7rxjZLfyMGxjraKBKE4/nVyvVfN4qNl9XRM= +github.com/docker/cli v29.2.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker-credential-helpers v0.9.3 h1:gAm/VtF9wgqJMoxzT3Gj5p4AqIjCBS4wrsOh9yRqcz8=