@powerhousedao/reactor-api 6.0.0-dev.112 → 6.0.0-dev.114

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 (59) hide show
  1. package/dist/src/graphql/document-model-subgraph.js +1 -1
  2. package/dist/src/graphql/document-model-subgraph.js.map +1 -1
  3. package/dist/src/graphql/gateway/adapter-http-express.d.ts +5 -3
  4. package/dist/src/graphql/gateway/adapter-http-express.d.ts.map +1 -1
  5. package/dist/src/graphql/gateway/adapter-http-express.js +8 -0
  6. package/dist/src/graphql/gateway/adapter-http-express.js.map +1 -1
  7. package/dist/src/graphql/gateway/factory.d.ts +1 -1
  8. package/dist/src/graphql/gateway/factory.d.ts.map +1 -1
  9. package/dist/src/graphql/gateway/factory.js +2 -2
  10. package/dist/src/graphql/gateway/factory.js.map +1 -1
  11. package/dist/src/graphql/gateway/types.d.ts +16 -0
  12. package/dist/src/graphql/gateway/types.d.ts.map +1 -1
  13. package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
  14. package/dist/src/graphql/graphql-manager.js +6 -10
  15. package/dist/src/graphql/graphql-manager.js.map +1 -1
  16. package/dist/src/graphql/reactor/factory.d.ts +6 -6
  17. package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
  18. package/dist/src/graphql/reactor/gen/graphql.d.ts +8 -8
  19. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
  20. package/dist/src/graphql/reactor/gen/graphql.js +2 -2
  21. package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
  22. package/dist/src/graphql/reactor/operations.graphql +2 -2
  23. package/dist/src/graphql/reactor/schema.graphql +2 -2
  24. package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
  25. package/dist/src/graphql/reactor/subgraph.js +6 -3
  26. package/dist/src/graphql/reactor/subgraph.js.map +1 -1
  27. package/dist/src/graphql/sse.d.ts +11 -18
  28. package/dist/src/graphql/sse.d.ts.map +1 -1
  29. package/dist/src/graphql/sse.js +8 -12
  30. package/dist/src/graphql/sse.js.map +1 -1
  31. package/dist/src/packages/vite-loader.d.ts.map +1 -1
  32. package/dist/src/packages/vite-loader.js +1 -2
  33. package/dist/src/packages/vite-loader.js.map +1 -1
  34. package/dist/src/server.d.ts +0 -2
  35. package/dist/src/server.d.ts.map +1 -1
  36. package/dist/src/server.js +21 -10
  37. package/dist/src/server.js.map +1 -1
  38. package/dist/src/services/auth.service.d.ts +0 -11
  39. package/dist/src/services/auth.service.d.ts.map +1 -1
  40. package/dist/src/services/auth.service.js +0 -55
  41. package/dist/src/services/auth.service.js.map +1 -1
  42. package/dist/src/types.d.ts +1 -1
  43. package/dist/src/types.d.ts.map +1 -1
  44. package/dist/src/utils/create-schema.js +2 -2
  45. package/dist/src/utils/create-schema.js.map +1 -1
  46. package/dist/test/auth-chain.test.d.ts +12 -0
  47. package/dist/test/auth-chain.test.d.ts.map +1 -0
  48. package/dist/test/auth-chain.test.js +157 -0
  49. package/dist/test/auth-chain.test.js.map +1 -0
  50. package/dist/test/gateway/http-adapter-contract.d.ts.map +1 -1
  51. package/dist/test/gateway/http-adapter-contract.js +51 -0
  52. package/dist/test/gateway/http-adapter-contract.js.map +1 -1
  53. package/dist/test/graphql-manager.test.js +89 -1
  54. package/dist/test/graphql-manager.test.js.map +1 -1
  55. package/dist/tsconfig.tsbuildinfo +1 -1
  56. package/dist/vitest.config.d.ts.map +1 -1
  57. package/dist/vitest.config.js +4 -0
  58. package/dist/vitest.config.js.map +1 -1
  59. package/package.json +12 -12
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Integration tests for the full authentication chain:
3
+ * AuthService → createAuthFetchMiddleware → downstream handler
4
+ *
5
+ * These tests wire together the real AuthService and the real auth middleware
6
+ * to verify the end-to-end authentication contract that was previously
7
+ * implemented as Express middleware mutating req.user/req.admins/req.auth_enabled.
8
+ *
9
+ * @renown/sdk is mocked to avoid real JWT verification and network calls.
10
+ */
11
+ import { beforeEach, describe, expect, it, vi } from "vitest";
12
+ import { createAuthFetchMiddleware, getAuthContext, } from "../src/graphql/gateway/auth-middleware.js";
13
+ import { AuthService } from "../src/services/auth.service.js";
14
+ // ── mock @renown/sdk ───────────────────────────────────────────────────────────
15
+ const mockVerifyAuthBearerToken = vi.fn();
16
+ vi.mock("@renown/sdk", () => ({
17
+ verifyAuthBearerToken: (...args) => mockVerifyAuthBearerToken(...args),
18
+ }));
19
+ // ── fixtures ──────────────────────────────────────────────────────────────────
20
+ const ADMINS = ["0xadmin"];
21
+ function makeVerified(address = "0xuser", chainId = 1, networkId = "eip155") {
22
+ return {
23
+ verifiableCredential: {
24
+ credentialSubject: { address, chainId, networkId },
25
+ },
26
+ issuer: "did:ethr:0xapp",
27
+ };
28
+ }
29
+ function makeRequest(method = "POST", headers = {}) {
30
+ return new Request("http://localhost/graphql", { method, headers });
31
+ }
32
+ // ── tests ─────────────────────────────────────────────────────────────────────
33
+ describe("Auth chain integration (AuthService → authFetchMiddleware → handler)", () => {
34
+ beforeEach(() => {
35
+ vi.clearAllMocks();
36
+ });
37
+ // ── auth enabled ─────────────────────────────────────────────────────────────
38
+ describe("when auth is enabled", () => {
39
+ const service = new AuthService({
40
+ enabled: true,
41
+ admins: ADMINS,
42
+ skipCredentialVerification: true,
43
+ });
44
+ function buildChain() {
45
+ const intercepted = [];
46
+ const next = vi.fn(async (req) => {
47
+ intercepted.push(req);
48
+ return new Response("handler ok", { status: 200 });
49
+ });
50
+ const handler = createAuthFetchMiddleware(service)(next);
51
+ return { handler, next, intercepted };
52
+ }
53
+ it("returns 401 without calling the handler when the token fails verification", async () => {
54
+ mockVerifyAuthBearerToken.mockResolvedValue(false);
55
+ const { handler, next } = buildChain();
56
+ const res = await handler(makeRequest("POST", { authorization: "Bearer bad-token" }));
57
+ expect(res.status).toBe(401);
58
+ expect(next).not.toHaveBeenCalled();
59
+ });
60
+ it("returns 401 without calling the handler when verifyToken throws", async () => {
61
+ mockVerifyAuthBearerToken.mockRejectedValue(new Error("SDK error"));
62
+ const { handler, next } = buildChain();
63
+ const res = await handler(makeRequest("POST", { authorization: "Bearer broken" }));
64
+ expect(res.status).toBe(401);
65
+ expect(next).not.toHaveBeenCalled();
66
+ });
67
+ it("returns 401 without calling the handler when the verified credential is missing user fields", async () => {
68
+ mockVerifyAuthBearerToken.mockResolvedValue({
69
+ verifiableCredential: { credentialSubject: {} }, // no address/chainId/networkId
70
+ issuer: "did:ethr:0xapp",
71
+ });
72
+ const { handler, next } = buildChain();
73
+ const res = await handler(makeRequest("POST", { authorization: "Bearer incomplete" }));
74
+ expect(res.status).toBe(401);
75
+ expect(next).not.toHaveBeenCalled();
76
+ });
77
+ it("calls the handler and stores AuthContext with the authenticated user for a valid token", async () => {
78
+ mockVerifyAuthBearerToken.mockResolvedValue(makeVerified("0xuser", 1, "eip155"));
79
+ const { handler, intercepted } = buildChain();
80
+ const req = makeRequest("POST", { authorization: "Bearer valid" });
81
+ const res = await handler(req);
82
+ expect(res.status).toBe(200);
83
+ expect(intercepted).toContain(req);
84
+ const ctx = getAuthContext(req);
85
+ expect(ctx?.user).toEqual({
86
+ address: "0xuser",
87
+ chainId: 1,
88
+ networkId: "eip155",
89
+ });
90
+ expect(ctx?.auth_enabled).toBe(true);
91
+ expect(ctx?.admins).toEqual(ADMINS);
92
+ });
93
+ it("passes OPTIONS requests through to the handler without token verification", async () => {
94
+ const { handler, intercepted } = buildChain();
95
+ const req = makeRequest("OPTIONS");
96
+ await handler(req);
97
+ expect(intercepted).toContain(req);
98
+ expect(mockVerifyAuthBearerToken).not.toHaveBeenCalled();
99
+ const ctx = getAuthContext(req);
100
+ expect(ctx?.user).toBeUndefined();
101
+ expect(ctx?.auth_enabled).toBe(true);
102
+ });
103
+ it("passes GET requests through to the handler without token verification", async () => {
104
+ const { handler, intercepted } = buildChain();
105
+ const req = makeRequest("GET");
106
+ await handler(req);
107
+ expect(intercepted).toContain(req);
108
+ expect(mockVerifyAuthBearerToken).not.toHaveBeenCalled();
109
+ });
110
+ it("passes anonymous POST requests through to the handler (no Authorization header)", async () => {
111
+ const { handler, intercepted } = buildChain();
112
+ const req = makeRequest("POST"); // no auth header
113
+ await handler(req);
114
+ expect(intercepted).toContain(req);
115
+ expect(mockVerifyAuthBearerToken).not.toHaveBeenCalled();
116
+ const ctx = getAuthContext(req);
117
+ expect(ctx?.user).toBeUndefined();
118
+ expect(ctx?.auth_enabled).toBe(true);
119
+ });
120
+ it("stores the admin list in the AuthContext so callers can perform admin checks", async () => {
121
+ mockVerifyAuthBearerToken.mockResolvedValue(makeVerified());
122
+ const { handler } = buildChain();
123
+ const req = makeRequest("POST", { authorization: "Bearer valid" });
124
+ await handler(req);
125
+ const ctx = getAuthContext(req);
126
+ expect(ctx?.admins).toContain("0xadmin");
127
+ expect(ctx?.admins).not.toContain("0xother");
128
+ });
129
+ it("does not store AuthContext when authentication fails (no WeakMap leak)", async () => {
130
+ mockVerifyAuthBearerToken.mockResolvedValue(false);
131
+ const { handler } = buildChain();
132
+ const req = makeRequest("POST", { authorization: "Bearer bad" });
133
+ await handler(req);
134
+ expect(getAuthContext(req)).toBeUndefined();
135
+ });
136
+ });
137
+ // ── auth disabled ─────────────────────────────────────────────────────────────
138
+ describe("when auth is disabled", () => {
139
+ const service = new AuthService({ enabled: false, admins: ADMINS });
140
+ it("always calls the handler and sets auth_enabled=false, regardless of token", async () => {
141
+ const intercepted = [];
142
+ const next = vi.fn(async (req) => {
143
+ intercepted.push(req);
144
+ return new Response("ok");
145
+ });
146
+ const handler = createAuthFetchMiddleware(service)(next);
147
+ const req = makeRequest("POST", { authorization: "Bearer anything" });
148
+ await handler(req);
149
+ expect(intercepted).toContain(req);
150
+ expect(mockVerifyAuthBearerToken).not.toHaveBeenCalled();
151
+ const ctx = getAuthContext(req);
152
+ expect(ctx?.auth_enabled).toBe(false);
153
+ expect(ctx?.user).toBeUndefined();
154
+ });
155
+ });
156
+ });
157
+ //# sourceMappingURL=auth-chain.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-chain.test.js","sourceRoot":"","sources":["../../test/auth-chain.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-adapter-contract.d.ts","sourceRoot":"","sources":["../../../test/gateway/http-adapter-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mEAAmE;IACnE,OAAO,EAAE,YAAY,CAAC;IACtB,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAyB1E,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,yBAAyB,GACvC,IAAI,CA0PN"}
1
+ {"version":3,"file":"http-adapter-contract.d.ts","sourceRoot":"","sources":["../../../test/gateway/http-adapter-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mEAAmE;IACnE,OAAO,EAAE,YAAY,CAAC;IACtB,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAyB1E,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,yBAAyB,GACvC,IAAI,CAyUN"}
@@ -222,5 +222,56 @@ export function runHttpAdapterContractTests(adapterName, createHarness) {
222
222
  expect(res.status).toBe(500);
223
223
  });
224
224
  });
225
+ // ── mountNodeRoute() ───────────────────────────────────────────────────────
226
+ describe(`IHttpAdapter contract (${adapterName}) – mountNodeRoute()`, () => {
227
+ let h;
228
+ beforeEach(async () => {
229
+ h = await createHarness();
230
+ });
231
+ afterEach(async () => {
232
+ await h.close();
233
+ });
234
+ it("invokes the POST handler with req, res, and parsed body", async () => {
235
+ let capturedBody;
236
+ h.adapter.mountNodeRoute("POST", "/mcp", (_req, res, body) => {
237
+ capturedBody = body;
238
+ res.writeHead(200, { "Content-Type": "application/json" });
239
+ res.end(JSON.stringify({ ok: true }));
240
+ });
241
+ const res = await fetch(`${h.url}/mcp`, {
242
+ method: "POST",
243
+ headers: { "Content-Type": "application/json" },
244
+ body: JSON.stringify({ jsonrpc: "2.0", method: "ping", id: 1 }),
245
+ });
246
+ expect(res.status).toBe(200);
247
+ expect(capturedBody).toEqual({ jsonrpc: "2.0", method: "ping", id: 1 });
248
+ });
249
+ it("invokes the GET handler with req and res", async () => {
250
+ h.adapter.mountNodeRoute("GET", "/mcp", (_req, res) => {
251
+ res.writeHead(405, { "Content-Type": "application/json" });
252
+ res.end(JSON.stringify({ error: "Method Not Allowed" }));
253
+ });
254
+ const res = await fetch(`${h.url}/mcp`);
255
+ expect(res.status).toBe(405);
256
+ });
257
+ it("invokes the DELETE handler with req and res", async () => {
258
+ h.adapter.mountNodeRoute("DELETE", "/mcp", (_req, res) => {
259
+ res.writeHead(405, { "Content-Type": "application/json" });
260
+ res.end(JSON.stringify({ error: "Method Not Allowed" }));
261
+ });
262
+ const res = await fetch(`${h.url}/mcp`, { method: "DELETE" });
263
+ expect(res.status).toBe(405);
264
+ });
265
+ it("POST mountNodeRoute does not match GET requests to the same path", async () => {
266
+ const postHandler = vi.fn((_req, res) => {
267
+ res.writeHead(200).end("ok");
268
+ });
269
+ h.adapter.mountNodeRoute("POST", "/mcp-post-only", postHandler);
270
+ // A GET to this path should not invoke the POST handler
271
+ const res = await fetch(`${h.url}/mcp-post-only`);
272
+ expect(postHandler).not.toHaveBeenCalled();
273
+ expect(res.status).not.toBe(200);
274
+ });
275
+ });
225
276
  }
226
277
  //# sourceMappingURL=http-adapter-contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-adapter-contract.js","sourceRoot":"","sources":["../../../test/gateway/http-adapter-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-adapter-contract.js","sourceRoot":"","sources":["../../../test/gateway/http-adapter-contract.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,19 @@ function makeDriveModule() {
29
29
  global: {
30
30
  name: "DocumentDrive",
31
31
  id: "powerhouse/document-drive",
32
- specifications: [{ version: 1, modules: [] }],
32
+ specifications: [
33
+ {
34
+ version: 1,
35
+ modules: [],
36
+ // Provide a minimal state schema so buildSubgraphSchemaModule can
37
+ // generate the DocumentDrive_DocumentDriveState type that is
38
+ // referenced by the DocumentDrive type definition.
39
+ state: {
40
+ global: { schema: "type DocumentDriveState { name: String }" },
41
+ local: { schema: "" },
42
+ },
43
+ },
44
+ ],
33
45
  },
34
46
  },
35
47
  };
@@ -71,7 +83,9 @@ function makeMockHttpAdapter() {
71
83
  }),
72
84
  getRoute: vi.fn(),
73
85
  mountRawMiddleware: vi.fn(),
86
+ mountNodeRoute: vi.fn(),
74
87
  listen: vi.fn().mockResolvedValue({}),
88
+ setupSentryErrorHandler: vi.fn(),
75
89
  handle: {},
76
90
  };
77
91
  return { adapter, mounts };
@@ -349,6 +363,80 @@ describe("GraphQLManager", () => {
349
363
  expect(ctx.isAdmin("0xadmin")).toBe(true);
350
364
  });
351
365
  });
366
+ // ── SSE handler ────────────────────────────────────────────────────────────
367
+ /**
368
+ * Register a minimal subscription-enabled subgraph on the manager.
369
+ * Required because #setupSupergraphSSE only mounts the SSE handler when
370
+ * at least one subgraph declares hasSubscriptions = true.
371
+ */
372
+ async function registerSubscriptionSubgraph(manager) {
373
+ const { gql } = await import("graphql-tag");
374
+ await manager.registerSubgraphInstance({
375
+ name: "test-subscription-sub",
376
+ hasSubscriptions: true,
377
+ typeDefs: gql `
378
+ type Query {
379
+ _placeholder: Boolean
380
+ }
381
+ type Subscription {
382
+ ping: String
383
+ }
384
+ `,
385
+ resolvers: {
386
+ Subscription: {
387
+ ping: {
388
+ subscribe: async function* () {
389
+ yield { ping: "pong" };
390
+ },
391
+ resolve: (v) => v.ping,
392
+ },
393
+ },
394
+ },
395
+ relationalDb: {},
396
+ reactorClient: {},
397
+ }, "graphql");
398
+ }
399
+ describe("SSE handler", () => {
400
+ it("mounts the SSE handler at {basePath}/graphql/stream", async () => {
401
+ const { manager, httpAdapter } = makeHarness({ path: "/" });
402
+ await registerSubscriptionSubgraph(manager);
403
+ await initAndFlush(manager);
404
+ expect(httpAdapter.mount).toHaveBeenCalledWith("/graphql/stream", expect.any(Function), { exact: true });
405
+ });
406
+ it("respects a non-root base path for the SSE mount", async () => {
407
+ const { manager, httpAdapter } = makeHarness({ path: "/api/v1" });
408
+ await registerSubscriptionSubgraph(manager);
409
+ await initAndFlush(manager);
410
+ expect(httpAdapter.mount).toHaveBeenCalledWith("/api/v1/graphql/stream", expect.any(Function), { exact: true });
411
+ });
412
+ it("wraps the SSE handler through auth middleware", async () => {
413
+ const { manager, mounts } = makeHarness();
414
+ await registerSubscriptionSubgraph(manager);
415
+ const intercepted = [];
416
+ const authMiddleware = (next) => async (req) => {
417
+ intercepted.push(req);
418
+ return next(req);
419
+ };
420
+ const initPromise = manager.init([], authMiddleware);
421
+ await vi.runAllTimersAsync();
422
+ await initPromise;
423
+ const handler = mounts.get("/graphql/stream");
424
+ expect(handler).toBeDefined();
425
+ const req = new Request("http://localhost/graphql/stream");
426
+ await handler(req);
427
+ expect(intercepted).toContain(req);
428
+ });
429
+ it("does not wrap the SSE handler when no authMiddleware is provided", async () => {
430
+ const { manager, mounts } = makeHarness();
431
+ await registerSubscriptionSubgraph(manager);
432
+ await initAndFlush(manager);
433
+ const handler = mounts.get("/graphql/stream");
434
+ expect(handler).toBeDefined();
435
+ // Handler should be callable and return a response without wrapping
436
+ const res = await handler(new Request("http://localhost/graphql/stream"));
437
+ expect(res).toBeInstanceOf(Response);
438
+ });
439
+ });
352
440
  // ── authMiddleware wrapping ─────────────────────────────────────────────────
353
441
  describe("init() with authMiddleware", () => {
354
442
  it("wraps the supergraph handler through the auth middleware", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-manager.test.js","sourceRoot":"","sources":["../../test/graphql-manager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-manager.test.js","sourceRoot":"","sources":["../../test/graphql-manager.test.ts"],"names":[],"mappings":"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"}