@powerhousedao/vetra 5.1.0 → 5.2.0-staging.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 (171) 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/index.d.ts +0 -4
  26. package/dist/document-models/app-module/index.d.ts.map +1 -1
  27. package/dist/document-models/app-module/index.js +0 -4
  28. package/dist/document-models/app-module/src/tests/base-operations.test.js +52 -1
  29. package/dist/document-models/document-editor/actions.d.ts.map +1 -1
  30. package/dist/document-models/document-editor/gen/base-operations/actions.d.ts +1 -1
  31. package/dist/document-models/document-editor/gen/base-operations/actions.d.ts.map +1 -1
  32. package/dist/document-models/document-editor/gen/base-operations/actions.js +1 -1
  33. package/dist/document-models/document-editor/gen/base-operations/operations.d.ts +2 -2
  34. package/dist/document-models/document-editor/gen/base-operations/operations.d.ts.map +1 -1
  35. package/dist/document-models/document-editor/gen/base-operations/operations.js +0 -2
  36. package/dist/document-models/document-editor/gen/document-model.js +2 -2
  37. package/dist/document-models/document-editor/gen/document-schema.d.ts +21 -151
  38. package/dist/document-models/document-editor/gen/document-schema.d.ts.map +1 -1
  39. package/dist/document-models/document-editor/gen/reducer.d.ts.map +1 -1
  40. package/dist/document-models/document-editor/gen/reducer.js +8 -4
  41. package/dist/document-models/document-editor/gen/schema/types.d.ts +15 -3
  42. package/dist/document-models/document-editor/gen/schema/types.d.ts.map +1 -1
  43. package/dist/document-models/document-editor/gen/schema/zod.d.ts +7 -4
  44. package/dist/document-models/document-editor/gen/schema/zod.d.ts.map +1 -1
  45. package/dist/document-models/document-editor/gen/schema/zod.js +2 -2
  46. package/dist/document-models/document-editor/gen/types.d.ts.map +1 -1
  47. package/dist/document-models/document-editor/index.d.ts +0 -4
  48. package/dist/document-models/document-editor/index.d.ts.map +1 -1
  49. package/dist/document-models/document-editor/index.js +0 -4
  50. package/dist/document-models/document-editor/src/tests/base-operations.test.js +42 -1
  51. package/dist/document-models/index.d.ts +0 -4
  52. package/dist/document-models/index.d.ts.map +1 -1
  53. package/dist/document-models/index.js +0 -4
  54. package/dist/document-models/processor-module/actions.d.ts.map +1 -1
  55. package/dist/document-models/processor-module/gen/base-operations/actions.d.ts +1 -1
  56. package/dist/document-models/processor-module/gen/base-operations/actions.d.ts.map +1 -1
  57. package/dist/document-models/processor-module/gen/base-operations/actions.js +1 -1
  58. package/dist/document-models/processor-module/gen/base-operations/operations.d.ts +2 -2
  59. package/dist/document-models/processor-module/gen/base-operations/operations.d.ts.map +1 -1
  60. package/dist/document-models/processor-module/gen/base-operations/operations.js +0 -2
  61. package/dist/document-models/processor-module/gen/document-model.js +2 -2
  62. package/dist/document-models/processor-module/gen/document-schema.d.ts +24 -170
  63. package/dist/document-models/processor-module/gen/document-schema.d.ts.map +1 -1
  64. package/dist/document-models/processor-module/gen/reducer.d.ts.map +1 -1
  65. package/dist/document-models/processor-module/gen/reducer.js +10 -5
  66. package/dist/document-models/processor-module/gen/schema/types.d.ts +15 -3
  67. package/dist/document-models/processor-module/gen/schema/types.d.ts.map +1 -1
  68. package/dist/document-models/processor-module/gen/schema/zod.d.ts +7 -4
  69. package/dist/document-models/processor-module/gen/schema/zod.d.ts.map +1 -1
  70. package/dist/document-models/processor-module/gen/schema/zod.js +2 -2
  71. package/dist/document-models/processor-module/gen/types.d.ts.map +1 -1
  72. package/dist/document-models/processor-module/index.d.ts +0 -4
  73. package/dist/document-models/processor-module/index.d.ts.map +1 -1
  74. package/dist/document-models/processor-module/index.js +0 -4
  75. package/dist/document-models/processor-module/src/tests/base-operations.test.js +52 -1
  76. package/dist/document-models/subgraph-module/actions.d.ts.map +1 -1
  77. package/dist/document-models/subgraph-module/gen/base-operations/actions.d.ts +1 -1
  78. package/dist/document-models/subgraph-module/gen/base-operations/actions.d.ts.map +1 -1
  79. package/dist/document-models/subgraph-module/gen/base-operations/actions.js +1 -1
  80. package/dist/document-models/subgraph-module/gen/base-operations/operations.d.ts +2 -2
  81. package/dist/document-models/subgraph-module/gen/base-operations/operations.d.ts.map +1 -1
  82. package/dist/document-models/subgraph-module/gen/base-operations/operations.js +0 -2
  83. package/dist/document-models/subgraph-module/gen/document-model.d.ts.map +1 -1
  84. package/dist/document-models/subgraph-module/gen/document-model.js +2 -2
  85. package/dist/document-models/subgraph-module/gen/document-schema.d.ts +18 -132
  86. package/dist/document-models/subgraph-module/gen/document-schema.d.ts.map +1 -1
  87. package/dist/document-models/subgraph-module/gen/reducer.d.ts.map +1 -1
  88. package/dist/document-models/subgraph-module/gen/reducer.js +4 -2
  89. package/dist/document-models/subgraph-module/gen/schema/types.d.ts +15 -3
  90. package/dist/document-models/subgraph-module/gen/schema/types.d.ts.map +1 -1
  91. package/dist/document-models/subgraph-module/gen/schema/zod.d.ts +7 -4
  92. package/dist/document-models/subgraph-module/gen/schema/zod.d.ts.map +1 -1
  93. package/dist/document-models/subgraph-module/gen/schema/zod.js +1 -1
  94. package/dist/document-models/subgraph-module/gen/types.d.ts.map +1 -1
  95. package/dist/document-models/subgraph-module/index.d.ts +0 -4
  96. package/dist/document-models/subgraph-module/index.d.ts.map +1 -1
  97. package/dist/document-models/subgraph-module/index.js +0 -4
  98. package/dist/document-models/subgraph-module/src/tests/base-operations.test.js +22 -1
  99. package/dist/document-models/vetra-package/actions.d.ts.map +1 -1
  100. package/dist/document-models/vetra-package/gen/base-operations/actions.d.ts +1 -1
  101. package/dist/document-models/vetra-package/gen/base-operations/actions.d.ts.map +1 -1
  102. package/dist/document-models/vetra-package/gen/base-operations/actions.js +1 -1
  103. package/dist/document-models/vetra-package/gen/base-operations/operations.d.ts +2 -2
  104. package/dist/document-models/vetra-package/gen/base-operations/operations.d.ts.map +1 -1
  105. package/dist/document-models/vetra-package/gen/base-operations/operations.js +0 -2
  106. package/dist/document-models/vetra-package/gen/document-model.js +2 -2
  107. package/dist/document-models/vetra-package/gen/document-schema.d.ts +33 -227
  108. package/dist/document-models/vetra-package/gen/document-schema.d.ts.map +1 -1
  109. package/dist/document-models/vetra-package/gen/reducer.d.ts.map +1 -1
  110. package/dist/document-models/vetra-package/gen/reducer.js +20 -10
  111. package/dist/document-models/vetra-package/gen/schema/types.d.ts +17 -1
  112. package/dist/document-models/vetra-package/gen/schema/types.d.ts.map +1 -1
  113. package/dist/document-models/vetra-package/gen/schema/zod.d.ts +3 -3
  114. package/dist/document-models/vetra-package/gen/schema/zod.d.ts.map +1 -1
  115. package/dist/document-models/vetra-package/gen/schema/zod.js +10 -10
  116. package/dist/document-models/vetra-package/gen/types.d.ts.map +1 -1
  117. package/dist/document-models/vetra-package/index.d.ts +0 -4
  118. package/dist/document-models/vetra-package/index.d.ts.map +1 -1
  119. package/dist/document-models/vetra-package/index.js +0 -4
  120. package/dist/document-models/vetra-package/src/tests/base-operations.test.js +127 -28
  121. package/dist/editors/app-editor/module.d.ts +1 -1
  122. package/dist/editors/app-editor/module.d.ts.map +1 -1
  123. package/dist/editors/app-editor/module.js +1 -1
  124. package/dist/processors/codegen/__tests__/codegen-processor-e2e.test.js +96 -38
  125. package/dist/processors/codegen/document-handlers/generators/app-generator.d.ts.map +1 -1
  126. package/dist/processors/codegen/document-handlers/generators/app-generator.js +2 -0
  127. package/dist/processors/codegen/document-handlers/generators/constants.d.ts +3 -0
  128. package/dist/processors/codegen/document-handlers/generators/constants.d.ts.map +1 -0
  129. package/dist/processors/codegen/document-handlers/generators/constants.js +2 -0
  130. package/dist/processors/codegen/document-handlers/generators/document-editor-generator.d.ts.map +1 -1
  131. package/dist/processors/codegen/document-handlers/generators/document-editor-generator.js +2 -0
  132. package/dist/processors/codegen/document-handlers/generators/document-model-generator.d.ts.map +1 -1
  133. package/dist/processors/codegen/document-handlers/generators/document-model-generator.js +7 -2
  134. package/dist/subgraphs/app-module/resolvers.d.ts.map +1 -1
  135. package/dist/subgraphs/app-module/resolvers.js +4 -4
  136. package/dist/subgraphs/app-module/schema.d.ts.map +1 -1
  137. package/dist/subgraphs/app-module/schema.js +2 -17
  138. package/dist/subgraphs/document-editor/index.d.ts +3 -2
  139. package/dist/subgraphs/document-editor/index.d.ts.map +1 -1
  140. package/dist/subgraphs/document-editor/index.js +1 -1
  141. package/dist/subgraphs/document-editor/resolvers.d.ts +1 -1
  142. package/dist/subgraphs/document-editor/resolvers.d.ts.map +1 -1
  143. package/dist/subgraphs/document-editor/resolvers.js +12 -16
  144. package/dist/subgraphs/document-editor/schema.d.ts.map +1 -1
  145. package/dist/subgraphs/document-editor/schema.js +2 -21
  146. package/dist/subgraphs/index.d.ts +4 -4
  147. package/dist/subgraphs/index.d.ts.map +1 -1
  148. package/dist/subgraphs/index.js +4 -4
  149. package/dist/subgraphs/processor-module/index.d.ts +1 -1
  150. package/dist/subgraphs/processor-module/index.d.ts.map +1 -1
  151. package/dist/subgraphs/processor-module/resolvers.d.ts +1 -1
  152. package/dist/subgraphs/processor-module/resolvers.d.ts.map +1 -1
  153. package/dist/subgraphs/processor-module/resolvers.js +12 -16
  154. package/dist/subgraphs/processor-module/schema.d.ts.map +1 -1
  155. package/dist/subgraphs/processor-module/schema.js +2 -22
  156. package/dist/subgraphs/subgraph-module/index.d.ts +1 -1
  157. package/dist/subgraphs/subgraph-module/index.d.ts.map +1 -1
  158. package/dist/subgraphs/subgraph-module/resolvers.d.ts +1 -1
  159. package/dist/subgraphs/subgraph-module/resolvers.d.ts.map +1 -1
  160. package/dist/subgraphs/subgraph-module/resolvers.js +12 -16
  161. package/dist/subgraphs/subgraph-module/schema.d.ts.map +1 -1
  162. package/dist/subgraphs/subgraph-module/schema.js +2 -15
  163. package/dist/subgraphs/vetra-package/index.d.ts +1 -1
  164. package/dist/subgraphs/vetra-package/index.d.ts.map +1 -1
  165. package/dist/subgraphs/vetra-package/resolvers.d.ts +1 -1
  166. package/dist/subgraphs/vetra-package/resolvers.d.ts.map +1 -1
  167. package/dist/subgraphs/vetra-package/resolvers.js +137 -94
  168. package/dist/subgraphs/vetra-package/schema.d.ts.map +1 -1
  169. package/dist/subgraphs/vetra-package/schema.js +3 -26
  170. package/dist/tsconfig.tsbuildinfo +1 -1
  171. package/package.json +16 -18
@@ -2,10 +2,9 @@
2
2
  * This is a scaffold file meant for customization:
3
3
  * - change it by adding new tests or modifying the existing ones
4
4
  */
5
+ import { generateMock } from "@powerhousedao/codegen";
6
+ import { addPackageKeyword, AddPackageKeywordInputSchema, isVetraPackageDocument, reducer, removePackageKeyword, RemovePackageKeywordInputSchema, setPackageAuthor, SetPackageAuthorInputSchema, setPackageAuthorName, SetPackageAuthorNameInputSchema, setPackageAuthorWebsite, SetPackageAuthorWebsiteInputSchema, setPackageCategory, SetPackageCategoryInputSchema, setPackageDescription, SetPackageDescriptionInputSchema, setPackageGithubUrl, SetPackageGithubUrlInputSchema, setPackageName, SetPackageNameInputSchema, setPackageNpmUrl, SetPackageNpmUrlInputSchema, utils, } from "@powerhousedao/vetra/document-models/vetra-package";
5
7
  import { beforeEach, describe, expect, it } from "vitest";
6
- import * as creators from "../../gen/base-operations/creators.js";
7
- import { reducer } from "../../gen/reducer.js";
8
- import { utils } from "@powerhousedao/vetra/document-models/vetra-package";
9
8
  describe("BaseOperations Operations", () => {
10
9
  let document;
11
10
  beforeEach(() => {
@@ -14,7 +13,7 @@ describe("BaseOperations Operations", () => {
14
13
  describe("setPackageName", () => {
15
14
  it("should mutate state with new name", () => {
16
15
  const input = { name: "my-package" };
17
- const updatedDocument = reducer(document, creators.setPackageName(input));
16
+ const updatedDocument = reducer(document, setPackageName(input));
18
17
  expect(updatedDocument.state.global.name).toBe("my-package");
19
18
  });
20
19
  });
@@ -23,14 +22,14 @@ describe("BaseOperations Operations", () => {
23
22
  const input = {
24
23
  description: "A test package",
25
24
  };
26
- const updatedDocument = reducer(document, creators.setPackageDescription(input));
25
+ const updatedDocument = reducer(document, setPackageDescription(input));
27
26
  expect(updatedDocument.state.global.description).toBe("A test package");
28
27
  });
29
28
  });
30
29
  describe("setPackageCategory", () => {
31
30
  it("should mutate state with new category", () => {
32
31
  const input = { category: "utility" };
33
- const updatedDocument = reducer(document, creators.setPackageCategory(input));
32
+ const updatedDocument = reducer(document, setPackageCategory(input));
34
33
  expect(updatedDocument.state.global.category).toBe("utility");
35
34
  });
36
35
  });
@@ -40,17 +39,17 @@ describe("BaseOperations Operations", () => {
40
39
  name: "John Doe",
41
40
  website: "https://johndoe.com",
42
41
  };
43
- const updatedDocument = reducer(document, creators.setPackageAuthor(input));
42
+ const updatedDocument = reducer(document, setPackageAuthor(input));
44
43
  expect(updatedDocument.state.global.author.name).toBe("John Doe");
45
44
  expect(updatedDocument.state.global.author.website).toBe("https://johndoe.com");
46
45
  });
47
46
  it("should handle partial author data (name only or website only)", () => {
48
47
  // Name only
49
- let updatedDoc = reducer(document, creators.setPackageAuthor({ name: "Jane Doe" }));
48
+ let updatedDoc = reducer(document, setPackageAuthor({ name: "Jane Doe" }));
50
49
  expect(updatedDoc.state.global.author.name).toBe("Jane Doe");
51
50
  expect(updatedDoc.state.global.author.website).toBeNull();
52
51
  // Website only
53
- updatedDoc = reducer(updatedDoc, creators.setPackageAuthor({ website: "https://janedoe.com" }));
52
+ updatedDoc = reducer(updatedDoc, setPackageAuthor({ website: "https://janedoe.com" }));
54
53
  expect(updatedDoc.state.global.author.name).toBeNull();
55
54
  expect(updatedDoc.state.global.author.website).toBe("https://janedoe.com");
56
55
  });
@@ -58,7 +57,7 @@ describe("BaseOperations Operations", () => {
58
57
  describe("setPackageAuthorName", () => {
59
58
  it("should mutate state with new author name", () => {
60
59
  const input = { name: "Alice" };
61
- const updatedDocument = reducer(document, creators.setPackageAuthorName(input));
60
+ const updatedDocument = reducer(document, setPackageAuthorName(input));
62
61
  expect(updatedDocument.state.global.author.name).toBe("Alice");
63
62
  });
64
63
  });
@@ -67,7 +66,7 @@ describe("BaseOperations Operations", () => {
67
66
  const input = {
68
67
  website: "https://example.com",
69
68
  };
70
- const updatedDocument = reducer(document, creators.setPackageAuthorWebsite(input));
69
+ const updatedDocument = reducer(document, setPackageAuthorWebsite(input));
71
70
  expect(updatedDocument.state.global.author.website).toBe("https://example.com");
72
71
  });
73
72
  });
@@ -77,7 +76,7 @@ describe("BaseOperations Operations", () => {
77
76
  id: "kw-1",
78
77
  label: "react",
79
78
  };
80
- const updatedDocument = reducer(document, creators.addPackageKeyword(input));
79
+ const updatedDocument = reducer(document, addPackageKeyword(input));
81
80
  expect(updatedDocument.state.global.keywords).toContainEqual({
82
81
  id: "kw-1",
83
82
  label: "react",
@@ -89,15 +88,15 @@ describe("BaseOperations Operations", () => {
89
88
  id: "first-kw",
90
89
  label: "typescript",
91
90
  };
92
- const updatedDocument = reducer(document, creators.addPackageKeyword(input));
91
+ const updatedDocument = reducer(document, addPackageKeyword(input));
93
92
  expect(updatedDocument.state.global.keywords).toEqual([
94
93
  { id: "first-kw", label: "typescript" },
95
94
  ]);
96
95
  });
97
96
  it("should add multiple keywords sequentially", () => {
98
- let updatedDoc = reducer(document, creators.addPackageKeyword({ id: "kw-1", label: "react" }));
99
- updatedDoc = reducer(updatedDoc, creators.addPackageKeyword({ id: "kw-2", label: "vue" }));
100
- updatedDoc = reducer(updatedDoc, creators.addPackageKeyword({ id: "kw-3", label: "angular" }));
97
+ let updatedDoc = reducer(document, addPackageKeyword({ id: "kw-1", label: "react" }));
98
+ updatedDoc = reducer(updatedDoc, addPackageKeyword({ id: "kw-2", label: "vue" }));
99
+ updatedDoc = reducer(updatedDoc, addPackageKeyword({ id: "kw-3", label: "angular" }));
101
100
  expect(updatedDoc.state.global.keywords).toHaveLength(3);
102
101
  expect(updatedDoc.state.global.keywords[0]).toEqual({
103
102
  id: "kw-1",
@@ -117,10 +116,10 @@ describe("BaseOperations Operations", () => {
117
116
  id: "duplicate",
118
117
  label: "first",
119
118
  };
120
- let updatedDoc = reducer(document, creators.addPackageKeyword(input));
119
+ let updatedDoc = reducer(document, addPackageKeyword(input));
121
120
  expect(updatedDoc.state.global.keywords).toHaveLength(1);
122
121
  expect(updatedDoc.operations.global[0].error).toBeUndefined();
123
- updatedDoc = reducer(updatedDoc, creators.addPackageKeyword({
122
+ updatedDoc = reducer(updatedDoc, addPackageKeyword({
124
123
  id: "duplicate",
125
124
  label: "second",
126
125
  }));
@@ -131,42 +130,42 @@ describe("BaseOperations Operations", () => {
131
130
  });
132
131
  describe("removePackageKeyword", () => {
133
132
  it("should mutate state by removing keyword from array", () => {
134
- let updatedDoc = reducer(document, creators.addPackageKeyword({
133
+ let updatedDoc = reducer(document, addPackageKeyword({
135
134
  id: "to-remove",
136
135
  label: "test",
137
136
  }));
138
- updatedDoc = reducer(updatedDoc, creators.removePackageKeyword({ id: "to-remove" }));
137
+ updatedDoc = reducer(updatedDoc, removePackageKeyword({ id: "to-remove" }));
139
138
  expect(updatedDoc.state.global.keywords).not.toContainEqual({
140
139
  id: "to-remove",
141
140
  label: "test",
142
141
  });
143
142
  });
144
143
  it("should remove existing ID", () => {
145
- let updatedDoc = reducer(document, creators.addPackageKeyword({
144
+ let updatedDoc = reducer(document, addPackageKeyword({
146
145
  id: "existing",
147
146
  label: "test",
148
147
  }));
149
148
  const lengthBefore = updatedDoc.state.global.keywords.length;
150
- updatedDoc = reducer(updatedDoc, creators.removePackageKeyword({ id: "existing" }));
149
+ updatedDoc = reducer(updatedDoc, removePackageKeyword({ id: "existing" }));
151
150
  expect(updatedDoc.state.global.keywords.length).toBe(lengthBefore - 1);
152
151
  expect(updatedDoc.state.global.keywords.find((kw) => kw.id === "existing")).toBeUndefined();
153
152
  });
154
153
  it("should gracefully handle non-existent ID", () => {
155
154
  const initialState = document.state.global.keywords;
156
- const updatedDocument = reducer(document, creators.removePackageKeyword({ id: "non-existent-id" }));
155
+ const updatedDocument = reducer(document, removePackageKeyword({ id: "non-existent-id" }));
157
156
  expect(updatedDocument.state.global.keywords).toEqual(initialState);
158
157
  });
159
158
  it("should handle empty array gracefully", () => {
160
159
  expect(document.state.global.keywords).toEqual([]);
161
- const updatedDocument = reducer(document, creators.removePackageKeyword({ id: "any-id" }));
160
+ const updatedDocument = reducer(document, removePackageKeyword({ id: "any-id" }));
162
161
  expect(updatedDocument.state.global.keywords).toEqual([]);
163
162
  });
164
163
  it("should add then immediately remove item", () => {
165
- let updatedDoc = reducer(document, creators.addPackageKeyword({
164
+ let updatedDoc = reducer(document, addPackageKeyword({
166
165
  id: "temp-kw",
167
166
  label: "temp",
168
167
  }));
169
- updatedDoc = reducer(updatedDoc, creators.removePackageKeyword({ id: "temp-kw" }));
168
+ updatedDoc = reducer(updatedDoc, removePackageKeyword({ id: "temp-kw" }));
170
169
  expect(updatedDoc.state.global.keywords.find((kw) => kw.id === "temp-kw")).toBeUndefined();
171
170
  expect(updatedDoc.operations.global).toHaveLength(2);
172
171
  });
@@ -176,7 +175,7 @@ describe("BaseOperations Operations", () => {
176
175
  const input = {
177
176
  url: "https://github.com/user/repo",
178
177
  };
179
- const updatedDocument = reducer(document, creators.setPackageGithubUrl(input));
178
+ const updatedDocument = reducer(document, setPackageGithubUrl(input));
180
179
  expect(updatedDocument.state.global.githubUrl).toBe("https://github.com/user/repo");
181
180
  });
182
181
  });
@@ -185,8 +184,108 @@ describe("BaseOperations Operations", () => {
185
184
  const input = {
186
185
  url: "https://npmjs.com/package/my-package",
187
186
  };
188
- const updatedDocument = reducer(document, creators.setPackageNpmUrl(input));
187
+ const updatedDocument = reducer(document, setPackageNpmUrl(input));
189
188
  expect(updatedDocument.state.global.npmUrl).toBe("https://npmjs.com/package/my-package");
190
189
  });
191
190
  });
191
+ it("should handle setPackageName operation", () => {
192
+ const document = utils.createDocument();
193
+ const input = generateMock(SetPackageNameInputSchema());
194
+ const updatedDocument = reducer(document, setPackageName(input));
195
+ expect(isVetraPackageDocument(updatedDocument)).toBe(true);
196
+ expect(updatedDocument.operations.global).toHaveLength(1);
197
+ expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_NAME");
198
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
199
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
200
+ });
201
+ it("should handle setPackageDescription operation", () => {
202
+ const document = utils.createDocument();
203
+ const input = generateMock(SetPackageDescriptionInputSchema());
204
+ const updatedDocument = reducer(document, setPackageDescription(input));
205
+ expect(isVetraPackageDocument(updatedDocument)).toBe(true);
206
+ expect(updatedDocument.operations.global).toHaveLength(1);
207
+ expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_DESCRIPTION");
208
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
209
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
210
+ });
211
+ it("should handle setPackageCategory operation", () => {
212
+ const document = utils.createDocument();
213
+ const input = generateMock(SetPackageCategoryInputSchema());
214
+ const updatedDocument = reducer(document, setPackageCategory(input));
215
+ expect(isVetraPackageDocument(updatedDocument)).toBe(true);
216
+ expect(updatedDocument.operations.global).toHaveLength(1);
217
+ expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_CATEGORY");
218
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
219
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
220
+ });
221
+ it("should handle setPackageAuthor operation", () => {
222
+ const document = utils.createDocument();
223
+ const input = generateMock(SetPackageAuthorInputSchema());
224
+ const updatedDocument = reducer(document, setPackageAuthor(input));
225
+ expect(isVetraPackageDocument(updatedDocument)).toBe(true);
226
+ expect(updatedDocument.operations.global).toHaveLength(1);
227
+ expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_AUTHOR");
228
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
229
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
230
+ });
231
+ it("should handle setPackageAuthorName operation", () => {
232
+ const document = utils.createDocument();
233
+ const input = generateMock(SetPackageAuthorNameInputSchema());
234
+ const updatedDocument = reducer(document, setPackageAuthorName(input));
235
+ expect(isVetraPackageDocument(updatedDocument)).toBe(true);
236
+ expect(updatedDocument.operations.global).toHaveLength(1);
237
+ expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_AUTHOR_NAME");
238
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
239
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
240
+ });
241
+ it("should handle setPackageAuthorWebsite operation", () => {
242
+ const document = utils.createDocument();
243
+ const input = generateMock(SetPackageAuthorWebsiteInputSchema());
244
+ const updatedDocument = reducer(document, setPackageAuthorWebsite(input));
245
+ expect(isVetraPackageDocument(updatedDocument)).toBe(true);
246
+ expect(updatedDocument.operations.global).toHaveLength(1);
247
+ expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_AUTHOR_WEBSITE");
248
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
249
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
250
+ });
251
+ it("should handle addPackageKeyword operation", () => {
252
+ const document = utils.createDocument();
253
+ const input = generateMock(AddPackageKeywordInputSchema());
254
+ const updatedDocument = reducer(document, addPackageKeyword(input));
255
+ expect(isVetraPackageDocument(updatedDocument)).toBe(true);
256
+ expect(updatedDocument.operations.global).toHaveLength(1);
257
+ expect(updatedDocument.operations.global[0].action.type).toBe("ADD_PACKAGE_KEYWORD");
258
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
259
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
260
+ });
261
+ it("should handle removePackageKeyword operation", () => {
262
+ const document = utils.createDocument();
263
+ const input = generateMock(RemovePackageKeywordInputSchema());
264
+ const updatedDocument = reducer(document, removePackageKeyword(input));
265
+ expect(isVetraPackageDocument(updatedDocument)).toBe(true);
266
+ expect(updatedDocument.operations.global).toHaveLength(1);
267
+ expect(updatedDocument.operations.global[0].action.type).toBe("REMOVE_PACKAGE_KEYWORD");
268
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
269
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
270
+ });
271
+ it("should handle setPackageGithubUrl operation", () => {
272
+ const document = utils.createDocument();
273
+ const input = generateMock(SetPackageGithubUrlInputSchema());
274
+ const updatedDocument = reducer(document, setPackageGithubUrl(input));
275
+ expect(isVetraPackageDocument(updatedDocument)).toBe(true);
276
+ expect(updatedDocument.operations.global).toHaveLength(1);
277
+ expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_GITHUB_URL");
278
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
279
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
280
+ });
281
+ it("should handle setPackageNpmUrl operation", () => {
282
+ const document = utils.createDocument();
283
+ const input = generateMock(SetPackageNpmUrlInputSchema());
284
+ const updatedDocument = reducer(document, setPackageNpmUrl(input));
285
+ expect(isVetraPackageDocument(updatedDocument)).toBe(true);
286
+ expect(updatedDocument.operations.global).toHaveLength(1);
287
+ expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_NPM_URL");
288
+ expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
289
+ expect(updatedDocument.operations.global[0].index).toEqual(0);
290
+ });
192
291
  });
@@ -1,4 +1,4 @@
1
1
  import type { EditorModule } from "document-model";
2
- /** Document editor module for the Todo List document type */
2
+ /** Document editor module for the "powerhouse/app" document type */
3
3
  export declare const AppEditor: EditorModule;
4
4
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../editors/app-editor/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,6DAA6D;AAC7D,eAAO,MAAM,SAAS,EAAE,YAOvB,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../editors/app-editor/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,oEAAoE;AACpE,eAAO,MAAM,SAAS,EAAE,YAOvB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { lazy } from "react";
2
- /** Document editor module for the Todo List document type */
2
+ /** Document editor module for the "powerhouse/app" document type */
3
3
  export const AppEditor = {
4
4
  Component: lazy(() => import("./editor.js")),
5
5
  documentTypes: ["powerhouse/app"],
@@ -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");
@@ -170,7 +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 });
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);
174
218
  expect(generateSubgraphFromDocumentModel).toHaveBeenCalledWith("Test Model", validState, mockConfig.PH_CONFIG, { verbose: false });
175
219
  expect(generateManifest).toHaveBeenCalledWith({
176
220
  documentModels: [
@@ -207,6 +251,13 @@ describe("CodegenProcessor E2E Tests", () => {
207
251
  const validState = {
208
252
  id: "test-model-id",
209
253
  name: "Test Model",
254
+ author: {
255
+ name: "test",
256
+ website: "https://test.com",
257
+ },
258
+ description: "",
259
+ extension: ".phd",
260
+ specifications: [],
210
261
  };
211
262
  const strand = {
212
263
  documentId: "test-doc-1",
@@ -314,13 +365,17 @@ describe("CodegenProcessor E2E Tests", () => {
314
365
  };
315
366
  await processor.onStrands([strand]);
316
367
  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
- });
368
+ const generateDriveEditorArgs = [
369
+ {
370
+ name: "Test App",
371
+ config: mockConfig.PH_CONFIG,
372
+ appId: "test-app",
373
+ allowedDocumentTypes: "",
374
+ isDragAndDropEnabled: false,
375
+ useTsMorph: USE_TS_MORPH,
376
+ },
377
+ ];
378
+ expect(generateDriveEditor).toHaveBeenCalledWith(...generateDriveEditorArgs);
324
379
  expect(generateManifest).toHaveBeenCalledWith({
325
380
  apps: [
326
381
  {
@@ -355,6 +410,7 @@ describe("CodegenProcessor E2E Tests", () => {
355
410
  appId: "test-app",
356
411
  allowedDocumentTypes: "powerhouse/document-model,powerhouse/budget-statement",
357
412
  isDragAndDropEnabled: true,
413
+ useTsMorph: USE_TS_MORPH,
358
414
  });
359
415
  expect(generateManifest).toHaveBeenCalled();
360
416
  });
@@ -506,6 +562,7 @@ describe("CodegenProcessor E2E Tests", () => {
506
562
  documentTypes: ["powerhouse/document-model"],
507
563
  config: mockConfig.PH_CONFIG,
508
564
  editorId: "test-editor",
565
+ useTsMorph: USE_TS_MORPH,
509
566
  });
510
567
  expect(generateSubgraph).toHaveBeenCalledWith("Test Subgraph", null, mockConfig.PH_CONFIG);
511
568
  // generateManifest should be called twice (once for each strand)
@@ -544,6 +601,7 @@ describe("CodegenProcessor E2E Tests", () => {
544
601
  documentTypes: ["powerhouse/document-model"],
545
602
  config: mockConfig.PH_CONFIG,
546
603
  editorId: "test-editor",
604
+ useTsMorph: USE_TS_MORPH,
547
605
  });
548
606
  // Invalid strand should NOT be processed
549
607
  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":"AAMA,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;IA+BnD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAkEjE"}
@@ -1,6 +1,7 @@
1
1
  import { generateFromDocument, generateManifest, generateSubgraphFromDocumentModel, 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
@@ -21,6 +22,7 @@ export class DocumentModelGenerator extends BaseDocumentGen {
21
22
  logger.debug(`>>> No state found for document model: ${strand.documentId}`);
22
23
  return false;
23
24
  }
25
+ console.log(">>>> state", JSON.stringify(state, null, 2));
24
26
  const validationResult = validateDocumentModelState(state);
25
27
  if (!validationResult.isValid) {
26
28
  const errorList = validationResult.errors
@@ -36,8 +38,11 @@ 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
47
  await generateSubgraphFromDocumentModel(state.name, state, this.config.PH_CONFIG, { verbose: false });
43
48
  logger.info(`✅ Code generation completed successfully for: ${state.name}`);
@@ -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"}