@powerhousedao/vetra-builder-package 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +179 -0
  3. package/dist/document-models/builder-account/gen/actions.d.ts +9 -0
  4. package/dist/document-models/builder-account/gen/actions.js +4 -0
  5. package/dist/document-models/builder-account/gen/creators.d.ts +4 -0
  6. package/dist/document-models/builder-account/gen/creators.js +4 -0
  7. package/dist/document-models/builder-account/gen/document-model.d.ts +2 -0
  8. package/dist/document-models/builder-account/gen/document-model.js +253 -0
  9. package/dist/document-models/builder-account/gen/index.d.ts +7 -0
  10. package/dist/document-models/builder-account/gen/index.js +6 -0
  11. package/dist/document-models/builder-account/gen/members/actions.d.ts +11 -0
  12. package/dist/document-models/builder-account/gen/members/actions.js +1 -0
  13. package/dist/document-models/builder-account/gen/members/creators.d.ts +4 -0
  14. package/dist/document-models/builder-account/gen/members/creators.js +4 -0
  15. package/dist/document-models/builder-account/gen/members/error.d.ts +1 -0
  16. package/dist/document-models/builder-account/gen/members/error.js +1 -0
  17. package/dist/document-models/builder-account/gen/members/object.d.ts +7 -0
  18. package/dist/document-models/builder-account/gen/members/object.js +10 -0
  19. package/dist/document-models/builder-account/gen/members/operations.d.ts +7 -0
  20. package/dist/document-models/builder-account/gen/members/operations.js +1 -0
  21. package/dist/document-models/builder-account/gen/object.d.ts +20 -0
  22. package/dist/document-models/builder-account/gen/object.js +36 -0
  23. package/dist/document-models/builder-account/gen/packages/actions.d.ts +23 -0
  24. package/dist/document-models/builder-account/gen/packages/actions.js +1 -0
  25. package/dist/document-models/builder-account/gen/packages/creators.d.ts +7 -0
  26. package/dist/document-models/builder-account/gen/packages/creators.js +7 -0
  27. package/dist/document-models/builder-account/gen/packages/error.d.ts +1 -0
  28. package/dist/document-models/builder-account/gen/packages/error.js +1 -0
  29. package/dist/document-models/builder-account/gen/packages/object.d.ts +10 -0
  30. package/dist/document-models/builder-account/gen/packages/object.js +19 -0
  31. package/dist/document-models/builder-account/gen/packages/operations.d.ts +10 -0
  32. package/dist/document-models/builder-account/gen/packages/operations.js +1 -0
  33. package/dist/document-models/builder-account/gen/ph-factories.d.ts +26 -0
  34. package/dist/document-models/builder-account/gen/ph-factories.js +62 -0
  35. package/dist/document-models/builder-account/gen/profile/actions.d.ts +23 -0
  36. package/dist/document-models/builder-account/gen/profile/actions.js +1 -0
  37. package/dist/document-models/builder-account/gen/profile/creators.d.ts +7 -0
  38. package/dist/document-models/builder-account/gen/profile/creators.js +7 -0
  39. package/dist/document-models/builder-account/gen/profile/error.d.ts +1 -0
  40. package/dist/document-models/builder-account/gen/profile/error.js +1 -0
  41. package/dist/document-models/builder-account/gen/profile/object.d.ts +10 -0
  42. package/dist/document-models/builder-account/gen/profile/object.js +19 -0
  43. package/dist/document-models/builder-account/gen/profile/operations.d.ts +10 -0
  44. package/dist/document-models/builder-account/gen/profile/operations.js +1 -0
  45. package/dist/document-models/builder-account/gen/reducer.d.ts +4 -0
  46. package/dist/document-models/builder-account/gen/reducer.js +87 -0
  47. package/dist/document-models/builder-account/gen/schema/index.d.ts +2 -0
  48. package/dist/document-models/builder-account/gen/schema/index.js +2 -0
  49. package/dist/document-models/builder-account/gen/schema/types.d.ts +269 -0
  50. package/dist/document-models/builder-account/gen/schema/types.js +1 -0
  51. package/dist/document-models/builder-account/gen/schema/zod.d.ts +34 -0
  52. package/dist/document-models/builder-account/gen/schema/zod.js +192 -0
  53. package/dist/document-models/builder-account/gen/spaces/actions.d.ts +23 -0
  54. package/dist/document-models/builder-account/gen/spaces/actions.js +1 -0
  55. package/dist/document-models/builder-account/gen/spaces/creators.d.ts +7 -0
  56. package/dist/document-models/builder-account/gen/spaces/creators.js +7 -0
  57. package/dist/document-models/builder-account/gen/spaces/error.d.ts +13 -0
  58. package/dist/document-models/builder-account/gen/spaces/error.js +11 -0
  59. package/dist/document-models/builder-account/gen/spaces/object.d.ts +10 -0
  60. package/dist/document-models/builder-account/gen/spaces/object.js +19 -0
  61. package/dist/document-models/builder-account/gen/spaces/operations.d.ts +10 -0
  62. package/dist/document-models/builder-account/gen/spaces/operations.js +1 -0
  63. package/dist/document-models/builder-account/gen/types.d.ts +9 -0
  64. package/dist/document-models/builder-account/gen/types.js +1 -0
  65. package/dist/document-models/builder-account/gen/utils.d.ts +21 -0
  66. package/dist/document-models/builder-account/gen/utils.js +54 -0
  67. package/dist/document-models/builder-account/index.d.ts +40 -0
  68. package/dist/document-models/builder-account/index.js +21 -0
  69. package/dist/document-models/builder-account/src/reducers/members.d.ts +2 -0
  70. package/dist/document-models/builder-account/src/reducers/members.js +11 -0
  71. package/dist/document-models/builder-account/src/reducers/packages.d.ts +2 -0
  72. package/dist/document-models/builder-account/src/reducers/packages.js +79 -0
  73. package/dist/document-models/builder-account/src/reducers/profile.d.ts +2 -0
  74. package/dist/document-models/builder-account/src/reducers/profile.js +26 -0
  75. package/dist/document-models/builder-account/src/reducers/spaces.d.ts +2 -0
  76. package/dist/document-models/builder-account/src/reducers/spaces.js +46 -0
  77. package/dist/document-models/builder-account/src/tests/document-model.test.d.ts +5 -0
  78. package/dist/document-models/builder-account/src/tests/document-model.test.js +18 -0
  79. package/dist/document-models/builder-account/src/tests/members.test.d.ts +5 -0
  80. package/dist/document-models/builder-account/src/tests/members.test.js +32 -0
  81. package/dist/document-models/builder-account/src/tests/packages.test.d.ts +5 -0
  82. package/dist/document-models/builder-account/src/tests/packages.test.js +56 -0
  83. package/dist/document-models/builder-account/src/tests/profile.test.d.ts +5 -0
  84. package/dist/document-models/builder-account/src/tests/profile.test.js +56 -0
  85. package/dist/document-models/builder-account/src/tests/spaces.test.d.ts +5 -0
  86. package/dist/document-models/builder-account/src/tests/spaces.test.js +56 -0
  87. package/dist/document-models/builder-account/src/utils.d.ts +1 -0
  88. package/dist/document-models/builder-account/src/utils.js +1 -0
  89. package/dist/document-models/index.d.ts +3 -0
  90. package/dist/document-models/index.js +2 -0
  91. package/dist/document-models/vetra-package/gen/actions.d.ts +3 -0
  92. package/dist/document-models/vetra-package/gen/actions.js +1 -0
  93. package/dist/document-models/vetra-package/gen/creators.d.ts +1 -0
  94. package/dist/document-models/vetra-package/gen/creators.js +1 -0
  95. package/dist/document-models/vetra-package/gen/document-model.d.ts +2 -0
  96. package/dist/document-models/vetra-package/gen/document-model.js +125 -0
  97. package/dist/document-models/vetra-package/gen/index.d.ts +7 -0
  98. package/dist/document-models/vetra-package/gen/index.js +6 -0
  99. package/dist/document-models/vetra-package/gen/meta/actions.d.ts +35 -0
  100. package/dist/document-models/vetra-package/gen/meta/actions.js +1 -0
  101. package/dist/document-models/vetra-package/gen/meta/creators.d.ts +10 -0
  102. package/dist/document-models/vetra-package/gen/meta/creators.js +10 -0
  103. package/dist/document-models/vetra-package/gen/meta/error.d.ts +1 -0
  104. package/dist/document-models/vetra-package/gen/meta/error.js +1 -0
  105. package/dist/document-models/vetra-package/gen/meta/object.d.ts +13 -0
  106. package/dist/document-models/vetra-package/gen/meta/object.js +28 -0
  107. package/dist/document-models/vetra-package/gen/meta/operations.d.ts +13 -0
  108. package/dist/document-models/vetra-package/gen/meta/operations.js +1 -0
  109. package/dist/document-models/vetra-package/gen/object.d.ts +14 -0
  110. package/dist/document-models/vetra-package/gen/object.js +25 -0
  111. package/dist/document-models/vetra-package/gen/ph-factories.d.ts +26 -0
  112. package/dist/document-models/vetra-package/gen/ph-factories.js +59 -0
  113. package/dist/document-models/vetra-package/gen/reducer.d.ts +4 -0
  114. package/dist/document-models/vetra-package/gen/reducer.js +48 -0
  115. package/dist/document-models/vetra-package/gen/schema/index.d.ts +2 -0
  116. package/dist/document-models/vetra-package/gen/schema/index.js +2 -0
  117. package/dist/document-models/vetra-package/gen/schema/types.d.ts +187 -0
  118. package/dist/document-models/vetra-package/gen/schema/types.js +1 -0
  119. package/dist/document-models/vetra-package/gen/schema/zod.d.ts +20 -0
  120. package/dist/document-models/vetra-package/gen/schema/zod.js +73 -0
  121. package/dist/document-models/vetra-package/gen/types.d.ts +9 -0
  122. package/dist/document-models/vetra-package/gen/types.js +1 -0
  123. package/dist/document-models/vetra-package/gen/utils.d.ts +21 -0
  124. package/dist/document-models/vetra-package/gen/utils.js +51 -0
  125. package/dist/document-models/vetra-package/index.d.ts +31 -0
  126. package/dist/document-models/vetra-package/index.js +21 -0
  127. package/dist/document-models/vetra-package/src/reducers/meta.d.ts +2 -0
  128. package/dist/document-models/vetra-package/src/reducers/meta.js +34 -0
  129. package/dist/document-models/vetra-package/src/tests/document-model.test.d.ts +5 -0
  130. package/dist/document-models/vetra-package/src/tests/document-model.test.js +18 -0
  131. package/dist/document-models/vetra-package/src/tests/meta.test.d.ts +5 -0
  132. package/dist/document-models/vetra-package/src/tests/meta.test.js +80 -0
  133. package/dist/document-models/vetra-package/src/utils.d.ts +1 -0
  134. package/dist/document-models/vetra-package/src/utils.js +1 -0
  135. package/dist/editors/builder-account-editor/editor.d.ts +3 -0
  136. package/dist/editors/builder-account-editor/editor.js +202 -0
  137. package/dist/editors/builder-account-editor/index.d.ts +3 -0
  138. package/dist/editors/builder-account-editor/index.js +12 -0
  139. package/dist/editors/index.d.ts +2 -0
  140. package/dist/editors/index.js +1 -0
  141. package/dist/index.d.ts +4 -0
  142. package/dist/index.js +6 -0
  143. package/dist/powerhouse.manifest.json +29 -0
  144. package/dist/processors/factory.d.ts +7 -0
  145. package/dist/processors/factory.js +22 -0
  146. package/dist/processors/index.d.ts +2 -0
  147. package/dist/processors/index.js +1 -0
  148. package/dist/processors/vetra-read-model/factory.d.ts +3 -0
  149. package/dist/processors/vetra-read-model/factory.js +22 -0
  150. package/dist/processors/vetra-read-model/index.d.ts +28 -0
  151. package/dist/processors/vetra-read-model/index.js +349 -0
  152. package/dist/processors/vetra-read-model/migrations.d.ts +3 -0
  153. package/dist/processors/vetra-read-model/migrations.js +127 -0
  154. package/dist/processors/vetra-read-model/schema.d.ts +56 -0
  155. package/dist/processors/vetra-read-model/schema.js +1 -0
  156. package/dist/style.css +10598 -0
  157. package/dist/subgraphs/builder-account/index.d.ts +10 -0
  158. package/dist/subgraphs/builder-account/index.js +11 -0
  159. package/dist/subgraphs/builder-account/resolvers.d.ts +2 -0
  160. package/dist/subgraphs/builder-account/resolvers.js +276 -0
  161. package/dist/subgraphs/builder-account/schema.d.ts +2 -0
  162. package/dist/subgraphs/builder-account/schema.js +267 -0
  163. package/dist/subgraphs/index.d.ts +4 -0
  164. package/dist/subgraphs/index.js +3 -0
  165. package/dist/subgraphs/vetra/index.d.ts +10 -0
  166. package/dist/subgraphs/vetra/index.js +11 -0
  167. package/dist/subgraphs/vetra/resolvers.d.ts +2 -0
  168. package/dist/subgraphs/vetra/resolvers.js +10 -0
  169. package/dist/subgraphs/vetra/schema.d.ts +2 -0
  170. package/dist/subgraphs/vetra/schema.js +9 -0
  171. package/dist/subgraphs/vetra-package/index.d.ts +10 -0
  172. package/dist/subgraphs/vetra-package/index.js +11 -0
  173. package/dist/subgraphs/vetra-package/resolvers.d.ts +2 -0
  174. package/dist/subgraphs/vetra-package/resolvers.js +168 -0
  175. package/dist/subgraphs/vetra-package/schema.d.ts +2 -0
  176. package/dist/subgraphs/vetra-package/schema.js +123 -0
  177. package/dist/subgraphs/vetra-read-model/index.d.ts +10 -0
  178. package/dist/subgraphs/vetra-read-model/index.js +11 -0
  179. package/dist/subgraphs/vetra-read-model/resolvers.d.ts +2 -0
  180. package/dist/subgraphs/vetra-read-model/resolvers.js +134 -0
  181. package/dist/subgraphs/vetra-read-model/schema.d.ts +2 -0
  182. package/dist/subgraphs/vetra-read-model/schema.js +69 -0
  183. package/dist/vitest.config.d.ts +2 -0
  184. package/dist/vitest.config.js +8 -0
  185. package/package.json +131 -0
@@ -0,0 +1,10 @@
1
+ import { Subgraph } from "@powerhousedao/reactor-api";
2
+ import type { DocumentNode } from "graphql";
3
+ export declare class BuilderAccountSubgraph extends Subgraph {
4
+ name: string;
5
+ typeDefs: DocumentNode;
6
+ resolvers: Record<string, unknown>;
7
+ additionalContextFields: {};
8
+ onSetup(): Promise<void>;
9
+ onDisconnect(): Promise<void>;
10
+ }
@@ -0,0 +1,11 @@
1
+ import { Subgraph } from "@powerhousedao/reactor-api";
2
+ import { schema } from "./schema.js";
3
+ import { getResolvers } from "./resolvers.js";
4
+ export class BuilderAccountSubgraph extends Subgraph {
5
+ name = "builder-account";
6
+ typeDefs = schema;
7
+ resolvers = getResolvers(this);
8
+ additionalContextFields = {};
9
+ async onSetup() { }
10
+ async onDisconnect() { }
11
+ }
@@ -0,0 +1,2 @@
1
+ import { type Subgraph } from "@powerhousedao/reactor-api";
2
+ export declare const getResolvers: (subgraph: Subgraph) => Record<string, unknown>;
@@ -0,0 +1,276 @@
1
+ import { addFile } from "document-drive";
2
+ import { actions, } from "../../document-models/builder-account/index.js";
3
+ import { setName } from "document-model";
4
+ export const getResolvers = (subgraph) => {
5
+ const reactor = subgraph.reactor;
6
+ return {
7
+ Query: {
8
+ BuilderAccount: async () => {
9
+ return {
10
+ getDocument: async (args) => {
11
+ const { docId, driveId } = args;
12
+ if (!docId) {
13
+ throw new Error("Document id is required");
14
+ }
15
+ if (driveId) {
16
+ const docIds = await reactor.getDocuments(driveId);
17
+ if (!docIds.includes(docId)) {
18
+ throw new Error(`Document with id ${docId} is not part of ${driveId}`);
19
+ }
20
+ }
21
+ const doc = await reactor.getDocument(docId);
22
+ return {
23
+ driveId: driveId,
24
+ ...doc,
25
+ ...doc.header,
26
+ created: doc.header.createdAtUtcIso,
27
+ lastModified: doc.header.lastModifiedAtUtcIso,
28
+ state: doc.state.global,
29
+ stateJSON: doc.state.global,
30
+ revision: doc.header?.revision?.global ?? 0,
31
+ };
32
+ },
33
+ getDocuments: async (args) => {
34
+ const { driveId } = args;
35
+ const docsIds = await reactor.getDocuments(driveId);
36
+ const docs = await Promise.all(docsIds.map(async (docId) => {
37
+ const doc = await reactor.getDocument(docId);
38
+ return {
39
+ driveId: driveId,
40
+ ...doc,
41
+ ...doc.header,
42
+ created: doc.header.createdAtUtcIso,
43
+ lastModified: doc.header.lastModifiedAtUtcIso,
44
+ state: doc.state.global,
45
+ stateJSON: doc.state.global,
46
+ revision: doc.header?.revision?.global ?? 0,
47
+ };
48
+ }));
49
+ return docs.filter((doc) => doc.header.documentType === "powerhouse/vetra/builder-account");
50
+ },
51
+ };
52
+ },
53
+ },
54
+ Mutation: {
55
+ BuilderAccount_createDocument: async (_, args) => {
56
+ const { driveId, name } = args;
57
+ const document = await reactor.addDocument("powerhouse/vetra/builder-account");
58
+ if (driveId) {
59
+ await reactor.addAction(driveId, addFile({
60
+ name,
61
+ id: document.header.id,
62
+ documentType: "powerhouse/vetra/builder-account",
63
+ }));
64
+ }
65
+ if (name) {
66
+ await reactor.addAction(document.header.id, setName(name));
67
+ }
68
+ return document.header.id;
69
+ },
70
+ BuilderAccount_setLogo: async (_, args) => {
71
+ const { docId, input } = args;
72
+ const doc = await reactor.getDocument(docId);
73
+ if (!doc) {
74
+ throw new Error("Document not found");
75
+ }
76
+ const result = await reactor.addAction(docId, actions.setLogo(input));
77
+ if (result.status !== "SUCCESS") {
78
+ throw new Error(result.error?.message ?? "Failed to setLogo");
79
+ }
80
+ return true;
81
+ },
82
+ BuilderAccount_setProfileName: async (_, args) => {
83
+ const { docId, input } = args;
84
+ const doc = await reactor.getDocument(docId);
85
+ if (!doc) {
86
+ throw new Error("Document not found");
87
+ }
88
+ const result = await reactor.addAction(docId, actions.setProfileName(input));
89
+ if (result.status !== "SUCCESS") {
90
+ throw new Error(result.error?.message ?? "Failed to setProfileName");
91
+ }
92
+ return true;
93
+ },
94
+ BuilderAccount_setSlug: async (_, args) => {
95
+ const { docId, input } = args;
96
+ const doc = await reactor.getDocument(docId);
97
+ if (!doc) {
98
+ throw new Error("Document not found");
99
+ }
100
+ const result = await reactor.addAction(docId, actions.setSlug(input));
101
+ if (result.status !== "SUCCESS") {
102
+ throw new Error(result.error?.message ?? "Failed to setSlug");
103
+ }
104
+ return true;
105
+ },
106
+ BuilderAccount_setProfileDescription: async (_, args) => {
107
+ const { docId, input } = args;
108
+ const doc = await reactor.getDocument(docId);
109
+ if (!doc) {
110
+ throw new Error("Document not found");
111
+ }
112
+ const result = await reactor.addAction(docId, actions.setProfileDescription(input));
113
+ if (result.status !== "SUCCESS") {
114
+ throw new Error(result.error?.message ?? "Failed to setProfileDescription");
115
+ }
116
+ return true;
117
+ },
118
+ BuilderAccount_updateSocials: async (_, args) => {
119
+ const { docId, input } = args;
120
+ const doc = await reactor.getDocument(docId);
121
+ if (!doc) {
122
+ throw new Error("Document not found");
123
+ }
124
+ const result = await reactor.addAction(docId, actions.updateSocials(input));
125
+ if (result.status !== "SUCCESS") {
126
+ throw new Error(result.error?.message ?? "Failed to updateSocials");
127
+ }
128
+ return true;
129
+ },
130
+ BuilderAccount_addMember: async (_, args) => {
131
+ const { docId, input } = args;
132
+ const doc = await reactor.getDocument(docId);
133
+ if (!doc) {
134
+ throw new Error("Document not found");
135
+ }
136
+ const result = await reactor.addAction(docId, actions.addMember(input));
137
+ if (result.status !== "SUCCESS") {
138
+ throw new Error(result.error?.message ?? "Failed to addMember");
139
+ }
140
+ return true;
141
+ },
142
+ BuilderAccount_removeMember: async (_, args) => {
143
+ const { docId, input } = args;
144
+ const doc = await reactor.getDocument(docId);
145
+ if (!doc) {
146
+ throw new Error("Document not found");
147
+ }
148
+ const result = await reactor.addAction(docId, actions.removeMember(input));
149
+ if (result.status !== "SUCCESS") {
150
+ throw new Error(result.error?.message ?? "Failed to removeMember");
151
+ }
152
+ return true;
153
+ },
154
+ BuilderAccount_addSpace: async (_, args) => {
155
+ const { docId, input } = args;
156
+ const doc = await reactor.getDocument(docId);
157
+ if (!doc) {
158
+ throw new Error("Document not found");
159
+ }
160
+ const result = await reactor.addAction(docId, actions.addSpace(input));
161
+ if (result.status !== "SUCCESS") {
162
+ throw new Error(result.error?.message ?? "Failed to addSpace");
163
+ }
164
+ return true;
165
+ },
166
+ BuilderAccount_deleteSpace: async (_, args) => {
167
+ const { docId, input } = args;
168
+ const doc = await reactor.getDocument(docId);
169
+ if (!doc) {
170
+ throw new Error("Document not found");
171
+ }
172
+ const result = await reactor.addAction(docId, actions.deleteSpace(input));
173
+ if (result.status !== "SUCCESS") {
174
+ throw new Error(result.error?.message ?? "Failed to deleteSpace");
175
+ }
176
+ return true;
177
+ },
178
+ BuilderAccount_setSpaceTitle: async (_, args) => {
179
+ const { docId, input } = args;
180
+ const doc = await reactor.getDocument(docId);
181
+ if (!doc) {
182
+ throw new Error("Document not found");
183
+ }
184
+ const result = await reactor.addAction(docId, actions.setSpaceTitle(input));
185
+ if (result.status !== "SUCCESS") {
186
+ throw new Error(result.error?.message ?? "Failed to setSpaceTitle");
187
+ }
188
+ return true;
189
+ },
190
+ BuilderAccount_setSpaceDescription: async (_, args) => {
191
+ const { docId, input } = args;
192
+ const doc = await reactor.getDocument(docId);
193
+ if (!doc) {
194
+ throw new Error("Document not found");
195
+ }
196
+ const result = await reactor.addAction(docId, actions.setSpaceDescription(input));
197
+ if (result.status !== "SUCCESS") {
198
+ throw new Error(result.error?.message ?? "Failed to setSpaceDescription");
199
+ }
200
+ return true;
201
+ },
202
+ BuilderAccount_reorderSpaces: async (_, args) => {
203
+ const { docId, input } = args;
204
+ const doc = await reactor.getDocument(docId);
205
+ if (!doc) {
206
+ throw new Error("Document not found");
207
+ }
208
+ const result = await reactor.addAction(docId, actions.reorderSpaces(input));
209
+ if (result.status !== "SUCCESS") {
210
+ throw new Error(result.error?.message ?? "Failed to reorderSpaces");
211
+ }
212
+ return true;
213
+ },
214
+ BuilderAccount_addPackage: async (_, args) => {
215
+ const { docId, input } = args;
216
+ const doc = await reactor.getDocument(docId);
217
+ if (!doc) {
218
+ throw new Error("Document not found");
219
+ }
220
+ const result = await reactor.addAction(docId, actions.addPackage(input));
221
+ if (result.status !== "SUCCESS") {
222
+ throw new Error(result.error?.message ?? "Failed to addPackage");
223
+ }
224
+ return true;
225
+ },
226
+ BuilderAccount_setPackageDriveId: async (_, args) => {
227
+ const { docId, input } = args;
228
+ const doc = await reactor.getDocument(docId);
229
+ if (!doc) {
230
+ throw new Error("Document not found");
231
+ }
232
+ const result = await reactor.addAction(docId, actions.setPackageDriveId(input));
233
+ if (result.status !== "SUCCESS") {
234
+ throw new Error(result.error?.message ?? "Failed to setPackageDriveId");
235
+ }
236
+ return true;
237
+ },
238
+ BuilderAccount_updatePackage: async (_, args) => {
239
+ const { docId, input } = args;
240
+ const doc = await reactor.getDocument(docId);
241
+ if (!doc) {
242
+ throw new Error("Document not found");
243
+ }
244
+ const result = await reactor.addAction(docId, actions.updatePackage(input));
245
+ if (result.status !== "SUCCESS") {
246
+ throw new Error(result.error?.message ?? "Failed to updatePackage");
247
+ }
248
+ return true;
249
+ },
250
+ BuilderAccount_reorderPackages: async (_, args) => {
251
+ const { docId, input } = args;
252
+ const doc = await reactor.getDocument(docId);
253
+ if (!doc) {
254
+ throw new Error("Document not found");
255
+ }
256
+ const result = await reactor.addAction(docId, actions.reorderPackages(input));
257
+ if (result.status !== "SUCCESS") {
258
+ throw new Error(result.error?.message ?? "Failed to reorderPackages");
259
+ }
260
+ return true;
261
+ },
262
+ BuilderAccount_deletePackage: async (_, args) => {
263
+ const { docId, input } = args;
264
+ const doc = await reactor.getDocument(docId);
265
+ if (!doc) {
266
+ throw new Error("Document not found");
267
+ }
268
+ const result = await reactor.addAction(docId, actions.deletePackage(input));
269
+ if (result.status !== "SUCCESS") {
270
+ throw new Error(result.error?.message ?? "Failed to deletePackage");
271
+ }
272
+ return true;
273
+ },
274
+ },
275
+ };
276
+ };
@@ -0,0 +1,2 @@
1
+ import type { DocumentNode } from "graphql";
2
+ export declare const schema: DocumentNode;
@@ -0,0 +1,267 @@
1
+ import { gql } from "graphql-tag";
2
+ export const schema = gql `
3
+ """
4
+ Subgraph definition for BuilderAccount (powerhouse/vetra/builder-account)
5
+ """
6
+ type BuilderAccountState {
7
+ profile: VetraBuilderProfile!
8
+ members: [EthereumAddress!]!
9
+ spaces: [VetraBuilderSpace!]!
10
+ }
11
+
12
+ type VetraBuilderProfile {
13
+ logo: URL
14
+ name: String!
15
+ slug: String!
16
+ description: String
17
+ socials: VetraBuilderSocials!
18
+ }
19
+
20
+ type VetraBuilderSocials {
21
+ xProfile: URL
22
+ github: URL
23
+ website: URL
24
+ }
25
+
26
+ type VetraBuilderSpace {
27
+ id: OID!
28
+ title: String!
29
+ description: String
30
+ packages: [VetraBuilderPackage!]!
31
+ }
32
+
33
+ type VetraBuilderPackage {
34
+ id: OID!
35
+ name: String!
36
+ description: String
37
+ category: String
38
+ author: VetraBuilderPackageAuthor!
39
+ keywords: [VetraBuilderPackageKeyword!]!
40
+ github: URL
41
+ npm: URL
42
+ vetraDriveUrl: URL
43
+ }
44
+
45
+ type VetraBuilderPackageAuthor {
46
+ name: String!
47
+ website: URL
48
+ }
49
+
50
+ type VetraBuilderPackageKeyword {
51
+ id: OID!
52
+ label: String!
53
+ }
54
+
55
+ """
56
+ Queries: BuilderAccount
57
+ """
58
+ type BuilderAccountQueries {
59
+ getDocument(docId: PHID!, driveId: PHID): BuilderAccount
60
+ getDocuments(driveId: String!): [BuilderAccount!]
61
+ }
62
+
63
+ type Query {
64
+ BuilderAccount: BuilderAccountQueries
65
+ }
66
+
67
+ """
68
+ Mutations: BuilderAccount
69
+ """
70
+ type Mutation {
71
+ BuilderAccount_createDocument(name: String!, driveId: String): String
72
+
73
+ BuilderAccount_setLogo(
74
+ driveId: String
75
+ docId: PHID
76
+ input: BuilderAccount_SetLogoInput
77
+ ): Int
78
+ BuilderAccount_setProfileName(
79
+ driveId: String
80
+ docId: PHID
81
+ input: BuilderAccount_SetProfileNameInput
82
+ ): Int
83
+ BuilderAccount_setSlug(
84
+ driveId: String
85
+ docId: PHID
86
+ input: BuilderAccount_SetSlugInput
87
+ ): Int
88
+ BuilderAccount_setProfileDescription(
89
+ driveId: String
90
+ docId: PHID
91
+ input: BuilderAccount_SetProfileDescriptionInput
92
+ ): Int
93
+ BuilderAccount_updateSocials(
94
+ driveId: String
95
+ docId: PHID
96
+ input: BuilderAccount_UpdateSocialsInput
97
+ ): Int
98
+ BuilderAccount_addMember(
99
+ driveId: String
100
+ docId: PHID
101
+ input: BuilderAccount_AddMemberInput
102
+ ): Int
103
+ BuilderAccount_removeMember(
104
+ driveId: String
105
+ docId: PHID
106
+ input: BuilderAccount_RemoveMemberInput
107
+ ): Int
108
+ BuilderAccount_addSpace(
109
+ driveId: String
110
+ docId: PHID
111
+ input: BuilderAccount_AddSpaceInput
112
+ ): Int
113
+ BuilderAccount_deleteSpace(
114
+ driveId: String
115
+ docId: PHID
116
+ input: BuilderAccount_DeleteSpaceInput
117
+ ): Int
118
+ BuilderAccount_setSpaceTitle(
119
+ driveId: String
120
+ docId: PHID
121
+ input: BuilderAccount_SetSpaceTitleInput
122
+ ): Int
123
+ BuilderAccount_setSpaceDescription(
124
+ driveId: String
125
+ docId: PHID
126
+ input: BuilderAccount_SetSpaceDescriptionInput
127
+ ): Int
128
+ BuilderAccount_reorderSpaces(
129
+ driveId: String
130
+ docId: PHID
131
+ input: BuilderAccount_ReorderSpacesInput
132
+ ): Int
133
+ BuilderAccount_addPackage(
134
+ driveId: String
135
+ docId: PHID
136
+ input: BuilderAccount_AddPackageInput
137
+ ): Int
138
+ BuilderAccount_setPackageDriveId(
139
+ driveId: String
140
+ docId: PHID
141
+ input: BuilderAccount_SetPackageDriveIdInput
142
+ ): Int
143
+ BuilderAccount_updatePackage(
144
+ driveId: String
145
+ docId: PHID
146
+ input: BuilderAccount_UpdatePackageInput
147
+ ): Int
148
+ BuilderAccount_reorderPackages(
149
+ driveId: String
150
+ docId: PHID
151
+ input: BuilderAccount_ReorderPackagesInput
152
+ ): Int
153
+ BuilderAccount_deletePackage(
154
+ driveId: String
155
+ docId: PHID
156
+ input: BuilderAccount_DeletePackageInput
157
+ ): Int
158
+ }
159
+
160
+ """
161
+ Module: Profile
162
+ """
163
+ input BuilderAccount_SetLogoInput {
164
+ "Add your inputs here"
165
+ logoUrl: String!
166
+ }
167
+ input BuilderAccount_SetProfileNameInput {
168
+ "Add your inputs here"
169
+ name: String!
170
+ }
171
+ input BuilderAccount_SetSlugInput {
172
+ "Add your inputs here"
173
+ slug: String!
174
+ }
175
+ input BuilderAccount_SetProfileDescriptionInput {
176
+ "Add your inputs here"
177
+ description: String
178
+ }
179
+ input BuilderAccount_UpdateSocialsInput {
180
+ "Add your inputs here"
181
+ x: URL
182
+ github: URL
183
+ website: URL
184
+ }
185
+
186
+ """
187
+ Module: Members
188
+ """
189
+ input BuilderAccount_AddMemberInput {
190
+ "Add your inputs here"
191
+ ethAddress: EthereumAddress
192
+ }
193
+ input BuilderAccount_RemoveMemberInput {
194
+ "Add your inputs here"
195
+ ethAddress: EthereumAddress
196
+ }
197
+
198
+ """
199
+ Module: Spaces
200
+ """
201
+ input BuilderAccount_AddSpaceInput {
202
+ "Add your inputs here"
203
+ title: String!
204
+ description: String
205
+ }
206
+ input BuilderAccount_DeleteSpaceInput {
207
+ "Add your inputs here"
208
+ id: OID!
209
+ }
210
+ input BuilderAccount_SetSpaceTitleInput {
211
+ "Add your inputs here"
212
+ id: OID!
213
+ newTitle: String!
214
+ }
215
+ input BuilderAccount_SetSpaceDescriptionInput {
216
+ "Add your inputs here"
217
+ id: OID!
218
+ description: String!
219
+ }
220
+ input BuilderAccount_ReorderSpacesInput {
221
+ "Add your inputs here"
222
+ ids: [OID!]!
223
+ insertAfter: OID
224
+ }
225
+
226
+ """
227
+ Module: Packages
228
+ """
229
+ input BuilderAccount_AuthorInput {
230
+ name: String!
231
+ website: URL
232
+ }
233
+
234
+ input AddPackageInput {
235
+ "Add your inputs here"
236
+ spaceId: OID!
237
+ name: String!
238
+ description: String
239
+ category: String
240
+ author: AuthorInput
241
+ keywords: [String!]
242
+ github: URL
243
+ npm: URL
244
+ vetraDriveUrl: URL
245
+ }
246
+ input BuilderAccount_SetPackageDriveIdInput {
247
+ "Add your inputs here"
248
+ packageId: OID!
249
+ driveId: String
250
+ }
251
+ input BuilderAccount_UpdatePackageInput {
252
+ "Add your inputs here"
253
+ id: OID!
254
+ title: String
255
+ description: String
256
+ }
257
+ input BuilderAccount_ReorderPackagesInput {
258
+ "Add your inputs here"
259
+ spaceId: OID!
260
+ ids: [OID!]!
261
+ insertAfter: OID
262
+ }
263
+ input BuilderAccount_DeletePackageInput {
264
+ "Add your inputs here"
265
+ id: OID!
266
+ }
267
+ `;
@@ -0,0 +1,4 @@
1
+ export {};
2
+ export * as BuilderAccountSubgraph from "./builder-account/index.js";
3
+ export * as VetraPackageSubgraph from "./vetra-package/index.js";
4
+ export * as VetraReadModelSubgraph from "./vetra-read-model/index.js";
@@ -0,0 +1,3 @@
1
+ export * as BuilderAccountSubgraph from "./builder-account/index.js";
2
+ export * as VetraPackageSubgraph from "./vetra-package/index.js";
3
+ export * as VetraReadModelSubgraph from "./vetra-read-model/index.js";
@@ -0,0 +1,10 @@
1
+ import { Subgraph } from "@powerhousedao/reactor-api";
2
+ import type { DocumentNode } from "graphql";
3
+ export declare class VetraSubgraph extends Subgraph {
4
+ name: string;
5
+ typeDefs: DocumentNode;
6
+ resolvers: Record<string, unknown>;
7
+ additionalContextFields: {};
8
+ onSetup(): Promise<void>;
9
+ onDisconnect(): Promise<void>;
10
+ }
@@ -0,0 +1,11 @@
1
+ import { Subgraph } from "@powerhousedao/reactor-api";
2
+ import { schema } from "./schema.js";
3
+ import { getResolvers } from "./resolvers.js";
4
+ export class VetraSubgraph extends Subgraph {
5
+ name = "vetra";
6
+ typeDefs = schema;
7
+ resolvers = getResolvers(this);
8
+ additionalContextFields = {};
9
+ async onSetup() { }
10
+ async onDisconnect() { }
11
+ }
@@ -0,0 +1,2 @@
1
+ import { type Subgraph } from "@powerhousedao/reactor-api";
2
+ export declare const getResolvers: (subgraph: Subgraph) => Record<string, unknown>;
@@ -0,0 +1,10 @@
1
+ export const getResolvers = (subgraph) => {
2
+ const reactor = subgraph.reactor;
3
+ return {
4
+ Query: {
5
+ example: async (parent, args) => {
6
+ return "example";
7
+ },
8
+ },
9
+ };
10
+ };
@@ -0,0 +1,2 @@
1
+ import type { DocumentNode } from "graphql";
2
+ export declare const schema: DocumentNode;
@@ -0,0 +1,9 @@
1
+ import { gql } from "graphql-tag";
2
+ export const schema = gql `
3
+ """
4
+ Subgraph definition
5
+ """
6
+ type Query {
7
+ example(driveId: String!): String
8
+ }
9
+ `;
@@ -0,0 +1,10 @@
1
+ import { Subgraph } from "@powerhousedao/reactor-api";
2
+ import type { DocumentNode } from "graphql";
3
+ export declare class VetraPackageSubgraph extends Subgraph {
4
+ name: string;
5
+ typeDefs: DocumentNode;
6
+ resolvers: Record<string, unknown>;
7
+ additionalContextFields: {};
8
+ onSetup(): Promise<void>;
9
+ onDisconnect(): Promise<void>;
10
+ }
@@ -0,0 +1,11 @@
1
+ import { Subgraph } from "@powerhousedao/reactor-api";
2
+ import { schema } from "./schema.js";
3
+ import { getResolvers } from "./resolvers.js";
4
+ export class VetraPackageSubgraph extends Subgraph {
5
+ name = "vetra-package";
6
+ typeDefs = schema;
7
+ resolvers = getResolvers(this);
8
+ additionalContextFields = {};
9
+ async onSetup() { }
10
+ async onDisconnect() { }
11
+ }
@@ -0,0 +1,2 @@
1
+ import { type Subgraph } from "@powerhousedao/reactor-api";
2
+ export declare const getResolvers: (subgraph: Subgraph) => Record<string, unknown>;