@powerhousedao/reactor-api 1.29.16-dev.1 → 1.29.17-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.
Files changed (94) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -2
  4. package/dist/src/graphql/analytics/index.d.ts.map +1 -0
  5. package/dist/src/{subgraphs → graphql}/analytics/index.js +1 -1
  6. package/dist/src/graphql/auth/env/getters.d.ts.map +1 -0
  7. package/dist/src/graphql/auth/env/index.d.ts.map +1 -0
  8. package/dist/src/graphql/auth/index.d.ts +11 -0
  9. package/dist/src/graphql/auth/index.d.ts.map +1 -0
  10. package/dist/src/{subgraphs → graphql}/auth/index.js +2 -2
  11. package/dist/src/{subgraphs → graphql}/auth/types.d.ts +1 -1
  12. package/dist/src/graphql/auth/types.d.ts.map +1 -0
  13. package/dist/src/{subgraphs → graphql}/auth/utils/helpers.d.ts +1 -1
  14. package/dist/src/graphql/auth/utils/helpers.d.ts.map +1 -0
  15. package/dist/src/{subgraphs → graphql}/auth/utils/helpers.js +1 -1
  16. package/dist/src/{subgraphs → graphql}/auth/utils/session.d.ts +1 -1
  17. package/dist/src/graphql/auth/utils/session.d.ts.map +1 -0
  18. package/dist/src/graphql/auth/utils/user.d.ts.map +1 -0
  19. package/dist/src/{subgraphs → graphql}/base/index.d.ts +3 -3
  20. package/dist/src/graphql/base/index.d.ts.map +1 -0
  21. package/dist/src/{subgraphs → graphql}/base/index.js +2 -2
  22. package/dist/src/{subgraphs → graphql}/drive/index.d.ts +2 -2
  23. package/dist/src/graphql/drive/index.d.ts.map +1 -0
  24. package/dist/src/{subgraphs → graphql}/drive/index.js +1 -1
  25. package/dist/src/graphql/drive/temp-hack-rwa-type-defs.d.ts.map +1 -0
  26. package/dist/src/{subgraphs/manager.d.ts → graphql/graphql-manager.d.ts} +2 -2
  27. package/dist/src/graphql/graphql-manager.d.ts.map +1 -0
  28. package/dist/src/{subgraphs/manager.js → graphql/graphql-manager.js} +9 -2
  29. package/dist/src/graphql/index.d.ts.map +1 -0
  30. package/dist/src/graphql/playground.d.ts +2 -0
  31. package/dist/src/graphql/playground.d.ts.map +1 -0
  32. package/dist/src/graphql/playground.js +73 -0
  33. package/dist/src/graphql/system/env/getters.d.ts.map +1 -0
  34. package/dist/src/graphql/system/env/index.d.ts.map +1 -0
  35. package/dist/src/{subgraphs → graphql}/system/index.d.ts +1 -1
  36. package/dist/src/graphql/system/index.d.ts.map +1 -0
  37. package/dist/src/{subgraphs → graphql}/system/index.js +2 -2
  38. package/dist/src/{subgraphs → graphql}/system/types.d.ts +1 -1
  39. package/dist/src/graphql/system/types.d.ts.map +1 -0
  40. package/dist/src/{subgraphs → graphql}/types.d.ts +2 -2
  41. package/dist/src/{subgraphs → graphql}/types.d.ts.map +1 -1
  42. package/dist/src/package-manager.d.ts +10 -11
  43. package/dist/src/package-manager.d.ts.map +1 -1
  44. package/dist/src/package-manager.js +20 -24
  45. package/dist/src/processor-manager.d.ts +40 -0
  46. package/dist/src/processor-manager.d.ts.map +1 -0
  47. package/dist/src/processor-manager.js +65 -0
  48. package/dist/src/server.d.ts.map +1 -1
  49. package/dist/src/server.js +93 -38
  50. package/dist/src/sync/utils.d.ts +2 -2
  51. package/dist/src/sync/utils.d.ts.map +1 -1
  52. package/dist/src/types.d.ts +19 -3
  53. package/dist/src/types.d.ts.map +1 -1
  54. package/dist/src/utils/create-schema.d.ts +1 -1
  55. package/dist/src/utils/create-schema.d.ts.map +1 -1
  56. package/dist/tsconfig.tsbuildinfo +1 -1
  57. package/package.json +5 -3
  58. package/dist/src/subgraphs/analytics/index.d.ts.map +0 -1
  59. package/dist/src/subgraphs/auth/env/getters.d.ts.map +0 -1
  60. package/dist/src/subgraphs/auth/env/index.d.ts.map +0 -1
  61. package/dist/src/subgraphs/auth/index.d.ts +0 -11
  62. package/dist/src/subgraphs/auth/index.d.ts.map +0 -1
  63. package/dist/src/subgraphs/auth/types.d.ts.map +0 -1
  64. package/dist/src/subgraphs/auth/utils/helpers.d.ts.map +0 -1
  65. package/dist/src/subgraphs/auth/utils/session.d.ts.map +0 -1
  66. package/dist/src/subgraphs/auth/utils/user.d.ts.map +0 -1
  67. package/dist/src/subgraphs/base/index.d.ts.map +0 -1
  68. package/dist/src/subgraphs/drive/index.d.ts.map +0 -1
  69. package/dist/src/subgraphs/drive/temp-hack-rwa-type-defs.d.ts.map +0 -1
  70. package/dist/src/subgraphs/index.d.ts.map +0 -1
  71. package/dist/src/subgraphs/manager.d.ts.map +0 -1
  72. package/dist/src/subgraphs/system/env/getters.d.ts.map +0 -1
  73. package/dist/src/subgraphs/system/env/index.d.ts.map +0 -1
  74. package/dist/src/subgraphs/system/index.d.ts.map +0 -1
  75. package/dist/src/subgraphs/system/types.d.ts.map +0 -1
  76. /package/dist/src/{subgraphs → graphql}/analytics/index.d.ts +0 -0
  77. /package/dist/src/{subgraphs → graphql}/auth/env/getters.d.ts +0 -0
  78. /package/dist/src/{subgraphs → graphql}/auth/env/getters.js +0 -0
  79. /package/dist/src/{subgraphs → graphql}/auth/env/index.d.ts +0 -0
  80. /package/dist/src/{subgraphs → graphql}/auth/env/index.js +0 -0
  81. /package/dist/src/{subgraphs → graphql}/auth/types.js +0 -0
  82. /package/dist/src/{subgraphs → graphql}/auth/utils/session.js +0 -0
  83. /package/dist/src/{subgraphs → graphql}/auth/utils/user.d.ts +0 -0
  84. /package/dist/src/{subgraphs → graphql}/auth/utils/user.js +0 -0
  85. /package/dist/src/{subgraphs → graphql}/drive/temp-hack-rwa-type-defs.d.ts +0 -0
  86. /package/dist/src/{subgraphs → graphql}/drive/temp-hack-rwa-type-defs.js +0 -0
  87. /package/dist/src/{subgraphs → graphql}/index.d.ts +0 -0
  88. /package/dist/src/{subgraphs → graphql}/index.js +0 -0
  89. /package/dist/src/{subgraphs → graphql}/system/env/getters.d.ts +0 -0
  90. /package/dist/src/{subgraphs → graphql}/system/env/getters.js +0 -0
  91. /package/dist/src/{subgraphs → graphql}/system/env/index.d.ts +0 -0
  92. /package/dist/src/{subgraphs → graphql}/system/env/index.js +0 -0
  93. /package/dist/src/{subgraphs → graphql}/system/types.js +0 -0
  94. /package/dist/src/{subgraphs → graphql}/types.js +0 -0
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export * from "@powerhousedao/analytics-engine-core";
2
+ export * from "./src/graphql/graphql-manager.js";
3
+ export * from "./src/graphql/index.js";
2
4
  export * from "./src/server.js";
3
- export * from "./src/subgraphs/index.js";
4
- export * from "./src/subgraphs/manager.js";
5
5
  export * from "./src/types.js";
6
6
  export * from "./src/utils/index.js";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from "@powerhousedao/analytics-engine-core";
2
+ export * from "./src/graphql/graphql-manager.js";
3
+ export * from "./src/graphql/index.js";
2
4
  export * from "./src/server.js";
3
- export * from "./src/subgraphs/index.js";
4
- export * from "./src/subgraphs/manager.js";
5
5
  export * from "./src/types.js";
6
6
  export * from "./src/utils/index.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/graphql/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,cAAc,EAGf,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9D,qBAAa,iBAAkB,SAAQ,QAAQ;;IAC7C,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;IAE/B,IAAI,SAAe;IACnB,QAAQ,iCAEN;IAEF,SAAS,EAAyB,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAElD,IAAI,EAAE,YAAY;IAiBxB,OAAO;CA4Ed"}
@@ -14,7 +14,7 @@ export class AnalyticsSubgraph extends Subgraph {
14
14
  super(args);
15
15
  this.analyticsStore = args.analyticsStore;
16
16
  this.analyticsModel = new AnalyticsModel(new AnalyticsQueryEngine(this.analyticsStore));
17
- args.subgraphManager.setAdditionalContextFields({
17
+ args.graphqlManager.setAdditionalContextFields({
18
18
  dataSources: {
19
19
  db: {
20
20
  Analytics: this.analyticsModel,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getters.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/auth/env/getters.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,QAAO,MAO/B,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,MAkBzC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/auth/env/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,UAAU,QAAiB,CAAC;AACzC,eAAO,MAAM,IAAI,QAA6B,CAAC;AAC/C,eAAO,MAAM,aAAa,SAAyC,CAAC;AACpE,eAAO,MAAM,mBAAmB,SAA2C,CAAC;AAC5E,eAAO,MAAM,qBAAqB,EAAE,MAAiC,CAAC;AACtE,eAAO,MAAM,UAAU,QAAuD,CAAC;AAC/E,eAAO,MAAM,YAAY,UAGxB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Subgraph } from "#graphql/index.js";
2
+ import { type GraphQLResolverMap } from "@apollo/subgraph/dist/schema-helper/resolverMap.js";
3
+ import { type AuthContext } from "./types.js";
4
+ export declare class AuthSubgraph extends Subgraph {
5
+ #private;
6
+ name: string;
7
+ typeDefs: import("graphql").DocumentNode;
8
+ resolvers: GraphQLResolverMap<AuthContext>;
9
+ onSetup(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/graphql/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAM7F,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,YAAY,CAAC;AASpB,qBAAa,YAAa,SAAQ,QAAQ;;IACxC,IAAI,SAAU;IACd,QAAQ,iCAkDN;IAEF,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CA8KxC;IAEI,OAAO;CAyEd"}
@@ -1,4 +1,4 @@
1
- import { Subgraph } from "#subgraphs/index.js";
1
+ import { Subgraph } from "#graphql/index.js";
2
2
  import { generateUUID } from "document-drive";
3
3
  import { GraphQLError } from "graphql";
4
4
  import { gql } from "graphql-tag";
@@ -194,7 +194,7 @@ export class AuthSubgraph extends Subgraph {
194
194
  async onSetup() {
195
195
  await super.onSetup();
196
196
  await this.#createTables();
197
- this.subgraphManager.setAdditionalContextFields({
197
+ this.graphqlManager.setAdditionalContextFields({
198
198
  session: async (ctx) => {
199
199
  const bearerToken = ctx.headers.authorization?.split(" ")[1];
200
200
  if (!bearerToken) {
@@ -1,4 +1,4 @@
1
- import { Context } from "#subgraphs/types.js";
1
+ import { Context } from "#graphql/types.js";
2
2
  export interface SessionInput {
3
3
  name: string;
4
4
  allowedOrigins: string[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/graphql/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { SessionInput } from "#subgraphs/auth/types.js";
1
+ import { SessionInput } from "#graphql/auth/types.js";
2
2
  import { Db } from "#utils/db.js";
3
3
  export declare const formatToken: (token: string) => string;
4
4
  export declare const verifyToken: (token: string) => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/auth/utils/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAYlC,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,WACI,CAAC;AA4B9C,eAAO,MAAM,WAAW,GACtB,OAAO,MAAM,KACZ;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,SAiB1B,CAAC;AAkBF,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,MAAM,QAmBxB;AAED,eAAO,MAAM,uBAAuB,GAClC,IAAI,EAAE,EACN,SAAS,YAAY,EACrB,QAAQ,MAAM,EACd,eAAe,OAAO;;;EAwBvB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { JWT_EXPIRATION_PERIOD, JWT_SECRET, } from "#subgraphs/auth/env/index.js";
1
+ import { JWT_EXPIRATION_PERIOD, JWT_SECRET } from "#graphql/auth/env/index.js";
2
2
  import { randomUUID } from "crypto";
3
3
  import { GraphQLError } from "graphql";
4
4
  import jwt from "jsonwebtoken";
@@ -1,4 +1,4 @@
1
- import { type Context } from "#subgraphs/types.js";
1
+ import { type Context } from "#graphql/types.js";
2
2
  import { type Db } from "#types.js";
3
3
  import { type SiweMessage } from "siwe";
4
4
  import { type Session } from "../types.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/auth/utils/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,MAAM,CAAC;AAExC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAO3C,eAAO,MAAM,2BAA2B,GACtC,IAAI,EAAE,EACN,QAAQ,MAAM,EACd,yBAAsB;;;EAcvB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,IAAI,EAAE,EACN,QAAQ,MAAM,EACd,SAAS;IACP,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,EACD,uBAAqB;;;EAGtB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAU,IAAI,EAAE,EAAE,QAAQ,MAAM,uBAExD,CAAC;AAEF,eAAO,MAAM,MAAM,GAAU,IAAI,EAAE,EAAE,WAAW,MAAM,EAAE,QAAQ,MAAM,kBAwBrE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAU,SAAS,OAAO,qBAYlD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,IAAI,EAAE,EACN,SAAS,MAAM,EACf,QAAQ,MAAM,qBAoCf,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,eAAe,WAAW,EAC1B,WAAW,MAAM,yCAWlB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/auth/utils/user.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,UAAU,IAAI;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,eAAO,MAAM,UAAU,GAAU,IAAI,EAAE,EAAE,MAAM,IAAI,kBAwBlD,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,IAAI,EAAE,EAAE,SAAS,MAAM,kBAGpD,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type SubgraphManager } from "#subgraphs/manager.js";
2
- import { type ISubgraph, type SubgraphArgs } from "#subgraphs/types.js";
1
+ import { type GraphQLManager } from "#graphql/graphql-manager.js";
2
+ import { type ISubgraph, type SubgraphArgs } from "#graphql/types.js";
3
3
  import { type Db } from "#types.js";
4
4
  import { type IDocumentDriveServer } from "document-drive";
5
5
  import { type DocumentNode } from "graphql";
@@ -9,7 +9,7 @@ export declare class Subgraph implements ISubgraph {
9
9
  resolvers: Record<string, any>;
10
10
  typeDefs: DocumentNode;
11
11
  reactor: IDocumentDriveServer;
12
- subgraphManager: SubgraphManager;
12
+ graphqlManager: GraphQLManager;
13
13
  operationalStore: Db;
14
14
  constructor(args: SubgraphArgs);
15
15
  onSetup(): Promise<void>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/graphql/base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,qBAAa,QAAS,YAAW,SAAS;IACxC,IAAI,SAAa;IACjB,IAAI,SAAM;IACV,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI5B;IACF,QAAQ,EAAE,YAAY,CAIpB;IACF,OAAO,EAAE,oBAAoB,CAAC;IAC9B,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,EAAE,CAAC;gBACT,IAAI,EAAE,YAAY;IAKxB,OAAO;CAGd"}
@@ -13,11 +13,11 @@ export class Subgraph {
13
13
  }
14
14
  `;
15
15
  reactor;
16
- subgraphManager;
16
+ graphqlManager;
17
17
  operationalStore;
18
18
  constructor(args) {
19
19
  this.reactor = args.reactor;
20
- this.subgraphManager = args.subgraphManager;
20
+ this.graphqlManager = args.graphqlManager;
21
21
  this.operationalStore = args.operationalStore;
22
22
  }
23
23
  async onSetup() {
@@ -1,5 +1,5 @@
1
- import { Subgraph } from "#subgraphs/base/index.js";
2
- import { type Context, type SubgraphArgs } from "#subgraphs/types.js";
1
+ import { Subgraph } from "#graphql/base/index.js";
2
+ import { type Context, type SubgraphArgs } from "#graphql/types.js";
3
3
  import { type GraphQLResolverMap } from "@apollo/subgraph/dist/schema-helper/resolverMap.js";
4
4
  export declare class DriveSubgraph extends Subgraph {
5
5
  private logger;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/graphql/drive/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOpE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAyB7F,qBAAa,aAAc,SAAQ,QAAQ;IACzC,OAAO,CAAC,MAAM,CAGX;gBAES,IAAI,EAAE,YAAY;IAM9B,IAAI,SAAc;IAClB,QAAQ,iCAsJN;IAEF,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAoPpC;CACH"}
@@ -1,4 +1,4 @@
1
- import { Subgraph } from "#subgraphs/base/index.js";
1
+ import { Subgraph } from "#graphql/base/index.js";
2
2
  import { processAcknowledge, processGetStrands, processPushUpdate, } from "#sync/utils.js";
3
3
  import { pascalCase } from "change-case";
4
4
  import { childLogger, generateUUID, PullResponderTransmitter, } from "document-drive";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temp-hack-rwa-type-defs.d.ts","sourceRoot":"","sources":["../../../../src/graphql/drive/temp-hack-rwa-type-defs.ts"],"names":[],"mappings":"AAAA,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEzB,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7C,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,CAAC;AACF,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,WAAW,CAAC;AAEvC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,aAAa,CAAC;AAC/C,MAAM,MAAM,IAAI,GAAG;IACjB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;CAC7B,CAAC;AACF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3C,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7C,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;CAC7B,CAAC"}
@@ -3,7 +3,7 @@ import { type IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
3
3
  import { type IDocumentDriveServer } from "document-drive";
4
4
  import type express from "express";
5
5
  import { type Subgraph, type SubgraphClass } from "./index.js";
6
- export declare class SubgraphManager {
6
+ export declare class GraphQLManager {
7
7
  #private;
8
8
  private readonly path;
9
9
  private readonly app;
@@ -21,4 +21,4 @@ export declare class SubgraphManager {
21
21
  setAdditionalContextFields(fields: Record<string, any>): void;
22
22
  setSupergraph(supergraph: string, subgraphs: Subgraph[]): void;
23
23
  }
24
- //# sourceMappingURL=manager.d.ts.map
24
+ //# sourceMappingURL=graphql-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-manager.d.ts","sourceRoot":"","sources":["../../../src/graphql/graphql-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,cAAc;;IAKvB,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;CA8HxD"}
@@ -11,7 +11,7 @@ import { AnalyticsSubgraph } from "./analytics/index.js";
11
11
  import { AuthSubgraph } from "./auth/index.js";
12
12
  import { DriveSubgraph } from "./drive/index.js";
13
13
  import { SystemSubgraph } from "./system/index.js";
14
- export class SubgraphManager {
14
+ export class GraphQLManager {
15
15
  path;
16
16
  app;
17
17
  reactor;
@@ -50,7 +50,7 @@ export class SubgraphManager {
50
50
  operationalStore: this.operationalStore,
51
51
  analyticsStore: this.analyticsStore,
52
52
  reactor: this.reactor,
53
- subgraphManager: this,
53
+ graphqlManager: this,
54
54
  path,
55
55
  });
56
56
  await subgraphInstance.onSetup();
@@ -79,6 +79,13 @@ export class SubgraphManager {
79
79
  }
80
80
  setSupergraph(supergraph, subgraphs) {
81
81
  this.subgraphs.set(supergraph, subgraphs);
82
+ const globalSubgraphs = this.subgraphs.get("graphql");
83
+ if (globalSubgraphs) {
84
+ this.subgraphs.set("graphql", [...globalSubgraphs, ...subgraphs]);
85
+ }
86
+ else {
87
+ this.subgraphs.set("graphql", subgraphs);
88
+ }
82
89
  this.updateRouter();
83
90
  }
84
91
  #createApolloServer(schema) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graphql/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,KAAK,iBAAiB,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG,OAAO,QAAQ,CAAC;AAC5C,wBAAgB,eAAe,CAC7B,SAAS,EAAE,OAAO,GACjB,SAAS,IAAI,aAAa,CAW5B"}
@@ -0,0 +1,2 @@
1
+ export declare function renderGraphqlPlayground(url: string, query?: string, headers?: Record<string, string>): string;
2
+ //# sourceMappingURL=playground.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playground.d.ts","sourceRoot":"","sources":["../../../src/graphql/playground.ts"],"names":[],"mappings":"AAAA,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACnC,MAAM,CAwER"}
@@ -0,0 +1,73 @@
1
+ export function renderGraphqlPlayground(url, query, headers = {}) {
2
+ return `<!doctype html>
3
+ <html lang="en">
4
+ <head>
5
+ <title>GraphiQL</title>
6
+ <style>
7
+ body {
8
+ height: 100%;
9
+ margin: 0;
10
+ width: 100%;
11
+ overflow: hidden;
12
+ }
13
+
14
+ #graphiql {
15
+ height: 100vh;
16
+ }
17
+ </style>
18
+ <script
19
+ crossorigin
20
+ src="https://unpkg.com/react@18/umd/react.production.min.js"
21
+ ></script>
22
+ <script
23
+ crossorigin
24
+ src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"
25
+ ></script>
26
+ <script
27
+ src="https://unpkg.com/graphiql/graphiql.min.js"
28
+ type="application/javascript"
29
+ ></script>
30
+ <link rel="stylesheet" href="https://unpkg.com/graphiql/graphiql.min.css" />
31
+ <script
32
+ src="https://unpkg.com/@graphiql/plugin-explorer/dist/index.umd.js"
33
+ crossorigin
34
+ ></script>
35
+ <link
36
+ rel="stylesheet"
37
+ href="https://unpkg.com/@graphiql/plugin-explorer/dist/style.css"
38
+ />
39
+ </head>
40
+
41
+ <body>
42
+ <div id="graphiql">Loading...</div>
43
+ <script>
44
+ var fetcher = GraphiQL.createFetcher({
45
+ url: '${url}',
46
+ headers: ${JSON.stringify(headers)}
47
+ });
48
+ var defaultQuery = ${query ? `\`${query}\`` : undefined};
49
+
50
+ if (defaultQuery) {
51
+ var sessionQuery = localStorage.getItem("graphiql:query");
52
+ if (sessionQuery) {
53
+ localStorage.setItem("graphiql:query", defaultQuery);
54
+ }
55
+ }
56
+
57
+ var explorerPlugin = GraphiQLPluginExplorer.explorerPlugin();
58
+
59
+ function GraphiQLWithExplorer() {
60
+ return React.createElement(GraphiQL, {
61
+ fetcher: fetcher,
62
+ defaultEditorToolsVisibility: true,
63
+ plugins: [explorerPlugin],
64
+ defaultQuery
65
+ });
66
+ }
67
+
68
+ const root = ReactDOM.createRoot(document.getElementById('graphiql'));
69
+ root.render(React.createElement(GraphiQLWithExplorer));
70
+ </script>
71
+ </body>
72
+ </html>`;
73
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getters.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/system/env/getters.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,QAAO,MAAM,EAMtC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/graphql/system/env/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,UAAkB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Subgraph } from "#subgraphs/base/index.js";
1
+ import { Subgraph } from "#graphql/base/index.js";
2
2
  import { type DriveInput } from "document-drive";
3
3
  import { type SystemContext } from "./types.js";
4
4
  export declare class SystemSubgraph extends Subgraph {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/graphql/system/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,IAAI,SAAY;IAEhB,QAAQ,iCAqBN;IAEF,SAAS;;;;;+BAQK,OAAO,QACT,UAAU,GAAG;gBAAE,eAAe,CAAC,EAAE,MAAM,CAAA;aAAE,OAC1C,aAAa;;MAkBtB;IAEI,OAAO;CAgBd"}
@@ -1,4 +1,4 @@
1
- import { Subgraph } from "#subgraphs/base/index.js";
1
+ import { Subgraph } from "#graphql/base/index.js";
2
2
  import { GraphQLError } from "graphql";
3
3
  import { gql } from "graphql-tag";
4
4
  export class SystemSubgraph extends Subgraph {
@@ -50,7 +50,7 @@ export class SystemSubgraph extends Subgraph {
50
50
  };
51
51
  async onSetup() {
52
52
  await super.onSetup();
53
- this.subgraphManager.setAdditionalContextFields({
53
+ this.graphqlManager.setAdditionalContextFields({
54
54
  isAdmin: (ctx) => {
55
55
  const adminUsers = process.env.ADMIN_USERS?.split(",")
56
56
  .map((user) => user.trim())
@@ -1,4 +1,4 @@
1
- import { AuthContext } from "#subgraphs/auth/types.js";
1
+ import { AuthContext } from "#graphql/auth/types.js";
2
2
  export type SystemContext = AuthContext & {
3
3
  isAdmin: (ctx: AuthContext) => boolean;
4
4
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/graphql/system/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IACxC,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;CACxC,CAAC"}
@@ -3,7 +3,7 @@ import { type IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
3
3
  import { type IDocumentDriveServer } from "document-drive";
4
4
  import { type DocumentNode } from "graphql";
5
5
  import type { IncomingHttpHeaders } from "http";
6
- import { type SubgraphManager } from "./manager.js";
6
+ import { type GraphQLManager } from "./graphql-manager.js";
7
7
  export type Context = {
8
8
  driveServer: IDocumentDriveServer;
9
9
  driveId?: string;
@@ -23,7 +23,7 @@ export type SubgraphArgs = {
23
23
  reactor: IDocumentDriveServer;
24
24
  operationalStore: Db;
25
25
  analyticsStore: IAnalyticsStore;
26
- subgraphManager: SubgraphManager;
26
+ graphqlManager: GraphQLManager;
27
27
  path?: string;
28
28
  };
29
29
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/subgraphs/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,EAAE,EAAE,OAAO,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,gBAAgB,EAAE,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,gBAAgB,EAAE,EAAE,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/graphql/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,EAAE,EAAE,OAAO,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,gBAAgB,EAAE,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,gBAAgB,EAAE,EAAE,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC"}
@@ -1,7 +1,6 @@
1
1
  export declare const installPackages: (packages: string[]) => Promise<void>;
2
2
  export declare const readManifest: () => string;
3
- import { type SubgraphClass } from "@powerhousedao/reactor-api";
4
- import { type Listener } from "document-drive/server/types";
3
+ import { ProcessorFactory, type SubgraphClass } from "@powerhousedao/reactor-api";
5
4
  import { type DocumentModelModule } from "document-model";
6
5
  interface IPackagesManager {
7
6
  onDocumentModelsChange(handler: (documentModels: Record<string, DocumentModelModule[]>) => void): void;
@@ -13,30 +12,30 @@ type IPackagesManagerOptions = {
13
12
  };
14
13
  export declare function loadDependency(packageName: string, subPath: string): Promise<unknown>;
15
14
  export declare function getUniqueDocumentModels(...documentModels: DocumentModelModule[][]): DocumentModelModule[];
15
+ export type PackageManagerResult = {
16
+ documentModels?: DocumentModelModule[];
17
+ subgraphs?: Map<string, SubgraphClass[]>;
18
+ processors?: Map<string, ProcessorFactory>;
19
+ };
16
20
  export declare class PackagesManager implements IPackagesManager {
17
21
  protected options: IPackagesManagerOptions;
18
22
  protected onError?: ((e: unknown) => void) | undefined;
19
23
  private docModelsMap;
20
24
  private subgraphsMap;
21
- private listenerMap;
25
+ private processorMap;
22
26
  private configWatcher;
23
27
  private eventEmitter;
24
28
  constructor(options: IPackagesManagerOptions, onError?: ((e: unknown) => void) | undefined);
25
- init(): Promise<{
26
- documentModels: DocumentModelModule[];
27
- subgraphs: Map<string, typeof import("@powerhousedao/reactor-api").Subgraph[]>;
28
- listeners: Listener[];
29
- } | undefined>;
29
+ init(): Promise<PackageManagerResult>;
30
30
  private loadPackages;
31
31
  private loadFromConfigFile;
32
32
  private initConfigFile;
33
33
  private updatePackagesMap;
34
34
  private updateSubgraphsMap;
35
- private updateListenersMap;
36
- private getUniqueListeners;
35
+ private updateProcessorsMap;
37
36
  onDocumentModelsChange(handler: (documentModels: Record<string, DocumentModelModule[]>) => void): void;
38
37
  onSubgraphsChange(handler: (subgraphs: Map<string, SubgraphClass[]>) => void): void;
39
- onListenersChange(handler: (listeners: Record<string, Listener[]>) => void): void;
38
+ onProcessorsChange(handler: (processors: Map<string, ProcessorFactory>) => void): void;
40
39
  }
41
40
  export {};
42
41
  //# sourceMappingURL=package-manager.d.ts.map
@@ -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;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;IAK7B,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,EACL,gBAAgB,EAChB,KAAK,aAAa,EACnB,MAAM,4BAA4B,CAAC;AACpC,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;AA+DD,wBAAgB,uBAAuB,CACrC,GAAG,cAAc,EAAE,mBAAmB,EAAE,EAAE,GACzC,mBAAmB,EAAE,CAUvB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF,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,YAAY,CAAuC;IAC3D,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;IAK7B,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC;YAcpC,YAAY;YAqBZ,kBAAkB;IAkBhC,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,mBAAmB;IAa3B,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,kBAAkB,CAChB,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,IAAI,GAC3D,IAAI;CAGR"}
@@ -60,16 +60,16 @@ async function loadPackagesSubgraphs(packages) {
60
60
  }
61
61
  return loadedPackages;
62
62
  }
63
- async function loadPackagesListeners(packages) {
63
+ async function loadPackagesProcessors(packages) {
64
64
  const loadedPackages = new Map();
65
65
  for (const pkg of packages) {
66
66
  const pkgModule = (await loadDependency(pkg, "processors"));
67
67
  if (pkgModule) {
68
- console.log(` ➜ Loaded Listeners from: ${pkg}`);
68
+ console.log(` ➜ Loaded Processor Factory from: ${pkg}`);
69
69
  loadedPackages.set(pkg, pkgModule);
70
70
  }
71
71
  else {
72
- console.warn(` ➜ No Listeners found: ${pkg}`);
72
+ console.warn(` ➜ No Processor Factory found: ${pkg}`);
73
73
  }
74
74
  }
75
75
  return loadedPackages;
@@ -88,7 +88,7 @@ export class PackagesManager {
88
88
  onError;
89
89
  docModelsMap = new Map();
90
90
  subgraphsMap = new Map();
91
- listenerMap = new Map();
91
+ processorMap = new Map();
92
92
  configWatcher;
93
93
  eventEmitter = new EventEmitter();
94
94
  constructor(options, onError) {
@@ -103,19 +103,24 @@ export class PackagesManager {
103
103
  else if ("configFile" in this.options) {
104
104
  return await this.initConfigFile(this.options.configFile);
105
105
  }
106
+ return {
107
+ documentModels: [],
108
+ subgraphs: new Map(),
109
+ processors: new Map(),
110
+ };
106
111
  }
107
112
  async loadPackages(packages) {
108
113
  // install packages
109
114
  const packagesMap = await loadPackagesDocumentModels(packages);
110
115
  const subgraphsMap = await loadPackagesSubgraphs(packages);
111
- const listenersMap = await loadPackagesListeners(packages);
116
+ const processorsMap = await loadPackagesProcessors(packages);
112
117
  this.updatePackagesMap(packagesMap);
113
118
  this.updateSubgraphsMap(subgraphsMap);
114
- this.updateListenersMap(listenersMap);
119
+ this.updateProcessorsMap(processorsMap);
115
120
  return {
116
121
  documentModels: getUniqueDocumentModels(...Array.from(packagesMap.values())),
117
122
  subgraphs: subgraphsMap,
118
- listeners: this.getUniqueListeners(Array.from(listenersMap.values())),
123
+ processors: processorsMap,
119
124
  };
120
125
  }
121
126
  async loadFromConfigFile(configFile) {
@@ -169,25 +174,16 @@ export class PackagesManager {
169
174
  this.subgraphsMap = subgraphsMap;
170
175
  this.eventEmitter.emit("subgraphsChange", subgraphsMap);
171
176
  }
172
- updateListenersMap(listenersMap) {
173
- const oldPackages = Array.from(this.listenerMap.keys());
174
- const newPackages = Array.from(listenersMap.keys());
177
+ updateProcessorsMap(processorsMap) {
178
+ const oldPackages = Array.from(this.processorMap.keys());
179
+ const newPackages = Array.from(processorsMap.keys());
175
180
  oldPackages
176
181
  .filter((pkg) => !newPackages.includes(pkg))
177
182
  .forEach((pkg) => {
178
- console.log("> Removed Listeners from:", pkg);
183
+ console.log("> Removed Processor Factories from:", pkg);
179
184
  });
180
- this.listenerMap = listenersMap;
181
- this.eventEmitter.emit("listenersChange", Object.fromEntries(listenersMap));
182
- }
183
- getUniqueListeners(listeners) {
184
- const uniqueListeners = new Map();
185
- for (const packageListeners of listeners) {
186
- for (const listener of packageListeners) {
187
- uniqueListeners.set(listener.listenerId, listener);
188
- }
189
- }
190
- return Array.from(uniqueListeners.values());
185
+ this.processorMap = processorsMap;
186
+ this.eventEmitter.emit("processorsChange", processorsMap);
191
187
  }
192
188
  onDocumentModelsChange(handler) {
193
189
  this.eventEmitter.on("documentModelsChange", handler);
@@ -195,7 +191,7 @@ export class PackagesManager {
195
191
  onSubgraphsChange(handler) {
196
192
  this.eventEmitter.on("subgraphsChange", handler);
197
193
  }
198
- onListenersChange(handler) {
199
- this.eventEmitter.on("listenersChange", handler);
194
+ onProcessorsChange(handler) {
195
+ this.eventEmitter.on("processorsChange", handler);
200
196
  }
201
197
  }
@@ -0,0 +1,40 @@
1
+ import { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
2
+ import { IDocumentDriveServer, IListenerManager } from "document-drive/server/types";
3
+ import { Db, ProcessorFactory } from "../index.js";
4
+ export interface IProcessorManager {
5
+ /**
6
+ * Registers a processor factory for a given identifier. This will create
7
+ * processors for all drives that have already been registered.
8
+ *
9
+ * @param identifier Any identifier to associate with the factory.
10
+ * @param factory The factory to register.
11
+ */
12
+ registerFactory(identifier: string, factory: ProcessorFactory): Promise<void>;
13
+ /**
14
+ * Unregisters a processor factory for a given identifier. This will remove
15
+ * all listeners that were created by the factory.
16
+ *
17
+ * @param identifier The identifier to unregister.
18
+ */
19
+ unregisterFactory(identifier: string): Promise<void>;
20
+ /**
21
+ * Registers a drive with the processor manager. This will create processors
22
+ * for the drive for all factories that have already been registered.
23
+ *
24
+ * @param driveId The drive to register.
25
+ */
26
+ registerDrive(driveId: string): Promise<void>;
27
+ }
28
+ export declare class ProcessorManager implements IProcessorManager {
29
+ private listeners;
30
+ private drive;
31
+ private operationalStore;
32
+ private analyticsStore;
33
+ private idToFactory;
34
+ private identifierToListeners;
35
+ constructor(listeners: IListenerManager, drive: IDocumentDriveServer, operationalStore: Db, analyticsStore: IAnalyticsStore);
36
+ registerFactory(identifier: string, factory: ProcessorFactory): Promise<void>;
37
+ unregisterFactory(identifier: string): Promise<void>;
38
+ registerDrive(driveId: string): Promise<void>;
39
+ }
40
+ //# sourceMappingURL=processor-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor-manager.d.ts","sourceRoot":"","sources":["../../src/processor-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IAKtD,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IAPxB,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,qBAAqB,CAAiC;gBAGpD,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,oBAAoB,EAC3B,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,eAAe;IAKnC,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IAUV,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpD,aAAa,CAAC,OAAO,EAAE,MAAM;CAoCpC"}