@powerhousedao/reactor-api 1.29.10-dev.0 → 1.29.11-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/subgraphs/drive/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOtE,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,iCAqJN;IAEF,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAmPpC;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/subgraphs/drive/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOtE,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,iCAqJN;IAEF,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAoPpC;CACH"}
@@ -223,6 +223,7 @@ export class DriveSubgraph extends Subgraph {
223
223
  id,
224
224
  revision: document.revision.global,
225
225
  state: document.state.global,
226
+ stateJSON: JSON.stringify(document.state.global),
226
227
  operations: document.operations.global.map((op) => ({
227
228
  ...op,
228
229
  inputText: typeof op.input === "string"
@@ -17,6 +17,7 @@ export declare class SubgraphManager {
17
17
  init(): Promise<void>;
18
18
  updateRouter(): Promise<void>;
19
19
  private createApolloServer;
20
+ private waitForServer;
20
21
  private setupSubgraphs;
21
22
  private createApolloGateway;
22
23
  private setupApolloExpressMiddleware;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/subgraphs/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAMnC,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/D,qBAAa,eAAe;;IAMxB,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;IATjC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,SAAS,CAAkC;gBAGhC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,OAAO,EAAE,oBAAoB,EAC7B,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,eAAe;IAS5C,IAAI;IAmBJ,YAAY;IAQlB,OAAO,CAAC,kBAAkB;YAWZ,cAAc;YAoCd,mBAAmB;IA8BjC,OAAO,CAAC,4BAA4B;IAsB9B,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,SAAK;IA8B/D,0BAA0B,4BAExB;IAEF,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAGvD"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/subgraphs/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAMnC,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG/D,qBAAa,eAAe;;IAMxB,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;IATjC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,SAAS,CAAkC;gBAGhC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,OAAO,EAAE,oBAAoB,EAC7B,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,eAAe;IAS5C,IAAI;IAmBJ,YAAY;IAQlB,OAAO,CAAC,kBAAkB;YAWZ,aAAa;YAWb,cAAc;YAmCd,mBAAmB;IA8BjC,OAAO,CAAC,4BAA4B;IAsB9B,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,SAAK;IA8B/D,0BAA0B,4BAExB;IAEF,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAGvD"}
@@ -61,6 +61,17 @@ export class SubgraphManager {
61
61
  ],
62
62
  });
63
63
  }
64
+ async waitForServer(server) {
65
+ return new Promise((resolve) => {
66
+ try {
67
+ server.assertStarted("waitForServer");
68
+ resolve(true);
69
+ }
70
+ catch (e) {
71
+ setTimeout(() => this.waitForServer(server), 100);
72
+ }
73
+ });
74
+ }
64
75
  async setupSubgraphs(router) {
65
76
  for (const supergraph of Object.keys(this.subgraphs)) {
66
77
  const supergraphEndpoints = {};
@@ -72,8 +83,9 @@ export class SubgraphManager {
72
83
  const schema = createSchema(this.reactor, subgraphConfig.resolvers, subgraphConfig.typeDefs);
73
84
  // create and start apollo server
74
85
  const server = this.createApolloServer(schema);
75
- await server.start();
76
86
  const path = `/${subgraphConfig.name}`;
87
+ await server.start();
88
+ await this.waitForServer(server);
77
89
  this.setupApolloExpressMiddleware(server, router, path);
78
90
  if (supergraph !== "") {
79
91
  supergraphEndpoints[path] = server;
@@ -1 +1 @@
1
- {"version":3,"file":"create-schema.d.ts","sourceRoot":"","sources":["../../../src/utils/create-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAG7F,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,eAAO,MAAM,YAAY,GACvB,qBAAqB,oBAAoB,EACzC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EACtC,UAAU,YAAY,oCAOpB,CAAC;AAEL,eAAO,MAAM,wBAAwB,GACnC,qBAAqB,oBAAoB,EACzC,UAAU,YAAY,iBAwIvB,CAAC"}
1
+ {"version":3,"file":"create-schema.d.ts","sourceRoot":"","sources":["../../../src/utils/create-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAG7F,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,eAAO,MAAM,YAAY,GACvB,qBAAqB,oBAAoB,EACzC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EACtC,UAAU,YAAY,oCAavB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,qBAAqB,oBAAoB,EACzC,UAAU,YAAY,iBA2IvB,CAAC"}
@@ -2,12 +2,19 @@ import { buildSubgraphSchema } from "@apollo/subgraph";
2
2
  import { typeDefs as scalarsTypeDefs } from "@powerhousedao/scalars";
3
3
  import { pascalCase } from "change-case";
4
4
  import { gql } from "graphql-tag";
5
- export const createSchema = (documentDriveServer, resolvers, typeDefs) => buildSubgraphSchema([
6
- {
7
- typeDefs: getDocumentModelTypeDefs(documentDriveServer, typeDefs),
8
- resolvers,
9
- },
10
- ]);
5
+ import { GraphQLJSONObject } from "graphql-type-json";
6
+ export const createSchema = (documentDriveServer, resolvers, typeDefs) => {
7
+ const newResolvers = {
8
+ ...resolvers,
9
+ JSONObject: GraphQLJSONObject,
10
+ };
11
+ return buildSubgraphSchema([
12
+ {
13
+ typeDefs: getDocumentModelTypeDefs(documentDriveServer, typeDefs),
14
+ resolvers: newResolvers,
15
+ },
16
+ ]);
17
+ };
11
18
  export const getDocumentModelTypeDefs = (documentDriveServer, typeDefs) => {
12
19
  const documentModels = documentDriveServer.getDocumentModelModules();
13
20
  let dmSchema = "";
@@ -67,10 +74,12 @@ export const getDocumentModelTypeDefs = (documentDriveServer, typeDefs) => {
67
74
  lastModified: DateTime!
68
75
  ${dmSchemaName !== "DocumentModel" ? `initialState: ${dmSchemaName}_${dmSchemaName}State!` : ""}
69
76
  ${dmSchemaName !== "DocumentModel" ? `state: ${dmSchemaName}_${dmSchemaName}State!` : ""}
77
+ stateJSON: JSONObject
70
78
  }\n`;
71
79
  });
72
80
  // add the mutation and query types
73
81
  const schema = gql `
82
+ scalar JSONObject
74
83
  ${scalarsTypeDefs.join("\n").replaceAll(";", "")}
75
84
 
76
85
  type PHOperationContext {
@@ -113,6 +122,7 @@ export const getDocumentModelTypeDefs = (documentDriveServer, typeDefs) => {
113
122
  created: DateTime!
114
123
  lastModified: DateTime!
115
124
  operations(first: Int, skip: Int): [Operation!]!
125
+ stateJSON: JSONObject
116
126
  }
117
127
  ${dmSchema.replaceAll(";", "")}
118
128