@wundergraph/composition 0.51.1 → 0.51.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/resolvability-graph/graph-nodes.d.ts +3 -0
  2. package/dist/resolvability-graph/graph-nodes.js +5 -1
  3. package/dist/resolvability-graph/graph-nodes.js.map +1 -1
  4. package/dist/resolvability-graph/graph.d.ts +1 -1
  5. package/dist/resolvability-graph/graph.js +11 -1
  6. package/dist/resolvability-graph/graph.js.map +1 -1
  7. package/dist/resolvability-graph/node-resolution-data/node-resolution-data.d.ts +3 -2
  8. package/dist/resolvability-graph/node-resolution-data/node-resolution-data.js +10 -3
  9. package/dist/resolvability-graph/node-resolution-data/node-resolution-data.js.map +1 -1
  10. package/dist/resolvability-graph/node-resolution-data/types/params.d.ts +5 -1
  11. package/dist/resolvability-graph/types/params.d.ts +1 -0
  12. package/dist/resolvability-graph/types/types.d.ts +1 -0
  13. package/dist/resolvability-graph/utils/utils.d.ts +4 -3
  14. package/dist/resolvability-graph/utils/utils.js +34 -12
  15. package/dist/resolvability-graph/utils/utils.js.map +1 -1
  16. package/dist/resolvability-graph/walker/entity-walker/entity-walker.d.ts +3 -2
  17. package/dist/resolvability-graph/walker/entity-walker/entity-walker.js +29 -9
  18. package/dist/resolvability-graph/walker/entity-walker/entity-walker.js.map +1 -1
  19. package/dist/resolvability-graph/walker/entity-walker/types/params.d.ts +4 -2
  20. package/dist/resolvability-graph/walker/root-field-walkers/root-field-walker.d.ts +1 -1
  21. package/dist/resolvability-graph/walker/root-field-walkers/root-field-walker.js +18 -7
  22. package/dist/resolvability-graph/walker/root-field-walkers/root-field-walker.js.map +1 -1
  23. package/dist/resolvability-graph/walker/root-field-walkers/types/params.d.ts +1 -0
  24. package/dist/tsconfig.tsbuildinfo +1 -1
  25. package/dist/utils/composition-version.js +1 -1
  26. package/dist/utils/types.d.ts +5 -3
  27. package/dist/v1/federation/federation-factory.js +1 -0
  28. package/dist/v1/federation/federation-factory.js.map +1 -1
  29. package/dist/v1/normalization/normalization-factory.js +1 -1
  30. package/dist/v1/normalization/normalization-factory.js.map +1 -1
  31. package/dist/v1/normalization/utils.js +17 -4
  32. package/dist/v1/normalization/utils.js.map +1 -1
  33. package/package.json +2 -2
@@ -4,16 +4,19 @@ export declare class Edge {
4
4
  edgeName: string;
5
5
  id: number;
6
6
  isAbstractEdge: boolean;
7
+ isExternal: boolean;
7
8
  isInaccessible: boolean;
8
9
  node: GraphNode;
9
10
  visitedIndices: Set<number>;
10
11
  constructor(id: number, node: GraphNode, edgeName: string, isAbstractEdge?: boolean);
12
+ isEdgeInaccessible(): boolean;
11
13
  }
12
14
  export type GraphNodeOptions = {
13
15
  isAbstract?: boolean;
14
16
  isLeaf?: boolean;
15
17
  };
16
18
  export declare class GraphNode {
19
+ externalFieldSets: Set<string>;
17
20
  fieldDataByName: Map<string, GraphFieldData>;
18
21
  headToTailEdges: Map<string, Edge>;
19
22
  entityEdges: Edge[];
@@ -6,6 +6,7 @@ class Edge {
6
6
  edgeName;
7
7
  id;
8
8
  isAbstractEdge;
9
+ isExternal = false;
9
10
  isInaccessible = false;
10
11
  node;
11
12
  visitedIndices = new Set();
@@ -15,9 +16,13 @@ class Edge {
15
16
  this.isAbstractEdge = isAbstractEdge;
16
17
  this.node = node;
17
18
  }
19
+ isEdgeInaccessible() {
20
+ return this.isInaccessible || this.node.isInaccessible;
21
+ }
18
22
  }
19
23
  exports.Edge = Edge;
20
24
  class GraphNode {
25
+ externalFieldSets = new Set();
21
26
  fieldDataByName = new Map();
22
27
  headToTailEdges = new Map();
23
28
  entityEdges = new Array();
@@ -69,7 +74,6 @@ exports.GraphNode = GraphNode;
69
74
  class RootNode {
70
75
  fieldDataByName = new Map();
71
76
  headToSharedTailEdges = new Map();
72
- // It is used
73
77
  isAbstract = false;
74
78
  isRootNode = true;
75
79
  typeName;
@@ -1 +1 @@
1
- {"version":3,"file":"graph-nodes.js","sourceRoot":"","sources":["../../src/resolvability-graph/graph-nodes.ts"],"names":[],"mappings":";;;AAAA,0CAAgF;AAIhF,MAAa,IAAI;IACf,QAAQ,CAAS;IACjB,EAAE,CAAS;IACX,cAAc,CAAU;IACxB,cAAc,GAAG,KAAK,CAAC;IACvB,IAAI,CAAY;IAChB,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,YAAY,EAAU,EAAE,IAAe,EAAE,QAAgB,EAAE,cAAc,GAAG,KAAK;QAC/E,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAdD,oBAcC;AAOD,MAAa,SAAS;IACpB,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;IACvD,eAAe,GAAG,IAAI,GAAG,EAAgB,CAAC;IAC1C,WAAW,GAAG,IAAI,KAAK,EAAQ,CAAC;IAChC,QAAQ,CAAW;IACnB,iBAAiB,GAAG,KAAK,CAAC;IAC1B,UAAU,CAAU;IACpB,cAAc,GAAG,KAAK,CAAC;IACvB,MAAM,GAAG,KAAK,CAAC;IACf,UAAU,GAAG,KAAK,CAAC;IACnB,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,YAAY,CAAe;IAC3B,QAAQ,CAAW;IAEnB,YAAY,YAA0B,EAAE,QAAkB,EAAE,OAA0B;QACpF,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,GAAG,YAAY,IAAI,QAAQ,EAAE,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,uBAAuB;QACrB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,sBAAsB,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACzG,KAAK,MAAM,SAAS,IAAI,sBAAsB,EAAE,CAAC;YAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC;QACvC,CAAC;IACH,CAAC;IAED,+BAA+B;QAC7B,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QACnE,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,4BAA4B,CAAC,IAAe,EAAE,yBAAwC;QACpF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,IAAA,WAAG,EAAC,yBAAyB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;CACF;AAnDD,8BAmDC;AAED,MAAa,QAAQ;IACnB,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;IACvD,qBAAqB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACvD,aAAa;IACb,UAAU,GAAG,KAAK,CAAC;IACnB,UAAU,GAAG,IAAI,CAAC;IAClB,QAAQ,CAAW;IAEnB,YAAY,QAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,uBAAuB,CAAC,eAA+C;QACrE,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5D,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,SAAS;YACX,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAtBD,4BAsBC;AAED,MAAa,cAAc;IACzB,6BAA6B,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrE,6BAA6B,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrE,QAAQ,CAAS;IAEjB,YAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,2BAA2B,CAAC,QAAgB,EAAE,kBAAgC;QAC5E,IAAA,yBAAiB,EAAC,IAAI,CAAC,6BAA6B,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAgB,CAAC,CAAC,GAAG,CAChG,kBAAkB,CACnB,CAAC;QACF,IAAA,yBAAiB,EAAC,IAAI,CAAC,6BAA6B,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnH,CAAC;CACF;AAfD,wCAeC"}
1
+ {"version":3,"file":"graph-nodes.js","sourceRoot":"","sources":["../../src/resolvability-graph/graph-nodes.ts"],"names":[],"mappings":";;;AAAA,0CAAgF;AAIhF,MAAa,IAAI;IACf,QAAQ,CAAS;IACjB,EAAE,CAAS;IACX,cAAc,CAAU;IACxB,UAAU,GAAG,KAAK,CAAC;IACnB,cAAc,GAAG,KAAK,CAAC;IACvB,IAAI,CAAY;IAChB,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,YAAY,EAAU,EAAE,IAAe,EAAE,QAAgB,EAAE,cAAc,GAAG,KAAK;QAC/E,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;IACzD,CAAC;CACF;AAnBD,oBAmBC;AAOD,MAAa,SAAS;IACpB,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;IACvD,eAAe,GAAG,IAAI,GAAG,EAAgB,CAAC;IAC1C,WAAW,GAAG,IAAI,KAAK,EAAQ,CAAC;IAChC,QAAQ,CAAW;IACnB,iBAAiB,GAAG,KAAK,CAAC;IAC1B,UAAU,CAAU;IACpB,cAAc,GAAG,KAAK,CAAC;IACvB,MAAM,GAAG,KAAK,CAAC;IACf,UAAU,GAAG,KAAK,CAAC;IACnB,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,YAAY,CAAe;IAC3B,QAAQ,CAAW;IAEnB,YAAY,YAA0B,EAAE,QAAkB,EAAE,OAA0B;QACpF,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,GAAG,YAAY,IAAI,QAAQ,EAAE,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,uBAAuB;QACrB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,sBAAsB,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACzG,KAAK,MAAM,SAAS,IAAI,sBAAsB,EAAE,CAAC;YAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC;QACvC,CAAC;IACH,CAAC;IAED,+BAA+B;QAC7B,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QACnE,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,4BAA4B,CAAC,IAAe,EAAE,yBAAwC;QACpF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,IAAA,WAAG,EAAC,yBAAyB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;CACF;AApDD,8BAoDC;AAED,MAAa,QAAQ;IACnB,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;IACvD,qBAAqB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACvD,UAAU,GAAG,KAAK,CAAC;IACnB,UAAU,GAAG,IAAI,CAAC;IAClB,QAAQ,CAAW;IAEnB,YAAY,QAAkB;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,uBAAuB,CAAC,eAA+C;QACrE,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5D,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,SAAS;YACX,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AArBD,4BAqBC;AAED,MAAa,cAAc;IACzB,6BAA6B,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrE,6BAA6B,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrE,QAAQ,CAAS;IAEjB,YAAY,QAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,2BAA2B,CAAC,QAAgB,EAAE,kBAAgC;QAC5E,IAAA,yBAAiB,EAAC,IAAI,CAAC,6BAA6B,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAgB,CAAC,CAAC,GAAG,CAChG,kBAAkB,CACnB,CAAC;QACF,IAAA,yBAAiB,EAAC,IAAI,CAAC,6BAA6B,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnH,CAAC;CACF;AAfD,wCAeC"}
@@ -26,7 +26,7 @@ export declare class Graph {
26
26
  setNodeInaccessible(typeName: TypeName): void;
27
27
  initializeNode(typeName: TypeName, fieldDataByName: Map<FieldName, GraphFieldData>): void;
28
28
  setSubgraphName(subgraphName: SubgraphName): void;
29
- visitEntity({ encounteredEntityNodeNames, entityNodeName, relativeOriginPaths, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, visitedEntities, }: VisitEntityParams): void;
29
+ visitEntity({ encounteredEntityNodeNames, entityNodeName, relativeOriginPaths, resDataByRelativeOriginPath, resolvedPaths, subgraphNameByUnresolvablePath, visitedEntities, }: VisitEntityParams): void;
30
30
  validate(): ValidationResult;
31
31
  consolidateUnresolvableRootWithEntityPaths({ pathFromRoot, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, walker, }: ConsolidateUnresolvablePathsParams): void;
32
32
  consolidateUnresolvableEntityWithRootPaths({ pathFromRoot, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, walker, }: ConsolidateUnresolvablePathsParams): void;
@@ -94,6 +94,10 @@ class Graph {
94
94
  }
95
95
  node.hasEntitySiblings = true;
96
96
  for (const fieldSet of node.satisfiedFieldSets) {
97
+ // If the field set is unresolvable in the entity's own subgraph, it cannot be used to jump to other subgraphs.
98
+ if (node.externalFieldSets.has(fieldSet)) {
99
+ continue;
100
+ }
97
101
  const subgraphNames = entityDataNode.targetSubgraphNamesByFieldSet.get(fieldSet);
98
102
  for (const subgraphName of subgraphNames ?? []) {
99
103
  // A subgraph should not jump to itself
@@ -111,7 +115,7 @@ class Graph {
111
115
  setSubgraphName(subgraphName) {
112
116
  this.subgraphName = subgraphName;
113
117
  }
114
- visitEntity({ encounteredEntityNodeNames, entityNodeName, relativeOriginPaths, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, visitedEntities, }) {
118
+ visitEntity({ encounteredEntityNodeNames, entityNodeName, relativeOriginPaths, resDataByRelativeOriginPath, resolvedPaths, subgraphNameByUnresolvablePath, visitedEntities, }) {
115
119
  const entityNode = this.nodeByNodeName.get(entityNodeName);
116
120
  if (!entityNode) {
117
121
  throw new Error(`Fatal: Could not find entity node for "${entityNodeName}".`);
@@ -127,6 +131,7 @@ class Graph {
127
131
  relativeOriginPaths,
128
132
  resDataByNodeName: this.resDataByNodeName,
129
133
  resDataByRelativeOriginPath,
134
+ resolvedPaths,
130
135
  subgraphNameByUnresolvablePath,
131
136
  visitedEntities,
132
137
  });
@@ -160,6 +165,7 @@ class Graph {
160
165
  selectionPath: selectionPath,
161
166
  }),
162
167
  resDataByRelativeOriginPath,
168
+ resolvedPaths,
163
169
  subgraphNameByUnresolvablePath,
164
170
  visitedEntities,
165
171
  });
@@ -254,6 +260,7 @@ class Graph {
254
260
  }
255
261
  }
256
262
  validateSharedRootFieldEntities({ rootFieldData, walker }) {
263
+ const resolvedPaths = new Set();
257
264
  for (const [pathFromRoot, entityNodeNames] of walker.entityNodeNamesByPath) {
258
265
  const subgraphNameByUnresolvablePath = new Map();
259
266
  // Shared fields are unique contexts, so the resolution data cannot be reused.
@@ -266,6 +273,7 @@ class Graph {
266
273
  encounteredEntityNodeNames: new Set(),
267
274
  entityNodeName,
268
275
  resDataByRelativeOriginPath: resDataByRelativeOriginPath,
276
+ resolvedPaths,
269
277
  subgraphNameByUnresolvablePath,
270
278
  visitedEntities: new Set(),
271
279
  });
@@ -328,6 +336,7 @@ class Graph {
328
336
  };
329
337
  }
330
338
  validateRootFieldEntities({ rootFieldData, walker }) {
339
+ const resolvedPaths = new Set();
331
340
  for (const [entityNodeName, entityPaths] of walker.pathsByEntityNodeName) {
332
341
  const subgraphNameByUnresolvablePath = new Map();
333
342
  if (this.resDataByNodeName.has(entityNodeName)) {
@@ -338,6 +347,7 @@ class Graph {
338
347
  encounteredEntityNodeNames: new Set(),
339
348
  entityNodeName,
340
349
  resDataByRelativeOriginPath: resDataByRelativeOriginPath,
350
+ resolvedPaths,
341
351
  subgraphNameByUnresolvablePath,
342
352
  visitedEntities: (0, utils_2.getValueOrDefault)(this.visitedEntitiesByOriginEntity, entityNodeName, () => new Set()),
343
353
  });
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/resolvability-graph/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/resolvability-graph/graph.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { GraphFieldData } from '../../utils/types';
2
2
  import { FieldName } from '../types/types';
3
- import { NodeResolutionDataParams } from './types/params';
3
+ import { AddExternalSubgraphNameParams, NodeResolutionDataParams } from './types/params';
4
4
  export declare class NodeResolutionData {
5
5
  #private;
6
6
  readonly fieldDataByName: ReadonlyMap<FieldName, GraphFieldData>;
@@ -8,8 +8,9 @@ export declare class NodeResolutionData {
8
8
  resolvedFieldNames: Set<FieldName>;
9
9
  typeName: string;
10
10
  constructor({ fieldDataByName, isResolved, resolvedDescendantNames, resolvedFieldNames, typeName, }: NodeResolutionDataParams);
11
- addData(data: NodeResolutionData): void;
11
+ addData({ resolvedDescendantNames, resolvedFieldNames }: NodeResolutionData): void;
12
12
  addResolvedFieldName(fieldName: FieldName): void;
13
+ addExternalSubgraphName({ fieldName, subgraphName }: AddExternalSubgraphNameParams): void;
13
14
  copy(): NodeResolutionData;
14
15
  areDescendantsResolved(): boolean;
15
16
  isResolved(): boolean;
@@ -15,11 +15,11 @@ class NodeResolutionData {
15
15
  this.resolvedFieldNames = new Set(resolvedFieldNames);
16
16
  this.typeName = typeName;
17
17
  }
18
- addData(data) {
19
- for (const fieldName of data.resolvedFieldNames) {
18
+ addData({ resolvedDescendantNames, resolvedFieldNames }) {
19
+ for (const fieldName of resolvedFieldNames) {
20
20
  this.addResolvedFieldName(fieldName);
21
21
  }
22
- for (const fieldName of data.resolvedDescendantNames) {
22
+ for (const fieldName of resolvedDescendantNames) {
23
23
  this.resolvedDescendantNames.add(fieldName);
24
24
  }
25
25
  }
@@ -29,6 +29,13 @@ class NodeResolutionData {
29
29
  }
30
30
  this.resolvedFieldNames.add(fieldName);
31
31
  }
32
+ addExternalSubgraphName({ fieldName, subgraphName }) {
33
+ const fieldData = this.fieldDataByName.get(fieldName);
34
+ if (!fieldData) {
35
+ throw (0, errors_1.unexpectedEdgeFatalError)(this.typeName, [fieldName]);
36
+ }
37
+ fieldData.externalSubgraphNames.add(subgraphName);
38
+ }
32
39
  copy() {
33
40
  return new NodeResolutionData({
34
41
  // Only used for reading, so just a shallow copy.
@@ -1 +1 @@
1
- {"version":3,"file":"node-resolution-data.js","sourceRoot":"","sources":["../../../src/resolvability-graph/node-resolution-data/node-resolution-data.ts"],"names":[],"mappings":";;;AACA,gDAA+D;AAI/D,MAAa,kBAAkB;IAC7B,WAAW,GAAG,KAAK,CAAC;IACX,eAAe,CAAyC;IACjE,uBAAuB,CAAiB;IACxC,kBAAkB,CAAiB;IACnC,QAAQ,CAAS;IAEjB,YAAY,EACV,eAAe,EACf,UAAU,GAAG,KAAK,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,GACiB;QACzB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,uBAAuB,GAAG,IAAI,GAAG,CAAY,uBAAuB,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,CAAY,kBAAkB,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,IAAwB;QAC9B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChD,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACrD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,SAAoB;QACvC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,MAAM,IAAA,iCAAwB,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,kBAAkB,CAAC;YAC5B,iDAAiD;YACjD,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;IACzE,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5C,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnED,gDAmEC"}
1
+ {"version":3,"file":"node-resolution-data.js","sourceRoot":"","sources":["../../../src/resolvability-graph/node-resolution-data/node-resolution-data.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { FieldName, TypeName } from '../../types/types';
1
+ import { FieldName, SubgraphName, TypeName } from '../../types/types';
2
2
  import { GraphFieldData } from '../../../utils/types';
3
3
  export type NodeResolutionDataParams = {
4
4
  readonly fieldDataByName: ReadonlyMap<FieldName, GraphFieldData>;
@@ -7,3 +7,7 @@ export type NodeResolutionDataParams = {
7
7
  resolvedDescendantNames?: Set<FieldName>;
8
8
  resolvedFieldNames?: Set<FieldName>;
9
9
  };
10
+ export type AddExternalSubgraphNameParams = {
11
+ fieldName: FieldName;
12
+ subgraphName: SubgraphName;
13
+ };
@@ -5,6 +5,7 @@ export type VisitEntityParams = {
5
5
  encounteredEntityNodeNames: Set<NodeName>;
6
6
  entityNodeName: NodeName;
7
7
  resDataByRelativeOriginPath: Map<SelectionPath, NodeResolutionData>;
8
+ resolvedPaths: Set<SelectionPath>;
8
9
  subgraphNameByUnresolvablePath: Map<SelectionPath, SubgraphName>;
9
10
  visitedEntities: Set<NodeName>;
10
11
  relativeOriginPaths?: Set<SelectionPath>;
@@ -1,6 +1,7 @@
1
1
  export type VisitNodeResult = {
2
2
  visited: boolean;
3
3
  areDescendantsResolved: boolean;
4
+ isExternal?: true;
4
5
  isRevisitedNode?: true;
5
6
  };
6
7
  export type FieldName = string;
@@ -3,10 +3,11 @@ import { FieldName, RootFieldData, SelectionPath, SubgraphName, TypeName } from
3
3
  import { GenerateResolvabilityErrorReasonsParams, GenerateSharedResolvabilityErrorReasonsParams, GetMultipliedRelativeOriginPathsParams, ResolvabilityErrorsParams, RootResolvabilityErrorsParams, SharedResolvabilityErrorsParams } from './types/params';
4
4
  import { SelectionSetSegments } from './types/types';
5
5
  export type UnresolvableFieldData = {
6
- fieldName: string;
6
+ externalSubgraphNames: Set<SubgraphName>;
7
+ fieldName: FieldName;
7
8
  selectionSet: string;
8
- subgraphNames: Set<string>;
9
- typeName: string;
9
+ subgraphNames: Set<SubgraphName>;
10
+ typeName: TypeName;
10
11
  };
11
12
  export declare function newRootFieldData(typeName: TypeName, fieldName: FieldName, subgraphNames: Set<SubgraphName>): RootFieldData;
12
13
  export declare function generateResolvabilityErrorReasons({ entityAncestorData, rootFieldData, unresolvableFieldData, }: GenerateResolvabilityErrorReasonsParams): Array<string>;
@@ -33,13 +33,21 @@ function formatFieldNameSelection(fieldData, pathLength) {
33
33
  `}\n`);
34
34
  }
35
35
  function generateResolvabilityErrorReasons({ entityAncestorData, rootFieldData, unresolvableFieldData, }) {
36
- const { fieldName, typeName, subgraphNames } = unresolvableFieldData;
37
- const reasons = [
38
- rootFieldData.message,
39
- `The field "${typeName}.${fieldName}" is defined in the following subgraph` +
36
+ const { externalSubgraphNames, fieldName, typeName, subgraphNames } = unresolvableFieldData;
37
+ const reasons = [rootFieldData.message];
38
+ if (externalSubgraphNames.size > 0) {
39
+ const nonExternalSubgraphNames = subgraphNames.difference(externalSubgraphNames);
40
+ reasons.push(`The field "${typeName}.${fieldName}" is defined (and resolvable) in the following subgraph` +
41
+ (nonExternalSubgraphNames.size > 1 ? `s` : ``) +
42
+ `: "${[...nonExternalSubgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`, `The field "${typeName}.${fieldName}" is defined "@external" (and unresolvable) in the following subgraph` +
43
+ (externalSubgraphNames.size > 1 ? `s` : ``) +
44
+ `: "${[...externalSubgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`);
45
+ }
46
+ else {
47
+ reasons.push(`The field "${typeName}.${fieldName}" is defined in the following subgraph` +
40
48
  (subgraphNames.size > 1 ? `s` : ``) +
41
- `: "${[...subgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`,
42
- ];
49
+ `: "${[...subgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`);
50
+ }
43
51
  if (entityAncestorData) {
44
52
  let hasIntersectingTargetSubgraph = false;
45
53
  for (const [targetSubgraphName, fieldSets] of entityAncestorData.fieldSetsByTargetSubgraphName) {
@@ -48,6 +56,9 @@ function generateResolvabilityErrorReasons({ entityAncestorData, rootFieldData,
48
56
  }
49
57
  hasIntersectingTargetSubgraph = true;
50
58
  for (const fieldSet of fieldSets) {
59
+ if (entityAncestorData.subgraphName === targetSubgraphName) {
60
+ continue;
61
+ }
51
62
  reasons.push(`The entity ancestor "${entityAncestorData.typeName}" in subgraph "${entityAncestorData.subgraphName}" does not satisfy the key field set "${fieldSet}" to access subgraph "${targetSubgraphName}".`);
52
63
  }
53
64
  }
@@ -68,13 +79,21 @@ function generateResolvabilityErrorReasons({ entityAncestorData, rootFieldData,
68
79
  return reasons;
69
80
  }
70
81
  function generateSharedResolvabilityErrorReasons({ entityAncestors, rootFieldData, unresolvableFieldData, }) {
71
- const { fieldName, typeName, subgraphNames } = unresolvableFieldData;
72
- const reasons = [
73
- rootFieldData.message,
74
- `The field "${typeName}.${fieldName}" is defined in the following subgraph` +
82
+ const { externalSubgraphNames, fieldName, typeName, subgraphNames } = unresolvableFieldData;
83
+ const reasons = [rootFieldData.message];
84
+ if (externalSubgraphNames.size > 0) {
85
+ const nonExternalSubgraphNames = subgraphNames.difference(externalSubgraphNames);
86
+ reasons.push(`The field "${typeName}.${fieldName}" is defined (and resolvable) in the following subgraph` +
87
+ (nonExternalSubgraphNames.size > 1 ? `s` : ``) +
88
+ `: "${[...nonExternalSubgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`, `The field "${typeName}.${fieldName}" is defined "@external" (and unresolvable) in the following subgraph` +
89
+ (externalSubgraphNames.size > 1 ? `s` : ``) +
90
+ `: "${[...externalSubgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`);
91
+ }
92
+ else {
93
+ reasons.push(`The field "${typeName}.${fieldName}" is defined in the following subgraph` +
75
94
  (subgraphNames.size > 1 ? `s` : ``) +
76
- `: "${[...subgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`,
77
- ];
95
+ `: "${[...subgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`);
96
+ }
78
97
  let hasIntersectingTargetSubgraph = false;
79
98
  for (const [targetSubgraphName, fieldSets] of entityAncestors.fieldSetsByTargetSubgraphName) {
80
99
  if (!subgraphNames.has(targetSubgraphName)) {
@@ -145,6 +164,7 @@ function generateRootResolvabilityErrors({ resDataByPath, rootFieldData, unresol
145
164
  const selectionSetSegments = generateSelectionSetSegments(path);
146
165
  for (const [fieldName, fieldData] of fieldDataByName) {
147
166
  unresolvableFieldDatas.push({
167
+ externalSubgraphNames: fieldData.externalSubgraphNames,
148
168
  fieldName,
149
169
  selectionSet: renderSelectionSet(selectionSetSegments, fieldData),
150
170
  subgraphNames: fieldData.subgraphNames,
@@ -174,6 +194,7 @@ function generateEntityResolvabilityErrors({ entityAncestorData, resDataByPath,
174
194
  const selectionSetSegments = generateSelectionSetSegments(fullPath);
175
195
  for (const [fieldName, fieldData] of fieldDataByName) {
176
196
  unresolvableFieldDatas.push({
197
+ externalSubgraphNames: fieldData.externalSubgraphNames,
177
198
  fieldName,
178
199
  selectionSet: renderSelectionSet(selectionSetSegments, fieldData),
179
200
  subgraphNames: fieldData.subgraphNames,
@@ -204,6 +225,7 @@ function generateSharedEntityResolvabilityErrors({ entityAncestors, resDataByPat
204
225
  const selectionSetSegments = generateSelectionSetSegments(fullPath);
205
226
  for (const [fieldName, fieldData] of fieldDataByName) {
206
227
  unresolvableFieldDatas.push({
228
+ externalSubgraphNames: fieldData.externalSubgraphNames,
207
229
  fieldName,
208
230
  selectionSet: renderSelectionSet(selectionSetSegments, fieldData),
209
231
  subgraphNames: fieldData.subgraphNames,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/resolvability-graph/utils/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/resolvability-graph/utils/utils.ts"],"names":[],"mappings":";;AAwBA,4CAaC;AAgBD,8EAgEC;AAED,0FA2DC;AAED,oEAcC;AAED,gDAUC;AAYD,0EAoCC;AAED,8EAyCC;AAED,0FAwCC;AAED,4EAYC;AAjWD,gDAA4D;AAC5D,6CAAoD;AAapD,oEAA8E;AAU9E,SAAgB,gBAAgB,CAC9B,QAAkB,EAClB,SAAoB,EACpB,aAAgC;IAEhC,OAAO;QACL,MAAM,EAAE,GAAG,QAAQ,IAAI,SAAS,EAAE;QAClC,OAAO,EACL,wBAAwB,QAAQ,IAAI,SAAS,wCAAwC;YACrF,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI;QACnD,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAyB,EAAE,UAAkB;IAC7E,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;IACnC,CAAC;IACD,OAAO,CACL,SAAS,CAAC,IAAI;QACd,UAAU;QACV,gCAAa,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QACpC,OAAO;QACP,gCAAa,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QACpC,KAAK,CACN,CAAC;AACJ,CAAC;AAED,SAAgB,iCAAiC,CAAC,EAChD,kBAAkB,EAClB,aAAa,EACb,qBAAqB,GACmB;IACxC,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,qBAAqB,CAAC;IAC5F,MAAM,OAAO,GAAkB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,wBAAwB,GAAG,aAAa,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CACV,cAAc,QAAQ,IAAI,SAAS,yDAAyD;YAC1F,CAAC,wBAAwB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,wBAAwB,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI,EAC9D,cAAc,QAAQ,IAAI,SAAS,uEAAuE;YACxG,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI,CAC5D,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CACV,cAAc,QAAQ,IAAI,SAAS,wCAAwC;YACzE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI,CACpD,CAAC;IACJ,CAAC;IACD,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,6BAA6B,GAAG,KAAK,CAAC;QAC1C,KAAK,MAAM,CAAC,kBAAkB,EAAE,SAAS,CAAC,IAAI,kBAAkB,CAAC,6BAA6B,EAAE,CAAC;YAC/F,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC3C,SAAS;YACX,CAAC;YACD,6BAA6B,GAAG,IAAI,CAAC;YACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,kBAAkB,CAAC,YAAY,KAAK,kBAAkB,EAAE,CAAC;oBAC3D,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,wBAAwB,kBAAkB,CAAC,QAAQ,kBAAkB,kBAAkB,CAAC,YAAY,yCAAyC,QAAQ,yBAAyB,kBAAkB,IAAI,CACrM,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CACV,wBAAwB,kBAAkB,CAAC,QAAQ,kBAAkB,kBAAkB,CAAC,YAAY,4FAA4F,QAAQ,IAAI,SAAS,eAAe,CACrO,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CACV,aAAa,QAAQ,kGAAkG,SAAS,IAAI,CACrI,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,aAAa,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CACV,+DAA+D,aAAa,CAAC,MAAM,oCAAoC,SAAS,IAAI,CACrI,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CACV,aAAa,QAAQ,0FAA0F,SAAS,IAAI,CAC7H,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,kBAAkB,EAAE,QAAQ,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CACV,aAAa,QAAQ,uIAAuI,CAC7J,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,uCAAuC,CAAC,EACtD,eAAe,EACf,aAAa,EACb,qBAAqB,GACyB;IAC9C,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,qBAAqB,CAAC;IAC5F,MAAM,OAAO,GAAkB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,wBAAwB,GAAG,aAAa,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CACV,cAAc,QAAQ,IAAI,SAAS,yDAAyD;YAC1F,CAAC,wBAAwB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,wBAAwB,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI,EAC9D,cAAc,QAAQ,IAAI,SAAS,uEAAuE;YACxG,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI,CAC5D,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CACV,cAAc,QAAQ,IAAI,SAAS,wCAAwC;YACzE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,iCAAc,CAAC,IAAI,CACpD,CAAC;IACJ,CAAC;IACD,IAAI,6BAA6B,GAAG,KAAK,CAAC;IAC1C,KAAK,MAAM,CAAC,kBAAkB,EAAE,SAAS,CAAC,IAAI,eAAe,CAAC,6BAA6B,EAAE,CAAC;QAC5F,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,MAAM,qBAAqB,GAAG,eAAe,CAAC,aAAa,CAAC,MAAM,CAChE,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,kBAAkB,CACtD,CAAC;QACF,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;QACxD,6BAA6B,GAAG,IAAI,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACV,wBAAwB,eAAe,CAAC,QAAQ,gBAAgB,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzF,KAAK,qBAAqB,CAAC,IAAI,CAAC,iCAAc,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc;gBAC9F,uBAAuB,QAAQ,yBAAyB,kBAAkB,IAAI,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CACV,wBAAwB,eAAe,CAAC,QAAQ,gBAAgB,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACnF,KAAK,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,iCAAc,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,uBAAuB;YAC1G,kEAAkE,QAAQ,IAAI,SAAS,eAAe,CACzG,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,CACV,aAAa,QAAQ,kGAAkG,SAAS,IAAI,CACrI,CAAC;IACF,IAAI,QAAQ,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CACV,aAAa,QAAQ,uIAAuI,CAC7J,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,4BAA4B,CAAC,SAAiB;IAC5D,4EAA4E;IAC5E,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,WAAW,IAAI,gCAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QACnE,SAAS,GAAG,gCAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC;IAC9D,CAAC;IACD,OAAO;QACL,SAAS;QACT,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAChC,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAwB,EAC3D,SAAyB;IAEzB,OAAO,CACL,WAAW;QACX,gCAAa,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1C,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC;QACrD,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB,EAAE,YAAqB;IACnE,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,GAAG,YAAY,GAAG,SAAS,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,+BAA+B,CAAC,EAC9C,aAAa,EACb,aAAa,EACb,iBAAiB,GACa;IAC9B,MAAM,sBAAsB,GAAG,IAAI,KAAK,EAAyB,CAAC;IAClE,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,kBAAkB,GAAG,IAAA,uBAAe,EAAC,aAAa,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QACjF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC7D,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,kBAAkB,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAChE,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC;YACrD,sBAAsB,CAAC,IAAI,CAAC;gBAC1B,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;gBACtD,SAAS;gBACT,YAAY,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,SAAS,CAAC;gBACjE,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;aACtC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,KAAK,EAAS,CAAC;IAClC,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CACT,IAAA,8BAAqB,EACnB,qBAAqB,EACrB,iCAAiC,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC,CAC5E,CACF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,iCAAiC,CAAC,EAChD,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,8BAA8B,GACJ;IAC1B,MAAM,MAAM,GAAG,IAAI,KAAK,EAAS,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,8BAA8B,EAAE,CAAC;QAClE,MAAM,sBAAsB,GAAG,IAAI,KAAK,EAAyB,CAAC;QAClE,MAAM,kBAAkB,GAAG,IAAA,uBAAe,EAAC,aAAa,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QACjF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC7D,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,kBAAkB,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC;YACrD,sBAAsB,CAAC,IAAI,CAAC;gBAC1B,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;gBACtD,SAAS;gBACT,YAAY,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,SAAS,CAAC;gBACjE,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;aACtC,CAAC,CAAC;QACL,CAAC;QACD,0DAA0D;QAC1D,kBAAkB,CAAC,YAAY,GAAG,YAAY,CAAC;QAC/C,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;YAC3D,MAAM,CAAC,IAAI,CACT,IAAA,8BAAqB,EACnB,qBAAqB,EACrB,iCAAiC,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,CAAC,CAChG,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,uCAAuC,CAAC,EACtD,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,8BAA8B,GACE;IAChC,MAAM,MAAM,GAAG,IAAI,KAAK,EAAS,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,8BAA8B,CAAC,IAAI,EAAE,EAAE,CAAC;QACzD,MAAM,sBAAsB,GAAG,IAAI,KAAK,EAAyB,CAAC;QAClE,MAAM,kBAAkB,GAAG,IAAA,uBAAe,EAAC,aAAa,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QACjF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC7D,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,kBAAkB,CAAC,eAAe,EAAE,CAAC;YACxE,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC;YACrD,sBAAsB,CAAC,IAAI,CAAC;gBAC1B,qBAAqB,EAAE,SAAS,CAAC,qBAAqB;gBACtD,SAAS;gBACT,YAAY,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,SAAS,CAAC;gBACjE,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;aACtC,CAAC,CAAC;QACL,CAAC;QACD,0DAA0D;QAC1D,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;YAC3D,MAAM,CAAC,IAAI,CACT,IAAA,8BAAqB,EACnB,qBAAqB,EACrB,uCAAuC,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAC,CACnG,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,gCAAgC,CAAC,EAC/C,mBAAmB,EACnB,aAAa,GAC0B;IACvC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,IAAI,GAAG,CAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiB,CAAC;IACjD,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;QAC7C,eAAe,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,aAAa,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -6,16 +6,17 @@ export declare class EntityWalker {
6
6
  index: number;
7
7
  resDataByNodeName: Map<NodeName, NodeResolutionData>;
8
8
  resDataByRelativeOriginPath: Map<SelectionPath, NodeResolutionData>;
9
+ resolvedPaths: Set<SelectionPath>;
9
10
  selectionPathByEntityNodeName: Map<`${string}.${string}`, string>;
10
11
  subgraphNameByUnresolvablePath: Map<SelectionPath, SubgraphName>;
11
12
  visitedEntities: Set<NodeName>;
12
13
  relativeOriginPaths?: Set<SelectionPath>;
13
- constructor({ encounteredEntityNodeNames, index, relativeOriginPaths, resDataByNodeName, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, visitedEntities, }: EntityWalkerParams);
14
+ constructor({ encounteredEntityNodeNames, index, relativeOriginPaths, resDataByNodeName, resDataByRelativeOriginPath, resolvedPaths, subgraphNameByUnresolvablePath, visitedEntities, }: EntityWalkerParams);
14
15
  getNodeResolutionData({ node: { fieldDataByName, nodeName, typeName }, selectionPath, }: GetNodeResolutionDataParams): NodeResolutionData;
15
16
  visitEntityDescendantEdge({ edge, selectionPath }: VisitEntityDescendantEdgeParams): VisitNodeResult;
16
17
  visitEntityDescendantConcreteNode({ node, selectionPath }: VisitEntityDescendantNodeParams): VisitNodeResult;
17
18
  visitEntityDescendantAbstractNode({ node, selectionPath }: VisitEntityDescendantNodeParams): VisitNodeResult;
18
- propagateVisitedField({ areDescendantsResolved, data, fieldName, nodeName, selectionPath, visited, }: PropagateVisitedFieldParams): void;
19
+ propagateVisitedField({ areDescendantsResolved, data, fieldName, isExternal, node, selectionPath, visited, }: PropagateVisitedFieldParams): void;
19
20
  addUnresolvablePaths({ selectionPath, subgraphName }: AddUnresolvablePathsParams): void;
20
21
  removeUnresolvablePaths({ selectionPath, removeDescendantPaths }: RemoveUnresolvablePathsParams): void;
21
22
  }
@@ -9,19 +9,21 @@ class EntityWalker {
9
9
  index;
10
10
  resDataByNodeName;
11
11
  resDataByRelativeOriginPath;
12
+ resolvedPaths;
12
13
  selectionPathByEntityNodeName = new Map();
13
14
  // The subgraph name is so the propagated errors accurately reflect which subgraph cannot reach the node.
14
15
  subgraphNameByUnresolvablePath;
15
16
  visitedEntities;
16
17
  relativeOriginPaths;
17
- constructor({ encounteredEntityNodeNames, index, relativeOriginPaths, resDataByNodeName, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, visitedEntities, }) {
18
+ constructor({ encounteredEntityNodeNames, index, relativeOriginPaths, resDataByNodeName, resDataByRelativeOriginPath, resolvedPaths, subgraphNameByUnresolvablePath, visitedEntities, }) {
18
19
  this.encounteredEntityNodeNames = encounteredEntityNodeNames;
19
20
  this.index = index;
20
21
  this.relativeOriginPaths = relativeOriginPaths;
21
22
  this.resDataByNodeName = resDataByNodeName;
22
23
  this.resDataByRelativeOriginPath = resDataByRelativeOriginPath;
23
- this.visitedEntities = visitedEntities;
24
+ this.resolvedPaths = resolvedPaths;
24
25
  this.subgraphNameByUnresolvablePath = subgraphNameByUnresolvablePath;
26
+ this.visitedEntities = visitedEntities;
25
27
  }
26
28
  getNodeResolutionData({ node: { fieldDataByName, nodeName, typeName }, selectionPath, }) {
27
29
  const dataByNodeName = (0, utils_1.getValueOrDefault)(this.resDataByNodeName, nodeName, () => new node_resolution_data_1.NodeResolutionData({ fieldDataByName, typeName }));
@@ -36,9 +38,12 @@ class EntityWalker {
36
38
  return returnData;
37
39
  }
38
40
  visitEntityDescendantEdge({ edge, selectionPath }) {
39
- if (edge.isInaccessible || edge.node.isInaccessible) {
41
+ if (edge.isEdgeInaccessible()) {
40
42
  return { visited: false, areDescendantsResolved: false };
41
43
  }
44
+ if (edge.isExternal) {
45
+ return { visited: false, areDescendantsResolved: false, isExternal: true };
46
+ }
42
47
  if (edge.node.isLeaf) {
43
48
  return { visited: true, areDescendantsResolved: true };
44
49
  }
@@ -96,16 +101,17 @@ class EntityWalker {
96
101
  }
97
102
  let removeDescendantPaths = undefined;
98
103
  for (const [fieldName, edge] of node.headToTailEdges) {
99
- const { visited, areDescendantsResolved, isRevisitedNode } = this.visitEntityDescendantEdge({
104
+ const { areDescendantsResolved, isExternal, isRevisitedNode, visited } = this.visitEntityDescendantEdge({
100
105
  edge,
101
106
  selectionPath,
102
107
  });
103
108
  removeDescendantPaths ??= isRevisitedNode;
104
109
  this.propagateVisitedField({
105
110
  areDescendantsResolved,
106
- fieldName,
107
111
  data,
108
- nodeName: node.nodeName,
112
+ fieldName,
113
+ isExternal,
114
+ node,
109
115
  selectionPath,
110
116
  visited,
111
117
  });
@@ -134,11 +140,15 @@ class EntityWalker {
134
140
  }
135
141
  return { visited: true, areDescendantsResolved: resolvedDescendants === node.headToTailEdges.size };
136
142
  }
137
- propagateVisitedField({ areDescendantsResolved, data, fieldName, nodeName, selectionPath, visited, }) {
143
+ propagateVisitedField({ areDescendantsResolved, data, fieldName, isExternal, node, selectionPath, visited, }) {
144
+ if (isExternal) {
145
+ data.addExternalSubgraphName({ fieldName, subgraphName: node.subgraphName });
146
+ return;
147
+ }
138
148
  if (!visited) {
139
149
  return;
140
150
  }
141
- const dataByNodeName = (0, utils_1.getValueOrDefault)(this.resDataByNodeName, nodeName, () => data.copy());
151
+ const dataByNodeName = (0, utils_1.getValueOrDefault)(this.resDataByNodeName, node.nodeName, () => data.copy());
142
152
  data.addResolvedFieldName(fieldName);
143
153
  dataByNodeName.addResolvedFieldName(fieldName);
144
154
  if (areDescendantsResolved) {
@@ -166,11 +176,18 @@ class EntityWalker {
166
176
  }
167
177
  addUnresolvablePaths({ selectionPath, subgraphName }) {
168
178
  if (!this.relativeOriginPaths) {
179
+ if (this.resolvedPaths.has(selectionPath)) {
180
+ return;
181
+ }
169
182
  (0, utils_1.getValueOrDefault)(this.subgraphNameByUnresolvablePath, selectionPath, () => subgraphName);
170
183
  return;
171
184
  }
172
185
  for (const path of this.relativeOriginPaths) {
173
- (0, utils_1.getValueOrDefault)(this.subgraphNameByUnresolvablePath, `${path}${selectionPath}`, () => subgraphName);
186
+ const fullPath = `${path}${selectionPath}`;
187
+ if (this.resolvedPaths.has(fullPath)) {
188
+ continue;
189
+ }
190
+ (0, utils_1.getValueOrDefault)(this.subgraphNameByUnresolvablePath, fullPath, () => subgraphName);
174
191
  }
175
192
  }
176
193
  removeUnresolvablePaths({ selectionPath, removeDescendantPaths }) {
@@ -180,6 +197,7 @@ class EntityWalker {
180
197
  for (const unresolvablePath of this.subgraphNameByUnresolvablePath.keys()) {
181
198
  if (unresolvablePath.startsWith(selectionPath)) {
182
199
  this.subgraphNameByUnresolvablePath.delete(unresolvablePath);
200
+ this.resolvedPaths.add(unresolvablePath);
183
201
  }
184
202
  }
185
203
  }
@@ -188,10 +206,12 @@ class EntityWalker {
188
206
  for (const originPath of this.relativeOriginPaths) {
189
207
  const fullPath = `${originPath}${selectionPath}`;
190
208
  this.subgraphNameByUnresolvablePath.delete(fullPath);
209
+ this.resolvedPaths.add(fullPath);
191
210
  if (removeDescendantPaths) {
192
211
  for (const unresolvablePath of this.subgraphNameByUnresolvablePath.keys()) {
193
212
  if (unresolvablePath.startsWith(fullPath)) {
194
213
  this.subgraphNameByUnresolvablePath.delete(unresolvablePath);
214
+ this.resolvedPaths.add(unresolvablePath);
195
215
  }
196
216
  }
197
217
  }