@powerhousedao/reactor-api 4.1.0-dev.55 → 4.1.0-dev.57

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 (174) hide show
  1. package/dist/codegen.d.ts +4 -0
  2. package/dist/codegen.d.ts.map +1 -0
  3. package/dist/codegen.js +37 -0
  4. package/dist/codegen.js.map +1 -0
  5. package/dist/index.d.ts +5 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +5 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/src/graphql/{analytics/index.d.ts → analytics-subgraph.d.ts} +4 -4
  10. package/dist/src/graphql/analytics-subgraph.d.ts.map +1 -0
  11. package/dist/src/graphql/{analytics/index.js → analytics-subgraph.js} +3 -3
  12. package/dist/src/graphql/analytics-subgraph.js.map +1 -0
  13. package/dist/src/graphql/base-subgraph.d.ts +17 -0
  14. package/dist/src/graphql/base-subgraph.d.ts.map +1 -0
  15. package/dist/src/graphql/{base/index.js → base-subgraph.js} +4 -2
  16. package/dist/src/graphql/base-subgraph.js.map +1 -0
  17. package/dist/src/graphql/{drive/index.d.ts → drive-subgraph.d.ts} +4 -4
  18. package/dist/src/graphql/drive-subgraph.d.ts.map +1 -0
  19. package/dist/src/graphql/{drive/index.js → drive-subgraph.js} +5 -6
  20. package/dist/src/graphql/drive-subgraph.js.map +1 -0
  21. package/dist/src/graphql/graphql-manager.d.ts +7 -8
  22. package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
  23. package/dist/src/graphql/graphql-manager.js +2 -6
  24. package/dist/src/graphql/graphql-manager.js.map +1 -1
  25. package/dist/src/graphql/index.d.ts +7 -8
  26. package/dist/src/graphql/index.d.ts.map +1 -1
  27. package/dist/src/graphql/index.js +7 -19
  28. package/dist/src/graphql/index.js.map +1 -1
  29. package/dist/src/graphql/reactor/adapters.d.ts +28 -0
  30. package/dist/src/graphql/reactor/adapters.d.ts.map +1 -0
  31. package/dist/src/graphql/reactor/adapters.js +90 -0
  32. package/dist/src/graphql/reactor/adapters.js.map +1 -0
  33. package/dist/src/graphql/reactor/factory.d.ts +3 -3
  34. package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
  35. package/dist/src/graphql/reactor/gen/graphql.d.ts +109 -56
  36. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
  37. package/dist/src/graphql/reactor/gen/graphql.js +7 -4
  38. package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
  39. package/dist/src/graphql/reactor/index.d.ts +1 -1
  40. package/dist/src/graphql/reactor/index.d.ts.map +1 -1
  41. package/dist/src/graphql/reactor/index.js +1 -0
  42. package/dist/src/graphql/reactor/index.js.map +1 -1
  43. package/dist/src/graphql/reactor/requester.d.ts.map +1 -1
  44. package/dist/src/graphql/reactor/requester.js.map +1 -1
  45. package/dist/src/graphql/reactor/requester.with-zod.d.ts +1 -1
  46. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +1 -1
  47. package/dist/src/graphql/reactor/requester.with-zod.js.map +1 -1
  48. package/dist/src/graphql/reactor/resolvers.d.ts +60 -0
  49. package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -0
  50. package/dist/src/graphql/reactor/resolvers.js +173 -0
  51. package/dist/src/graphql/reactor/resolvers.js.map +1 -0
  52. package/dist/src/graphql/reactor/subgraph.d.ts +4 -4
  53. package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
  54. package/dist/src/graphql/reactor/subgraph.js +56 -26
  55. package/dist/src/graphql/reactor/subgraph.js.map +1 -1
  56. package/dist/src/graphql/reactor/validation.d.ts +42 -42
  57. package/dist/src/graphql/system/index.d.ts +2 -30
  58. package/dist/src/graphql/system/index.d.ts.map +1 -1
  59. package/dist/src/graphql/system/index.js +2 -95
  60. package/dist/src/graphql/system/index.js.map +1 -1
  61. package/dist/src/graphql/system/system-subgraph.d.ts +33 -0
  62. package/dist/src/graphql/system/system-subgraph.d.ts.map +1 -0
  63. package/dist/src/graphql/system/system-subgraph.js +96 -0
  64. package/dist/src/graphql/system/system-subgraph.js.map +1 -0
  65. package/dist/src/graphql/system/types.d.ts +1 -2
  66. package/dist/src/graphql/system/types.d.ts.map +1 -1
  67. package/dist/src/graphql/{drive/temp-hack-rwa-type-defs.d.ts → temp-hack-rwa-type-defs.d.ts} +2 -2
  68. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +1 -0
  69. package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +1 -0
  70. package/dist/src/graphql/types.d.ts +4 -3
  71. package/dist/src/graphql/types.d.ts.map +1 -1
  72. package/dist/src/graphql/utils.d.ts +3 -0
  73. package/dist/src/graphql/utils.d.ts.map +1 -0
  74. package/dist/src/graphql/utils.js +13 -0
  75. package/dist/src/graphql/utils.js.map +1 -0
  76. package/dist/src/packages/import-loader.d.ts +3 -3
  77. package/dist/src/packages/import-loader.d.ts.map +1 -1
  78. package/dist/src/packages/import-loader.js.map +1 -1
  79. package/dist/src/packages/package-manager.d.ts +1 -1
  80. package/dist/src/packages/package-manager.d.ts.map +1 -1
  81. package/dist/src/packages/package-manager.js +1 -1
  82. package/dist/src/packages/package-manager.js.map +1 -1
  83. package/dist/src/packages/types.d.ts +2 -2
  84. package/dist/src/packages/types.d.ts.map +1 -1
  85. package/dist/src/packages/util.d.ts +2 -2
  86. package/dist/src/packages/util.d.ts.map +1 -1
  87. package/dist/src/packages/util.js +1 -1
  88. package/dist/src/packages/util.js.map +1 -1
  89. package/dist/src/packages/vite-loader.d.ts +1 -1
  90. package/dist/src/packages/vite-loader.d.ts.map +1 -1
  91. package/dist/src/packages/vite-loader.js.map +1 -1
  92. package/dist/src/server.d.ts +1 -2
  93. package/dist/src/server.d.ts.map +1 -1
  94. package/dist/src/server.js +9 -16
  95. package/dist/src/server.js.map +1 -1
  96. package/dist/src/sync/types.d.ts +10 -0
  97. package/dist/src/sync/types.d.ts.map +1 -0
  98. package/dist/src/sync/types.js +2 -0
  99. package/dist/src/sync/types.js.map +1 -0
  100. package/dist/src/sync/utils.d.ts +1 -9
  101. package/dist/src/sync/utils.d.ts.map +1 -1
  102. package/dist/src/sync/utils.js +1 -1
  103. package/dist/src/sync/utils.js.map +1 -1
  104. package/dist/src/types.d.ts +2 -3
  105. package/dist/src/types.d.ts.map +1 -1
  106. package/dist/src/utils/create-schema.d.ts +1 -1
  107. package/dist/src/utils/create-schema.d.ts.map +1 -1
  108. package/dist/src/utils/create-schema.js +4 -4
  109. package/dist/src/utils/create-schema.js.map +1 -1
  110. package/dist/test/benchmarks/load.bench.d.ts +2 -0
  111. package/dist/test/benchmarks/load.bench.d.ts.map +1 -0
  112. package/dist/test/benchmarks/load.bench.js +73 -0
  113. package/dist/test/benchmarks/load.bench.js.map +1 -0
  114. package/dist/test/benchmarks/sync.bench.d.ts +2 -0
  115. package/dist/test/benchmarks/sync.bench.d.ts.map +1 -0
  116. package/dist/test/benchmarks/sync.bench.js +119 -0
  117. package/dist/test/benchmarks/sync.bench.js.map +1 -0
  118. package/dist/test/drive-handlers.d.ts +4 -0
  119. package/dist/test/drive-handlers.d.ts.map +1 -0
  120. package/dist/test/drive-handlers.js +39 -0
  121. package/dist/test/drive-handlers.js.map +1 -0
  122. package/dist/test/drive.test.d.ts +2 -0
  123. package/dist/test/drive.test.d.ts.map +1 -0
  124. package/dist/test/drive.test.js +140 -0
  125. package/dist/test/drive.test.js.map +1 -0
  126. package/dist/test/index.d.ts +3 -0
  127. package/dist/test/index.d.ts.map +1 -0
  128. package/dist/test/index.js +3 -0
  129. package/dist/test/index.js.map +1 -0
  130. package/dist/test/pull-responder-transmitter.test.d.ts +2 -0
  131. package/dist/test/pull-responder-transmitter.test.d.ts.map +1 -0
  132. package/dist/test/pull-responder-transmitter.test.js +159 -0
  133. package/dist/test/pull-responder-transmitter.test.js.map +1 -0
  134. package/dist/test/push-transmitter.test.d.ts +2 -0
  135. package/dist/test/push-transmitter.test.d.ts.map +1 -0
  136. package/dist/test/push-transmitter.test.js +178 -0
  137. package/dist/test/push-transmitter.test.js.map +1 -0
  138. package/dist/test/reactor-client.test.d.ts +2 -0
  139. package/dist/test/reactor-client.test.d.ts.map +1 -0
  140. package/dist/test/reactor-client.test.js +212 -0
  141. package/dist/test/reactor-client.test.js.map +1 -0
  142. package/dist/test/reactor-resolvers.test.d.ts +2 -0
  143. package/dist/test/reactor-resolvers.test.d.ts.map +1 -0
  144. package/dist/test/reactor-resolvers.test.js +556 -0
  145. package/dist/test/reactor-resolvers.test.js.map +1 -0
  146. package/dist/test/router.test.d.ts +2 -0
  147. package/dist/test/router.test.d.ts.map +1 -0
  148. package/dist/test/router.test.js +38 -0
  149. package/dist/test/router.test.js.map +1 -0
  150. package/dist/test/system.test.d.ts +2 -0
  151. package/dist/test/system.test.d.ts.map +1 -0
  152. package/dist/test/system.test.js +210 -0
  153. package/dist/test/system.test.js.map +1 -0
  154. package/dist/test/utils.d.ts +10 -0
  155. package/dist/test/utils.d.ts.map +1 -0
  156. package/dist/test/utils.js +23 -0
  157. package/dist/test/utils.js.map +1 -0
  158. package/dist/tsconfig.tsbuildinfo +1 -0
  159. package/dist/vitest.config.d.ts +3 -0
  160. package/dist/vitest.config.d.ts.map +1 -0
  161. package/dist/vitest.config.js +24 -0
  162. package/dist/vitest.config.js.map +1 -0
  163. package/package.json +15 -26
  164. package/dist/src/graphql/analytics/index.d.ts.map +0 -1
  165. package/dist/src/graphql/analytics/index.js.map +0 -1
  166. package/dist/src/graphql/base/index.d.ts +0 -17
  167. package/dist/src/graphql/base/index.d.ts.map +0 -1
  168. package/dist/src/graphql/base/index.js.map +0 -1
  169. package/dist/src/graphql/drive/index.d.ts.map +0 -1
  170. package/dist/src/graphql/drive/index.js.map +0 -1
  171. package/dist/src/graphql/drive/temp-hack-rwa-type-defs.d.ts.map +0 -1
  172. package/dist/src/graphql/drive/temp-hack-rwa-type-defs.js.map +0 -1
  173. package/dist/tsconfig.lib.tsbuildinfo +0 -1
  174. /package/dist/src/graphql/{drive/temp-hack-rwa-type-defs.js → temp-hack-rwa-type-defs.js} +0 -0
@@ -0,0 +1,556 @@
1
+ import { JobStatus } from "@powerhousedao/reactor";
2
+ import { beforeEach, describe, expect, it, vi } from "vitest";
3
+ import * as resolvers from "../src/graphql/reactor/resolvers.js";
4
+ describe("ReactorSubgraph Query Resolvers", () => {
5
+ let mockReactorClient;
6
+ beforeEach(() => {
7
+ vi.clearAllMocks();
8
+ // Create fresh mock for each test
9
+ mockReactorClient = {
10
+ getDocumentModels: vi.fn(),
11
+ get: vi.fn(),
12
+ getChildren: vi.fn(),
13
+ getParents: vi.fn(),
14
+ find: vi.fn(),
15
+ getJobStatus: vi.fn(),
16
+ waitForJob: vi.fn(),
17
+ create: vi.fn(),
18
+ createEmpty: vi.fn(),
19
+ mutate: vi.fn(),
20
+ mutateAsync: vi.fn(),
21
+ rename: vi.fn(),
22
+ addChildren: vi.fn(),
23
+ removeChildren: vi.fn(),
24
+ moveChildren: vi.fn(),
25
+ deleteDocument: vi.fn(),
26
+ deleteDocuments: vi.fn(),
27
+ subscribe: vi.fn(),
28
+ };
29
+ });
30
+ describe("documentModels", () => {
31
+ it("should transform document models to GraphQL format", async () => {
32
+ const mockDocumentModels = {
33
+ results: [
34
+ {
35
+ id: "model-1",
36
+ name: "powerhouse/document-model",
37
+ author: { name: "Test Author", website: "https://test.com" },
38
+ description: "Test description",
39
+ extension: "phdm",
40
+ specifications: [
41
+ {
42
+ version: 1,
43
+ changeLog: ["Initial version"],
44
+ modules: [],
45
+ state: {
46
+ global: {
47
+ schema: "{}",
48
+ initialValue: "{}",
49
+ examples: [],
50
+ },
51
+ local: {
52
+ schema: "{}",
53
+ initialValue: "{}",
54
+ examples: [],
55
+ },
56
+ },
57
+ },
58
+ ],
59
+ },
60
+ {
61
+ id: "model-2",
62
+ name: "example/test-model",
63
+ author: { name: "Example Author", website: null },
64
+ description: "Example model",
65
+ extension: "test",
66
+ specifications: [],
67
+ },
68
+ ],
69
+ options: {
70
+ cursor: "test-cursor",
71
+ limit: 10,
72
+ },
73
+ };
74
+ vi.mocked(mockReactorClient.getDocumentModels).mockResolvedValue(mockDocumentModels);
75
+ const result = await resolvers.documentModels(mockReactorClient, {
76
+ namespace: "powerhouse",
77
+ paging: { cursor: "test-cursor", limit: 10 },
78
+ });
79
+ expect(result).toEqual({
80
+ cursor: "test-cursor",
81
+ hasNextPage: false,
82
+ hasPreviousPage: false,
83
+ items: [
84
+ {
85
+ id: "model-1",
86
+ name: "powerhouse/document-model",
87
+ namespace: "powerhouse",
88
+ specification: mockDocumentModels.results[0].specifications[0],
89
+ version: null,
90
+ },
91
+ {
92
+ id: "model-2",
93
+ name: "example/test-model",
94
+ namespace: "example",
95
+ specification: null,
96
+ version: null,
97
+ },
98
+ ],
99
+ totalCount: 2,
100
+ });
101
+ });
102
+ it("should extract namespace from model name", async () => {
103
+ const mockDocumentModels = {
104
+ results: [
105
+ {
106
+ id: "model-1",
107
+ name: "custom-namespace/my-model",
108
+ author: { name: "Author", website: null },
109
+ description: "Description",
110
+ extension: "ext",
111
+ specifications: [],
112
+ },
113
+ ],
114
+ options: { cursor: "", limit: 10 },
115
+ };
116
+ vi.mocked(mockReactorClient.getDocumentModels).mockResolvedValue(mockDocumentModels);
117
+ const result = await resolvers.documentModels(mockReactorClient, {});
118
+ expect(result.items[0].namespace).toBe("custom-namespace");
119
+ });
120
+ });
121
+ describe("document", () => {
122
+ it("should transform document to GraphQL format with revision list", async () => {
123
+ const mockDocument = {
124
+ header: {
125
+ id: "doc-1",
126
+ name: "Test Document",
127
+ documentType: "powerhouse/document-model",
128
+ slug: "test-doc",
129
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
130
+ lastModifiedAtUtcIso: "2024-01-02T00:00:00Z",
131
+ branch: "main",
132
+ sig: {
133
+ publicKey: {},
134
+ nonce: "test-nonce",
135
+ },
136
+ revision: {
137
+ global: 5,
138
+ local: 2,
139
+ custom: 3,
140
+ },
141
+ },
142
+ state: { data: "test-state" },
143
+ history: {},
144
+ initialState: {},
145
+ operations: {},
146
+ clipboard: [],
147
+ };
148
+ vi.mocked(mockReactorClient.get).mockResolvedValue({
149
+ document: mockDocument,
150
+ childIds: ["child-1", "child-2"],
151
+ });
152
+ const result = await resolvers.document(mockReactorClient, {
153
+ identifier: "doc-1",
154
+ });
155
+ expect(result).toEqual({
156
+ document: {
157
+ id: "doc-1",
158
+ name: "Test Document",
159
+ documentType: "powerhouse/document-model",
160
+ slug: "test-doc",
161
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
162
+ lastModifiedAtUtcIso: "2024-01-02T00:00:00Z",
163
+ revisionsList: [
164
+ { scope: "global", revision: 5 },
165
+ { scope: "local", revision: 2 },
166
+ { scope: "custom", revision: 3 },
167
+ ],
168
+ state: { data: "test-state" },
169
+ },
170
+ childIds: ["child-1", "child-2"],
171
+ });
172
+ });
173
+ it("should handle empty revision object", async () => {
174
+ const mockDocument = {
175
+ header: {
176
+ id: "doc-1",
177
+ name: "Test Document",
178
+ documentType: "powerhouse/document-model",
179
+ slug: "test-doc",
180
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
181
+ lastModifiedAtUtcIso: "2024-01-02T00:00:00Z",
182
+ branch: "main",
183
+ sig: {
184
+ publicKey: {},
185
+ nonce: "test-nonce",
186
+ },
187
+ revision: {},
188
+ },
189
+ state: {},
190
+ history: {},
191
+ initialState: {},
192
+ operations: {},
193
+ clipboard: [],
194
+ };
195
+ vi.mocked(mockReactorClient.get).mockResolvedValue({
196
+ document: mockDocument,
197
+ childIds: [],
198
+ });
199
+ const result = await resolvers.document(mockReactorClient, {
200
+ identifier: "doc-1",
201
+ });
202
+ expect(result.document.revisionsList).toEqual([]);
203
+ });
204
+ });
205
+ describe("documentChildren", () => {
206
+ it("should transform children documents to GraphQL format", async () => {
207
+ const mockChildren = {
208
+ results: [
209
+ {
210
+ header: {
211
+ id: "child-1",
212
+ name: "Child 1",
213
+ documentType: "type-1",
214
+ slug: "child-1",
215
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
216
+ lastModifiedAtUtcIso: "2024-01-01T00:00:00Z",
217
+ branch: "main",
218
+ sig: {
219
+ publicKey: {},
220
+ nonce: "test-nonce",
221
+ },
222
+ revision: { global: 1 },
223
+ },
224
+ state: { childData: "test" },
225
+ history: {},
226
+ initialState: {},
227
+ operations: {},
228
+ clipboard: [],
229
+ },
230
+ {
231
+ header: {
232
+ id: "child-2",
233
+ name: "Child 2",
234
+ documentType: "type-2",
235
+ slug: "child-2",
236
+ createdAtUtcIso: "2024-01-02T00:00:00Z",
237
+ lastModifiedAtUtcIso: "2024-01-02T00:00:00Z",
238
+ branch: "main",
239
+ sig: {
240
+ publicKey: {},
241
+ nonce: "test-nonce",
242
+ },
243
+ revision: { global: 2, local: 1 },
244
+ },
245
+ state: { childData: "test2" },
246
+ history: {},
247
+ initialState: {},
248
+ operations: {},
249
+ clipboard: [],
250
+ },
251
+ ],
252
+ options: {
253
+ cursor: "child-cursor",
254
+ limit: 10,
255
+ },
256
+ };
257
+ vi.mocked(mockReactorClient.getChildren).mockResolvedValue(mockChildren);
258
+ const result = await resolvers.documentChildren(mockReactorClient, {
259
+ parentIdentifier: "parent-1",
260
+ });
261
+ expect(result).toEqual({
262
+ cursor: "child-cursor",
263
+ hasNextPage: false,
264
+ hasPreviousPage: false,
265
+ items: [
266
+ {
267
+ id: "child-1",
268
+ name: "Child 1",
269
+ documentType: "type-1",
270
+ slug: "child-1",
271
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
272
+ lastModifiedAtUtcIso: "2024-01-01T00:00:00Z",
273
+ revisionsList: [{ scope: "global", revision: 1 }],
274
+ state: { childData: "test" },
275
+ },
276
+ {
277
+ id: "child-2",
278
+ name: "Child 2",
279
+ documentType: "type-2",
280
+ slug: "child-2",
281
+ createdAtUtcIso: "2024-01-02T00:00:00Z",
282
+ lastModifiedAtUtcIso: "2024-01-02T00:00:00Z",
283
+ revisionsList: [
284
+ { scope: "global", revision: 2 },
285
+ { scope: "local", revision: 1 },
286
+ ],
287
+ state: { childData: "test2" },
288
+ },
289
+ ],
290
+ totalCount: 2,
291
+ });
292
+ });
293
+ it("should handle empty cursor as null", async () => {
294
+ const mockChildren = {
295
+ results: [],
296
+ options: {
297
+ cursor: "",
298
+ limit: 5,
299
+ },
300
+ };
301
+ vi.mocked(mockReactorClient.getChildren).mockResolvedValue(mockChildren);
302
+ const result = await resolvers.documentChildren(mockReactorClient, {
303
+ parentIdentifier: "parent-1",
304
+ });
305
+ expect(result.cursor).toBeNull();
306
+ });
307
+ });
308
+ describe("documentParents", () => {
309
+ it("should transform parent documents to GraphQL format", async () => {
310
+ const mockParents = {
311
+ results: [
312
+ {
313
+ header: {
314
+ id: "parent-1",
315
+ name: "Parent 1",
316
+ documentType: "folder",
317
+ slug: "parent-1",
318
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
319
+ lastModifiedAtUtcIso: "2024-01-01T00:00:00Z",
320
+ branch: "main",
321
+ sig: {
322
+ publicKey: {},
323
+ nonce: "test-nonce",
324
+ },
325
+ revision: { global: 10, local: 5, branch: 2 },
326
+ },
327
+ state: { parentData: "test" },
328
+ history: {},
329
+ initialState: {},
330
+ operations: {},
331
+ clipboard: [],
332
+ },
333
+ ],
334
+ options: {
335
+ cursor: "parent-cursor",
336
+ limit: 10,
337
+ },
338
+ };
339
+ vi.mocked(mockReactorClient.getParents).mockResolvedValue(mockParents);
340
+ const result = await resolvers.documentParents(mockReactorClient, {
341
+ childIdentifier: "child-1",
342
+ });
343
+ expect(result).toEqual({
344
+ cursor: "parent-cursor",
345
+ hasNextPage: false,
346
+ hasPreviousPage: false,
347
+ items: [
348
+ {
349
+ id: "parent-1",
350
+ name: "Parent 1",
351
+ documentType: "folder",
352
+ slug: "parent-1",
353
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
354
+ lastModifiedAtUtcIso: "2024-01-01T00:00:00Z",
355
+ revisionsList: [
356
+ { scope: "global", revision: 10 },
357
+ { scope: "local", revision: 5 },
358
+ { scope: "branch", revision: 2 },
359
+ ],
360
+ state: { parentData: "test" },
361
+ },
362
+ ],
363
+ totalCount: 1,
364
+ });
365
+ });
366
+ });
367
+ describe("findDocuments", () => {
368
+ it("should transform found documents to GraphQL format", async () => {
369
+ const mockDocuments = {
370
+ results: [
371
+ {
372
+ header: {
373
+ id: "doc-1",
374
+ name: "Document 1",
375
+ documentType: "powerhouse/document-model",
376
+ slug: "doc-1",
377
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
378
+ lastModifiedAtUtcIso: "2024-01-01T00:00:00Z",
379
+ branch: "main",
380
+ sig: {
381
+ publicKey: {},
382
+ nonce: "test-nonce",
383
+ },
384
+ revision: { global: 1 },
385
+ },
386
+ state: { doc1Data: "test" },
387
+ history: {},
388
+ initialState: {},
389
+ operations: {},
390
+ clipboard: [],
391
+ },
392
+ {
393
+ header: {
394
+ id: "doc-2",
395
+ name: "Document 2",
396
+ documentType: "powerhouse/document-model",
397
+ slug: "doc-2",
398
+ createdAtUtcIso: "2024-01-02T00:00:00Z",
399
+ lastModifiedAtUtcIso: "2024-01-02T00:00:00Z",
400
+ branch: "main",
401
+ sig: {
402
+ publicKey: {},
403
+ nonce: "test-nonce",
404
+ },
405
+ revision: { global: 2 },
406
+ },
407
+ state: { doc2Data: "test" },
408
+ history: {},
409
+ initialState: {},
410
+ operations: {},
411
+ clipboard: [],
412
+ },
413
+ ],
414
+ options: {
415
+ cursor: "search-cursor",
416
+ limit: 10,
417
+ },
418
+ };
419
+ vi.mocked(mockReactorClient.find).mockResolvedValue(mockDocuments);
420
+ const result = await resolvers.findDocuments(mockReactorClient, {
421
+ search: {
422
+ type: "powerhouse/document-model",
423
+ parentId: "parent-1",
424
+ },
425
+ });
426
+ expect(result).toEqual({
427
+ cursor: "search-cursor",
428
+ hasNextPage: false,
429
+ hasPreviousPage: false,
430
+ items: [
431
+ {
432
+ id: "doc-1",
433
+ name: "Document 1",
434
+ documentType: "powerhouse/document-model",
435
+ slug: "doc-1",
436
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
437
+ lastModifiedAtUtcIso: "2024-01-01T00:00:00Z",
438
+ revisionsList: [{ scope: "global", revision: 1 }],
439
+ state: { doc1Data: "test" },
440
+ },
441
+ {
442
+ id: "doc-2",
443
+ name: "Document 2",
444
+ documentType: "powerhouse/document-model",
445
+ slug: "doc-2",
446
+ createdAtUtcIso: "2024-01-02T00:00:00Z",
447
+ lastModifiedAtUtcIso: "2024-01-02T00:00:00Z",
448
+ revisionsList: [{ scope: "global", revision: 2 }],
449
+ state: { doc2Data: "test" },
450
+ },
451
+ ],
452
+ totalCount: 2,
453
+ });
454
+ });
455
+ });
456
+ describe("jobStatus", () => {
457
+ it("should transform completed job with all fields", async () => {
458
+ const mockJobInfo = {
459
+ id: "job-123",
460
+ status: JobStatus.COMPLETED,
461
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
462
+ completedAtUtcIso: "2024-01-01T00:05:00Z",
463
+ result: { success: true, data: "test" },
464
+ };
465
+ vi.mocked(mockReactorClient.getJobStatus).mockResolvedValue(mockJobInfo);
466
+ const result = await resolvers.jobStatus(mockReactorClient, {
467
+ jobId: "job-123",
468
+ });
469
+ expect(result).toEqual({
470
+ id: "job-123",
471
+ status: JobStatus.COMPLETED,
472
+ createdAt: "2024-01-01T00:00:00Z",
473
+ completedAt: "2024-01-01T00:05:00Z",
474
+ error: null,
475
+ result: { success: true, data: "test" },
476
+ });
477
+ });
478
+ it("should transform failed job with error", async () => {
479
+ const mockJobInfo = {
480
+ id: "job-456",
481
+ status: JobStatus.FAILED,
482
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
483
+ error: "Job failed due to timeout",
484
+ };
485
+ vi.mocked(mockReactorClient.getJobStatus).mockResolvedValue(mockJobInfo);
486
+ const result = await resolvers.jobStatus(mockReactorClient, {
487
+ jobId: "job-456",
488
+ });
489
+ expect(result).toEqual({
490
+ id: "job-456",
491
+ status: JobStatus.FAILED,
492
+ createdAt: "2024-01-01T00:00:00Z",
493
+ completedAt: null,
494
+ error: "Job failed due to timeout",
495
+ result: null,
496
+ });
497
+ });
498
+ it("should transform pending job with minimal fields", async () => {
499
+ const mockJobInfo = {
500
+ id: "job-789",
501
+ status: JobStatus.PENDING,
502
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
503
+ };
504
+ vi.mocked(mockReactorClient.getJobStatus).mockResolvedValue(mockJobInfo);
505
+ const result = await resolvers.jobStatus(mockReactorClient, {
506
+ jobId: "job-789",
507
+ });
508
+ expect(result).toEqual({
509
+ id: "job-789",
510
+ status: JobStatus.PENDING,
511
+ createdAt: "2024-01-01T00:00:00Z",
512
+ completedAt: null,
513
+ error: null,
514
+ result: null,
515
+ });
516
+ });
517
+ it("should handle undefined optional fields as null", async () => {
518
+ const mockJobInfo = {
519
+ id: "job-999",
520
+ status: JobStatus.RUNNING,
521
+ createdAtUtcIso: "2024-01-01T00:00:00Z",
522
+ completedAtUtcIso: undefined,
523
+ error: undefined,
524
+ result: undefined,
525
+ };
526
+ vi.mocked(mockReactorClient.getJobStatus).mockResolvedValue(mockJobInfo);
527
+ const result = await resolvers.jobStatus(mockReactorClient, {
528
+ jobId: "job-999",
529
+ });
530
+ expect(result.completedAt).toBeNull();
531
+ expect(result.error).toBeNull();
532
+ expect(result.result).toBeNull();
533
+ });
534
+ });
535
+ describe("Error handling", () => {
536
+ it("should wrap ReactorClient errors with descriptive messages", async () => {
537
+ vi.mocked(mockReactorClient.getDocumentModels).mockRejectedValue(new Error("Network timeout"));
538
+ await expect(resolvers.documentModels(mockReactorClient, {})).rejects.toThrow("Failed to fetch document models: Network timeout");
539
+ });
540
+ it("should handle unknown error types", async () => {
541
+ vi.mocked(mockReactorClient.get).mockRejectedValue("String error");
542
+ await expect(resolvers.document(mockReactorClient, { identifier: "doc-1" })).rejects.toThrow("Failed to fetch document: Unknown error");
543
+ });
544
+ it("should handle conversion errors separately from fetch errors", async () => {
545
+ const invalidDocument = {
546
+ header: null, // Invalid structure
547
+ };
548
+ vi.mocked(mockReactorClient.get).mockResolvedValue({
549
+ document: invalidDocument,
550
+ childIds: [],
551
+ });
552
+ await expect(resolvers.document(mockReactorClient, { identifier: "doc-1" })).rejects.toThrow("Failed to convert document to GraphQL");
553
+ });
554
+ });
555
+ });
556
+ //# sourceMappingURL=reactor-resolvers.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactor-resolvers.test.js","sourceRoot":"","sources":["../../test/reactor-resolvers.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=router.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.test.d.ts","sourceRoot":"","sources":["../../test/router.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { documentModelDocumentModelModule } from "document-model";
2
+ import { describe, expect, it } from "vitest";
3
+ const documentModels = [
4
+ documentModelDocumentModelModule,
5
+ ];
6
+ describe.skip("Reactor Router", () => {
7
+ it("should be initialized", () => {
8
+ // const app = express();
9
+ // const knex = getDbClient();
10
+ // const reactor = new ReactorBuilder(documentModels).build();
11
+ // const reactorRouter = new GraphQLManager("/", app, reactor, knex);
12
+ expect(true).toBe(true);
13
+ });
14
+ // it("should be able to add a new subgraph", async () => {
15
+ // const driveServer = new ReactorBuilder(documentModels).build();
16
+ // await driveServer.initialize();
17
+ // const newSubgraph = {
18
+ // name: "newSubgraph",
19
+ // getSchema: (documentDriveServer: IDocumentDriveServer) =>
20
+ // buildSubgraphSchema([
21
+ // {
22
+ // typeDefs: getDocumentModelTypeDefs(
23
+ // documentDriveServer,
24
+ // `
25
+ // type Query {
26
+ // hello: String
27
+ // }
28
+ // `,
29
+ // ),
30
+ // resolvers: { Query: { hello: () => "world" } },
31
+ // },
32
+ // ]),
33
+ // };
34
+ // await addSubgraph(newSubgraph);
35
+ // expect(reactorRouter.stack.length).gte(3);
36
+ // });
37
+ });
38
+ //# sourceMappingURL=router.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.test.js","sourceRoot":"","sources":["../../test/router.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,MAAM,cAAc,GAAG;IACrB,gCAAgC;CACG,CAAC;AAEtC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,yBAAyB;QACzB,8BAA8B;QAC9B,8DAA8D;QAC9D,qEAAqE;QACrE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,2DAA2D;IAC3D,oEAAoE;IACpE,oCAAoC;IACpC,0BAA0B;IAC1B,2BAA2B;IAC3B,gEAAgE;IAChE,8BAA8B;IAC9B,YAAY;IACZ,gDAAgD;IAChD,mCAAmC;IACnC,gBAAgB;IAChB,2BAA2B;IAC3B,8BAA8B;IAC9B,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,4DAA4D;IAC5D,aAAa;IACb,YAAY;IACZ,OAAO;IAEP,oCAAoC;IACpC,+CAA+C;IAC/C,MAAM;AACR,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=system.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.test.d.ts","sourceRoot":"","sources":["../../test/system.test.ts"],"names":[],"mappings":""}