@apollo/federation-internals 2.10.1 → 2.10.3

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.
@@ -9,6 +9,7 @@ export type ArgumentCompositionStrategy = {
9
9
  mergeValues: (values: any[]) => any;
10
10
  };
11
11
  declare function unionValues(values: any[]): any;
12
+ declare function dnfConjunction<T>(values: T[][][]): T[][];
12
13
  export declare const ARGUMENT_COMPOSITION_STRATEGIES: {
13
14
  MAX: {
14
15
  name: string;
@@ -45,6 +46,11 @@ export declare const ARGUMENT_COMPOSITION_STRATEGIES: {
45
46
  isTypeSupported: TypeSupportValidator;
46
47
  mergeValues: (values: any[]) => any;
47
48
  };
49
+ DNF_CONJUNCTION: {
50
+ name: string;
51
+ isTypeSupported: TypeSupportValidator;
52
+ mergeValues: typeof dnfConjunction;
53
+ };
48
54
  };
49
55
  export {};
50
56
  //# sourceMappingURL=argumentCompositionStrategies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"argumentCompositionStrategies.d.ts","sourceRoot":"","sources":["../src/argumentCompositionStrategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,EAA6B,MAAM,eAAe,CAAA;AAIzF,KAAK,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3G,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,oBAAoB,CAAC;IACtC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACrC,CAAA;AAuCD,iBAAS,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAKvC;AAED,eAAO,MAAM,+BAA+B;;;;8BAIlB,MAAM,EAAE;;;;;8BAKR,MAAM,EAAE;;;;;8BAaR,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsC9B,CAAA"}
1
+ {"version":3,"file":"argumentCompositionStrategies.d.ts","sourceRoot":"","sources":["../src/argumentCompositionStrategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAe,MAAM,EAA4B,MAAM,eAAe,CAAA;AAIvF,KAAK,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3G,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,oBAAoB,CAAC;IACtC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACrC,CAAA;AA+CD,iBAAS,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAKvC;AAcD,iBAAS,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAuCjD;AA+CD,eAAO,MAAM,+BAA+B;;;;8BAIlB,MAAM,EAAE;;;;;8BAKR,MAAM,EAAE;;;;;8BAaR,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4C9B,CAAA"}
@@ -12,6 +12,12 @@ function supportFixedTypes(types) {
12
12
  : { valid: false, supportedMsg: `type(s) ${supported.join(', ')}` };
13
13
  };
14
14
  }
15
+ function supportAnyNonNullNestedArray() {
16
+ return (_, type) => (0, definitions_1.isNonNullType)(type) && (0, definitions_1.isListType)(type.ofType)
17
+ && (0, definitions_1.isNonNullType)(type.ofType.ofType) && (0, definitions_1.isListType)(type.ofType.ofType.ofType)
18
+ ? { valid: true }
19
+ : { valid: false, supportedMsg: 'non nullable nested list types of any type' };
20
+ }
15
21
  function supportAnyNonNullArray() {
16
22
  return (_, type) => (0, definitions_1.isNonNullType)(type) && (0, definitions_1.isListType)(type.ofType)
17
23
  ? { valid: true }
@@ -36,6 +42,72 @@ function unionValues(values) {
36
42
  return acc.concat(newValues);
37
43
  }, []);
38
44
  }
45
+ function dnfConjunction(values) {
46
+ if (values.length == 0) {
47
+ return [];
48
+ }
49
+ const filtered = filterNestedArrayDuplicates(values);
50
+ let result = filtered[0];
51
+ for (let i = 1; i < filtered.length; i++) {
52
+ const current = filtered[i];
53
+ const accumulator = [];
54
+ const seen = new Set;
55
+ for (const accElement of result) {
56
+ for (const currentElement of current) {
57
+ const filteredElement = currentElement.filter((e) => !accElement.includes(e));
58
+ const candidate = [...accElement, ...filteredElement].sort();
59
+ const key = JSON.stringify(candidate);
60
+ if (!seen.has(key)) {
61
+ seen.add(key);
62
+ accumulator.push(candidate);
63
+ }
64
+ }
65
+ }
66
+ result = deduplicateSubsumedValues(accumulator);
67
+ }
68
+ return result;
69
+ }
70
+ function filterNestedArrayDuplicates(values) {
71
+ const filtered = [];
72
+ const seen = new Set;
73
+ values.forEach((value) => {
74
+ value.sort();
75
+ const key = JSON.stringify(value);
76
+ if (!seen.has(key)) {
77
+ seen.add(key);
78
+ filtered.push(value);
79
+ }
80
+ });
81
+ return filtered;
82
+ }
83
+ function deduplicateSubsumedValues(values) {
84
+ const result = [];
85
+ values.sort((first, second) => {
86
+ if (first.length < second.length) {
87
+ return -1;
88
+ }
89
+ else if (first.length > second.length) {
90
+ return 1;
91
+ }
92
+ else {
93
+ return 0;
94
+ }
95
+ });
96
+ for (const candidate of values) {
97
+ const entry = new Set(candidate);
98
+ let redundant = false;
99
+ for (const r of result) {
100
+ if (r.every(e => entry.has(e))) {
101
+ redundant = true;
102
+ break;
103
+ }
104
+ }
105
+ if (!redundant) {
106
+ result.push(candidate);
107
+ }
108
+ }
109
+ return result;
110
+ }
39
111
  exports.ARGUMENT_COMPOSITION_STRATEGIES = {
40
112
  MAX: {
41
113
  name: 'MAX',
@@ -87,6 +159,11 @@ exports.ARGUMENT_COMPOSITION_STRATEGIES = {
87
159
  name: 'NULLABLE_UNION',
88
160
  isTypeSupported: supportAnyArray(),
89
161
  mergeValues: mergeNullableValues(unionValues),
162
+ },
163
+ DNF_CONJUNCTION: {
164
+ name: 'DNF_CONJUNCTION',
165
+ isTypeSupported: supportAnyNonNullNestedArray(),
166
+ mergeValues: dnfConjunction
90
167
  }
91
168
  };
92
169
  //# sourceMappingURL=argumentCompositionStrategies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"argumentCompositionStrategies.js","sourceRoot":"","sources":["../src/argumentCompositionStrategies.ts"],"names":[],"mappings":";;;AAAA,+CAAyF;AACzF,mCAAmC;AACnC,qCAAuC;AAUvC,SAAS,iBAAiB,CAAC,KAAsC;IAC/D,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;YACjB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACxE,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,2BAAa,EAAC,IAAI,CAAC,IAAI,IAAA,wBAAU,EAAC,IAAI,CAAC,MAAM,CAAC;QAChE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;QACjB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,qCAAqC,EAAE,CAAA;AAC3E,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,wBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,IAAA,2BAAa,EAAC,IAAI,CAAC,IAAI,IAAA,wBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtF,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;QACjB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,CAAC;AAC/D,CAAC;AAOD,SAAS,mBAAmB,CAC1B,WAA+B;IAE/B,OAAO,CAAC,MAAgC,EAAE,EAAE;QAC1C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAQ,CAAC;QACjF,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC;YAC7B,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;YAC5B,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAa;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,IAAA,oBAAW,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACxF,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAEY,QAAA,+BAA+B,GAAG;IAC7C,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,eAAe,EAAE,iBAAiB,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAI,yBAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3F,WAAW,EAAE,CAAC,MAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;KACvD;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,eAAe,EAAE,iBAAiB,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAI,yBAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3F,WAAW,EAAE,CAAC,MAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;KACvD;IASD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,eAAe,EAAE,sBAAsB,EAAE;QACzC,WAAW,EAAE,CAAC,MAAa,EAAE,EAAE;;YAAC,OAAA,MAAA,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBAC1D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,OAAO,IAAI,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,IAAA,oBAAW,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC,EAAE,SAAS,CAAC,mCAAI,EAAE,CAAA;SAAA;KACpB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,eAAe,EAAE,sBAAsB,EAAE;QACzC,WAAW,EAAE,WAAW;KACzB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,eAAe,EAAE,iBAAiB,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC;YACrD,MAAM,CAAC,WAAW,EAAE;YACpB,IAAI,yBAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;SACtC,CAAC;QACF,WAAW,EAAE,mBAAmB,CAC9B,CAAC,MAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAC9C;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,eAAe,EAAE,iBAAiB,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC;YACrD,MAAM,CAAC,OAAO,EAAE;YAChB,IAAI,yBAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SAClC,CAAC;QACF,WAAW,EAAE,mBAAmB,CAC9B,CAAC,MAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAC1C;KACF;IACD,cAAc,EAAE;QACd,IAAI,EAAE,gBAAgB;QACtB,eAAe,EAAE,eAAe,EAAE;QAClC,WAAW,EAAE,mBAAmB,CAAC,WAAW,CAAC;KAC9C;CACF,CAAA"}
1
+ {"version":3,"file":"argumentCompositionStrategies.js","sourceRoot":"","sources":["../src/argumentCompositionStrategies.ts"],"names":[],"mappings":"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"}
package/dist/error.d.ts CHANGED
@@ -134,6 +134,9 @@ export declare const ERRORS: {
134
134
  LIST_SIZE_INVALID_ASSUMED_SIZE: ErrorCodeDefinition;
135
135
  LIST_SIZE_INVALID_SIZED_FIELD: ErrorCodeDefinition;
136
136
  LIST_SIZE_INVALID_SLICING_ARGUMENT: ErrorCodeDefinition;
137
+ MAX_VALIDATION_SUBGRAPH_PATHS_EXCEEDED: ErrorCodeDefinition;
138
+ AUTHENTICATION_APPLIED_ON_INTERFACE: ErrorCodeDefinition;
139
+ MISSING_TRANSITIVE_AUTH_REQUIREMENTS: ErrorCodeDefinition;
137
140
  };
138
141
  export declare const REMOVED_ERRORS: string[][];
139
142
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAO5F,KAAK,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,CAAC;AAQ5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,YAAY,CAAC;CACvE,CAAA;AAsBD,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAS/E;AA6BD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAElG;AAMD,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,EAAE,GAAG,SAAS,CAQhE;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAM5D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAE1D;AAOD,MAAM,MAAM,iBAAiB,CAAC,QAAQ,GAAG,MAAM,IAAI;IACjD,GAAG,CAAC,OAAO,EAAE,QAAQ,GAAG,mBAAmB,CAAC;CAC7C,CAAA;AAwBD,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAKrF;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,qBAAqB,GAAG,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAG9G;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAY1F;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAYxH;AA6bD,eAAO,MAAM,gBAAgB;;qCArfqC,mBAAmB;;;qCAAnB,mBAAmB;;;qCAAnB,mBAAmB;;;qCAAnB,mBAAmB;;;qCAAnB,mBAAmB;;;6CAAnB,mBAAmB;;;qCAAnB,mBAAmB;;CA6fpF,CAAA;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FlB,CAAC;AAYF,eAAO,MAAM,cAAc,YA0B1B,CAAC"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAO5F,KAAK,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,CAAC;AAQ5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,YAAY,CAAC;CACvE,CAAA;AAsBD,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAS/E;AA6BD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAElG;AAMD,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,EAAE,GAAG,SAAS,CAQhE;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAM5D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAE1D;AAOD,MAAM,MAAM,iBAAiB,CAAC,QAAQ,GAAG,MAAM,IAAI;IACjD,GAAG,CAAC,OAAO,EAAE,QAAQ,GAAG,mBAAmB,CAAC;CAC7C,CAAA;AAwBD,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAKrF;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,qBAAqB,GAAG,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAG9G;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAY1F;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAYxH;AA+cD,eAAO,MAAM,gBAAgB;;qCAvgBqC,mBAAmB;;;qCAAnB,mBAAmB;;;qCAAnB,mBAAmB;;;qCAAnB,mBAAmB;;;qCAAnB,mBAAmB;;;6CAAnB,mBAAmB;;;qCAAnB,mBAAmB;;CA+gBpF,CAAA;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6FlB,CAAC;AAYF,eAAO,MAAM,cAAc,YA0B1B,CAAC"}
package/dist/error.js CHANGED
@@ -214,6 +214,9 @@ const LIST_SIZE_APPLIED_TO_NON_LIST = makeCodeDefinition('LIST_SIZE_APPLIED_TO_N
214
214
  const LIST_SIZE_INVALID_ASSUMED_SIZE = makeCodeDefinition('LIST_SIZE_INVALID_ASSUMED_SIZE', 'The `@listSize` directive assumed size cannot be negative', { addedIn: '2.9.2' });
215
215
  const LIST_SIZE_INVALID_SLICING_ARGUMENT = makeCodeDefinition('LIST_SIZE_INVALID_SLICING_ARGUMENT', 'The `@listSize` directive must have existing integer slicing arguments', { addedIn: '2.9.2' });
216
216
  const LIST_SIZE_INVALID_SIZED_FIELD = makeCodeDefinition('LIST_SIZE_INVALID_SIZED_FIELD', 'The `@listSize` directive must reference existing list fields as sized fields', { addedIn: '2.9.2' });
217
+ const MAX_VALIDATION_SUBGRAPH_PATHS_EXCEEDED = makeCodeDefinition('MAX_VALIDATION_SUBGRAPH_PATHS_EXCEEDED', 'The maximum number of validation subgraph paths has been exceeded.', { addedIn: '2.8.0' });
218
+ const AUTHENTICATION_APPLIED_ON_INTERFACE = makeCodeDefinition('AUTHENTICATION_APPLIED_ON_INTERFACE', 'The @authenticated, @requiresScopes and @policy directive cannot be applied on interface, interface object or their fields.', { addedIn: '2.9.4' });
219
+ const MISSING_TRANSITIVE_AUTH_REQUIREMENTS = makeCodeDefinition('MISSING_TRANSITIVE_AUTH_REQUIREMENTS', 'Field missing transitive @authenticated, @requiresScopes and/or @policy auth requirements needed to access dependent data.', { addedIn: '2.9.4' });
217
220
  exports.ERROR_CATEGORIES = {
218
221
  DIRECTIVE_FIELDS_MISSING_EXTERNAL,
219
222
  DIRECTIVE_UNSUPPORTED_ON_INTERFACE,
@@ -312,6 +315,9 @@ exports.ERRORS = {
312
315
  LIST_SIZE_INVALID_ASSUMED_SIZE,
313
316
  LIST_SIZE_INVALID_SIZED_FIELD,
314
317
  LIST_SIZE_INVALID_SLICING_ARGUMENT,
318
+ MAX_VALIDATION_SUBGRAPH_PATHS_EXCEEDED,
319
+ AUTHENTICATION_APPLIED_ON_INTERFACE,
320
+ MISSING_TRANSITIVE_AUTH_REQUIREMENTS,
315
321
  };
316
322
  const codeDefByCode = Object.values(exports.ERRORS).reduce((obj, codeDef) => { obj[codeDef.code] = codeDef; return obj; }, {});
317
323
  exports.REMOVED_ERRORS = [
package/dist/error.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
@@ -1164,6 +1164,7 @@ class FederationBlueprint extends definitions_1.SchemaBlueprint {
1164
1164
  validateSlicingArgumentsAreValidIntegers(application, parent, errorCollector);
1165
1165
  validateSizedFieldsAreValidLists(application, parent, errorCollector);
1166
1166
  }
1167
+ validateNoAuthenticationOnInterfaces(metadata, errorCollector);
1167
1168
  return errorCollector;
1168
1169
  }
1169
1170
  validationRules() {
@@ -1950,4 +1951,35 @@ function withoutNonExternalLeafFields(selectionSet) {
1950
1951
  return undefined;
1951
1952
  });
1952
1953
  }
1954
+ function validateNoAuthenticationOnInterfaces(metadata, errorCollector) {
1955
+ const authenticatedDirective = metadata.authenticatedDirective();
1956
+ const requiresScopesDirective = metadata.requiresScopesDirective();
1957
+ const policyDirective = metadata.policyDirective();
1958
+ [authenticatedDirective, requiresScopesDirective, policyDirective].forEach((directive) => {
1959
+ for (const application of directive.applications()) {
1960
+ const element = application.parent;
1961
+ function isAppliedOnInterface(type) {
1962
+ return (0, definitions_1.isInterfaceType)(type) || isInterfaceObjectType((0, definitions_1.baseType)(type));
1963
+ }
1964
+ function isAppliedOnInterfaceField(elem) {
1965
+ return (0, definitions_1.isFieldDefinition)(elem) && isAppliedOnInterface(elem.parent);
1966
+ }
1967
+ if (isAppliedOnInterface(element) || isAppliedOnInterfaceField(element)) {
1968
+ let kind = '';
1969
+ switch (element.kind) {
1970
+ case 'FieldDefinition':
1971
+ kind = 'field';
1972
+ break;
1973
+ case 'InterfaceType':
1974
+ kind = 'interface';
1975
+ break;
1976
+ case 'ObjectType':
1977
+ kind = 'interface object';
1978
+ break;
1979
+ }
1980
+ errorCollector.push(error_1.ERRORS.AUTHENTICATION_APPLIED_ON_INTERFACE.err(`Invalid use of @${directive.name} on ${kind} "${element.coordinate}": @${directive.name} cannot be applied on interfaces, interface objects or their fields`, { nodes: (0, definitions_1.sourceASTs)(application, element.parent) }));
1981
+ }
1982
+ }
1983
+ });
1984
+ }
1953
1985
  //# sourceMappingURL=federation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { CorePurpose, FeatureDefinition, FeatureDefinitions, FeatureVersion } from "./coreSpec";
2
+ import { DirectiveDefinition, Schema } from "../definitions";
2
3
  export declare class AuthenticatedSpecDefinition extends FeatureDefinition {
3
4
  static readonly directiveName = "authenticated";
4
5
  static readonly identity: string;
5
6
  constructor(version: FeatureVersion, minimumFederationVersion: FeatureVersion);
7
+ authenticatedDirective(schema: Schema): DirectiveDefinition | undefined;
6
8
  get defaultCorePurpose(): CorePurpose;
7
9
  }
8
10
  export declare const AUTHENTICATED_VERSIONS: FeatureDefinitions<AuthenticatedSpecDefinition>;
@@ -1 +1 @@
1
- {"version":3,"file":"authenticatedSpec.d.ts","sourceRoot":"","sources":["../../src/specs/authenticatedSpec.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAElB,cAAc,EACf,MAAM,YAAY,CAAC;AAIpB,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,gBAAuB,aAAa,mBAAmB;IACvD,gBAAuB,QAAQ,SAA2E;gBAE9F,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc;IAwB7E,IAAI,kBAAkB,IAAI,WAAW,CAEpC;CACF;AAED,eAAO,MAAM,sBAAsB,iDAQhC,CAAC"}
1
+ {"version":3,"file":"authenticatedSpec.d.ts","sourceRoot":"","sources":["../../src/specs/authenticatedSpec.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAElB,cAAc,EACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,gBAAuB,aAAa,mBAAmB;IACvD,gBAAuB,QAAQ,SAA2E;gBAE9F,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc;IAwB7E,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIvE,IAAI,kBAAkB,IAAI,WAAW,CAEpC;CACF;AAED,eAAO,MAAM,sBAAsB,iDAQhC,CAAC"}
@@ -21,6 +21,9 @@ class AuthenticatedSpecDefinition extends coreSpec_1.FeatureDefinition {
21
21
  supergraphSpecification: () => exports.AUTHENTICATED_VERSIONS.latest(),
22
22
  }));
23
23
  }
24
+ authenticatedDirective(schema) {
25
+ return this.directive(schema, AuthenticatedSpecDefinition.directiveName);
26
+ }
24
27
  get defaultCorePurpose() {
25
28
  return 'SECURITY';
26
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authenticatedSpec.js","sourceRoot":"","sources":["../../src/specs/authenticatedSpec.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,yCAMoB;AACpB,oFAAgF;AAChF,4DAA4D;AAE5D,MAAa,2BAA4B,SAAQ,4BAAiB;IAIhE,YAAY,OAAuB,EAAE,wBAAwC;QAC3E,KAAK,CACH,IAAI,qBAAU,CACZ,2BAA2B,CAAC,QAAQ,EACpC,2BAA2B,CAAC,aAAa,EACzC,OAAO,CACR,EACD,wBAAwB,CACzB,CAAC;QAEF,IAAI,CAAC,iBAAiB,CAAC,IAAA,4DAA4B,EAAC;YAClD,IAAI,EAAE,2BAA2B,CAAC,aAAa;YAC/C,SAAS,EAAE;gBACT,2BAAiB,CAAC,gBAAgB;gBAClC,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,SAAS;gBAC3B,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,IAAI;aACvB;YACD,QAAQ,EAAE,IAAI;YACd,uBAAuB,EAAE,GAAG,EAAE,CAAC,8BAAsB,CAAC,MAAM,EAAE;SAC/D,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC;;AA9BH,kEA+BC;AA9BwB,yCAAa,GAAG,eAAe,CAAC;AAChC,oCAAQ,GAAG,4BAA4B,2BAA2B,CAAC,aAAa,EAAE,CAAC;AA+B/F,QAAA,sBAAsB,GACjC,IAAI,6BAAkB,CACpB,2BAA2B,CAAC,QAAQ,CACrC,CAAC,GAAG,CACH,IAAI,2BAA2B,CAC7B,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EACxB,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CACzB,CACF,CAAC;AAEJ,IAAA,wCAAoB,EAAC,8BAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"authenticatedSpec.js","sourceRoot":"","sources":["../../src/specs/authenticatedSpec.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,yCAMoB;AACpB,oFAAgF;AAChF,4DAA4D;AAG5D,MAAa,2BAA4B,SAAQ,4BAAiB;IAIhE,YAAY,OAAuB,EAAE,wBAAwC;QAC3E,KAAK,CACH,IAAI,qBAAU,CACZ,2BAA2B,CAAC,QAAQ,EACpC,2BAA2B,CAAC,aAAa,EACzC,OAAO,CACR,EACD,wBAAwB,CACzB,CAAC;QAEF,IAAI,CAAC,iBAAiB,CAAC,IAAA,4DAA4B,EAAC;YAClD,IAAI,EAAE,2BAA2B,CAAC,aAAa;YAC/C,SAAS,EAAE;gBACT,2BAAiB,CAAC,gBAAgB;gBAClC,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,SAAS;gBAC3B,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,IAAI;aACvB;YACD,QAAQ,EAAE,IAAI;YACd,uBAAuB,EAAE,GAAG,EAAE,CAAC,8BAAsB,CAAC,MAAM,EAAE;SAC/D,CAAC,CAAC,CAAC;IACN,CAAC;IAED,sBAAsB,CAAC,MAAc;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC;;AAlCH,kEAmCC;AAlCwB,yCAAa,GAAG,eAAe,CAAC;AAChC,oCAAQ,GAAG,4BAA4B,2BAA2B,CAAC,aAAa,EAAE,CAAC;AAmC/F,QAAA,sBAAsB,GACjC,IAAI,6BAAkB,CACpB,2BAA2B,CAAC,QAAQ,CACrC,CAAC,GAAG,CACH,IAAI,2BAA2B,CAC7B,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EACxB,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CACzB,CACF,CAAC;AAEJ,IAAA,wCAAoB,EAAC,8BAAsB,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { CorePurpose, FeatureDefinition, FeatureDefinitions, FeatureVersion } from "./coreSpec";
2
+ import { DirectiveDefinition, Schema } from "../definitions";
2
3
  export declare enum PolicyTypeName {
3
4
  POLICY = "Policy"
4
5
  }
@@ -6,6 +7,9 @@ export declare class PolicySpecDefinition extends FeatureDefinition {
6
7
  static readonly directiveName = "policy";
7
8
  static readonly identity: string;
8
9
  constructor(version: FeatureVersion);
10
+ policyDirective(schema: Schema): DirectiveDefinition<{
11
+ policies: string[][];
12
+ }> | undefined;
9
13
  get defaultCorePurpose(): CorePurpose;
10
14
  }
11
15
  export declare const POLICY_VERSIONS: FeatureDefinitions<PolicySpecDefinition>;
@@ -1 +1 @@
1
- {"version":3,"file":"policySpec.d.ts","sourceRoot":"","sources":["../../src/specs/policySpec.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAElB,cAAc,EACf,MAAM,YAAY,CAAC;AAOpB,oBAAY,cAAc;IACxB,MAAM,WAAW;CAClB;AACD,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,gBAAuB,aAAa,YAAY;IAChD,gBAAuB,QAAQ,SACoC;gBAEvD,OAAO,EAAE,cAAc;IAoCnC,IAAI,kBAAkB,IAAI,WAAW,CAEpC;CACF;AAED,eAAO,MAAM,eAAe,0CAG+B,CAAC"}
1
+ {"version":3,"file":"policySpec.d.ts","sourceRoot":"","sources":["../../src/specs/policySpec.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAElB,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,mBAAmB,EAAyB,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAMlF,oBAAY,cAAc;IACxB,MAAM,WAAW;CAClB;AACD,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,gBAAuB,aAAa,YAAY;IAChD,gBAAuB,QAAQ,SACoC;gBAEvD,OAAO,EAAE,cAAc;IAoCnC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAA;KAAC,CAAC,GAAG,SAAS;IAIxF,IAAI,kBAAkB,IAAI,WAAW,CAEpC;CACF;AAED,eAAO,MAAM,eAAe,0CAG+B,CAAC"}
@@ -27,7 +27,7 @@ class PolicySpecDefinition extends coreSpec_1.FeatureDefinition {
27
27
  (0, utils_1.assert)(PolicyType, () => `Expected "${policyName}" to be defined`);
28
28
  return new definitions_1.NonNullType(new definitions_1.ListType(new definitions_1.NonNullType(new definitions_1.ListType(new definitions_1.NonNullType(PolicyType)))));
29
29
  },
30
- compositionStrategy: argumentCompositionStrategies_1.ARGUMENT_COMPOSITION_STRATEGIES.UNION,
30
+ compositionStrategy: argumentCompositionStrategies_1.ARGUMENT_COMPOSITION_STRATEGIES.DNF_CONJUNCTION,
31
31
  }],
32
32
  locations: [
33
33
  graphql_1.DirectiveLocation.FIELD_DEFINITION,
@@ -40,6 +40,9 @@ class PolicySpecDefinition extends coreSpec_1.FeatureDefinition {
40
40
  supergraphSpecification: () => exports.POLICY_VERSIONS.latest(),
41
41
  }));
42
42
  }
43
+ policyDirective(schema) {
44
+ return this.directive(schema, PolicySpecDefinition.directiveName);
45
+ }
43
46
  get defaultCorePurpose() {
44
47
  return 'SECURITY';
45
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"policySpec.js","sourceRoot":"","sources":["../../src/specs/policySpec.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,yCAMoB;AACpB,gDAAuD;AACvD,oFAA+G;AAC/G,4DAA4D;AAC5D,oFAAmF;AACnF,oCAAkC;AAElC,IAAY,cAEX;AAFD,WAAY,cAAc;IACxB,mCAAiB,CAAA;AACnB,CAAC,EAFW,cAAc,8BAAd,cAAc,QAEzB;AACD,MAAa,oBAAqB,SAAQ,4BAAiB;IAKzD,YAAY,OAAuB;QACjC,KAAK,CACH,IAAI,qBAAU,CACZ,oBAAoB,CAAC,QAAQ,EAC7B,oBAAoB,CAAC,aAAa,EAClC,OAAO,CACR,CACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,IAAA,6DAA6B,EAAC,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAElF,IAAI,CAAC,iBAAiB,CAAC,IAAA,4DAA4B,EAAC;YAClD,IAAI,EAAE,oBAAoB,CAAC,aAAa;YACxC,IAAI,EAAE,CAAC;oBACL,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;wBACxB,IAAA,cAAM,EAAC,OAAO,EAAE,2DAA2D,CAAC,CAAC;wBAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;wBACnE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC3C,IAAA,cAAM,EAAC,UAAU,EAAE,GAAG,EAAE,CAAC,aAAa,UAAU,iBAAiB,CAAC,CAAC;wBACnE,OAAO,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnG,CAAC;oBACD,mBAAmB,EAAE,+DAA+B,CAAC,KAAK;iBAC3D,CAAC;YACF,SAAS,EAAE;gBACT,2BAAiB,CAAC,gBAAgB;gBAClC,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,SAAS;gBAC3B,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,IAAI;aACvB;YACD,QAAQ,EAAE,IAAI;YACd,uBAAuB,EAAE,GAAG,EAAE,CAAC,uBAAe,CAAC,MAAM,EAAE;SACxD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC;;AA3CH,oDA4CC;AA3CwB,kCAAa,GAAG,QAAQ,CAAC;AACzB,6BAAQ,GAC7B,4BAA4B,oBAAoB,CAAC,aAAa,EAAE,CAAC;AA2CxD,QAAA,eAAe,GAC1B,IAAI,6BAAkB,CACpB,oBAAoB,CAAC,QAAQ,CAC9B,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,IAAA,wCAAoB,EAAC,uBAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"policySpec.js","sourceRoot":"","sources":["../../src/specs/policySpec.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,yCAMoB;AACpB,gDAAkF;AAClF,oFAA+G;AAC/G,4DAA4D;AAC5D,oFAAmF;AACnF,oCAAkC;AAElC,IAAY,cAEX;AAFD,WAAY,cAAc;IACxB,mCAAiB,CAAA;AACnB,CAAC,EAFW,cAAc,8BAAd,cAAc,QAEzB;AACD,MAAa,oBAAqB,SAAQ,4BAAiB;IAKzD,YAAY,OAAuB;QACjC,KAAK,CACH,IAAI,qBAAU,CACZ,oBAAoB,CAAC,QAAQ,EAC7B,oBAAoB,CAAC,aAAa,EAClC,OAAO,CACR,CACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,IAAA,6DAA6B,EAAC,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAElF,IAAI,CAAC,iBAAiB,CAAC,IAAA,4DAA4B,EAAC;YAClD,IAAI,EAAE,oBAAoB,CAAC,aAAa;YACxC,IAAI,EAAE,CAAC;oBACL,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;wBACxB,IAAA,cAAM,EAAC,OAAO,EAAE,2DAA2D,CAAC,CAAC;wBAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;wBACnE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC3C,IAAA,cAAM,EAAC,UAAU,EAAE,GAAG,EAAE,CAAC,aAAa,UAAU,iBAAiB,CAAC,CAAC;wBACnE,OAAO,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnG,CAAC;oBACD,mBAAmB,EAAE,+DAA+B,CAAC,eAAe;iBACrE,CAAC;YACF,SAAS,EAAE;gBACT,2BAAiB,CAAC,gBAAgB;gBAClC,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,SAAS;gBAC3B,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,IAAI;aACvB;YACD,QAAQ,EAAE,IAAI;YACd,uBAAuB,EAAE,GAAG,EAAE,CAAC,uBAAe,CAAC,MAAM,EAAE;SACxD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,eAAe,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC;;AA/CH,oDAgDC;AA/CwB,kCAAa,GAAG,QAAQ,CAAC;AACzB,6BAAQ,GAC7B,4BAA4B,oBAAoB,CAAC,aAAa,EAAE,CAAC;AA+CxD,QAAA,eAAe,GAC1B,IAAI,6BAAkB,CACpB,oBAAoB,CAAC,QAAQ,CAC9B,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,IAAA,wCAAoB,EAAC,uBAAe,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { CorePurpose, FeatureDefinition, FeatureDefinitions, FeatureVersion } from "./coreSpec";
2
+ import { DirectiveDefinition, Schema } from "../definitions";
2
3
  export declare enum RequiresScopesTypeName {
3
4
  SCOPE = "Scope"
4
5
  }
@@ -6,6 +7,9 @@ export declare class RequiresScopesSpecDefinition extends FeatureDefinition {
6
7
  static readonly directiveName = "requiresScopes";
7
8
  static readonly identity: string;
8
9
  constructor(version: FeatureVersion);
10
+ requiresScopesDirective(schema: Schema): DirectiveDefinition<{
11
+ scopes: string[][];
12
+ }> | undefined;
9
13
  get defaultCorePurpose(): CorePurpose;
10
14
  }
11
15
  export declare const REQUIRES_SCOPES_VERSIONS: FeatureDefinitions<RequiresScopesSpecDefinition>;
@@ -1 +1 @@
1
- {"version":3,"file":"requiresScopesSpec.d.ts","sourceRoot":"","sources":["../../src/specs/requiresScopesSpec.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAElB,cAAc,EACf,MAAM,YAAY,CAAC;AAOpB,oBAAY,sBAAsB;IAChC,KAAK,UAAU;CAChB;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,gBAAuB,aAAa,oBAAoB;IACxD,gBAAuB,QAAQ,SAC4C;gBAE/D,OAAO,EAAE,cAAc;IAoCnC,IAAI,kBAAkB,IAAI,WAAW,CAEpC;CACF;AAED,eAAO,MAAM,wBAAwB,kDAG8B,CAAC"}
1
+ {"version":3,"file":"requiresScopesSpec.d.ts","sourceRoot":"","sources":["../../src/specs/requiresScopesSpec.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAElB,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,mBAAmB,EAAyB,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAMlF,oBAAY,sBAAsB;IAChC,KAAK,UAAU;CAChB;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,gBAAuB,aAAa,oBAAoB;IACxD,gBAAuB,QAAQ,SAC4C;gBAE/D,OAAO,EAAE,cAAc;IAoCnC,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAA;KAAC,CAAC,GAAG,SAAS;IAI9F,IAAI,kBAAkB,IAAI,WAAW,CAEpC;CACF;AAED,eAAO,MAAM,wBAAwB,kDAG8B,CAAC"}
@@ -27,7 +27,7 @@ class RequiresScopesSpecDefinition extends coreSpec_1.FeatureDefinition {
27
27
  (0, utils_1.assert)(scopeType, () => `Expected "${scopeName}" to be defined`);
28
28
  return new definitions_1.NonNullType(new definitions_1.ListType(new definitions_1.NonNullType(new definitions_1.ListType(new definitions_1.NonNullType(scopeType)))));
29
29
  },
30
- compositionStrategy: argumentCompositionStrategies_1.ARGUMENT_COMPOSITION_STRATEGIES.UNION,
30
+ compositionStrategy: argumentCompositionStrategies_1.ARGUMENT_COMPOSITION_STRATEGIES.DNF_CONJUNCTION,
31
31
  }],
32
32
  locations: [
33
33
  graphql_1.DirectiveLocation.FIELD_DEFINITION,
@@ -40,6 +40,9 @@ class RequiresScopesSpecDefinition extends coreSpec_1.FeatureDefinition {
40
40
  supergraphSpecification: () => exports.REQUIRES_SCOPES_VERSIONS.latest(),
41
41
  }));
42
42
  }
43
+ requiresScopesDirective(schema) {
44
+ return this.directive(schema, RequiresScopesSpecDefinition.directiveName);
45
+ }
43
46
  get defaultCorePurpose() {
44
47
  return 'SECURITY';
45
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"requiresScopesSpec.js","sourceRoot":"","sources":["../../src/specs/requiresScopesSpec.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,yCAMoB;AACpB,gDAAuD;AACvD,oFAA+G;AAC/G,4DAA4D;AAC5D,oFAAmF;AACnF,oCAAkC;AAElC,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;AACjB,CAAC,EAFW,sBAAsB,sCAAtB,sBAAsB,QAEjC;AAED,MAAa,4BAA6B,SAAQ,4BAAiB;IAKjE,YAAY,OAAuB;QACjC,KAAK,CACH,IAAI,qBAAU,CACZ,4BAA4B,CAAC,QAAQ,EACrC,4BAA4B,CAAC,aAAa,EAC1C,OAAO,CACR,CACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,IAAA,6DAA6B,EAAC,EAAE,IAAI,EAAE,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAEzF,IAAI,CAAC,iBAAiB,CAAC,IAAA,4DAA4B,EAAC;YAClD,IAAI,EAAE,4BAA4B,CAAC,aAAa;YAChD,IAAI,EAAE,CAAC;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;wBACxB,IAAA,cAAM,EAAC,OAAO,EAAE,2DAA2D,CAAC,CAAC;wBAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;wBACzE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACzC,IAAA,cAAM,EAAC,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,SAAS,iBAAiB,CAAC,CAAC;wBACjE,OAAO,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClG,CAAC;oBACD,mBAAmB,EAAE,+DAA+B,CAAC,KAAK;iBAC3D,CAAC;YACF,SAAS,EAAE;gBACT,2BAAiB,CAAC,gBAAgB;gBAClC,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,SAAS;gBAC3B,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,IAAI;aACvB;YACD,QAAQ,EAAE,IAAI;YACd,uBAAuB,EAAE,GAAG,EAAE,CAAC,gCAAwB,CAAC,MAAM,EAAE;SACjE,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC;;AA3CH,oEA4CC;AA3CwB,0CAAa,GAAG,gBAAgB,CAAC;AACjC,qCAAQ,GAC7B,4BAA4B,4BAA4B,CAAC,aAAa,EAAE,CAAC;AA2ChE,QAAA,wBAAwB,GACnC,IAAI,6BAAkB,CACpB,4BAA4B,CAAC,QAAQ,CACtC,CAAC,GAAG,CAAC,IAAI,4BAA4B,CAAC,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpE,IAAA,wCAAoB,EAAC,gCAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"requiresScopesSpec.js","sourceRoot":"","sources":["../../src/specs/requiresScopesSpec.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,yCAMoB;AACpB,gDAAkF;AAClF,oFAA+G;AAC/G,4DAA4D;AAC5D,oFAAmF;AACnF,oCAAkC;AAElC,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;AACjB,CAAC,EAFW,sBAAsB,sCAAtB,sBAAsB,QAEjC;AAED,MAAa,4BAA6B,SAAQ,4BAAiB;IAKjE,YAAY,OAAuB;QACjC,KAAK,CACH,IAAI,qBAAU,CACZ,4BAA4B,CAAC,QAAQ,EACrC,4BAA4B,CAAC,aAAa,EAC1C,OAAO,CACR,CACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,IAAA,6DAA6B,EAAC,EAAE,IAAI,EAAE,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAEzF,IAAI,CAAC,iBAAiB,CAAC,IAAA,4DAA4B,EAAC;YAClD,IAAI,EAAE,4BAA4B,CAAC,aAAa;YAChD,IAAI,EAAE,CAAC;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;wBACxB,IAAA,cAAM,EAAC,OAAO,EAAE,2DAA2D,CAAC,CAAC;wBAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;wBACzE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACzC,IAAA,cAAM,EAAC,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,SAAS,iBAAiB,CAAC,CAAC;wBACjE,OAAO,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClG,CAAC;oBACD,mBAAmB,EAAE,+DAA+B,CAAC,eAAe;iBACrE,CAAC;YACF,SAAS,EAAE;gBACT,2BAAiB,CAAC,gBAAgB;gBAClC,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,SAAS;gBAC3B,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,IAAI;aACvB;YACD,QAAQ,EAAE,IAAI;YACd,uBAAuB,EAAE,GAAG,EAAE,CAAC,gCAAwB,CAAC,MAAM,EAAE;SACjE,CAAC,CAAC,CAAC;IACN,CAAC;IAED,uBAAuB,CAAC,MAAc;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC;;AA/CH,oEAgDC;AA/CwB,0CAAa,GAAG,gBAAgB,CAAC;AACjC,qCAAQ,GAC7B,4BAA4B,4BAA4B,CAAC,aAAa,EAAE,CAAC;AA+ChE,QAAA,wBAAwB,GACnC,IAAI,6BAAkB,CACpB,4BAA4B,CAAC,QAAQ,CACtC,CAAC,GAAG,CAAC,IAAI,4BAA4B,CAAC,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpE,IAAA,wCAAoB,EAAC,gCAAwB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apollo/federation-internals",
3
- "version": "2.10.1",
3
+ "version": "2.10.3",
4
4
  "description": "Apollo Federation internal utilities",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,4 +1,4 @@
1
- import { InputType, NonNullType, Schema, isListType, isNonNullType } from "./definitions"
1
+ import {InputType, NonNullType, Schema, isListType, isNonNullType} from "./definitions"
2
2
  import { sameType } from "./types";
3
3
  import { valueEquals } from "./values";
4
4
 
@@ -19,6 +19,14 @@ function supportFixedTypes(types: (schema: Schema) => InputType[]): TypeSupportV
19
19
  };
20
20
  }
21
21
 
22
+ function supportAnyNonNullNestedArray(): TypeSupportValidator {
23
+ return (_, type) =>
24
+ isNonNullType(type) && isListType(type.ofType)
25
+ && isNonNullType(type.ofType.ofType) && isListType(type.ofType.ofType.ofType)
26
+ ? { valid: true }
27
+ : { valid: false, supportedMsg: 'non nullable nested list types of any type' }
28
+ }
29
+
22
30
  function supportAnyNonNullArray(): TypeSupportValidator {
23
31
  return (_, type) => isNonNullType(type) && isListType(type.ofType)
24
32
  ? { valid: true }
@@ -54,6 +62,104 @@ function unionValues(values: any[]): any {
54
62
  }, []);
55
63
  }
56
64
 
65
+ /**
66
+ * Performs conjunction of 2d arrays that represent conditions in Disjunctive Normal Form.
67
+ *
68
+ * * Each inner array is interpreted as the conjunction of the conditions in the array.
69
+ * * The top-level array is interpreted as the disjunction of the inner arrays
70
+ *
71
+ * Algorithm
72
+ * * filter out duplicate entries to limit the amount of necessary computations
73
+ * * calculate cartesian product of the arrays to find all possible combinations
74
+ * * simplify combinations by dropping duplicate conditions (i.e. p ^ p = p, p ^ q = q ^ p)
75
+ * * eliminate entries that are subsumed by others (i.e. (p ^ q) subsumes (p ^ q ^ r))
76
+ */
77
+ function dnfConjunction<T>(values: T[][][]): T[][] {
78
+ // should never be the case
79
+ if (values.length == 0) {
80
+ return [];
81
+ }
82
+
83
+ // we first filter out duplicate values from candidates
84
+ // this avoids exponential computation of exactly the same conditions
85
+ const filtered = filterNestedArrayDuplicates(values);
86
+
87
+ // initialize with first entry
88
+ let result: T[][] = filtered[0];
89
+ // perform cartesian product to find all possible entries
90
+ for (let i = 1; i < filtered.length; i++) {
91
+ const current = filtered[i];
92
+ const accumulator: T[][] = [];
93
+ const seen = new Set<string>;
94
+
95
+ for (const accElement of result) {
96
+ for (const currentElement of current) {
97
+ // filter out elements that are already present in accElement
98
+ const filteredElement = currentElement.filter((e) => !accElement.includes(e));
99
+ const candidate = [...accElement, ...filteredElement].sort();
100
+ const key = JSON.stringify(candidate);
101
+ // only add entries which has not been seen yet
102
+ if (!seen.has(key)) {
103
+ seen.add(key);
104
+ accumulator.push(candidate);
105
+ }
106
+ }
107
+ }
108
+ // Now we need to deduplicate the results. Given that
109
+ // - outer array implies OR requirements
110
+ // - inner array implies AND requirements
111
+ // We can filter out any inner arrays that fully contain other inner arrays, i.e.
112
+ // A OR B OR (A AND B) OR (A AND B AND C) => A OR B
113
+ result = deduplicateSubsumedValues(accumulator);
114
+ }
115
+ return result;
116
+ }
117
+
118
+ function filterNestedArrayDuplicates<T>(values: T[][][]): T[][][] {
119
+ const filtered: T[][][] = [];
120
+ const seen = new Set<string>;
121
+ values.forEach((value) => {
122
+ value.sort();
123
+ const key = JSON.stringify(value);
124
+ if (!seen.has(key)) {
125
+ seen.add(key);
126
+ filtered.push(value);
127
+ }
128
+ });
129
+ return filtered;
130
+ }
131
+
132
+ function deduplicateSubsumedValues<T>(values: T[][]): T[][] {
133
+ const result: T[][] = [];
134
+ // we first sort by length as the longer ones might be dropped
135
+ values.sort((first, second) => {
136
+ if (first.length < second.length) {
137
+ return -1;
138
+ } else if (first.length > second.length) {
139
+ return 1;
140
+ } else {
141
+ return 0;
142
+ }
143
+ });
144
+
145
+ for (const candidate of values) {
146
+ const entry = new Set(candidate);
147
+ let redundant = false;
148
+ for (const r of result) {
149
+ if (r.every(e => entry.has(e))) {
150
+ // if `r` is a subset of a `candidate` then it means `candidate` is redundant
151
+ redundant = true;
152
+ break;
153
+ }
154
+ }
155
+
156
+ if (!redundant) {
157
+ result.push(candidate);
158
+ }
159
+ }
160
+ return result;
161
+ }
162
+
57
163
  export const ARGUMENT_COMPOSITION_STRATEGIES = {
58
164
  MAX: {
59
165
  name: 'MAX',
@@ -95,7 +201,8 @@ export const ARGUMENT_COMPOSITION_STRATEGIES = {
95
201
  schema.booleanType(),
96
202
  new NonNullType(schema.booleanType())
97
203
  ]),
98
- mergeValues: mergeNullableValues(
204
+ mergeValues:
205
+ mergeNullableValues(
99
206
  (values: boolean[]) => values.every((v) => v)
100
207
  ),
101
208
  },
@@ -113,5 +220,10 @@ export const ARGUMENT_COMPOSITION_STRATEGIES = {
113
220
  name: 'NULLABLE_UNION',
114
221
  isTypeSupported: supportAnyArray(),
115
222
  mergeValues: mergeNullableValues(unionValues),
223
+ },
224
+ DNF_CONJUNCTION: {
225
+ name: 'DNF_CONJUNCTION',
226
+ isTypeSupported: supportAnyNonNullNestedArray(),
227
+ mergeValues: dnfConjunction
116
228
  }
117
229
  }
package/src/error.ts CHANGED
@@ -627,6 +627,24 @@ const LIST_SIZE_INVALID_SIZED_FIELD = makeCodeDefinition(
627
627
  { addedIn: '2.9.2' },
628
628
  );
629
629
 
630
+ const MAX_VALIDATION_SUBGRAPH_PATHS_EXCEEDED = makeCodeDefinition(
631
+ 'MAX_VALIDATION_SUBGRAPH_PATHS_EXCEEDED',
632
+ 'The maximum number of validation subgraph paths has been exceeded.',
633
+ { addedIn: '2.8.0' },
634
+ );
635
+
636
+ const AUTHENTICATION_APPLIED_ON_INTERFACE = makeCodeDefinition(
637
+ 'AUTHENTICATION_APPLIED_ON_INTERFACE',
638
+ 'The @authenticated, @requiresScopes and @policy directive cannot be applied on interface, interface object or their fields.',
639
+ { addedIn: '2.9.4' },
640
+ );
641
+
642
+ const MISSING_TRANSITIVE_AUTH_REQUIREMENTS = makeCodeDefinition(
643
+ 'MISSING_TRANSITIVE_AUTH_REQUIREMENTS',
644
+ 'Field missing transitive @authenticated, @requiresScopes and/or @policy auth requirements needed to access dependent data.',
645
+ { addedIn: '2.9.4' },
646
+ )
647
+
630
648
  export const ERROR_CATEGORIES = {
631
649
  DIRECTIVE_FIELDS_MISSING_EXTERNAL,
632
650
  DIRECTIVE_UNSUPPORTED_ON_INTERFACE,
@@ -727,6 +745,9 @@ export const ERRORS = {
727
745
  LIST_SIZE_INVALID_ASSUMED_SIZE,
728
746
  LIST_SIZE_INVALID_SIZED_FIELD,
729
747
  LIST_SIZE_INVALID_SLICING_ARGUMENT,
748
+ MAX_VALIDATION_SUBGRAPH_PATHS_EXCEEDED,
749
+ AUTHENTICATION_APPLIED_ON_INTERFACE,
750
+ MISSING_TRANSITIVE_AUTH_REQUIREMENTS,
730
751
  };
731
752
 
732
753
  const codeDefByCode = Object.values(ERRORS).reduce((obj: {[code: string]: ErrorCodeDefinition}, codeDef: ErrorCodeDefinition) => { obj[codeDef.code] = codeDef; return obj; }, {});
package/src/federation.ts CHANGED
@@ -37,7 +37,7 @@ import {
37
37
  isWrapperType,
38
38
  possibleRuntimeTypes,
39
39
  isIntType,
40
- Type,
40
+ Type, isFieldDefinition,
41
41
  } from "./definitions";
42
42
  import { assert, MultiMap, printHumanReadableList, OrderedMap, mapValues, assertUnreachable } from "./utils";
43
43
  import { SDLValidationRule } from "graphql/validation/ValidationContext";
@@ -1840,6 +1840,9 @@ export class FederationBlueprint extends SchemaBlueprint {
1840
1840
  validateSizedFieldsAreValidLists(application, parent, errorCollector);
1841
1841
  }
1842
1842
 
1843
+ // Validate @authenticated, @requireScopes and @policy
1844
+ validateNoAuthenticationOnInterfaces(metadata, errorCollector);
1845
+
1843
1846
  return errorCollector;
1844
1847
  }
1845
1848
 
@@ -2891,3 +2894,39 @@ function withoutNonExternalLeafFields(selectionSet: SelectionSet): SelectionSet
2891
2894
  return undefined;
2892
2895
  });
2893
2896
  }
2897
+
2898
+ function validateNoAuthenticationOnInterfaces(metadata: FederationMetadata, errorCollector: GraphQLError[]) {
2899
+ const authenticatedDirective = metadata.authenticatedDirective();
2900
+ const requiresScopesDirective = metadata.requiresScopesDirective();
2901
+ const policyDirective = metadata.policyDirective();
2902
+ [authenticatedDirective, requiresScopesDirective, policyDirective].forEach((directive) => {
2903
+ for (const application of directive.applications()) {
2904
+ const element = application.parent;
2905
+ function isAppliedOnInterface(type: Type) {
2906
+ return isInterfaceType(type) || isInterfaceObjectType(baseType(type));
2907
+ }
2908
+ function isAppliedOnInterfaceField(elem: SchemaElement<any, any>) {
2909
+ return isFieldDefinition(elem) && isAppliedOnInterface(elem.parent);
2910
+ }
2911
+
2912
+ if (isAppliedOnInterface(element) || isAppliedOnInterfaceField(element)) {
2913
+ let kind = '';
2914
+ switch (element.kind) {
2915
+ case 'FieldDefinition':
2916
+ kind = 'field';
2917
+ break;
2918
+ case 'InterfaceType':
2919
+ kind = 'interface';
2920
+ break;
2921
+ case 'ObjectType':
2922
+ kind = 'interface object';
2923
+ break;
2924
+ }
2925
+ errorCollector.push(ERRORS.AUTHENTICATION_APPLIED_ON_INTERFACE.err(
2926
+ `Invalid use of @${directive.name} on ${kind} "${element.coordinate}": @${directive.name} cannot be applied on interfaces, interface objects or their fields`,
2927
+ {nodes: sourceASTs(application, element.parent)},
2928
+ ));
2929
+ }
2930
+ }
2931
+ });
2932
+ }
@@ -8,6 +8,7 @@ import {
8
8
  } from "./coreSpec";
9
9
  import { createDirectiveSpecification } from "../directiveAndTypeSpecification";
10
10
  import { registerKnownFeature } from "../knownCoreFeatures";
11
+ import {DirectiveDefinition, Schema} from "../definitions";
11
12
 
12
13
  export class AuthenticatedSpecDefinition extends FeatureDefinition {
13
14
  public static readonly directiveName = "authenticated";
@@ -37,6 +38,10 @@ export class AuthenticatedSpecDefinition extends FeatureDefinition {
37
38
  }));
38
39
  }
39
40
 
41
+ authenticatedDirective(schema: Schema): DirectiveDefinition | undefined {
42
+ return this.directive(schema, AuthenticatedSpecDefinition.directiveName);
43
+ }
44
+
40
45
  get defaultCorePurpose(): CorePurpose {
41
46
  return 'SECURITY';
42
47
  }
@@ -6,7 +6,7 @@ import {
6
6
  FeatureUrl,
7
7
  FeatureVersion,
8
8
  } from "./coreSpec";
9
- import { ListType, NonNullType } from "../definitions";
9
+ import {DirectiveDefinition, ListType, NonNullType, Schema} from "../definitions";
10
10
  import { createDirectiveSpecification, createScalarTypeSpecification } from "../directiveAndTypeSpecification";
11
11
  import { registerKnownFeature } from "../knownCoreFeatures";
12
12
  import { ARGUMENT_COMPOSITION_STRATEGIES } from "../argumentCompositionStrategies";
@@ -42,7 +42,7 @@ export class PolicySpecDefinition extends FeatureDefinition {
42
42
  assert(PolicyType, () => `Expected "${policyName}" to be defined`);
43
43
  return new NonNullType(new ListType(new NonNullType(new ListType(new NonNullType(PolicyType)))));
44
44
  },
45
- compositionStrategy: ARGUMENT_COMPOSITION_STRATEGIES.UNION,
45
+ compositionStrategy: ARGUMENT_COMPOSITION_STRATEGIES.DNF_CONJUNCTION,
46
46
  }],
47
47
  locations: [
48
48
  DirectiveLocation.FIELD_DEFINITION,
@@ -56,6 +56,10 @@ export class PolicySpecDefinition extends FeatureDefinition {
56
56
  }));
57
57
  }
58
58
 
59
+ policyDirective(schema: Schema): DirectiveDefinition<{policies: string[][]}> | undefined {
60
+ return this.directive(schema, PolicySpecDefinition.directiveName);
61
+ }
62
+
59
63
  get defaultCorePurpose(): CorePurpose {
60
64
  return 'SECURITY';
61
65
  }
@@ -6,7 +6,7 @@ import {
6
6
  FeatureUrl,
7
7
  FeatureVersion,
8
8
  } from "./coreSpec";
9
- import { ListType, NonNullType } from "../definitions";
9
+ import {DirectiveDefinition, ListType, NonNullType, Schema} from "../definitions";
10
10
  import { createDirectiveSpecification, createScalarTypeSpecification } from "../directiveAndTypeSpecification";
11
11
  import { registerKnownFeature } from "../knownCoreFeatures";
12
12
  import { ARGUMENT_COMPOSITION_STRATEGIES } from "../argumentCompositionStrategies";
@@ -43,7 +43,7 @@ export class RequiresScopesSpecDefinition extends FeatureDefinition {
43
43
  assert(scopeType, () => `Expected "${scopeName}" to be defined`);
44
44
  return new NonNullType(new ListType(new NonNullType(new ListType(new NonNullType(scopeType)))));
45
45
  },
46
- compositionStrategy: ARGUMENT_COMPOSITION_STRATEGIES.UNION,
46
+ compositionStrategy: ARGUMENT_COMPOSITION_STRATEGIES.DNF_CONJUNCTION,
47
47
  }],
48
48
  locations: [
49
49
  DirectiveLocation.FIELD_DEFINITION,
@@ -57,6 +57,10 @@ export class RequiresScopesSpecDefinition extends FeatureDefinition {
57
57
  }));
58
58
  }
59
59
 
60
+ requiresScopesDirective(schema: Schema): DirectiveDefinition<{scopes: string[][]}> | undefined {
61
+ return this.directive(schema, RequiresScopesSpecDefinition.directiveName);
62
+ }
63
+
60
64
  get defaultCorePurpose(): CorePurpose {
61
65
  return 'SECURITY';
62
66
  }