@powerhousedao/reactor-api 1.29.15-dev.0 → 1.29.15-dev.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/package-manager.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,EAAE,kBAIvD,CAAC;AAEF,eAAO,MAAM,YAAY,cAGxB,CAAC;AAGF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,UAAU,gBAAgB;IACxB,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI,CAAC;CACT;AAED,KAAK,uBAAuB,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAU/E,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAQlB;AA0DD,wBAAgB,uBAAuB,CACrC,GAAG,cAAc,EAAE,mBAAmB,EAAE,EAAE,GACzC,mBAAmB,EAAE,CAUvB;AAED,qBAAa,eAAgB,YAAW,gBAAgB;IAYpD,SAAS,CAAC,OAAO,EAAE,uBAAuB;IAC1C,SAAS,CAAC,OAAO,CAAC,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI;IAZ1C,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,YAAY,CAIf;gBAGO,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,aAAA;IAW7B,IAAI;;;;;YAQH,YAAY;YAkBZ,kBAAkB;IAkBhC,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAU1B,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI;IAIP,iBAAiB,CACf,OAAO,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,KAAK,IAAI,GACzD,IAAI;IAIP,iBAAiB,CACf,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,GACvD,IAAI;CAGR"}
1
+ {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/package-manager.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,EAAE,kBAIvD,CAAC;AAEF,eAAO,MAAM,YAAY,cAGxB,CAAC;AAGF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,UAAU,gBAAgB;IACxB,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI,CAAC;CACT;AAED,KAAK,uBAAuB,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAU/E,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAQlB;AA4DD,wBAAgB,uBAAuB,CACrC,GAAG,cAAc,EAAE,mBAAmB,EAAE,EAAE,GACzC,mBAAmB,EAAE,CAUvB;AAED,qBAAa,eAAgB,YAAW,gBAAgB;IAYpD,SAAS,CAAC,OAAO,EAAE,uBAAuB;IAC1C,SAAS,CAAC,OAAO,CAAC,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI;IAZ1C,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,YAAY,CAIf;gBAGO,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,aAAA;IAW7B,IAAI;;;;;YAQH,YAAY;YAkBZ,kBAAkB;IAkBhC,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,kBAAkB;IAU1B,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI;IAIP,iBAAiB,CACf,OAAO,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,KAAK,IAAI,GACzD,IAAI;IAIP,iBAAiB,CACf,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,GACvD,IAAI;CAGR"}
@@ -45,15 +45,17 @@ async function loadPackagesSubgraphs(packages) {
45
45
  const loadedPackages = new Map();
46
46
  for (const pkg of packages) {
47
47
  const pkgModule = (await loadDependency(pkg, "subgraphs"));
48
- const subgraphs = Object.values(pkgModule).map((subgraph) => {
49
- return Object.values(subgraph);
50
- });
51
- if (pkgModule) {
52
- console.log(` ➜ Loaded Subgraphs from: ${pkg}`);
53
- loadedPackages.set(pkg.replaceAll("@", ""), subgraphs.flat());
48
+ const subgraphs = pkgModule
49
+ ? Object.values(pkgModule).map((subgraph) => {
50
+ return Object.values(subgraph);
51
+ })
52
+ : undefined;
53
+ if (!pkgModule || !subgraphs?.length) {
54
+ console.warn(` ➜ No Subgraphs found: ${pkg}`);
54
55
  }
55
56
  else {
56
- console.warn(` ➜ No Subgraphs found: ${pkg}`);
57
+ console.log(` ➜ Loaded Subgraphs from: ${pkg}`);
58
+ loadedPackages.set(pkg.replaceAll("@", ""), subgraphs.flat());
57
59
  }
58
60
  }
59
61
  return loadedPackages;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/subgraphs/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAMnC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/D,qBAAa,eAAe;;IAKxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAT5B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,aAAa,CAA2B;gBAG7B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,OAAO,EAAE,oBAAoB,EAC7B,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,eAAe,EAC/B,SAAS,GAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAa;IAS3D,IAAI;IAmBJ,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,SAAK,EAAE,IAAI,SAAK;IAsBpE,YAAY;IAQlB,0BAA0B,4BAExB;IAEF,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAItD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;CAyHxD"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/subgraphs/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAMnC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/D,qBAAa,eAAe;;IAKxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAT5B,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,aAAa,CAA2B;gBAG7B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,OAAO,EAAE,oBAAoB,EAC7B,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,eAAe,EAC/B,SAAS,GAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAa;IAS3D,IAAI;IAmBJ,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,SAAK,EAAE,IAAI,SAAK;IAsBpE,YAAY;IAQlB,0BAA0B,4BAExB;IAEF,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAItD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;CAmKxD"}
@@ -78,7 +78,38 @@ export class SubgraphManager {
78
78
  this.contextFields = { ...this.contextFields, ...fields };
79
79
  }
80
80
  setSupergraph(supergraph, subgraphs) {
81
+ // Set the supergraph with its subgraphs
81
82
  this.subgraphs.set(supergraph, subgraphs);
83
+ // Also register this supergraph as a subgraph of the /graphql supergraph
84
+ if (supergraph !== "" && supergraph !== "graphql") {
85
+ // Create a virtual subgraph for the supergraph
86
+ const supergraphSubgraph = {
87
+ name: "supergraph",
88
+ path: `/${supergraph}`,
89
+ // These are required by the ISubgraph interface
90
+ resolvers: {},
91
+ typeDefs: {}, // Cast empty object to DocumentNode
92
+ reactor: this.reactor,
93
+ operationalStore: this.operationalStore,
94
+ onSetup: async () => { },
95
+ };
96
+ // Add it to the /graphql supergraph
97
+ if (!this.subgraphs.has("graphql")) {
98
+ this.subgraphs.set("graphql", []);
99
+ console.log(`> Created /graphql supergraph`);
100
+ }
101
+ // Check if the supergraph is already registered as a subgraph
102
+ const existingSubgraph = this.subgraphs
103
+ .get("graphql")
104
+ ?.find((s) => s.name === supergraph);
105
+ if (!existingSubgraph) {
106
+ // We need to cast the ISubgraph to Subgraph since the Map expects Subgraph[]
107
+ this.subgraphs
108
+ .get("graphql")
109
+ ?.push(supergraphSubgraph);
110
+ console.log(`> Registered /${supergraph} as a subgraph of /graphql`);
111
+ }
112
+ }
82
113
  this.updateRouter();
83
114
  }
84
115
  #createApolloServer(schema) {
@@ -106,6 +137,10 @@ export class SubgraphManager {
106
137
  for (const [supergraph, subgraphs] of this.subgraphs.entries()) {
107
138
  const supergraphEndpoints = {};
108
139
  for (const subgraph of subgraphs) {
140
+ if (subgraph.name === "supergraph") {
141
+ supergraphEndpoints[subgraph.path] = undefined;
142
+ continue;
143
+ }
109
144
  const subgraphConfig = this.#getLocalSubgraphConfig(subgraph.name);
110
145
  if (!subgraphConfig)
111
146
  continue;