@powerhousedao/vetra 5.1.0 → 5.2.0-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 (196) hide show
  1. package/dist/document-models/app-module/actions.d.ts.map +1 -1
  2. package/dist/document-models/app-module/gen/base-operations/actions.d.ts +1 -1
  3. package/dist/document-models/app-module/gen/base-operations/actions.d.ts.map +1 -1
  4. package/dist/document-models/app-module/gen/base-operations/actions.js +1 -1
  5. package/dist/document-models/app-module/gen/base-operations/operations.d.ts +2 -2
  6. package/dist/document-models/app-module/gen/base-operations/operations.d.ts.map +1 -1
  7. package/dist/document-models/app-module/gen/base-operations/operations.js +0 -2
  8. package/dist/document-models/app-module/gen/dnd-operations/actions.d.ts +1 -1
  9. package/dist/document-models/app-module/gen/dnd-operations/actions.d.ts.map +1 -1
  10. package/dist/document-models/app-module/gen/dnd-operations/actions.js +1 -1
  11. package/dist/document-models/app-module/gen/dnd-operations/operations.d.ts +2 -2
  12. package/dist/document-models/app-module/gen/dnd-operations/operations.d.ts.map +1 -1
  13. package/dist/document-models/app-module/gen/dnd-operations/operations.js +0 -2
  14. package/dist/document-models/app-module/gen/document-model.js +2 -2
  15. package/dist/document-models/app-module/gen/document-schema.d.ts +24 -170
  16. package/dist/document-models/app-module/gen/document-schema.d.ts.map +1 -1
  17. package/dist/document-models/app-module/gen/reducer.d.ts.map +1 -1
  18. package/dist/document-models/app-module/gen/reducer.js +12 -6
  19. package/dist/document-models/app-module/gen/schema/types.d.ts +15 -3
  20. package/dist/document-models/app-module/gen/schema/types.d.ts.map +1 -1
  21. package/dist/document-models/app-module/gen/schema/zod.d.ts +7 -4
  22. package/dist/document-models/app-module/gen/schema/zod.d.ts.map +1 -1
  23. package/dist/document-models/app-module/gen/schema/zod.js +2 -2
  24. package/dist/document-models/app-module/gen/types.d.ts.map +1 -1
  25. package/dist/document-models/app-module/hooks.d.ts +5 -2
  26. package/dist/document-models/app-module/hooks.d.ts.map +1 -1
  27. package/dist/document-models/app-module/hooks.js +3 -4
  28. package/dist/document-models/app-module/index.d.ts +0 -4
  29. package/dist/document-models/app-module/index.d.ts.map +1 -1
  30. package/dist/document-models/app-module/index.js +0 -4
  31. package/dist/document-models/app-module/src/tests/base-operations.test.js +52 -1
  32. package/dist/document-models/document-editor/actions.d.ts.map +1 -1
  33. package/dist/document-models/document-editor/gen/base-operations/actions.d.ts +1 -1
  34. package/dist/document-models/document-editor/gen/base-operations/actions.d.ts.map +1 -1
  35. package/dist/document-models/document-editor/gen/base-operations/actions.js +1 -1
  36. package/dist/document-models/document-editor/gen/base-operations/operations.d.ts +2 -2
  37. package/dist/document-models/document-editor/gen/base-operations/operations.d.ts.map +1 -1
  38. package/dist/document-models/document-editor/gen/base-operations/operations.js +0 -2
  39. package/dist/document-models/document-editor/gen/document-model.js +2 -2
  40. package/dist/document-models/document-editor/gen/document-schema.d.ts +21 -151
  41. package/dist/document-models/document-editor/gen/document-schema.d.ts.map +1 -1
  42. package/dist/document-models/document-editor/gen/reducer.d.ts.map +1 -1
  43. package/dist/document-models/document-editor/gen/reducer.js +8 -4
  44. package/dist/document-models/document-editor/gen/schema/types.d.ts +15 -3
  45. package/dist/document-models/document-editor/gen/schema/types.d.ts.map +1 -1
  46. package/dist/document-models/document-editor/gen/schema/zod.d.ts +7 -4
  47. package/dist/document-models/document-editor/gen/schema/zod.d.ts.map +1 -1
  48. package/dist/document-models/document-editor/gen/schema/zod.js +2 -2
  49. package/dist/document-models/document-editor/gen/types.d.ts.map +1 -1
  50. package/dist/document-models/document-editor/hooks.d.ts +5 -2
  51. package/dist/document-models/document-editor/hooks.d.ts.map +1 -1
  52. package/dist/document-models/document-editor/hooks.js +3 -4
  53. package/dist/document-models/document-editor/index.d.ts +0 -4
  54. package/dist/document-models/document-editor/index.d.ts.map +1 -1
  55. package/dist/document-models/document-editor/index.js +0 -4
  56. package/dist/document-models/document-editor/src/tests/base-operations.test.js +42 -1
  57. package/dist/document-models/index.d.ts +0 -4
  58. package/dist/document-models/index.d.ts.map +1 -1
  59. package/dist/document-models/index.js +0 -4
  60. package/dist/document-models/processor-module/actions.d.ts.map +1 -1
  61. package/dist/document-models/processor-module/gen/base-operations/actions.d.ts +1 -1
  62. package/dist/document-models/processor-module/gen/base-operations/actions.d.ts.map +1 -1
  63. package/dist/document-models/processor-module/gen/base-operations/actions.js +1 -1
  64. package/dist/document-models/processor-module/gen/base-operations/operations.d.ts +2 -2
  65. package/dist/document-models/processor-module/gen/base-operations/operations.d.ts.map +1 -1
  66. package/dist/document-models/processor-module/gen/base-operations/operations.js +0 -2
  67. package/dist/document-models/processor-module/gen/document-model.js +2 -2
  68. package/dist/document-models/processor-module/gen/document-schema.d.ts +24 -170
  69. package/dist/document-models/processor-module/gen/document-schema.d.ts.map +1 -1
  70. package/dist/document-models/processor-module/gen/reducer.d.ts.map +1 -1
  71. package/dist/document-models/processor-module/gen/reducer.js +10 -5
  72. package/dist/document-models/processor-module/gen/schema/types.d.ts +15 -3
  73. package/dist/document-models/processor-module/gen/schema/types.d.ts.map +1 -1
  74. package/dist/document-models/processor-module/gen/schema/zod.d.ts +7 -4
  75. package/dist/document-models/processor-module/gen/schema/zod.d.ts.map +1 -1
  76. package/dist/document-models/processor-module/gen/schema/zod.js +2 -2
  77. package/dist/document-models/processor-module/gen/types.d.ts.map +1 -1
  78. package/dist/document-models/processor-module/hooks.d.ts +5 -2
  79. package/dist/document-models/processor-module/hooks.d.ts.map +1 -1
  80. package/dist/document-models/processor-module/hooks.js +3 -4
  81. package/dist/document-models/processor-module/index.d.ts +0 -4
  82. package/dist/document-models/processor-module/index.d.ts.map +1 -1
  83. package/dist/document-models/processor-module/index.js +0 -4
  84. package/dist/document-models/processor-module/src/tests/base-operations.test.js +52 -1
  85. package/dist/document-models/subgraph-module/actions.d.ts.map +1 -1
  86. package/dist/document-models/subgraph-module/gen/base-operations/actions.d.ts +1 -1
  87. package/dist/document-models/subgraph-module/gen/base-operations/actions.d.ts.map +1 -1
  88. package/dist/document-models/subgraph-module/gen/base-operations/actions.js +1 -1
  89. package/dist/document-models/subgraph-module/gen/base-operations/operations.d.ts +2 -2
  90. package/dist/document-models/subgraph-module/gen/base-operations/operations.d.ts.map +1 -1
  91. package/dist/document-models/subgraph-module/gen/base-operations/operations.js +0 -2
  92. package/dist/document-models/subgraph-module/gen/document-model.d.ts.map +1 -1
  93. package/dist/document-models/subgraph-module/gen/document-model.js +2 -2
  94. package/dist/document-models/subgraph-module/gen/document-schema.d.ts +18 -132
  95. package/dist/document-models/subgraph-module/gen/document-schema.d.ts.map +1 -1
  96. package/dist/document-models/subgraph-module/gen/reducer.d.ts.map +1 -1
  97. package/dist/document-models/subgraph-module/gen/reducer.js +4 -2
  98. package/dist/document-models/subgraph-module/gen/schema/types.d.ts +15 -3
  99. package/dist/document-models/subgraph-module/gen/schema/types.d.ts.map +1 -1
  100. package/dist/document-models/subgraph-module/gen/schema/zod.d.ts +7 -4
  101. package/dist/document-models/subgraph-module/gen/schema/zod.d.ts.map +1 -1
  102. package/dist/document-models/subgraph-module/gen/schema/zod.js +1 -1
  103. package/dist/document-models/subgraph-module/gen/types.d.ts.map +1 -1
  104. package/dist/document-models/subgraph-module/hooks.d.ts +5 -2
  105. package/dist/document-models/subgraph-module/hooks.d.ts.map +1 -1
  106. package/dist/document-models/subgraph-module/hooks.js +3 -4
  107. package/dist/document-models/subgraph-module/index.d.ts +0 -4
  108. package/dist/document-models/subgraph-module/index.d.ts.map +1 -1
  109. package/dist/document-models/subgraph-module/index.js +0 -4
  110. package/dist/document-models/subgraph-module/src/tests/base-operations.test.js +22 -1
  111. package/dist/document-models/vetra-package/actions.d.ts.map +1 -1
  112. package/dist/document-models/vetra-package/gen/base-operations/actions.d.ts +1 -1
  113. package/dist/document-models/vetra-package/gen/base-operations/actions.d.ts.map +1 -1
  114. package/dist/document-models/vetra-package/gen/base-operations/actions.js +1 -1
  115. package/dist/document-models/vetra-package/gen/base-operations/operations.d.ts +2 -2
  116. package/dist/document-models/vetra-package/gen/base-operations/operations.d.ts.map +1 -1
  117. package/dist/document-models/vetra-package/gen/base-operations/operations.js +0 -2
  118. package/dist/document-models/vetra-package/gen/document-model.js +2 -2
  119. package/dist/document-models/vetra-package/gen/document-schema.d.ts +33 -227
  120. package/dist/document-models/vetra-package/gen/document-schema.d.ts.map +1 -1
  121. package/dist/document-models/vetra-package/gen/reducer.d.ts.map +1 -1
  122. package/dist/document-models/vetra-package/gen/reducer.js +20 -10
  123. package/dist/document-models/vetra-package/gen/schema/types.d.ts +17 -1
  124. package/dist/document-models/vetra-package/gen/schema/types.d.ts.map +1 -1
  125. package/dist/document-models/vetra-package/gen/schema/zod.d.ts +3 -3
  126. package/dist/document-models/vetra-package/gen/schema/zod.d.ts.map +1 -1
  127. package/dist/document-models/vetra-package/gen/schema/zod.js +10 -10
  128. package/dist/document-models/vetra-package/gen/types.d.ts.map +1 -1
  129. package/dist/document-models/vetra-package/hooks.d.ts +5 -2
  130. package/dist/document-models/vetra-package/hooks.d.ts.map +1 -1
  131. package/dist/document-models/vetra-package/hooks.js +3 -4
  132. package/dist/document-models/vetra-package/index.d.ts +0 -4
  133. package/dist/document-models/vetra-package/index.d.ts.map +1 -1
  134. package/dist/document-models/vetra-package/index.js +0 -4
  135. package/dist/document-models/vetra-package/src/tests/base-operations.test.js +127 -28
  136. package/dist/editors/app-editor/components/AppEditorForm.js +1 -1
  137. package/dist/editors/app-editor/editor.test.js +3 -2
  138. package/dist/editors/app-editor/module.d.ts +1 -1
  139. package/dist/editors/app-editor/module.d.ts.map +1 -1
  140. package/dist/editors/app-editor/module.js +1 -1
  141. package/dist/editors/document-editor/components/DocumentEditorForm.d.ts.map +1 -1
  142. package/dist/editors/document-editor/components/DocumentEditorForm.js +32 -26
  143. package/dist/editors/document-editor/editor.js +1 -1
  144. package/dist/editors/document-editor/editor.test.js +2 -2
  145. package/dist/processors/codegen/__tests__/codegen-processor-e2e.test.js +98 -41
  146. package/dist/processors/codegen/document-handlers/generators/app-generator.d.ts.map +1 -1
  147. package/dist/processors/codegen/document-handlers/generators/app-generator.js +2 -0
  148. package/dist/processors/codegen/document-handlers/generators/constants.d.ts +3 -0
  149. package/dist/processors/codegen/document-handlers/generators/constants.d.ts.map +1 -0
  150. package/dist/processors/codegen/document-handlers/generators/constants.js +2 -0
  151. package/dist/processors/codegen/document-handlers/generators/document-editor-generator.d.ts.map +1 -1
  152. package/dist/processors/codegen/document-handlers/generators/document-editor-generator.js +2 -0
  153. package/dist/processors/codegen/document-handlers/generators/document-model-generator.d.ts.map +1 -1
  154. package/dist/processors/codegen/document-handlers/generators/document-model-generator.js +8 -4
  155. package/dist/processors/codegen/factory.d.ts.map +1 -1
  156. package/dist/processors/codegen/factory.js +3 -0
  157. package/dist/processors/codegen/index.js +1 -1
  158. package/dist/setupTests.js +1 -0
  159. package/dist/subgraphs/app-module/resolvers.d.ts.map +1 -1
  160. package/dist/subgraphs/app-module/resolvers.js +4 -4
  161. package/dist/subgraphs/app-module/schema.d.ts.map +1 -1
  162. package/dist/subgraphs/app-module/schema.js +2 -17
  163. package/dist/subgraphs/document-editor/index.d.ts +3 -2
  164. package/dist/subgraphs/document-editor/index.d.ts.map +1 -1
  165. package/dist/subgraphs/document-editor/index.js +1 -1
  166. package/dist/subgraphs/document-editor/resolvers.d.ts +1 -1
  167. package/dist/subgraphs/document-editor/resolvers.d.ts.map +1 -1
  168. package/dist/subgraphs/document-editor/resolvers.js +12 -16
  169. package/dist/subgraphs/document-editor/schema.d.ts.map +1 -1
  170. package/dist/subgraphs/document-editor/schema.js +2 -21
  171. package/dist/subgraphs/index.d.ts +4 -4
  172. package/dist/subgraphs/index.d.ts.map +1 -1
  173. package/dist/subgraphs/index.js +4 -4
  174. package/dist/subgraphs/processor-module/index.d.ts +1 -1
  175. package/dist/subgraphs/processor-module/index.d.ts.map +1 -1
  176. package/dist/subgraphs/processor-module/resolvers.d.ts +1 -1
  177. package/dist/subgraphs/processor-module/resolvers.d.ts.map +1 -1
  178. package/dist/subgraphs/processor-module/resolvers.js +12 -16
  179. package/dist/subgraphs/processor-module/schema.d.ts.map +1 -1
  180. package/dist/subgraphs/processor-module/schema.js +2 -22
  181. package/dist/subgraphs/subgraph-module/index.d.ts +1 -1
  182. package/dist/subgraphs/subgraph-module/index.d.ts.map +1 -1
  183. package/dist/subgraphs/subgraph-module/resolvers.d.ts +1 -1
  184. package/dist/subgraphs/subgraph-module/resolvers.d.ts.map +1 -1
  185. package/dist/subgraphs/subgraph-module/resolvers.js +12 -16
  186. package/dist/subgraphs/subgraph-module/schema.d.ts.map +1 -1
  187. package/dist/subgraphs/subgraph-module/schema.js +2 -15
  188. package/dist/subgraphs/vetra-package/index.d.ts +1 -1
  189. package/dist/subgraphs/vetra-package/index.d.ts.map +1 -1
  190. package/dist/subgraphs/vetra-package/resolvers.d.ts +1 -1
  191. package/dist/subgraphs/vetra-package/resolvers.d.ts.map +1 -1
  192. package/dist/subgraphs/vetra-package/resolvers.js +137 -94
  193. package/dist/subgraphs/vetra-package/schema.d.ts.map +1 -1
  194. package/dist/subgraphs/vetra-package/schema.js +3 -26
  195. package/dist/tsconfig.tsbuildinfo +1 -1
  196. package/package.json +19 -21
@@ -1,5 +1,32 @@
1
+ import path from "path";
1
2
  import { beforeEach, describe, expect, it, vi } from "vitest";
3
+ import { USE_TS_MORPH, USE_VERSIONING, } from "../document-handlers/generators/constants.js";
2
4
  import { CodegenProcessor } from "../index.js";
5
+ const defaultManifest = {
6
+ name: "",
7
+ description: "",
8
+ category: "",
9
+ publisher: {
10
+ name: "",
11
+ url: "",
12
+ },
13
+ documentModels: [],
14
+ editors: [],
15
+ apps: [],
16
+ subgraphs: [],
17
+ importScripts: [],
18
+ };
19
+ function mockGetPHConfig() {
20
+ return {
21
+ logLevel: "verbose",
22
+ skipFormat: true,
23
+ documentModelsDir: path.join(process.cwd(), "document-models"),
24
+ editorsDir: path.join(process.cwd(), "editors"),
25
+ processorsDir: path.join(process.cwd(), "processors"),
26
+ subgraphsDir: path.join(process.cwd(), "subgraphs"),
27
+ importScriptsDir: path.join(process.cwd(), "import-scripts"),
28
+ };
29
+ }
3
30
  // Mock ONLY the external codegen library boundary
4
31
  vi.mock("@powerhousedao/codegen", () => ({
5
32
  generateEditor: vi.fn(),
@@ -13,7 +40,7 @@ vi.mock("@powerhousedao/codegen", () => ({
13
40
  }));
14
41
  // Mock config functions
15
42
  vi.mock("@powerhousedao/config/node", () => ({
16
- getConfig: vi.fn(() => "/test/config/path"),
43
+ getConfig: vi.fn(mockGetPHConfig),
17
44
  }));
18
45
  // Mock kebabCase
19
46
  vi.mock("change-case", () => ({
@@ -36,7 +63,7 @@ describe("CodegenProcessor E2E Tests", () => {
36
63
  // Use fake timers to control setTimeout
37
64
  vi.useFakeTimers();
38
65
  mockConfig = {
39
- PH_CONFIG: "/test/config/path",
66
+ PH_CONFIG: mockGetPHConfig(),
40
67
  // Use the actual working directory for consistency
41
68
  CURRENT_WORKING_DIR: process.cwd(),
42
69
  };
@@ -44,15 +71,16 @@ describe("CodegenProcessor E2E Tests", () => {
44
71
  processor = new CodegenProcessor();
45
72
  // Reset all codegen function mocks to resolve successfully
46
73
  const codegen = await import("@powerhousedao/codegen");
47
- vi.mocked(codegen.generateEditor).mockResolvedValue(undefined);
48
- vi.mocked(codegen.generateFromDocument).mockResolvedValue(undefined);
49
- vi.mocked(codegen.generateSubgraphFromDocumentModel).mockResolvedValue(undefined);
50
- vi.mocked(codegen.generateManifest).mockResolvedValue(undefined);
51
- vi.mocked(codegen.generateDriveEditor).mockResolvedValue(undefined);
52
- vi.mocked(codegen.generateSubgraph).mockResolvedValue(undefined);
53
- vi.mocked(codegen.generateProcessor).mockResolvedValue(undefined);
74
+ vi.mocked(codegen.generateEditor).mockResolvedValue();
75
+ vi.mocked(codegen.generateFromDocument).mockResolvedValue();
76
+ vi.mocked(codegen.generateSubgraphFromDocumentModel).mockResolvedValue();
77
+ vi.mocked(codegen.generateManifest).mockResolvedValue(JSON.stringify(defaultManifest));
78
+ vi.mocked(codegen.generateDriveEditor).mockResolvedValue();
79
+ vi.mocked(codegen.generateSubgraph).mockResolvedValue();
80
+ vi.mocked(codegen.generateProcessor).mockResolvedValue();
54
81
  vi.mocked(codegen.validateDocumentModelState).mockReturnValue({
55
82
  isValid: true,
83
+ errors: [],
56
84
  });
57
85
  });
58
86
  afterEach(() => {
@@ -78,27 +106,35 @@ describe("CodegenProcessor E2E Tests", () => {
78
106
  await processor.onStrands([strand]);
79
107
  // Advance timers to trigger debounced generation
80
108
  await vi.runAllTimersAsync();
81
- expect(generateEditor).toHaveBeenCalledWith({
82
- name: "Test Editor",
83
- documentTypes: [
84
- "powerhouse/document-model",
85
- "powerhouse/budget-statement",
86
- ],
87
- config: mockConfig.PH_CONFIG,
88
- editorId: "test-editor",
89
- });
90
- expect(generateManifest).toHaveBeenCalledWith({
91
- editors: [
92
- {
93
- id: "test-editor",
94
- name: "Test Editor",
95
- documentTypes: [
96
- "powerhouse/document-model",
97
- "powerhouse/budget-statement",
98
- ],
99
- },
100
- ],
101
- }, mockConfig.CURRENT_WORKING_DIR);
109
+ const generateEditorArgs = [
110
+ {
111
+ name: "Test Editor",
112
+ documentTypes: [
113
+ "powerhouse/document-model",
114
+ "powerhouse/budget-statement",
115
+ ],
116
+ config: mockConfig.PH_CONFIG,
117
+ editorId: "test-editor",
118
+ useTsMorph: USE_TS_MORPH,
119
+ },
120
+ ];
121
+ expect(generateEditor).toHaveBeenCalledWith(...generateEditorArgs);
122
+ const generateManifestArgs = [
123
+ {
124
+ editors: [
125
+ {
126
+ id: "test-editor",
127
+ name: "Test Editor",
128
+ documentTypes: [
129
+ "powerhouse/document-model",
130
+ "powerhouse/budget-statement",
131
+ ],
132
+ },
133
+ ],
134
+ },
135
+ mockConfig.CURRENT_WORKING_DIR,
136
+ ];
137
+ expect(generateManifest).toHaveBeenCalledWith(...generateManifestArgs);
102
138
  });
103
139
  it("should not call codegen functions for invalid document-editor strand (missing name)", async () => {
104
140
  const { generateEditor, generateManifest } = await import("@powerhousedao/codegen");
@@ -157,8 +193,8 @@ describe("CodegenProcessor E2E Tests", () => {
157
193
  });
158
194
  });
159
195
  describe("Document Model E2E", () => {
160
- it("should process valid document-model strand and call all three codegen functions", async () => {
161
- const { generateFromDocument, generateSubgraphFromDocumentModel, generateManifest, } = await import("@powerhousedao/codegen");
196
+ it("should process valid document-model strand and call model and manifest codegen functions", async () => {
197
+ const { generateFromDocument, generateManifest } = await import("@powerhousedao/codegen");
162
198
  const validState = {
163
199
  id: "test-model-id",
164
200
  name: "Test Model",
@@ -170,8 +206,15 @@ describe("CodegenProcessor E2E Tests", () => {
170
206
  };
171
207
  await processor.onStrands([strand]);
172
208
  await vi.runAllTimersAsync();
173
- expect(generateFromDocument).toHaveBeenCalledWith(validState, mockConfig.PH_CONFIG, { verbose: false });
174
- expect(generateSubgraphFromDocumentModel).toHaveBeenCalledWith("Test Model", validState, mockConfig.PH_CONFIG, { verbose: false });
209
+ const generateFromDocumentArgs = [
210
+ {
211
+ useTsMorph: USE_TS_MORPH,
212
+ useVersioning: USE_VERSIONING,
213
+ documentModelState: validState,
214
+ config: mockConfig.PH_CONFIG,
215
+ },
216
+ ];
217
+ expect(generateFromDocument).toHaveBeenCalledWith(...generateFromDocumentArgs);
175
218
  expect(generateManifest).toHaveBeenCalledWith({
176
219
  documentModels: [
177
220
  {
@@ -207,6 +250,13 @@ describe("CodegenProcessor E2E Tests", () => {
207
250
  const validState = {
208
251
  id: "test-model-id",
209
252
  name: "Test Model",
253
+ author: {
254
+ name: "test",
255
+ website: "https://test.com",
256
+ },
257
+ description: "",
258
+ extension: ".phd",
259
+ specifications: [],
210
260
  };
211
261
  const strand = {
212
262
  documentId: "test-doc-1",
@@ -314,13 +364,17 @@ describe("CodegenProcessor E2E Tests", () => {
314
364
  };
315
365
  await processor.onStrands([strand]);
316
366
  await vi.runAllTimersAsync();
317
- expect(generateDriveEditor).toHaveBeenCalledWith({
318
- name: "Test App",
319
- config: mockConfig.PH_CONFIG,
320
- appId: "test-app",
321
- allowedDocumentTypes: "",
322
- isDragAndDropEnabled: false,
323
- });
367
+ const generateDriveEditorArgs = [
368
+ {
369
+ name: "Test App",
370
+ config: mockConfig.PH_CONFIG,
371
+ appId: "test-app",
372
+ allowedDocumentTypes: "",
373
+ isDragAndDropEnabled: false,
374
+ useTsMorph: USE_TS_MORPH,
375
+ },
376
+ ];
377
+ expect(generateDriveEditor).toHaveBeenCalledWith(...generateDriveEditorArgs);
324
378
  expect(generateManifest).toHaveBeenCalledWith({
325
379
  apps: [
326
380
  {
@@ -355,6 +409,7 @@ describe("CodegenProcessor E2E Tests", () => {
355
409
  appId: "test-app",
356
410
  allowedDocumentTypes: "powerhouse/document-model,powerhouse/budget-statement",
357
411
  isDragAndDropEnabled: true,
412
+ useTsMorph: USE_TS_MORPH,
358
413
  });
359
414
  expect(generateManifest).toHaveBeenCalled();
360
415
  });
@@ -506,6 +561,7 @@ describe("CodegenProcessor E2E Tests", () => {
506
561
  documentTypes: ["powerhouse/document-model"],
507
562
  config: mockConfig.PH_CONFIG,
508
563
  editorId: "test-editor",
564
+ useTsMorph: USE_TS_MORPH,
509
565
  });
510
566
  expect(generateSubgraph).toHaveBeenCalledWith("Test Subgraph", null, mockConfig.PH_CONFIG);
511
567
  // generateManifest should be called twice (once for each strand)
@@ -544,6 +600,7 @@ describe("CodegenProcessor E2E Tests", () => {
544
600
  documentTypes: ["powerhouse/document-model"],
545
601
  config: mockConfig.PH_CONFIG,
546
602
  editorId: "test-editor",
603
+ useTsMorph: USE_TS_MORPH,
547
604
  });
548
605
  // Invalid strand should NOT be processed
549
606
  expect(generateSubgraph).not.toHaveBeenCalled();
@@ -1 +1 @@
1
- {"version":3,"file":"app-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/app-generator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D;;GAEG;AACH,qBAAa,YAAa,SAAQ,eAAe;IAC/C,QAAQ,CAAC,sBAAsB,oBAAoB;IAEnD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IA4BnD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CA6EjE"}
1
+ {"version":3,"file":"app-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/app-generator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D;;GAEG;AACH,qBAAa,YAAa,SAAQ,eAAe;IAC/C,QAAQ,CAAC,sBAAsB,oBAAoB;IAEnD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IA4BnD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CA8EjE"}
@@ -2,6 +2,7 @@ import { generateDriveEditor, generateManifest } from "@powerhousedao/codegen";
2
2
  import { kebabCase } from "change-case";
3
3
  import { logger } from "../../logger.js";
4
4
  import { BaseDocumentGen } from "../base-document-gen.js";
5
+ import { USE_TS_MORPH } from "./constants.js";
5
6
  import { backupDocument } from "./utils.js";
6
7
  /**
7
8
  * Generator for app documents
@@ -47,6 +48,7 @@ export class AppGenerator extends BaseDocumentGen {
47
48
  appId: appId,
48
49
  allowedDocumentTypes: state.allowedDocumentTypes?.join(","),
49
50
  isDragAndDropEnabled: state.isDragAndDropEnabled,
51
+ useTsMorph: USE_TS_MORPH,
50
52
  });
51
53
  logger.info(`✅ Drive editor generation completed successfully for app: ${state.name}`);
52
54
  // Update the manifest with the new app
@@ -0,0 +1,3 @@
1
+ export declare const USE_TS_MORPH = true;
2
+ export declare const USE_VERSIONING = false;
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const USE_TS_MORPH = true;
2
+ export const USE_VERSIONING = false;
@@ -1 +1 @@
1
- {"version":3,"file":"document-editor-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/document-editor-generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,QAAQ,CAAC,sBAAsB,gCAAgC;IAE/D;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IAuCnD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAyEjE"}
1
+ {"version":3,"file":"document-editor-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/document-editor-generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,QAAQ,CAAC,sBAAsB,gCAAgC;IAE/D;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IAuCnD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CA0EjE"}
@@ -2,6 +2,7 @@ import { generateEditor, generateManifest } from "@powerhousedao/codegen";
2
2
  import { kebabCase } from "change-case";
3
3
  import { logger } from "../../logger.js";
4
4
  import { BaseDocumentGen } from "../base-document-gen.js";
5
+ import { USE_TS_MORPH } from "./constants.js";
5
6
  import { backupDocument } from "./utils.js";
6
7
  /**
7
8
  * Generator for document editor documents
@@ -51,6 +52,7 @@ export class DocumentEditorGenerator extends BaseDocumentGen {
51
52
  documentTypes: documentTypes,
52
53
  config: this.config.PH_CONFIG,
53
54
  editorId: editorId,
55
+ useTsMorph: USE_TS_MORPH,
54
56
  });
55
57
  logger.info(`✅ Editor generation completed successfully for: ${state.name}`);
56
58
  // Update the manifest with the new editor
@@ -1 +1 @@
1
- {"version":3,"file":"document-model-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/document-model-generator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;IACzD,QAAQ,CAAC,sBAAsB,+BAA+B;IAE9D;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IA6BnD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAgEjE"}
1
+ {"version":3,"file":"document-model-generator.d.ts","sourceRoot":"","sources":["../../../../../processors/codegen/document-handlers/generators/document-model-generator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;IACzD,QAAQ,CAAC,sBAAsB,+BAA+B;IAE9D;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IAiCnD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CA4DjE"}
@@ -1,6 +1,7 @@
1
- import { generateFromDocument, generateManifest, generateSubgraphFromDocumentModel, validateDocumentModelState, } from "@powerhousedao/codegen";
1
+ import { generateFromDocument, generateManifest, validateDocumentModelState, } from "@powerhousedao/codegen";
2
2
  import { logger } from "../../logger.js";
3
3
  import { BaseDocumentGen } from "../base-document-gen.js";
4
+ import { USE_TS_MORPH, USE_VERSIONING } from "./constants.js";
4
5
  import { backupDocument } from "./utils.js";
5
6
  /**
6
7
  * Generator for document model documents
@@ -29,6 +30,7 @@ export class DocumentModelGenerator extends BaseDocumentGen {
29
30
  logger.info(`⚠️ Skipped code generation for '${state.name || strand.documentId}' due to validation errors:\n${errorList}`);
30
31
  return false;
31
32
  }
33
+ logger.info(`Document model ${state.name} is valid, proceeding with code generation`);
32
34
  return true;
33
35
  }
34
36
  async generate(strand) {
@@ -36,10 +38,12 @@ export class DocumentModelGenerator extends BaseDocumentGen {
36
38
  // Validation is already done in shouldProcess, so we can proceed directly
37
39
  logger.debug(`🔄 Starting code generation for document model: ${state.name}`);
38
40
  try {
39
- await generateFromDocument(state, this.config.PH_CONFIG, {
40
- verbose: false,
41
+ await generateFromDocument({
42
+ documentModelState: state,
43
+ config: this.config.PH_CONFIG,
44
+ useTsMorph: USE_TS_MORPH,
45
+ useVersioning: USE_VERSIONING,
41
46
  });
42
- await generateSubgraphFromDocumentModel(state.name, state, this.config.PH_CONFIG, { verbose: false });
43
47
  logger.info(`✅ Code generation completed successfully for: ${state.name}`);
44
48
  // Update the manifest with the new document model
45
49
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../processors/codegen/factory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA+BvD,eAAO,MAAM,uBAAuB,GACjC,QAAQ,oBAAoB,MAC5B,aAAa,gBAAgB,KAAG,eAAe,EA+B/C,CAAC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../processors/codegen/factory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgCvD,eAAO,MAAM,uBAAuB,GACjC,QAAQ,oBAAoB,MAC5B,aAAa,gBAAgB,KAAG,eAAe,EAsC/C,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { VETRA_PROCESSOR_CONFIG_KEY } from "@powerhousedao/config";
2
2
  import { CodegenProcessor } from "./index.js";
3
+ import { logger } from "./logger.js";
3
4
  /**
4
5
  * Determines if a drive header matches the Vetra drive criteria.
5
6
  * @param driveHeader - The drive header to check
@@ -26,8 +27,10 @@ export const codegenProcessorFactory = (module) => (driveHeader) => {
26
27
  const vetraConfig = processorsConfig.get(VETRA_PROCESSOR_CONFIG_KEY);
27
28
  // Check if this drive should use the Vetra processor
28
29
  if (!isDriveVetra(driveHeader, vetraConfig?.driveId)) {
30
+ logger.info(`Drive ${driveHeader.slug} is not a Vetra drive, skipping codegen processor`);
29
31
  return [];
30
32
  }
33
+ logger.info(`Drive ${driveHeader.slug} is a Vetra drive, using codegen processor`);
31
34
  const processor = new CodegenProcessor(vetraConfig?.interactive);
32
35
  return [
33
36
  {
@@ -18,7 +18,7 @@ export class CodegenProcessor {
18
18
  }
19
19
  }
20
20
  async onStrands(strands) {
21
- logger.debug(">>> onStrands", strands);
21
+ logger.info(">>> onStrands()");
22
22
  // Filter strands to only include those that should be processed
23
23
  const validStrands = strands.filter((strand) => {
24
24
  const generator = this.manager.getGenerator(strand.documentType);
@@ -3,6 +3,7 @@ import { vi } from "vitest";
3
3
  vi.mock("@powerhousedao/reactor-browser", () => ({
4
4
  // Mock hooks
5
5
  useSelectedDocument: vi.fn(() => [null, vi.fn()]),
6
+ useSelectedDocumentSafe: vi.fn(() => [null, vi.fn()]),
6
7
  useSetPHDocumentEditorConfig: vi.fn(),
7
8
  useSetPHDriveEditorConfig: vi.fn(),
8
9
  useDocumentById: vi.fn(() => [null, vi.fn()]),
@@ -1 +1 @@
1
- {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../subgraphs/app-module/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAc/D,eAAO,MAAM,YAAY,GACvB,UAAU,YAAY,KACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAkOxB,CAAC"}
1
+ {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../subgraphs/app-module/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAkB/D,eAAO,MAAM,YAAY,GACvB,UAAU,YAAY,KACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAkOxB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { addFile } from "document-drive";
2
- import { actions, } from "../../document-models/app-module/index.js";
3
2
  import { setName } from "document-model";
3
+ import { actions, appModuleDocumentType, } from "@powerhousedao/vetra/document-models/app-module";
4
4
  export const getResolvers = (subgraph) => {
5
5
  const reactor = subgraph.reactor;
6
6
  return {
@@ -46,7 +46,7 @@ export const getResolvers = (subgraph) => {
46
46
  revision: doc.header?.revision?.global ?? 0,
47
47
  };
48
48
  }));
49
- return docs.filter((doc) => doc.header.documentType === "powerhouse/app");
49
+ return docs.filter((doc) => doc.header.documentType === appModuleDocumentType);
50
50
  },
51
51
  };
52
52
  },
@@ -54,12 +54,12 @@ export const getResolvers = (subgraph) => {
54
54
  Mutation: {
55
55
  AppModule_createDocument: async (_, args) => {
56
56
  const { driveId, name } = args;
57
- const document = await reactor.addDocument("powerhouse/app");
57
+ const document = await reactor.addDocument(appModuleDocumentType);
58
58
  if (driveId) {
59
59
  await reactor.addAction(driveId, addFile({
60
60
  name,
61
61
  id: document.header.id,
62
- documentType: "powerhouse/app",
62
+ documentType: appModuleDocumentType,
63
63
  }));
64
64
  }
65
65
  if (name) {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../subgraphs/app-module/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,MAAM,EAAE,YA2FpB,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../subgraphs/app-module/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,MAAM,EAAE,YA4EpB,CAAC"}
@@ -1,22 +1,7 @@
1
1
  import { gql } from "graphql-tag";
2
2
  export const schema = gql `
3
3
  """
4
- Subgraph definition for AppModule (powerhouse/app)
5
- """
6
- type AppModuleState {
7
- name: String!
8
- status: StatusType!
9
- allowedDocumentTypes: [String!]
10
- isDragAndDropEnabled: Boolean!
11
- }
12
-
13
- enum StatusType {
14
- DRAFT
15
- CONFIRMED
16
- }
17
-
18
- """
19
- Queries: AppModule
4
+ Queries: AppModule Document
20
5
  """
21
6
  type AppModuleQueries {
22
7
  getDocument(docId: PHID!, driveId: PHID): AppModule
@@ -72,7 +57,7 @@ export const schema = gql `
72
57
  name: String!
73
58
  }
74
59
  input AppModule_SetAppStatusInput {
75
- status: StatusType!
60
+ status: AppModule_StatusType!
76
61
  }
77
62
  input AppModule_AddDocumentTypeInput {
78
63
  documentType: String!
@@ -1,8 +1,9 @@
1
1
  import { BaseSubgraph } from "@powerhousedao/reactor-api";
2
+ import type { DocumentNode } from "graphql";
2
3
  export declare class DocumentEditorSubgraph extends BaseSubgraph {
3
4
  name: string;
4
- typeDefs: import("graphql").DocumentNode;
5
- resolvers: Record<string, any>;
5
+ typeDefs: DocumentNode;
6
+ resolvers: Record<string, unknown>;
6
7
  additionalContextFields: {};
7
8
  onSetup(): Promise<void>;
8
9
  onDisconnect(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../subgraphs/document-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,IAAI,SAAqB;IACzB,QAAQ,iCAAU;IAClB,SAAS,sBAAsB;IAC/B,uBAAuB,KAAM;IACvB,OAAO;IACP,YAAY;CACnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../subgraphs/document-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,IAAI,SAAqB;IACzB,QAAQ,EAAE,YAAY,CAAU;IAChC,SAAS,0BAAsB;IAC/B,uBAAuB,KAAM;IACvB,OAAO;IACP,YAAY;CACnB"}
@@ -1,6 +1,6 @@
1
1
  import { BaseSubgraph } from "@powerhousedao/reactor-api";
2
- import { getResolvers } from "./resolvers.js";
3
2
  import { schema } from "./schema.js";
3
+ import { getResolvers } from "./resolvers.js";
4
4
  export class DocumentEditorSubgraph extends BaseSubgraph {
5
5
  name = "document-editor";
6
6
  typeDefs = schema;
@@ -1,3 +1,3 @@
1
1
  import type { BaseSubgraph } from "@powerhousedao/reactor-api";
2
- export declare const getResolvers: (subgraph: BaseSubgraph) => Record<string, any>;
2
+ export declare const getResolvers: (subgraph: BaseSubgraph) => Record<string, unknown>;
3
3
  //# sourceMappingURL=resolvers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../subgraphs/document-editor/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAW/D,eAAO,MAAM,YAAY,GAAI,UAAU,YAAY,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAwLvE,CAAC"}
1
+ {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../subgraphs/document-editor/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAgB/D,eAAO,MAAM,YAAY,GACvB,UAAU,YAAY,KACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAoLxB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { addFile } from "document-drive";
2
2
  import { setName } from "document-model";
3
- import { actions } from "../../document-models/document-editor/index.js";
3
+ import { actions, documentEditorDocumentType, } from "@powerhousedao/vetra/document-models/document-editor";
4
4
  export const getResolvers = (subgraph) => {
5
5
  const reactor = subgraph.reactor;
6
6
  return {
@@ -23,12 +23,10 @@ export const getResolvers = (subgraph) => {
23
23
  driveId: driveId,
24
24
  ...doc,
25
25
  ...doc.header,
26
- // these will be ripped out in the future, but for now all doc models have global state
27
- // TODO (thegoldenmule): once the gql interface is updated for arbitrary state, we can remove this
28
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
29
- state: doc.state.global ?? {},
30
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
31
- stateJSON: doc.state.global ?? "{}",
26
+ created: doc.header.createdAtUtcIso,
27
+ lastModified: doc.header.lastModifiedAtUtcIso,
28
+ state: doc.state.global,
29
+ stateJSON: doc.state.global,
32
30
  revision: doc.header?.revision?.global ?? 0,
33
31
  };
34
32
  },
@@ -41,16 +39,14 @@ export const getResolvers = (subgraph) => {
41
39
  driveId: driveId,
42
40
  ...doc,
43
41
  ...doc.header,
44
- // these will be ripped out in the future, but for now all doc models have global state
45
- // TODO (thegoldenmule): once the gql interface is updated for arbitrary state, we can remove this
46
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
47
- state: doc.state.global ?? {},
48
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
49
- stateJSON: doc.state.global ?? "{}",
42
+ created: doc.header.createdAtUtcIso,
43
+ lastModified: doc.header.lastModifiedAtUtcIso,
44
+ state: doc.state.global,
45
+ stateJSON: doc.state.global,
50
46
  revision: doc.header?.revision?.global ?? 0,
51
47
  };
52
48
  }));
53
- return docs.filter((doc) => doc.header.documentType === "powerhouse/document-editor");
49
+ return docs.filter((doc) => doc.header.documentType === documentEditorDocumentType);
54
50
  },
55
51
  };
56
52
  },
@@ -58,12 +54,12 @@ export const getResolvers = (subgraph) => {
58
54
  Mutation: {
59
55
  DocumentEditor_createDocument: async (_, args) => {
60
56
  const { driveId, name } = args;
61
- const document = await reactor.addDocument("powerhouse/document-editor");
57
+ const document = await reactor.addDocument(documentEditorDocumentType);
62
58
  if (driveId) {
63
59
  await reactor.addAction(driveId, addFile({
64
60
  name,
65
61
  id: document.header.id,
66
- documentType: "powerhouse/document-editor",
62
+ documentType: documentEditorDocumentType,
67
63
  }));
68
64
  }
69
65
  if (name) {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../subgraphs/document-editor/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,MAAM,EAAE,YA4EpB,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../subgraphs/document-editor/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,MAAM,EAAE,YAyDpB,CAAC"}
@@ -1,26 +1,7 @@
1
1
  import { gql } from "graphql-tag";
2
2
  export const schema = gql `
3
3
  """
4
- Subgraph definition for DocumentEditor (powerhouse/document-editor)
5
- """
6
- type DocumentEditorState {
7
- name: String!
8
- documentTypes: [DocumentTypeItem!]!
9
- status: StatusType!
10
- }
11
-
12
- type DocumentTypeItem {
13
- id: OID!
14
- documentType: String!
15
- }
16
-
17
- enum StatusType {
18
- DRAFT
19
- CONFIRMED
20
- }
21
-
22
- """
23
- Queries: DocumentEditor
4
+ Queries: DocumentEditor Document
24
5
  """
25
6
  type DocumentEditorQueries {
26
7
  getDocument(docId: PHID!, driveId: PHID): DocumentEditor
@@ -73,6 +54,6 @@ export const schema = gql `
73
54
  id: OID!
74
55
  }
75
56
  input DocumentEditor_SetEditorStatusInput {
76
- status: StatusType!
57
+ status: DocumentEditor_StatusType!
77
58
  }
78
59
  `;
@@ -1,7 +1,7 @@
1
- export * as DocumentEditorSubgraph from "./document-editor/index.js";
2
- export * as VetraPackageSubgraph from "./vetra-package/index.js";
3
- export * as SubgraphModuleSubgraph from "./subgraph-module/index.js";
4
- export * as ProcessorModuleSubgraph from "./processor-module/index.js";
5
1
  export * as AppModuleSubgraph from "./app-module/index.js";
2
+ export * as ProcessorModuleSubgraph from "./processor-module/index.js";
3
+ export * as SubgraphModuleSubgraph from "./subgraph-module/index.js";
4
+ export * as VetraPackageSubgraph from "./vetra-package/index.js";
6
5
  export * as VetraReadModelSubgraph from "./vetra-read-model/index.js";
6
+ export * as DocumentEditorSubgraph from "./document-editor/index.js";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../subgraphs/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,sBAAsB,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,oBAAoB,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,sBAAsB,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,uBAAuB,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../subgraphs/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,uBAAuB,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,sBAAsB,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,oBAAoB,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,sBAAsB,MAAM,4BAA4B,CAAC"}
@@ -1,6 +1,6 @@
1
- export * as DocumentEditorSubgraph from "./document-editor/index.js";
2
- export * as VetraPackageSubgraph from "./vetra-package/index.js";
3
- export * as SubgraphModuleSubgraph from "./subgraph-module/index.js";
4
- export * as ProcessorModuleSubgraph from "./processor-module/index.js";
5
1
  export * as AppModuleSubgraph from "./app-module/index.js";
2
+ export * as ProcessorModuleSubgraph from "./processor-module/index.js";
3
+ export * as SubgraphModuleSubgraph from "./subgraph-module/index.js";
4
+ export * as VetraPackageSubgraph from "./vetra-package/index.js";
6
5
  export * as VetraReadModelSubgraph from "./vetra-read-model/index.js";
6
+ export * as DocumentEditorSubgraph from "./document-editor/index.js";
@@ -2,7 +2,7 @@ import { BaseSubgraph } from "@powerhousedao/reactor-api";
2
2
  export declare class ProcessorModuleSubgraph extends BaseSubgraph {
3
3
  name: string;
4
4
  typeDefs: import("graphql").DocumentNode;
5
- resolvers: Record<string, any>;
5
+ resolvers: Record<string, unknown>;
6
6
  additionalContextFields: {};
7
7
  onSetup(): Promise<void>;
8
8
  onDisconnect(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../subgraphs/processor-module/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,IAAI,SAAsB;IAC1B,QAAQ,iCAAU;IAClB,SAAS,sBAAsB;IAC/B,uBAAuB,KAAM;IACvB,OAAO;IACP,YAAY;CACnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../subgraphs/processor-module/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,IAAI,SAAsB;IAC1B,QAAQ,iCAAU;IAClB,SAAS,0BAAsB;IAC/B,uBAAuB,KAAM;IACvB,OAAO;IACP,YAAY;CACnB"}