@powerhousedao/reactor-api 6.0.0-dev.5 → 6.0.0-dev.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/dist/codegen.js +1 -1
  2. package/dist/codegen.js.map +1 -1
  3. package/dist/src/config.d.ts +1 -2
  4. package/dist/src/config.d.ts.map +1 -1
  5. package/dist/src/config.js +1 -5
  6. package/dist/src/config.js.map +1 -1
  7. package/dist/src/graphql/auth/subgraph.js +1 -1
  8. package/dist/src/graphql/auth/subgraph.js.map +1 -1
  9. package/dist/src/graphql/base-subgraph.d.ts +2 -2
  10. package/dist/src/graphql/base-subgraph.d.ts.map +1 -1
  11. package/dist/src/graphql/base-subgraph.js.map +1 -1
  12. package/dist/src/graphql/document-model-subgraph.d.ts +95 -43
  13. package/dist/src/graphql/document-model-subgraph.d.ts.map +1 -1
  14. package/dist/src/graphql/document-model-subgraph.js +570 -79
  15. package/dist/src/graphql/document-model-subgraph.js.map +1 -1
  16. package/dist/src/graphql/drive-subgraph.d.ts.map +1 -1
  17. package/dist/src/graphql/drive-subgraph.js +1 -0
  18. package/dist/src/graphql/drive-subgraph.js.map +1 -1
  19. package/dist/src/graphql/graphql-manager.d.ts +10 -4
  20. package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
  21. package/dist/src/graphql/graphql-manager.js +200 -126
  22. package/dist/src/graphql/graphql-manager.js.map +1 -1
  23. package/dist/src/graphql/index.d.ts +1 -0
  24. package/dist/src/graphql/index.d.ts.map +1 -1
  25. package/dist/src/graphql/index.js +1 -0
  26. package/dist/src/graphql/index.js.map +1 -1
  27. package/dist/src/graphql/reactor/adapters.d.ts +10 -2
  28. package/dist/src/graphql/reactor/adapters.d.ts.map +1 -1
  29. package/dist/src/graphql/reactor/adapters.js +35 -1
  30. package/dist/src/graphql/reactor/adapters.js.map +1 -1
  31. package/dist/src/graphql/reactor/factory.d.ts +12 -1
  32. package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
  33. package/dist/src/graphql/reactor/factory.js +1 -1
  34. package/dist/src/graphql/reactor/factory.js.map +1 -1
  35. package/dist/src/graphql/reactor/gen/graphql.d.ts +187 -27
  36. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
  37. package/dist/src/graphql/reactor/gen/graphql.js +124 -9
  38. package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
  39. package/dist/src/graphql/reactor/index.d.ts +1 -1
  40. package/dist/src/graphql/reactor/index.d.ts.map +1 -1
  41. package/dist/src/graphql/reactor/index.js +1 -1
  42. package/dist/src/graphql/reactor/index.js.map +1 -1
  43. package/dist/src/graphql/reactor/operations.graphql +80 -0
  44. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +1 -1
  45. package/dist/src/graphql/reactor/requester.with-zod.js +104 -38
  46. package/dist/src/graphql/reactor/requester.with-zod.js.map +1 -1
  47. package/dist/src/graphql/reactor/resolvers.d.ts +48 -24
  48. package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
  49. package/dist/src/graphql/reactor/resolvers.js +134 -70
  50. package/dist/src/graphql/reactor/resolvers.js.map +1 -1
  51. package/dist/src/graphql/reactor/schema.graphql +59 -29
  52. package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
  53. package/dist/src/graphql/reactor/subgraph.js +98 -112
  54. package/dist/src/graphql/reactor/subgraph.js.map +1 -1
  55. package/dist/src/graphql/reactor/validation.d.ts +24 -0
  56. package/dist/src/graphql/reactor/validation.d.ts.map +1 -1
  57. package/dist/src/graphql/reactor/validation.js +15 -0
  58. package/dist/src/graphql/reactor/validation.js.map +1 -1
  59. package/dist/src/graphql/system/index.d.ts +0 -1
  60. package/dist/src/graphql/system/index.d.ts.map +1 -1
  61. package/dist/src/graphql/system/index.js +0 -1
  62. package/dist/src/graphql/system/index.js.map +1 -1
  63. package/dist/src/graphql/types.d.ts +3 -3
  64. package/dist/src/graphql/types.d.ts.map +1 -1
  65. package/dist/src/graphql/utils.d.ts.map +1 -1
  66. package/dist/src/graphql/utils.js +7 -3
  67. package/dist/src/graphql/utils.js.map +1 -1
  68. package/dist/src/packages/import-loader.d.ts +5 -3
  69. package/dist/src/packages/import-loader.d.ts.map +1 -1
  70. package/dist/src/packages/import-loader.js +19 -10
  71. package/dist/src/packages/import-loader.js.map +1 -1
  72. package/dist/src/packages/package-manager.d.ts +2 -2
  73. package/dist/src/packages/package-manager.d.ts.map +1 -1
  74. package/dist/src/packages/package-manager.js.map +1 -1
  75. package/dist/src/packages/types.d.ts +8 -4
  76. package/dist/src/packages/types.d.ts.map +1 -1
  77. package/dist/src/packages/util.d.ts +3 -2
  78. package/dist/src/packages/util.d.ts.map +1 -1
  79. package/dist/src/packages/util.js +1 -1
  80. package/dist/src/packages/util.js.map +1 -1
  81. package/dist/src/packages/vite-loader.d.ts +7 -6
  82. package/dist/src/packages/vite-loader.d.ts.map +1 -1
  83. package/dist/src/packages/vite-loader.js +21 -8
  84. package/dist/src/packages/vite-loader.js.map +1 -1
  85. package/dist/src/server.d.ts +16 -7
  86. package/dist/src/server.d.ts.map +1 -1
  87. package/dist/src/server.js +117 -59
  88. package/dist/src/server.js.map +1 -1
  89. package/dist/src/services/auth.service.d.ts.map +1 -1
  90. package/dist/src/services/auth.service.js +11 -20
  91. package/dist/src/services/auth.service.js.map +1 -1
  92. package/dist/src/tracing.js +1 -1
  93. package/dist/src/tracing.js.map +1 -1
  94. package/dist/src/types.d.ts +5 -5
  95. package/dist/src/types.d.ts.map +1 -1
  96. package/dist/src/utils/create-schema.d.ts +21 -1
  97. package/dist/src/utils/create-schema.d.ts.map +1 -1
  98. package/dist/src/utils/create-schema.js +290 -16
  99. package/dist/src/utils/create-schema.js.map +1 -1
  100. package/dist/src/utils/drive-url.d.ts +2 -0
  101. package/dist/src/utils/drive-url.d.ts.map +1 -0
  102. package/dist/src/utils/drive-url.js +3 -0
  103. package/dist/src/utils/drive-url.js.map +1 -0
  104. package/dist/src/utils/index.d.ts +1 -0
  105. package/dist/src/utils/index.d.ts.map +1 -1
  106. package/dist/src/utils/index.js +1 -0
  107. package/dist/src/utils/index.js.map +1 -1
  108. package/dist/test/connect-switchboard-sync.test.d.ts +2 -0
  109. package/dist/test/connect-switchboard-sync.test.d.ts.map +1 -0
  110. package/dist/test/connect-switchboard-sync.test.js +578 -0
  111. package/dist/test/connect-switchboard-sync.test.js.map +1 -0
  112. package/dist/test/document-drive-subgraph.test.d.ts +2 -0
  113. package/dist/test/document-drive-subgraph.test.d.ts.map +1 -0
  114. package/dist/test/document-drive-subgraph.test.js +186 -0
  115. package/dist/test/document-drive-subgraph.test.js.map +1 -0
  116. package/dist/test/document-model-subgraph-legacy-permissions.test.d.ts +2 -0
  117. package/dist/test/document-model-subgraph-legacy-permissions.test.d.ts.map +1 -0
  118. package/dist/test/document-model-subgraph-legacy-permissions.test.js +518 -0
  119. package/dist/test/document-model-subgraph-legacy-permissions.test.js.map +1 -0
  120. package/dist/test/document-model-subgraph-permissions.test.d.ts +2 -0
  121. package/dist/test/document-model-subgraph-permissions.test.d.ts.map +1 -0
  122. package/dist/test/document-model-subgraph-permissions.test.js +635 -0
  123. package/dist/test/document-model-subgraph-permissions.test.js.map +1 -0
  124. package/dist/test/document-model-subgraph.test.d.ts +2 -0
  125. package/dist/test/document-model-subgraph.test.d.ts.map +1 -0
  126. package/dist/test/document-model-subgraph.test.js +441 -0
  127. package/dist/test/document-model-subgraph.test.js.map +1 -0
  128. package/dist/test/drive-info-endpoint.test.d.ts +2 -0
  129. package/dist/test/drive-info-endpoint.test.d.ts.map +1 -0
  130. package/dist/test/drive-info-endpoint.test.js +123 -0
  131. package/dist/test/drive-info-endpoint.test.js.map +1 -0
  132. package/dist/test/permissions-integration.test.js +4 -4
  133. package/dist/test/permissions-integration.test.js.map +1 -1
  134. package/dist/test/push-backfill.test.d.ts +2 -0
  135. package/dist/test/push-backfill.test.d.ts.map +1 -0
  136. package/dist/test/push-backfill.test.js +295 -0
  137. package/dist/test/push-backfill.test.js.map +1 -0
  138. package/dist/test/reactor-client.test.js +4 -4
  139. package/dist/test/reactor-client.test.js.map +1 -1
  140. package/dist/test/reactor-resolvers.test.js +4 -8
  141. package/dist/test/reactor-resolvers.test.js.map +1 -1
  142. package/dist/test/reactor-subgraph-permissions.test.js +4 -7
  143. package/dist/test/reactor-subgraph-permissions.test.js.map +1 -1
  144. package/dist/test/subscriptions.test.js +2 -0
  145. package/dist/test/subscriptions.test.js.map +1 -1
  146. package/dist/test/utils/gql-resolver-bridge.d.ts.map +1 -1
  147. package/dist/test/utils/gql-resolver-bridge.js +28 -6
  148. package/dist/test/utils/gql-resolver-bridge.js.map +1 -1
  149. package/dist/tsconfig.tsbuildinfo +1 -1
  150. package/package.json +46 -35
  151. package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
  152. package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
  153. package/dist/src/graphql/system/system-subgraph.js +0 -130
  154. package/dist/src/graphql/system/system-subgraph.js.map +0 -1
  155. package/dist/test/system.test.d.ts +0 -2
  156. package/dist/test/system.test.d.ts.map +0 -1
  157. package/dist/test/system.test.js +0 -211
  158. package/dist/test/system.test.js.map +0 -1
  159. package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
  160. package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
  161. package/dist/test/three-reactor-gql-sync.test.js +0 -368
  162. package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
  163. package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
  164. package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
  165. package/dist/test/two-reactor-gql-sync.test.js +0 -348
  166. package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
@@ -6,14 +6,14 @@ import { ApolloServerPluginLandingPageLocalDefault } from "@apollo/server/plugin
6
6
  import { expressMiddleware } from "@as-integrations/express4";
7
7
  import bodyParser from "body-parser";
8
8
  import cors from "cors";
9
- import { childLogger, debounce } from "document-drive";
9
+ import { childLogger, debounce, responseForDrive } from "document-drive";
10
10
  import { Router } from "express";
11
11
  import path from "node:path";
12
12
  import { setTimeout } from "node:timers/promises";
13
+ import { match } from "path-to-regexp";
13
14
  import { AuthService } from "../services/auth.service.js";
14
15
  import { buildSubgraphSchemaModule, createSchema, } from "../utils/create-schema.js";
15
- import { DocumentModelSubgraphLegacy } from "./document-model-subgraph.js";
16
- import { DriveSubgraph } from "./drive-subgraph.js";
16
+ import { DocumentModelSubgraph, DocumentModelSubgraphLegacy, } from "./document-model-subgraph.js";
17
17
  import { useServer } from "./websocket.js";
18
18
  class AuthenticatedDataSource extends RemoteGraphQLDataSource {
19
19
  willSendRequest(options) {
@@ -24,12 +24,44 @@ class AuthenticatedDataSource extends RemoteGraphQLDataSource {
24
24
  }
25
25
  }
26
26
  }
27
- const DOCUMENT_MODELS_TO_EXCLUDE = [
28
- "powerhouse/document-model",
29
- "powerhouse/document-drive",
30
- ];
27
+ const DOCUMENT_MODELS_TO_EXCLUDE = [];
28
+ /**
29
+ * Check if a document model has any operations with valid schemas.
30
+ * Document models without valid operation schemas cannot generate valid subgraph schemas.
31
+ */
32
+ function hasOperationSchemas(documentModel) {
33
+ const specification = documentModel.documentModel.global.specifications.at(-1);
34
+ if (!specification)
35
+ return false;
36
+ // Check if any operation has a schema with actual GraphQL type definitions
37
+ const hasValidSchema = (schema) => schema && /\b(input|type|enum|union|interface)\s+\w+/.test(schema);
38
+ return specification.modules.some((module) => module.operations.some((op) => hasValidSchema(op.schema)));
39
+ }
40
+ /**
41
+ * Filter document models to keep only the latest version of each unique document model.
42
+ * When multiple versions exist with the same name, the one with the most recent specification is kept.
43
+ */
44
+ function filterLatestDocumentModelVersions(documentModels) {
45
+ const latestByName = new Map();
46
+ for (const documentModel of documentModels) {
47
+ const name = documentModel.documentModel.global.name;
48
+ const existing = latestByName.get(name);
49
+ if (!existing) {
50
+ latestByName.set(name, documentModel);
51
+ continue;
52
+ }
53
+ // Compare version numbers from the latest specification
54
+ const currentVersion = documentModel.documentModel.global.specifications.at(-1)?.version ?? 0;
55
+ const existingVersion = existing.documentModel.global.specifications.at(-1)?.version ?? 0;
56
+ if (currentVersion > existingVersion) {
57
+ latestByName.set(name, documentModel);
58
+ }
59
+ }
60
+ return Array.from(latestByName.values());
61
+ }
31
62
  const DefaultFeatureFlags = {
32
63
  enableDocumentModelSubgraphs: true,
64
+ useNewDocumentModelSubgraph: false,
33
65
  };
34
66
  export class GraphQLManager {
35
67
  path;
@@ -44,20 +76,25 @@ export class GraphQLManager {
44
76
  authConfig;
45
77
  documentPermissionService;
46
78
  featureFlags;
79
+ port;
47
80
  initialized = false;
48
- coreRouter = Router();
81
+ router = Router();
49
82
  coreSubgraphsMap = new Map();
50
- reactorRouter = Router();
51
83
  contextFields = {};
52
84
  subgraphs = new Map();
53
85
  authService = null;
86
+ coreApolloServer = null;
87
+ subgraphServers = new Map();
88
+ subgraphHandlers = new Map();
89
+ subgraphWsDisposers = new Map();
90
+ gatewayOptions = null;
54
91
  logger = childLogger(["reactor-api", "graphql-manager"]);
55
92
  apolloLogger = childLogger([
56
93
  "reactor-api",
57
94
  "graphql-manager",
58
95
  "apollo",
59
96
  ]);
60
- constructor(path, app, httpServer, wsServer, reactor, reactorClient, relationalDb, analyticsStore, syncManager, authConfig, documentPermissionService, featureFlags = DefaultFeatureFlags) {
97
+ constructor(path, app, httpServer, wsServer, reactor, reactorClient, relationalDb, analyticsStore, syncManager, authConfig, documentPermissionService, featureFlags = DefaultFeatureFlags, port = 4001) {
61
98
  this.path = path;
62
99
  this.app = app;
63
100
  this.httpServer = httpServer;
@@ -70,6 +107,7 @@ export class GraphQLManager {
70
107
  this.authConfig = authConfig;
71
108
  this.documentPermissionService = documentPermissionService;
72
109
  this.featureFlags = featureFlags;
110
+ this.port = port;
73
111
  if (this.authConfig) {
74
112
  this.authService = new AuthService(this.authConfig);
75
113
  this.setAdditionalContextFields(this.authService.getAdditionalContextFields());
@@ -83,29 +121,17 @@ export class GraphQLManager {
83
121
  if (!driveModel) {
84
122
  throw new Error("DocumentDrive model required");
85
123
  }
86
- this.coreRouter.use(cors());
87
- this.coreRouter.use(bodyParser.json({ limit: "50mb" }));
88
- this.coreRouter.use(bodyParser.urlencoded({ extended: true, limit: "50mb" }));
89
- this.app.use("/", (req, res, next) => {
90
- this.setAdditionalContextFields({
91
- user: req.user,
92
- isAdmin: (address) => !req.auth_enabled
93
- ? true
94
- : (req.admins
95
- ?.map((a) => a.toLowerCase())
96
- .includes(address.toLowerCase() ?? "") ?? false),
97
- isUser: (address) => !req.auth_enabled
98
- ? true
99
- : (req.users
100
- ?.map((a) => a.toLowerCase())
101
- .includes(address.toLowerCase() ?? "") ?? false),
102
- isGuest: (address) => !req.auth_enabled
103
- ? true
104
- : (req.guests
105
- ?.map((a) => a.toLowerCase())
106
- .includes(address.toLowerCase() ?? "") ?? false),
124
+ this.router.use(cors());
125
+ this.router.use(bodyParser.json({ limit: "50mb" }));
126
+ this.router.use(bodyParser.urlencoded({ extended: true, limit: "50mb" }));
127
+ this.router.use("/graphql", (req, res, next) => {
128
+ const result = this.subgraphHandlers.values().find(({ matcher }) => {
129
+ return matcher("/graphql" + req.path);
107
130
  });
108
- this.coreRouter(req, res, next);
131
+ if (!result) {
132
+ return res.status(404).send(`${req.path} subgraph not found`);
133
+ }
134
+ return result.handler(req, res, next);
109
135
  });
110
136
  this.app.use("/", (req, res, next) => {
111
137
  this.setAdditionalContextFields({
@@ -126,7 +152,7 @@ export class GraphQLManager {
126
152
  ?.map((a) => a.toLowerCase())
127
153
  .includes(address.toLowerCase() ?? "") ?? false),
128
154
  });
129
- this.reactorRouter(req, res, next);
155
+ this.router(req, res, next);
130
156
  });
131
157
  await this.#setupCoreSubgraphs("graphql", coreSubgraphs);
132
158
  if (this.featureFlags.enableDocumentModelSubgraphs) {
@@ -136,12 +162,13 @@ export class GraphQLManager {
136
162
  if (this.featureFlags.enableDocumentModelSubgraphs) {
137
163
  this.#setupDocumentModelSubgraphs("graphql", documentModels)
138
164
  .then(() => this.updateRouter())
139
- .catch((error) => this.logger.error(error));
165
+ .catch((error) => this.logger.error("@error", error));
140
166
  }
141
167
  else {
142
- this.updateRouter().catch((error) => this.logger.error(error));
168
+ this.updateRouter().catch((error) => this.logger.error("@error", error));
143
169
  }
144
170
  });
171
+ await this.#createApolloGateway();
145
172
  return this.updateRouter();
146
173
  }
147
174
  async #setupCoreSubgraphs(supergraph, coreSubgraphs) {
@@ -153,17 +180,25 @@ export class GraphQLManager {
153
180
  this.logger.error(`Failed to setup core subgraph ${subgraph.name}`, error);
154
181
  }
155
182
  }
156
- // special case for drive
157
- await this.registerSubgraph(DriveSubgraph, undefined, true);
158
- return this.#setupSubgraphs(this.coreSubgraphsMap, this.coreRouter);
183
+ // REST endpoint for drive info at /d/:drive
184
+ this.#setupDriveInfoRestEndpoint(this.router);
185
+ return this.#setupSubgraphs(this.coreSubgraphsMap);
159
186
  }
160
187
  async #setupDocumentModelSubgraphs(supergraph, documentModels) {
161
- for (const documentModel of documentModels) {
188
+ // Filter to keep only the latest version of each document model
189
+ const latestDocumentModels = filterLatestDocumentModelVersions(documentModels);
190
+ for (const documentModel of latestDocumentModels) {
162
191
  if (DOCUMENT_MODELS_TO_EXCLUDE.includes(documentModel.documentModel.global.id)) {
163
192
  continue; // Skip the legacy document model
164
193
  }
194
+ if (!hasOperationSchemas(documentModel)) {
195
+ continue; // Skip document models without operation schemas
196
+ }
165
197
  try {
166
- const subgraphInstance = new DocumentModelSubgraphLegacy(documentModel, {
198
+ const SubgraphClass = this.featureFlags.useNewDocumentModelSubgraph
199
+ ? DocumentModelSubgraph
200
+ : DocumentModelSubgraphLegacy;
201
+ const subgraphInstance = new SubgraphClass(documentModel, {
167
202
  relationalDb: this.relationalDb,
168
203
  analyticsStore: this.analyticsStore,
169
204
  reactor: this.reactor,
@@ -177,31 +212,27 @@ export class GraphQLManager {
177
212
  }
178
213
  catch (error) {
179
214
  this.logger.error(`Failed to setup document model subgraph for ${documentModel.documentModel.global.id}`, error instanceof Error ? error.message : error);
180
- this.logger.debug(error);
215
+ this.logger.debug("@error", error);
181
216
  }
182
217
  }
183
- // special case for drive
184
- await this.registerSubgraph(DriveSubgraph, undefined, true);
185
- return this.#setupSubgraphs(this.coreSubgraphsMap, this.coreRouter);
218
+ return this.#setupSubgraphs(this.coreSubgraphsMap);
186
219
  }
187
220
  async #addSubgraphInstance(subgraphInstance, supergraph = "", core = false) {
188
- await subgraphInstance.onSetup?.();
189
221
  const subgraphsMap = core ? this.coreSubgraphsMap : this.subgraphs;
190
222
  const subgraphs = subgraphsMap.get(supergraph) ?? [];
191
223
  const existingSubgraph = subgraphs.find((it) => it.name === subgraphInstance.name);
224
+ if (existingSubgraph) {
225
+ this.logger.debug(`Skipping duplicate subgraph: ${subgraphInstance.name}`);
226
+ return existingSubgraph;
227
+ }
228
+ await subgraphInstance.onSetup?.();
192
229
  subgraphs.push(subgraphInstance);
193
230
  subgraphsMap.set(supergraph, subgraphs);
194
231
  // also add to global graphql supergraph
195
232
  if (supergraph !== "" && supergraph !== "graphql") {
196
233
  subgraphsMap.get("graphql")?.push(subgraphInstance);
197
234
  }
198
- const logMessage = `Registered ${this.path.endsWith("/") ? this.path : this.path + "/"}${supergraph ? supergraph + "/" : ""}${subgraphInstance.name} subgraph.`;
199
- if (!existingSubgraph) {
200
- this.logger.info(logMessage);
201
- }
202
- else {
203
- this.logger.debug(logMessage);
204
- }
235
+ this.logger.info(`Registered ${this.path.endsWith("/") ? this.path : this.path + "/"}${supergraph ? supergraph + "/" : ""}${subgraphInstance.name} subgraph.`);
205
236
  return subgraphInstance;
206
237
  }
207
238
  async registerSubgraph(subgraph, supergraph = "", core = false) {
@@ -220,17 +251,11 @@ export class GraphQLManager {
220
251
  updateRouter = debounce(this._updateRouter.bind(this), 1000);
221
252
  async _updateRouter() {
222
253
  this.logger.debug("Updating router");
223
- const newRouter = Router();
224
- newRouter.use(cors());
225
- newRouter.use(bodyParser.json());
226
254
  // @todo:
227
255
  // if auth enabled, subgraphs are only available to guests, users and admins
228
256
  // if auth enabled, set req user to the graphql context
229
257
  // if auth disabled, subgraphs are available to all
230
- await this.#setupSubgraphs(this.subgraphs, newRouter);
231
- this.reactorRouter = newRouter;
232
- await this.#createApolloGateway();
233
- return;
258
+ await this.#setupSubgraphs(this.subgraphs);
234
259
  }
235
260
  getAdditionalContextFields = () => {
236
261
  return this.contextFields;
@@ -276,8 +301,8 @@ export class GraphQLManager {
276
301
  });
277
302
  });
278
303
  }
279
- #createApolloServer(schema) {
280
- return new ApolloServer({
304
+ async #createApolloServer(schema) {
305
+ const server = new ApolloServer({
281
306
  schema,
282
307
  logger: this.apolloLogger,
283
308
  introspection: true,
@@ -286,6 +311,9 @@ export class GraphQLManager {
286
311
  ApolloServerPluginLandingPageLocalDefault(),
287
312
  ],
288
313
  });
314
+ server.startInBackgroundHandlingStartupErrorsByLoggingAndFailingAllRequests();
315
+ await this.#waitForServer(server);
316
+ return server;
289
317
  }
290
318
  async #waitForServer(server) {
291
319
  try {
@@ -300,19 +328,31 @@ export class GraphQLManager {
300
328
  #getSubgraphPath(subgraph, supergraph) {
301
329
  return path.join(subgraph.path ?? "", supergraph, subgraph.name);
302
330
  }
303
- async #setupSubgraphs(subgraphsMap, router) {
331
+ async #setupSubgraphs(subgraphsMap) {
304
332
  for (const [supergraph, subgraphs] of subgraphsMap.entries()) {
305
333
  for (const subgraph of subgraphs) {
306
334
  this.logger.debug(`Setting up subgraph ${subgraph.name}`);
335
+ const subgraphPath = this.#getSubgraphPath(subgraph, supergraph);
307
336
  try {
337
+ // dispose existing websocket server before starting new one
338
+ const existingWsDisposer = this.subgraphWsDisposers.get(subgraphPath);
339
+ if (existingWsDisposer) {
340
+ try {
341
+ await existingWsDisposer.dispose();
342
+ }
343
+ catch {
344
+ // ignore error when disposing websocket server
345
+ }
346
+ this.subgraphWsDisposers.delete(subgraphPath);
347
+ }
308
348
  // create subgraph schema
309
349
  const schema = createSchema(this.reactor, subgraph.resolvers, subgraph.typeDefs);
310
350
  // create and start apollo server
311
- const server = this.#createApolloServer(schema);
312
- server.startInBackgroundHandlingStartupErrorsByLoggingAndFailingAllRequests();
313
- await this.#waitForServer(server);
351
+ const existingServer = this.subgraphServers.get(subgraphPath);
352
+ const server = existingServer || (await this.#createApolloServer(schema));
353
+ this.subgraphServers.set(subgraphPath, server);
314
354
  if (subgraph.hasSubscriptions) {
315
- useServer({
355
+ const wsDisposer = useServer({
316
356
  schema,
317
357
  context: async (ctx) => {
318
358
  const connectionParams = (ctx.connectionParams ??
@@ -320,14 +360,13 @@ export class GraphQLManager {
320
360
  return this.#createWebSocketContext(connectionParams);
321
361
  },
322
362
  }, this.wsServer);
323
- this.logger.info(`WebSocket subscriptions enabled for ${subgraph.name}`);
363
+ this.subgraphWsDisposers.set(subgraphPath, wsDisposer);
364
+ this.logger.debug(`WebSocket subscriptions enabled for ${subgraph.name}`);
324
365
  }
325
- const path = this.#getSubgraphPath(subgraph, supergraph);
326
- this.#setupApolloExpressMiddleware(server, router, path);
366
+ this.#setupApolloExpressMiddleware(server, subgraphPath);
327
367
  }
328
368
  catch (error) {
329
- this.logger.error(`Failed to setup subgraph ${subgraph.name} at path ${this.#getSubgraphPath(subgraph, supergraph)}`);
330
- this.logger.error(error);
369
+ this.logger.error("Failed to setup subgraph @name at path @path: @error", subgraph.name, subgraphPath, error);
331
370
  }
332
371
  }
333
372
  }
@@ -348,69 +387,104 @@ export class GraphQLManager {
348
387
  }
349
388
  return subgraphsMap;
350
389
  }
390
+ /**
391
+ * Setup REST GET endpoint for drive info at /d/:drive
392
+ * Accepts both drive slug (e.g., "powerhouse") and UUID
393
+ * Returns DriveInfo JSON: { id, name, slug, icon, meta, graphqlEndpoint }
394
+ */
395
+ #setupDriveInfoRestEndpoint(router) {
396
+ const routePath = path.join(this.path, "d/:drive");
397
+ router.get(routePath, (req, res) => {
398
+ const driveIdOrSlug = req.params.drive;
399
+ if (!driveIdOrSlug) {
400
+ res.status(400).json({ error: "Drive ID or slug is required" });
401
+ return;
402
+ }
403
+ (async () => {
404
+ const driveDoc = await this.reactorClient.get(driveIdOrSlug);
405
+ // Construct the graphqlEndpoint from the request
406
+ // Use X-Forwarded-Proto header when behind a reverse proxy (Heroku, Traefik, etc.)
407
+ const forwardedProto = req.get("x-forwarded-proto");
408
+ const protocol = (forwardedProto ?? req.protocol) + ":";
409
+ const host = req.get("host") ?? "";
410
+ const basePath = this.path === "/" ? "" : this.path;
411
+ const graphqlEndpoint = `${protocol}//${host}${basePath}/graphql/r`;
412
+ const driveInfo = responseForDrive(driveDoc, graphqlEndpoint);
413
+ res.json(driveInfo);
414
+ })().catch((error) => {
415
+ this.logger.debug(`Drive not found: ${driveIdOrSlug}`, error);
416
+ res.status(404).json({ error: "Drive not found" });
417
+ });
418
+ });
419
+ this.logger.info(`Registered REST endpoint: GET ${routePath}`);
420
+ }
351
421
  #buildSubgraphSchemaModule(subgraph) {
352
422
  return buildSubgraphSchemaModule(this.reactor, subgraph.resolvers, subgraph.typeDefs);
353
423
  }
354
- async #createApolloGateway() {
424
+ async #buildSupergrahSdl() {
425
+ if (!this.gatewayOptions) {
426
+ throw new Error("Gateway is not ready");
427
+ }
355
428
  const subgraphs = this.#getAllSubgraphs();
356
- try {
357
- const herokuOrLocal = process.env.HEROKU_APP_DEFAULT_DOMAIN_NAME
358
- ? `https://${process.env.HEROKU_APP_DEFAULT_DOMAIN_NAME}`
359
- : `http://localhost:${process.env.PORT ?? 4001}`;
360
- const serviceList = Array.from(subgraphs.entries()).map(([path, subgraph]) => ({
361
- name: path.replace("/", ":"),
362
- typeDefs: this.#buildSubgraphSchemaModule(subgraph).typeDefs,
363
- url: `${herokuOrLocal}${path}`,
364
- }));
365
- const gateway = new ApolloGateway({
366
- supergraphSdl: new LocalCompose({
367
- localServiceList: serviceList,
368
- }),
369
- buildService: (serviceConfig) => {
370
- return new AuthenticatedDataSource(serviceConfig);
371
- },
372
- });
373
- const server = new ApolloServer({
374
- gateway,
375
- logger: this.apolloLogger,
376
- introspection: true,
377
- plugins: [
378
- ApolloServerPluginDrainHttpServer({
379
- httpServer: this.httpServer,
380
- }),
381
- ApolloServerPluginInlineTraceDisabled(),
382
- ApolloServerPluginLandingPageLocalDefault(),
383
- ],
384
- });
385
- await server.start();
386
- await this.#waitForServer(server);
387
- const superGraphPath = path.join(this.path, "graphql");
388
- this.#setupApolloExpressMiddleware(server, this.reactorRouter, superGraphPath);
389
- if (!this.initialized) {
390
- this.logger.info(`Registered ${superGraphPath} supergraph `);
391
- this.initialized = true;
392
- }
393
- return server;
429
+ const herokuOrLocal = process.env.HEROKU_APP_DEFAULT_DOMAIN_NAME
430
+ ? `https://${process.env.HEROKU_APP_DEFAULT_DOMAIN_NAME}`
431
+ : `http://localhost:${this.port}`;
432
+ const serviceList = Array.from(subgraphs.entries()).map(([path, subgraph]) => ({
433
+ name: path.replace("/", ":"),
434
+ typeDefs: this.#buildSubgraphSchemaModule(subgraph).typeDefs,
435
+ url: `${herokuOrLocal}${path}`,
436
+ }));
437
+ const localCompose = new LocalCompose({
438
+ localServiceList: serviceList,
439
+ });
440
+ return await localCompose.initialize(this.gatewayOptions);
441
+ }
442
+ async #createApolloGateway() {
443
+ const gateway = new ApolloGateway({
444
+ supergraphSdl: async (options) => {
445
+ this.gatewayOptions = options;
446
+ return await this.#buildSupergrahSdl();
447
+ },
448
+ buildService: (serviceConfig) => {
449
+ return new AuthenticatedDataSource(serviceConfig);
450
+ },
451
+ });
452
+ if (this.coreApolloServer) {
453
+ throw new Error("Supergrah server is already running");
394
454
  }
395
- catch (e) {
396
- if (e instanceof Error) {
397
- this.logger.error(e.message);
398
- }
399
- else {
400
- this.logger.error("Could not create Apollo Gateway", e);
401
- }
455
+ this.coreApolloServer = new ApolloServer({
456
+ gateway,
457
+ logger: this.apolloLogger,
458
+ introspection: true,
459
+ plugins: [
460
+ ApolloServerPluginDrainHttpServer({ httpServer: this.httpServer }),
461
+ ApolloServerPluginInlineTraceDisabled(),
462
+ ApolloServerPluginLandingPageLocalDefault(),
463
+ ],
464
+ });
465
+ await this.coreApolloServer.start();
466
+ await this.#waitForServer(this.coreApolloServer);
467
+ const superGraphPath = path.join(this.path, "graphql");
468
+ this.#setupApolloExpressMiddleware(this.coreApolloServer, superGraphPath);
469
+ if (!this.initialized) {
470
+ this.logger.info(`Registered ${superGraphPath} supergraph `);
471
+ this.initialized = true;
402
472
  }
473
+ return;
403
474
  }
404
- #setupApolloExpressMiddleware(server, router, path) {
405
- router.use(path, expressMiddleware(server, {
406
- context: ({ req }) => Promise.resolve({
407
- headers: req.headers,
408
- driveId: req.params.drive ?? undefined,
409
- driveServer: this.reactor,
410
- db: this.relationalDb,
411
- ...this.getAdditionalContextFields(),
475
+ #setupApolloExpressMiddleware(server, path) {
476
+ this.subgraphHandlers.set(path, {
477
+ handler: expressMiddleware(server, {
478
+ context: ({ req }) => Promise.resolve({
479
+ headers: req.headers,
480
+ driveId: req.params.drive ?? undefined,
481
+ driveServer: this.reactor,
482
+ db: this.relationalDb,
483
+ ...this.getAdditionalContextFields(),
484
+ }),
412
485
  }),
413
- }));
486
+ matcher: match(path),
487
+ });
414
488
  }
415
489
  }
416
490
  //# sourceMappingURL=graphql-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-manager.js","sourceRoot":"","sources":["../../../src/graphql/graphql-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-manager.js","sourceRoot":"","sources":["../../../src/graphql/graphql-manager.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export * from "./base-subgraph.js";
4
4
  export * from "./drive-subgraph.js";
5
5
  export * from "./graphql-manager.js";
6
6
  export * from "./playground.js";
7
+ export * from "./reactor/index.js";
7
8
  export * from "./system/index.js";
8
9
  export * from "./utils.js";
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graphql/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graphql/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
@@ -4,6 +4,7 @@ export * from "./base-subgraph.js";
4
4
  export * from "./drive-subgraph.js";
5
5
  export * from "./graphql-manager.js";
6
6
  export * from "./playground.js";
7
+ export * from "./reactor/index.js";
7
8
  export * from "./system/index.js";
8
9
  export * from "./utils.js";
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graphql/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graphql/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { JobInfo as ClientJobInfo, DocumentChangeEvent, PagedResults } from "@powerhousedao/reactor";
2
- import type { Action, DocumentModelModule, PHDocument } from "document-model";
3
- import type { DocumentModelResultPage, DocumentChangeEvent as GqlDocumentChangeEvent, JobInfo as GqlJobInfo, PhDocument, PhDocumentResultPage } from "./gen/graphql.js";
2
+ import type { Action, DocumentModelModule, Operation, PHDocument } from "document-model";
3
+ import type { DocumentModelResultPage, DocumentChangeEvent as GqlDocumentChangeEvent, JobInfo as GqlJobInfo, PhDocument, PhDocumentResultPage, ReactorOperation, ReactorOperationResultPage } from "./gen/graphql.js";
4
4
  /**
5
5
  * Converts a PagedResults from ReactorClient to the GraphQL DocumentModelResultPage format
6
6
  */
@@ -41,6 +41,14 @@ export declare function validateDocumentModelAction(documentModelModule: Documen
41
41
  * Validates a list of actions by converting them from JSON and checking structure
42
42
  */
43
43
  export declare function validateActions(actions: readonly unknown[]): Action[];
44
+ /**
45
+ * Transforms an operation to serialize signatures from tuples to strings for GraphQL compatibility.
46
+ */
47
+ export declare function serializeOperationForGraphQL(operation: Operation): ReactorOperation;
48
+ /**
49
+ * Converts a PagedResults of Operation to GraphQL ReactorOperationResultPage format
50
+ */
51
+ export declare function toOperationResultPage(result: PagedResults<Operation>): ReactorOperationResultPage;
44
52
  export declare function toGqlDocumentChangeEvent(event: DocumentChangeEvent): GqlDocumentChangeEvent;
45
53
  export declare function matchesSearchFilter(event: DocumentChangeEvent, search: {
46
54
  type?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../../src/graphql/reactor/adapters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,IAAI,aAAa,EACxB,mBAAmB,EAEnB,YAAY,EACb,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EAGnB,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,IAAI,sBAAsB,EAE7C,OAAO,IAAI,UAAU,EACrB,UAAU,EACV,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,YAAY,CAAC,mBAAmB,CAAC,GACxC,uBAAuB,CASzB;AA6BD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,GAC/B,oBAAoB,CAQtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU,CAkB3D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,UAAU,CAU3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAE5E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,GAC5B,CAAC,EAAE,GAAG,SAAS,CAEjB;AA6BD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAQvD;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,EAAE,MAAM,GACb;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAsExC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,CAYrE;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,mBAAmB,GACzB,sBAAsB,CA0BxB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACzD,OAAO,CAoBT;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC1B,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACtB,OAAO,CAET"}
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../../src/graphql/reactor/adapters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,IAAI,aAAa,EACxB,mBAAmB,EAEnB,YAAY,EACb,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EAEnB,SAAS,EACT,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,IAAI,sBAAsB,EAE7C,OAAO,IAAI,UAAU,EACrB,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,YAAY,CAAC,mBAAmB,CAAC,GACxC,uBAAuB,CASzB;AA6BD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,GAC/B,oBAAoB,CAQtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU,CAkB3D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,UAAU,CAU3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAE5E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,GAC5B,CAAC,EAAE,GAAG,SAAS,CAEjB;AA6BD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAQvD;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,EAAE,MAAM,GACb;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAsExC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,EAAE,CAYrE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,GACnB,gBAAgB,CAqBlB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,GAC9B,0BAA0B,CAQ5B;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,mBAAmB,GACzB,sBAAsB,CA0BxB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACzD,OAAO,CAoBT;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC1B,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACtB,OAAO,CAET"}