@apollo/gateway 2.3.0 → 2.3.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.
@@ -75,12 +75,18 @@ export declare type Query = {
75
75
  __typename?: 'Query';
76
76
  _empty?: Maybe<Scalars['String']>;
77
77
  routerConfig: RouterConfigResponse;
78
+ routerEntitlements: RouterEntitlementsResponse;
78
79
  };
79
80
  export declare type QueryRouterConfigArgs = {
80
81
  apiKey: Scalars['String'];
81
82
  ifAfterId?: InputMaybe<Scalars['ID']>;
82
83
  ref: Scalars['String'];
83
84
  };
85
+ export declare type QueryRouterEntitlementsArgs = {
86
+ apiKey: Scalars['String'];
87
+ ref: Scalars['String'];
88
+ unlessId?: InputMaybe<Scalars['ID']>;
89
+ };
84
90
  export declare type Request = {
85
91
  body?: InputMaybe<Scalars['String']>;
86
92
  headers?: InputMaybe<Array<HttpHeader>>;
@@ -99,6 +105,25 @@ export declare type RouterConfigResult = {
99
105
  minDelaySeconds: Scalars['Float'];
100
106
  supergraphSDL: Scalars['String'];
101
107
  };
108
+ export declare type RouterEntitlement = {
109
+ __typename?: 'RouterEntitlement';
110
+ audience: Array<RouterEntitlementAudience>;
111
+ haltAt?: Maybe<Scalars['Timestamp']>;
112
+ jwt: Scalars['String'];
113
+ subject: Scalars['String'];
114
+ warnAt?: Maybe<Scalars['Timestamp']>;
115
+ };
116
+ export declare enum RouterEntitlementAudience {
117
+ Cloud = "CLOUD",
118
+ SelfHosted = "SELF_HOSTED"
119
+ }
120
+ export declare type RouterEntitlementsResponse = FetchError | RouterEntitlementsResult | Unchanged;
121
+ export declare type RouterEntitlementsResult = {
122
+ __typename?: 'RouterEntitlementsResult';
123
+ entitlement?: Maybe<RouterEntitlement>;
124
+ id: Scalars['ID'];
125
+ minDelaySeconds: Scalars['Float'];
126
+ };
102
127
  export declare type Unchanged = {
103
128
  __typename?: 'Unchanged';
104
129
  id: Scalars['ID'];
@@ -1 +1 @@
1
- {"version":3,"file":"graphqlTypes.d.ts","sourceRoot":"","sources":["../../src/__generated__/graphqlTypes.ts"],"names":[],"mappings":"AAAA,oBAAY,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChC,oBAAY,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACrC,oBAAY,KAAK,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AACnF,oBAAY,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;KAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAAE,CAAC;AACnG,oBAAY,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;KAAG,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAAE,CAAC;AAE/F,oBAAY,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAEhC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAC7C,CAAC;AAGF,oBAAY,KAAK,GAAG;IAElB,IAAI,EAAE,SAAS,CAAC;IAEhB,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;CACzC,CAAC;AAEF,oBAAY,SAAS;IACnB,gBAAgB,sBAAsB;IACtC,WAAW,iBAAiB;IAC5B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,kBAAkB,wBAAwB;CAC3C;AAED,oBAAY,UAAU,GAAG;IACvB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3B,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,oBAAY,cAAc;IAExB,YAAY,kBAAkB;IAE9B,oBAAoB,0BAA0B;IAE9C,UAAU,gBAAgB;IAE1B,UAAU,gBAAgB;CAC3B;AAED,oBAAY,UAAU,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,oBAAY,OAAO,GAAG;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,oBAAY,QAAQ,GAAG;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CACjC,CAAC;AAGF,oBAAY,uBAAuB,GAAG;IACpC,MAAM,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;CAC1C,CAAC;AAEF,oBAAY,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAElC,YAAY,EAAE,oBAAoB,CAAC;CACpC,CAAC;AAGF,oBAAY,qBAAqB,GAAG;IAClC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxB,CAAC;AAEF,oBAAY,OAAO,GAAG;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACxC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxB,CAAC;AAEF,oBAAY,QAAQ,GAAG;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACxC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CAChC,CAAC;AAEF,oBAAY,oBAAoB,GAAG,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAE/E,oBAAY,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAEzB,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAClC,CAAC;AAGF,oBAAY,SAAS,GAAG;IACtB,UAAU,CAAC,EAAE,WAAW,CAAC;IAEzB,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,oBAAY,2BAA2B,GAAG,KAAK,CAAC;IAC9C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvB,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACvC,CAAC,CAAC;AAGH,oBAAY,kBAAkB,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE;QAAE,UAAU,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,cAAc,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,UAAU,EAAE,oBAAoB,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,UAAU,EAAE,WAAW,CAAA;KAAE,CAAA;CAAE,CAAC;AAE9Q,oBAAY,0BAA0B,GAAG,KAAK,CAAC;IAC7C,KAAK,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;CACzC,CAAC,CAAC;AAGH,oBAAY,iBAAiB,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"graphqlTypes.d.ts","sourceRoot":"","sources":["../../src/__generated__/graphqlTypes.ts"],"names":[],"mappings":"AAAA,oBAAY,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChC,oBAAY,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACrC,oBAAY,KAAK,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AACnF,oBAAY,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;KAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAAE,CAAC;AACnG,oBAAY,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;KAAG,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAAE,CAAC;AAE/F,oBAAY,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAEhC,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAC7C,CAAC;AAGF,oBAAY,KAAK,GAAG;IAElB,IAAI,EAAE,SAAS,CAAC;IAEhB,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;CACzC,CAAC;AAEF,oBAAY,SAAS;IACnB,gBAAgB,sBAAsB;IACtC,WAAW,iBAAiB;IAC5B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,kBAAkB,wBAAwB;CAC3C;AAED,oBAAY,UAAU,GAAG;IACvB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3B,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,oBAAY,cAAc;IAExB,YAAY,kBAAkB;IAE9B,oBAAoB,0BAA0B;IAE9C,UAAU,gBAAgB;IAE1B,UAAU,gBAAgB;CAC3B;AAED,oBAAY,UAAU,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,oBAAY,OAAO,GAAG;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,oBAAY,QAAQ,GAAG;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CACjC,CAAC;AAGF,oBAAY,uBAAuB,GAAG;IACpC,MAAM,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;CAC1C,CAAC;AAEF,oBAAY,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAElC,YAAY,EAAE,oBAAoB,CAAC;IAEnC,kBAAkB,EAAE,0BAA0B,CAAC;CAChD,CAAC;AAGF,oBAAY,qBAAqB,GAAG;IAClC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxB,CAAC;AAGF,oBAAY,2BAA2B,GAAG;IACxC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvB,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACtC,CAAC;AAEF,oBAAY,OAAO,GAAG;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACxC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxB,CAAC;AAEF,oBAAY,QAAQ,GAAG;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACxC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CAChC,CAAC;AAEF,oBAAY,oBAAoB,GAAG,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAE/E,oBAAY,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAEzB,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAClC,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAEjC,QAAQ,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAE3C,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAErC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3B,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;CACtC,CAAC;AAEF,oBAAY,yBAAyB;IACnC,KAAK,UAAU;IACf,UAAU,gBAAgB;CAC3B;AAED,oBAAY,0BAA0B,GAAG,UAAU,GAAG,wBAAwB,GAAG,SAAS,CAAC;AAE3F,oBAAY,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IAExC,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAEvC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CACnC,CAAC;AAGF,oBAAY,SAAS,GAAG;IACtB,UAAU,CAAC,EAAE,WAAW,CAAC;IAEzB,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAElB,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,oBAAY,2BAA2B,GAAG,KAAK,CAAC;IAC9C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvB,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACvC,CAAC,CAAC;AAGH,oBAAY,kBAAkB,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE;QAAE,UAAU,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,cAAc,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,UAAU,EAAE,oBAAoB,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,UAAU,EAAE,WAAW,CAAA;KAAE,CAAA;CAAE,CAAC;AAE9Q,oBAAY,0BAA0B,GAAG,KAAK,CAAC;IAC7C,KAAK,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;CACzC,CAAC,CAAC;AAGH,oBAAY,iBAAiB,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MessageLevel = exports.FetchErrorCode = exports.ErrorCode = void 0;
3
+ exports.RouterEntitlementAudience = exports.MessageLevel = exports.FetchErrorCode = exports.ErrorCode = void 0;
4
4
  var ErrorCode;
5
5
  (function (ErrorCode) {
6
6
  ErrorCode["ConnectionFailed"] = "CONNECTION_FAILED";
@@ -22,4 +22,9 @@ var MessageLevel;
22
22
  MessageLevel["Info"] = "INFO";
23
23
  MessageLevel["Warn"] = "WARN";
24
24
  })(MessageLevel = exports.MessageLevel || (exports.MessageLevel = {}));
25
+ var RouterEntitlementAudience;
26
+ (function (RouterEntitlementAudience) {
27
+ RouterEntitlementAudience["Cloud"] = "CLOUD";
28
+ RouterEntitlementAudience["SelfHosted"] = "SELF_HOSTED";
29
+ })(RouterEntitlementAudience = exports.RouterEntitlementAudience || (exports.RouterEntitlementAudience = {}));
25
30
  //# sourceMappingURL=graphqlTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphqlTypes.js","sourceRoot":"","sources":["../../src/__generated__/graphqlTypes.ts"],"names":[],"mappings":";;;AAkCA,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,mDAAsC,CAAA;IACtC,yCAA4B,CAAA;IAC5B,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,uDAA0C,CAAA;AAC5C,CAAC,EANW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAMpB;AAUD,IAAY,cASX;AATD,WAAY,cAAc;IAExB,gDAA8B,CAAA;IAE9B,gEAA8C,CAAA;IAE9C,4CAA0B,CAAA;IAE1B,4CAA0B,CAAA;AAC5B,CAAC,EATW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QASzB;AAaD,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,6BAAa,CAAA;AACf,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB"}
1
+ {"version":3,"file":"graphqlTypes.js","sourceRoot":"","sources":["../../src/__generated__/graphqlTypes.ts"],"names":[],"mappings":";;;AAkCA,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,mDAAsC,CAAA;IACtC,yCAA4B,CAAA;IAC5B,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,uDAA0C,CAAA;AAC5C,CAAC,EANW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAMpB;AAUD,IAAY,cASX;AATD,WAAY,cAAc;IAExB,gDAA8B,CAAA;IAE9B,gEAA8C,CAAA;IAE9C,4CAA0B,CAAA;IAE1B,4CAA0B,CAAA;AAC5B,CAAC,EATW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QASzB;AAaD,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,6BAAa,CAAA;AACf,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AA0ED,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,4CAAe,CAAA;IACf,uDAA0B,CAAA;AAC5B,CAAC,EAHW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAGpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"executeQueryPlan.d.ts","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,oBAAoB,EAGpB,aAAa,EAQd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAgC,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAGL,SAAS,EACT,YAAY,EAMb,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAmF,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACvI,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAGxG,oBAAY,UAAU,GAAG;IACvB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAC1C,CAAC;AAEF,aAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AA0DrC,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,4BAA4B,EAC5C,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,aAAa,EAC/B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC,CAuIjC;AAuXD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,SAAS,GAAG,IAAI,EACtB,MAAM,EAAE,YAAY,EAAE,QAmCvB;AA2PD,eAAO,MAAM,oCAAoC,EAAE,oBAAoB,CACrE,GAAG,EACH,GAAG,CAYJ,CAAC"}
1
+ {"version":3,"file":"executeQueryPlan.d.ts","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,oBAAoB,EAGpB,aAAa,EAQd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAgC,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAGL,SAAS,EACT,YAAY,EAMb,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAmF,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACvI,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAGxG,oBAAY,UAAU,GAAG;IACvB,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAC1C,CAAC;AAEF,aAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AA0DrC,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,4BAA4B,EAC5C,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,aAAa,EAC/B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC,CAoIjC;AAmYD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,SAAS,GAAG,IAAI,EACtB,MAAM,EAAE,YAAY,EAAE,QAmCvB;AA2PD,eAAO,MAAM,oCAAoC,EAAE,oBAAoB,CACrE,GAAG,EACH,GAAG,CAYJ,CAAC"}
@@ -82,7 +82,7 @@ async function executeQueryPlan(queryPlan, serviceMap, requestContext, operation
82
82
  }));
83
83
  if (errors.length === 0 && postProcessingErrors.length > 0) {
84
84
  span.setStatus({ code: api_1.SpanStatusCode.ERROR });
85
- return { errors: postProcessingErrors, data };
85
+ return { extensions: { "valueCompletion": postProcessingErrors }, data };
86
86
  }
87
87
  }
88
88
  catch (error) {
@@ -253,7 +253,7 @@ async function executeFetch(context, fetch, currentCursor, traceNode) {
253
253
  }
254
254
  });
255
255
  async function sendOperation(variables) {
256
- var _a, _b;
256
+ var _a, _b, _c;
257
257
  let http;
258
258
  if (traceNode) {
259
259
  http = {
@@ -281,6 +281,18 @@ async function executeFetch(context, fetch, currentCursor, traceNode) {
281
281
  const errorPathHelper = makeLazyErrorPathGenerator(fetch, currentCursor);
282
282
  const errors = response.errors.map((error) => downstreamServiceError(error, fetch.serviceName, errorPathHelper));
283
283
  context.errors.push(...errors);
284
+ if (!((_a = response.extensions) === null || _a === void 0 ? void 0 : _a.ftv1)) {
285
+ const errorPaths = response.errors.map((error) => ({
286
+ subgraph: fetch.serviceName,
287
+ path: error.path,
288
+ }));
289
+ if (context.requestContext.metrics.nonFtv1ErrorPaths) {
290
+ context.requestContext.metrics.nonFtv1ErrorPaths.push(...errorPaths);
291
+ }
292
+ else {
293
+ context.requestContext.metrics.nonFtv1ErrorPaths = errorPaths;
294
+ }
295
+ }
284
296
  }
285
297
  if (traceNode) {
286
298
  traceNode.receivedTime = dateToProtoTimestamp(new Date());
@@ -307,7 +319,7 @@ async function executeFetch(context, fetch, currentCursor, traceNode) {
307
319
  }
308
320
  if (traceNode.trace) {
309
321
  const rootTypeName = (0, federation_internals_1.defaultRootName)(context.operationContext.operation.operation);
310
- (_b = (_a = traceNode.trace.root) === null || _a === void 0 ? void 0 : _a.child) === null || _b === void 0 ? void 0 : _b.forEach((child) => {
322
+ (_c = (_b = traceNode.trace.root) === null || _b === void 0 ? void 0 : _b.child) === null || _c === void 0 ? void 0 : _c.forEach((child) => {
311
323
  child.parentType = rootTypeName;
312
324
  });
313
325
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executeQueryPlan.js","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executeQueryPlan.js","sourceRoot":"","sources":["../src/executeQueryPlan.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apollo/gateway",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "description": "Apollo Gateway",
5
5
  "author": "Apollo <packages@apollographql.com>",
6
6
  "main": "dist/index.js",
@@ -25,10 +25,10 @@
25
25
  "access": "public"
26
26
  },
27
27
  "dependencies": {
28
- "@apollo/composition": "2.3.0",
29
- "@apollo/federation-internals": "2.3.0",
30
- "@apollo/query-planner": "2.3.0",
31
- "@apollo/server-gateway-interface": "^1.0.2",
28
+ "@apollo/composition": "2.3.2",
29
+ "@apollo/federation-internals": "2.3.2",
30
+ "@apollo/query-planner": "2.3.2",
31
+ "@apollo/server-gateway-interface": "^1.1.0",
32
32
  "@apollo/usage-reporting-protobuf": "^4.0.0",
33
33
  "@apollo/utils.createhash": "^1.1.0",
34
34
  "@apollo/utils.fetcher": "^1.1.0",
@@ -91,6 +91,8 @@ export type Query = {
91
91
  _empty?: Maybe<Scalars['String']>;
92
92
  /** Fetch the configuration for a router. If a valid configuration is available, it will be readable as cSDL. */
93
93
  routerConfig: RouterConfigResponse;
94
+ /** Fetch the current entitlements for a router. */
95
+ routerEntitlements: RouterEntitlementsResponse;
94
96
  };
95
97
 
96
98
 
@@ -100,6 +102,13 @@ export type QueryRouterConfigArgs = {
100
102
  ref: Scalars['String'];
101
103
  };
102
104
 
105
+
106
+ export type QueryRouterEntitlementsArgs = {
107
+ apiKey: Scalars['String'];
108
+ ref: Scalars['String'];
109
+ unlessId?: InputMaybe<Scalars['ID']>;
110
+ };
111
+
103
112
  export type Request = {
104
113
  body?: InputMaybe<Scalars['String']>;
105
114
  headers?: InputMaybe<Array<HttpHeader>>;
@@ -126,7 +135,37 @@ export type RouterConfigResult = {
126
135
  supergraphSDL: Scalars['String'];
127
136
  };
128
137
 
129
- /** Response indicating the router configuration available is not newer than the one passed in `ifAfterId`. */
138
+ export type RouterEntitlement = {
139
+ __typename?: 'RouterEntitlement';
140
+ /** Which audiences this entitlemnt applies to. Cloud and on-premise routers each require the presence of their own audience. */
141
+ audience: Array<RouterEntitlementAudience>;
142
+ /** Router should stop serving requests after this time if commercial features are in use. */
143
+ haltAt?: Maybe<Scalars['Timestamp']>;
144
+ /** RFC 8037 Ed25519 JWT signed representation of sibling fields. */
145
+ jwt: Scalars['String'];
146
+ subject: Scalars['String'];
147
+ /** Router should warn users after this time if commercial features are in use. */
148
+ warnAt?: Maybe<Scalars['Timestamp']>;
149
+ };
150
+
151
+ export enum RouterEntitlementAudience {
152
+ Cloud = 'CLOUD',
153
+ SelfHosted = 'SELF_HOSTED'
154
+ }
155
+
156
+ export type RouterEntitlementsResponse = FetchError | RouterEntitlementsResult | Unchanged;
157
+
158
+ export type RouterEntitlementsResult = {
159
+ __typename?: 'RouterEntitlementsResult';
160
+ /** The best available entitlement if any. May have expired already. */
161
+ entitlement?: Maybe<RouterEntitlement>;
162
+ /** Unique identifier for this result, to be passed in as `entitlements(unlessId:)`. */
163
+ id: Scalars['ID'];
164
+ /** Minimum delay before the next fetch should occur, in seconds. */
165
+ minDelaySeconds: Scalars['Float'];
166
+ };
167
+
168
+ /** Response indicating the router configuration available is not newer than the one passed in `ifAfterId`, or the router entitlements currently match `unlessId`. */
130
169
  export type Unchanged = {
131
170
  __typename?: 'Unchanged';
132
171
  /** Variant-unique identifier for the configuration that remains in place. */
@@ -881,6 +881,7 @@ describe('buildQueryPlan', () => {
881
881
  __typename
882
882
  ... on Image {
883
883
  ... on NamedObject @include(if: $b) {
884
+ __typename
884
885
  name
885
886
  }
886
887
  }
@@ -103,6 +103,7 @@ describe('executeQueryPlan', () => {
103
103
  request: {
104
104
  variables: {},
105
105
  },
106
+ metrics: {},
106
107
  };
107
108
  }
108
109
 
@@ -1377,10 +1378,16 @@ describe('executeQueryPlan', () => {
1377
1378
  const response = await executePlan(queryPlan, operation, undefined, schema);
1378
1379
 
1379
1380
  expect(response.data?.vehicle).toEqual(null);
1380
- expect(response.errors).toMatchInlineSnapshot(`
1381
- Array [
1382
- [GraphQLError: Invalid __typename found for object at field Query.vehicle.],
1383
- ]
1381
+ // This kind of error is only found by the post-processing of the gateway, and post-processing errors are currently not returned
1382
+ // as normal errors. Instead they are return as `extension`. See discussion on #2374 for details.
1383
+ expect(response.errors).toBeUndefined();
1384
+ // This message should not include `Car` in it.
1385
+ expect(response.extensions).toMatchInlineSnapshot(`
1386
+ Object {
1387
+ "valueCompletion": Array [
1388
+ [GraphQLError: Invalid __typename found for object at field Query.vehicle.],
1389
+ ],
1390
+ }
1384
1391
  `);
1385
1392
  });
1386
1393
  });
@@ -4299,6 +4306,287 @@ describe('executeQueryPlan', () => {
4299
4306
  }
4300
4307
  `);
4301
4308
  });
4309
+
4310
+ test('handles querying fields of an implementation type coming from an @interfaceObject subgraph', async () => {
4311
+ const products = [
4312
+ {
4313
+ id: "1",
4314
+ title: "Jane Eyre",
4315
+ price: 12.99,
4316
+ author: "Charlotte Bronte",
4317
+ ISBN: "9780743273565",
4318
+ },
4319
+ {
4320
+ id: "2",
4321
+ title: "Good Will Hunting",
4322
+ price: 14.99,
4323
+ director: "Gus Van Sant",
4324
+ duration: 126,
4325
+ },
4326
+ ];
4327
+
4328
+ const s1 = {
4329
+ name: 'products',
4330
+ typeDefs: gql`
4331
+ extend schema
4332
+ @link(url: "https://specs.apollo.dev/federation/v2.3", import: ["@key"])
4333
+
4334
+ type Query {
4335
+ products: [Product!]!
4336
+ }
4337
+
4338
+ interface Product @key(fields: "id") {
4339
+ id: ID!
4340
+ description: String
4341
+ price: Float
4342
+ }
4343
+
4344
+ type Book implements Product @key(fields: "id") {
4345
+ id: ID!
4346
+ description: String
4347
+ price: Float
4348
+ pages: Int
4349
+ ISBN: String!
4350
+ }
4351
+
4352
+ type Movie implements Product @key(fields: "id") {
4353
+ id: ID!
4354
+ description: String
4355
+ price: Float
4356
+ duration: Int
4357
+ }
4358
+ `,
4359
+ resolvers: {
4360
+ Product: {
4361
+ __resolveType(product: any) {
4362
+ if (product.author) {
4363
+ return "Book";
4364
+ } else if (product.director) {
4365
+ return "Movie";
4366
+ } else {
4367
+ return null;
4368
+ }
4369
+ },
4370
+ __resolveReference(reference: any) {
4371
+ return products.find((obj) => obj.id === reference.id);
4372
+ },
4373
+ },
4374
+ }
4375
+ }
4376
+
4377
+ const s2 = {
4378
+ name: 'reviews',
4379
+ typeDefs: gql`
4380
+ extend schema
4381
+ @link(url: "https://specs.apollo.dev/federation/v2.3", import: ["@key", "@interfaceObject"])
4382
+
4383
+ type Query {
4384
+ allReviewedProducts: [Product!]!
4385
+ }
4386
+
4387
+ type Product @key(fields: "id") @interfaceObject {
4388
+ id: ID!
4389
+ reviews: [Review!]!
4390
+ }
4391
+
4392
+ type Review {
4393
+ author: String
4394
+ text: String
4395
+ rating: Int
4396
+ }
4397
+ `,
4398
+ resolvers: {
4399
+ Query: {
4400
+ allReviewedProducts: () => products,
4401
+ }
4402
+ }
4403
+ }
4404
+
4405
+ const { serviceMap, schema, queryPlanner} = getFederatedTestingSchema([ s1, s2 ]);
4406
+
4407
+ let operation = parseOp(`
4408
+ {
4409
+ allReviewedProducts {
4410
+ ... on Book {
4411
+ ISBN
4412
+ }
4413
+ }
4414
+ }
4415
+ `, schema);
4416
+
4417
+ let queryPlan = buildPlan(operation, queryPlanner);
4418
+ // We're going check again with almost the query but requesting the `id` field. And the
4419
+ // plan should be exactly the same since `id` gets queried here anyway as a by-product already.
4420
+ const expectedPlan = `
4421
+ QueryPlan {
4422
+ Sequence {
4423
+ Fetch(service: "reviews") {
4424
+ {
4425
+ allReviewedProducts {
4426
+ __typename
4427
+ id
4428
+ }
4429
+ }
4430
+ },
4431
+ Flatten(path: "allReviewedProducts.@") {
4432
+ Fetch(service: "products") {
4433
+ {
4434
+ ... on Product {
4435
+ __typename
4436
+ id
4437
+ }
4438
+ } =>
4439
+ {
4440
+ ... on Product {
4441
+ __typename
4442
+ ... on Book {
4443
+ ISBN
4444
+ }
4445
+ }
4446
+ }
4447
+ },
4448
+ },
4449
+ },
4450
+ }
4451
+ `;
4452
+ expect(queryPlan).toMatchInlineSnapshot(expectedPlan);
4453
+
4454
+ let response = await executePlan(queryPlan, operation, undefined, schema, serviceMap);
4455
+ // Note that the 2nd product is a Movie, so we should get an empty object
4456
+ expect(response.data).toMatchInlineSnapshot(`
4457
+ Object {
4458
+ "allReviewedProducts": Array [
4459
+ Object {
4460
+ "ISBN": "9780743273565",
4461
+ },
4462
+ Object {},
4463
+ ],
4464
+ }
4465
+ `);
4466
+
4467
+ operation = parseOp(`
4468
+ {
4469
+ allReviewedProducts {
4470
+ ... on Book {
4471
+ id
4472
+ ISBN
4473
+ }
4474
+ }
4475
+ }
4476
+ `, schema);
4477
+
4478
+ queryPlan = buildPlan(operation, queryPlanner);
4479
+ // As said above, we should get the same plan as the previous time.
4480
+ expect(queryPlan).toMatchInlineSnapshot(expectedPlan);
4481
+
4482
+ response = await executePlan(queryPlan, operation, undefined, schema, serviceMap);
4483
+ // But now we should have the "id" of the book (and still nothing for the movie).
4484
+ expect(response.data).toMatchInlineSnapshot(`
4485
+ Object {
4486
+ "allReviewedProducts": Array [
4487
+ Object {
4488
+ "ISBN": "9780743273565",
4489
+ "id": "1",
4490
+ },
4491
+ Object {},
4492
+ ],
4493
+ }
4494
+ `);
4495
+
4496
+ // Now with __typename just for the book
4497
+ operation = parseOp(`
4498
+ {
4499
+ allReviewedProducts {
4500
+ ... on Book {
4501
+ __typename
4502
+ ISBN
4503
+ }
4504
+ }
4505
+ }
4506
+ `, schema);
4507
+
4508
+ queryPlan = buildPlan(operation, queryPlanner);
4509
+ // The plan is almost the exact same as the previous one, but in this case we do end up asking for __typename
4510
+ // within `... on Book` on the 2nd fetch. Which is not really necessary since we already have the __typename
4511
+ // above, and we could optimise it, but unclear it's even worth the effort.
4512
+ expect(queryPlan).toMatchInlineSnapshot(`
4513
+ QueryPlan {
4514
+ Sequence {
4515
+ Fetch(service: "reviews") {
4516
+ {
4517
+ allReviewedProducts {
4518
+ __typename
4519
+ id
4520
+ }
4521
+ }
4522
+ },
4523
+ Flatten(path: "allReviewedProducts.@") {
4524
+ Fetch(service: "products") {
4525
+ {
4526
+ ... on Product {
4527
+ __typename
4528
+ id
4529
+ }
4530
+ } =>
4531
+ {
4532
+ ... on Product {
4533
+ __typename
4534
+ ... on Book {
4535
+ __typename
4536
+ ISBN
4537
+ }
4538
+ }
4539
+ }
4540
+ },
4541
+ },
4542
+ },
4543
+ }
4544
+ `);
4545
+
4546
+ response = await executePlan(queryPlan, operation, undefined, schema, serviceMap);
4547
+ expect(response.data).toMatchInlineSnapshot(`
4548
+ Object {
4549
+ "allReviewedProducts": Array [
4550
+ Object {
4551
+ "ISBN": "9780743273565",
4552
+ "__typename": "Book",
4553
+ },
4554
+ Object {},
4555
+ ],
4556
+ }
4557
+ `);
4558
+
4559
+ // And lastly with __typename but for all products
4560
+ operation = parseOp(`
4561
+ {
4562
+ allReviewedProducts {
4563
+ __typename
4564
+ ... on Book {
4565
+ ISBN
4566
+ }
4567
+ }
4568
+ }
4569
+ `, schema);
4570
+
4571
+ queryPlan = buildPlan(operation, queryPlanner);
4572
+ // As said above, we should get the same plan as the previous time.
4573
+ expect(queryPlan).toMatchInlineSnapshot(expectedPlan);
4574
+
4575
+ response = await executePlan(queryPlan, operation, undefined, schema, serviceMap);
4576
+ expect(response.data).toMatchInlineSnapshot(`
4577
+ Object {
4578
+ "allReviewedProducts": Array [
4579
+ Object {
4580
+ "ISBN": "9780743273565",
4581
+ "__typename": "Book",
4582
+ },
4583
+ Object {
4584
+ "__typename": "Movie",
4585
+ },
4586
+ ],
4587
+ }
4588
+ `);
4589
+ });
4302
4590
  });
4303
4591
 
4304
4592
  describe('fields with conflicting types needing aliasing', () => {
@@ -5147,4 +5435,112 @@ describe('executeQueryPlan', () => {
5147
5435
  `);
5148
5436
  });
5149
5437
  });
5438
+
5439
+ it(`surface post-processing errors as extensions in the response`, async () => {
5440
+ // This test is such that the first subgraph return some object with a key, but
5441
+ // then the 2nd one is queried for additional field `x`, but the reference resolver
5442
+ // returns `null`, so that response is ignored, and the data internally to the
5443
+ // gateway after the plan execution is the object from the 1st subgraph with
5444
+ // just the key but no value for `x` (so effectively, `x` is `null`).
5445
+ // However, because `x` is non-nullable, the gateway has to propagate that null
5446
+ // to the whole `t` object, and it generates an appropriate message.
5447
+ // But, for backward compatibility reasonse, we don't want that error to surface
5448
+ // as a normal graphQL error: instead, it should be send in the response as
5449
+ // an "extension" (see #2374 for details). This is what is tested here.
5450
+
5451
+ const s1 = {
5452
+ name: 'S1',
5453
+ typeDefs: gql`
5454
+ type Query {
5455
+ t: T
5456
+ }
5457
+
5458
+ type T @key(fields: "id") {
5459
+ id: ID!
5460
+ }
5461
+ `,
5462
+ resolvers: {
5463
+ Query: {
5464
+ t() {
5465
+ return { "__typename": "T", "id": 0 };
5466
+ }
5467
+ }
5468
+ }
5469
+ }
5470
+
5471
+ const s2 = {
5472
+ name: 'S2',
5473
+ typeDefs: gql`
5474
+ type T @key(fields: "id") {
5475
+ id: ID!
5476
+ x: Int!
5477
+ }
5478
+ `,
5479
+ resolvers: {
5480
+ T: {
5481
+ __resolveReference() {
5482
+ return null;
5483
+ }
5484
+ }
5485
+ }
5486
+ }
5487
+
5488
+ const { serviceMap, schema, queryPlanner} = getFederatedTestingSchema([ s1, s2 ]);
5489
+ const operation = parseOp(`
5490
+ {
5491
+ t {
5492
+ id
5493
+ x
5494
+ }
5495
+ }
5496
+ `, schema);
5497
+
5498
+ const queryPlan = buildPlan(operation, queryPlanner);
5499
+ expect(queryPlan).toMatchInlineSnapshot(`
5500
+ QueryPlan {
5501
+ Sequence {
5502
+ Fetch(service: "S1") {
5503
+ {
5504
+ t {
5505
+ __typename
5506
+ id
5507
+ }
5508
+ }
5509
+ },
5510
+ Flatten(path: "t") {
5511
+ Fetch(service: "S2") {
5512
+ {
5513
+ ... on T {
5514
+ __typename
5515
+ id
5516
+ }
5517
+ } =>
5518
+ {
5519
+ ... on T {
5520
+ x
5521
+ }
5522
+ }
5523
+ },
5524
+ },
5525
+ },
5526
+ }
5527
+ `);
5528
+ const response = await executePlan(queryPlan, operation, undefined, schema, serviceMap);
5529
+ expect(response.data).toMatchInlineSnapshot(`
5530
+ Object {
5531
+ "t": null,
5532
+ }
5533
+ `);
5534
+
5535
+ // As described above, we should _not_ have a "normal" error ...
5536
+ expect(response.errors).toBeUndefined();
5537
+ // ... but we should still have a trace of the underlying problem in the extensions.
5538
+ expect(response.extensions).toMatchInlineSnapshot(`
5539
+ Object {
5540
+ "valueCompletion": Array [
5541
+ [GraphQLError: Cannot return null for non-nullable field T.x.],
5542
+ ],
5543
+ }
5544
+ `);
5545
+ });
5150
5546
  });
@@ -175,21 +175,18 @@ export async function executeQueryPlan(
175
175
  // internal data in a state that triggers additional post-processing errors, but that leads to 2 errors recorded
176
176
  // for the same problem and that is unexpected by clients. See https://github.com/apollographql/federation/issues/981
177
177
  // for additional context.
178
- // If we had no errors during query plan execution, then we do ship any post-processing ones as there is little
179
- // reason not to and it might genuinely help debugging (note that if subgraphs return no errors and we assume that
180
- // subgraph do return graphQL valid responses, then our composition rules should guarantee no post-processing errors,
181
- // so getting a post-processing error points to either 1) a bug in our code or in composition or 2) a subgraph not
182
- // returning valid graphQL results, both of which are well worth surfacing (see [this comment for instance](https://github.com/apollographql/federation/pull/159#issuecomment-801132906))).
178
+ // If we had no errors during query plan execution, then we do ship any post-processing ones, but not as "normal"
179
+ // errors, as "extensions". The reason is that we used to completely ignore those post-processing errors, and as a
180
+ // result some users have been relying on not getting errors in some nullability related cases that post-processing
181
+ // cover, and switching to returning errors in those case is problematic. Putting these error messages in `extensions`
182
+ // is a compromise in that the errors are still part of the reponse, which may help users debug an issue, but are
183
+ // not "normal graphQL errors", so clients and tooling will mostly ignore them.
183
184
  //
184
- // That said, note that this is still not perfect in the sense that if someone does get subgraph errors, then
185
- // while postProcessingErrors may duplicate those, it may also contain additional unrelated errors (again, something
186
- // like a subgraph returning non-grapqlQL valid data unknowingly), and we don't surface those. In a perfect worlds
187
- // we've be able to filter the post-proessing errors that duplicate errors from subgraph and still ship anything that
188
- // remains, but it's unclear how to do that at all (it migth be that checking the error path helps, but not sure
189
- // that's fullproof).
185
+ // Note that this behavior is also what the router does (and in fact, the exact name of the `extensions` we use,
186
+ // "valueCompletion", comes from the router and we use it for alignment.
190
187
  if (errors.length === 0 && postProcessingErrors.length > 0) {
191
188
  span.setStatus({ code:SpanStatusCode.ERROR });
192
- return { errors: postProcessingErrors, data };
189
+ return { extensions: { "valueCompletion": postProcessingErrors }, data };
193
190
  }
194
191
  } catch (error) {
195
192
  span.setStatus({ code:SpanStatusCode.ERROR });
@@ -501,6 +498,18 @@ async function executeFetch(
501
498
  downstreamServiceError(error, fetch.serviceName, errorPathHelper),
502
499
  );
503
500
  context.errors.push(...errors);
501
+
502
+ if (!response.extensions?.ftv1) {
503
+ const errorPaths = response.errors.map((error) => ({
504
+ subgraph: fetch.serviceName,
505
+ path: error.path,
506
+ }));
507
+ if (context.requestContext.metrics.nonFtv1ErrorPaths) {
508
+ context.requestContext.metrics.nonFtv1ErrorPaths.push(...errorPaths);
509
+ } else {
510
+ context.requestContext.metrics.nonFtv1ErrorPaths = errorPaths;
511
+ }
512
+ }
504
513
  }
505
514
 
506
515
  // If we're capturing a trace for Studio, save the received trace into the