@powerhousedao/reactor-api 6.0.0-dev.6 → 6.0.0-dev.61

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 (211) hide show
  1. package/dist/codegen.js +1 -1
  2. package/dist/codegen.js.map +1 -1
  3. package/dist/src/config.d.ts +1 -2
  4. package/dist/src/config.d.ts.map +1 -1
  5. package/dist/src/config.js +1 -5
  6. package/dist/src/config.js.map +1 -1
  7. package/dist/src/graphql/auth/resolvers.d.ts +17 -0
  8. package/dist/src/graphql/auth/resolvers.d.ts.map +1 -1
  9. package/dist/src/graphql/auth/resolvers.js +54 -0
  10. package/dist/src/graphql/auth/resolvers.js.map +1 -1
  11. package/dist/src/graphql/auth/schema.graphql +27 -5
  12. package/dist/src/graphql/auth/subgraph.d.ts +25 -0
  13. package/dist/src/graphql/auth/subgraph.d.ts.map +1 -1
  14. package/dist/src/graphql/auth/subgraph.js +45 -1
  15. package/dist/src/graphql/auth/subgraph.js.map +1 -1
  16. package/dist/src/graphql/base-subgraph.d.ts +12 -3
  17. package/dist/src/graphql/base-subgraph.d.ts.map +1 -1
  18. package/dist/src/graphql/base-subgraph.js +94 -0
  19. package/dist/src/graphql/base-subgraph.js.map +1 -1
  20. package/dist/src/graphql/document-model-subgraph.d.ts +28 -43
  21. package/dist/src/graphql/document-model-subgraph.d.ts.map +1 -1
  22. package/dist/src/graphql/document-model-subgraph.js +425 -83
  23. package/dist/src/graphql/document-model-subgraph.js.map +1 -1
  24. package/dist/src/graphql/drive-subgraph.d.ts.map +1 -1
  25. package/dist/src/graphql/drive-subgraph.js +47 -35
  26. package/dist/src/graphql/drive-subgraph.js.map +1 -1
  27. package/dist/src/graphql/graphql-manager.d.ts +13 -5
  28. package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
  29. package/dist/src/graphql/graphql-manager.js +206 -137
  30. package/dist/src/graphql/graphql-manager.js.map +1 -1
  31. package/dist/src/graphql/index.d.ts +1 -0
  32. package/dist/src/graphql/index.d.ts.map +1 -1
  33. package/dist/src/graphql/index.js +1 -0
  34. package/dist/src/graphql/index.js.map +1 -1
  35. package/dist/src/graphql/reactor/adapters.d.ts +10 -2
  36. package/dist/src/graphql/reactor/adapters.d.ts.map +1 -1
  37. package/dist/src/graphql/reactor/adapters.js +35 -1
  38. package/dist/src/graphql/reactor/adapters.js.map +1 -1
  39. package/dist/src/graphql/reactor/factory.d.ts +12 -1
  40. package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
  41. package/dist/src/graphql/reactor/factory.js +1 -1
  42. package/dist/src/graphql/reactor/factory.js.map +1 -1
  43. package/dist/src/graphql/reactor/gen/graphql.d.ts +221 -76
  44. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
  45. package/dist/src/graphql/reactor/gen/graphql.js +129 -10
  46. package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
  47. package/dist/src/graphql/reactor/index.d.ts +1 -1
  48. package/dist/src/graphql/reactor/index.d.ts.map +1 -1
  49. package/dist/src/graphql/reactor/index.js +1 -1
  50. package/dist/src/graphql/reactor/index.js.map +1 -1
  51. package/dist/src/graphql/reactor/operations.graphql +84 -1
  52. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +1 -1
  53. package/dist/src/graphql/reactor/requester.with-zod.js +104 -38
  54. package/dist/src/graphql/reactor/requester.with-zod.js.map +1 -1
  55. package/dist/src/graphql/reactor/resolvers.d.ts +77 -25
  56. package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
  57. package/dist/src/graphql/reactor/resolvers.js +164 -70
  58. package/dist/src/graphql/reactor/resolvers.js.map +1 -1
  59. package/dist/src/graphql/reactor/schema.graphql +70 -30
  60. package/dist/src/graphql/reactor/subgraph.d.ts +2 -31
  61. package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
  62. package/dist/src/graphql/reactor/subgraph.js +132 -209
  63. package/dist/src/graphql/reactor/subgraph.js.map +1 -1
  64. package/dist/src/graphql/reactor/validation.d.ts +23 -5
  65. package/dist/src/graphql/reactor/validation.d.ts.map +1 -1
  66. package/dist/src/graphql/reactor/validation.js +15 -1
  67. package/dist/src/graphql/reactor/validation.js.map +1 -1
  68. package/dist/src/graphql/system/index.d.ts +0 -1
  69. package/dist/src/graphql/system/index.d.ts.map +1 -1
  70. package/dist/src/graphql/system/index.js +0 -1
  71. package/dist/src/graphql/system/index.js.map +1 -1
  72. package/dist/src/graphql/types.d.ts +6 -5
  73. package/dist/src/graphql/types.d.ts.map +1 -1
  74. package/dist/src/graphql/utils.d.ts.map +1 -1
  75. package/dist/src/graphql/utils.js +7 -3
  76. package/dist/src/graphql/utils.js.map +1 -1
  77. package/dist/src/migrations/002_add_document_protection.d.ts +4 -0
  78. package/dist/src/migrations/002_add_document_protection.d.ts.map +1 -0
  79. package/dist/src/migrations/002_add_document_protection.js +18 -0
  80. package/dist/src/migrations/002_add_document_protection.js.map +1 -0
  81. package/dist/src/migrations/index.d.ts.map +1 -1
  82. package/dist/src/migrations/index.js +2 -0
  83. package/dist/src/migrations/index.js.map +1 -1
  84. package/dist/src/packages/import-loader.d.ts +5 -3
  85. package/dist/src/packages/import-loader.d.ts.map +1 -1
  86. package/dist/src/packages/import-loader.js +19 -10
  87. package/dist/src/packages/import-loader.js.map +1 -1
  88. package/dist/src/packages/package-manager.d.ts +2 -2
  89. package/dist/src/packages/package-manager.d.ts.map +1 -1
  90. package/dist/src/packages/package-manager.js.map +1 -1
  91. package/dist/src/packages/types.d.ts +9 -4
  92. package/dist/src/packages/types.d.ts.map +1 -1
  93. package/dist/src/packages/util.d.ts +3 -2
  94. package/dist/src/packages/util.d.ts.map +1 -1
  95. package/dist/src/packages/util.js +1 -1
  96. package/dist/src/packages/util.js.map +1 -1
  97. package/dist/src/packages/vite-loader.d.ts +10 -8
  98. package/dist/src/packages/vite-loader.d.ts.map +1 -1
  99. package/dist/src/packages/vite-loader.js +33 -10
  100. package/dist/src/packages/vite-loader.js.map +1 -1
  101. package/dist/src/server.d.ts +18 -11
  102. package/dist/src/server.d.ts.map +1 -1
  103. package/dist/src/server.js +147 -90
  104. package/dist/src/server.js.map +1 -1
  105. package/dist/src/services/auth.service.d.ts +0 -12
  106. package/dist/src/services/auth.service.d.ts.map +1 -1
  107. package/dist/src/services/auth.service.js +13 -40
  108. package/dist/src/services/auth.service.js.map +1 -1
  109. package/dist/src/services/authorization.service.d.ts +70 -0
  110. package/dist/src/services/authorization.service.d.ts.map +1 -0
  111. package/dist/src/services/authorization.service.js +155 -0
  112. package/dist/src/services/authorization.service.js.map +1 -0
  113. package/dist/src/services/document-permission.service.d.ts +47 -7
  114. package/dist/src/services/document-permission.service.d.ts.map +1 -1
  115. package/dist/src/services/document-permission.service.js +162 -7
  116. package/dist/src/services/document-permission.service.js.map +1 -1
  117. package/dist/src/tracing.js +3 -1
  118. package/dist/src/tracing.js.map +1 -1
  119. package/dist/src/types.d.ts +5 -5
  120. package/dist/src/types.d.ts.map +1 -1
  121. package/dist/src/utils/auth.d.ts +1 -1
  122. package/dist/src/utils/auth.d.ts.map +1 -1
  123. package/dist/src/utils/auth.js +5 -12
  124. package/dist/src/utils/auth.js.map +1 -1
  125. package/dist/src/utils/create-schema.d.ts +21 -1
  126. package/dist/src/utils/create-schema.d.ts.map +1 -1
  127. package/dist/src/utils/create-schema.js +289 -16
  128. package/dist/src/utils/create-schema.js.map +1 -1
  129. package/dist/src/utils/db.d.ts +8 -0
  130. package/dist/src/utils/db.d.ts.map +1 -1
  131. package/dist/src/utils/db.js.map +1 -1
  132. package/dist/src/utils/drive-url.d.ts +2 -0
  133. package/dist/src/utils/drive-url.d.ts.map +1 -0
  134. package/dist/src/utils/drive-url.js +3 -0
  135. package/dist/src/utils/drive-url.js.map +1 -0
  136. package/dist/src/utils/index.d.ts +1 -0
  137. package/dist/src/utils/index.d.ts.map +1 -1
  138. package/dist/src/utils/index.js +1 -0
  139. package/dist/src/utils/index.js.map +1 -1
  140. package/dist/test/authorization.service.test.d.ts +2 -0
  141. package/dist/test/authorization.service.test.d.ts.map +1 -0
  142. package/dist/test/authorization.service.test.js +252 -0
  143. package/dist/test/authorization.service.test.js.map +1 -0
  144. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +2 -0
  145. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +1 -0
  146. package/dist/test/connect-switchboard-reshuffle-convergence.test.js +203 -0
  147. package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +1 -0
  148. package/dist/test/connect-switchboard-sync.test.d.ts +2 -0
  149. package/dist/test/connect-switchboard-sync.test.d.ts.map +1 -0
  150. package/dist/test/connect-switchboard-sync.test.js +581 -0
  151. package/dist/test/connect-switchboard-sync.test.js.map +1 -0
  152. package/dist/test/document-drive-subgraph.test.d.ts +2 -0
  153. package/dist/test/document-drive-subgraph.test.d.ts.map +1 -0
  154. package/dist/test/document-drive-subgraph.test.js +186 -0
  155. package/dist/test/document-drive-subgraph.test.js.map +1 -0
  156. package/dist/test/document-model-subgraph-legacy-permissions.test.d.ts +2 -0
  157. package/dist/test/document-model-subgraph-legacy-permissions.test.d.ts.map +1 -0
  158. package/dist/test/document-model-subgraph-legacy-permissions.test.js +460 -0
  159. package/dist/test/document-model-subgraph-legacy-permissions.test.js.map +1 -0
  160. package/dist/test/document-model-subgraph-permissions.test.d.ts +2 -0
  161. package/dist/test/document-model-subgraph-permissions.test.d.ts.map +1 -0
  162. package/dist/test/document-model-subgraph-permissions.test.js +573 -0
  163. package/dist/test/document-model-subgraph-permissions.test.js.map +1 -0
  164. package/dist/test/document-model-subgraph.test.d.ts +2 -0
  165. package/dist/test/document-model-subgraph.test.d.ts.map +1 -0
  166. package/dist/test/document-model-subgraph.test.js +439 -0
  167. package/dist/test/document-model-subgraph.test.js.map +1 -0
  168. package/dist/test/drive-handlers.js +1 -1
  169. package/dist/test/drive-handlers.js.map +1 -1
  170. package/dist/test/drive-info-endpoint.test.d.ts +2 -0
  171. package/dist/test/drive-info-endpoint.test.d.ts.map +1 -0
  172. package/dist/test/drive-info-endpoint.test.js +123 -0
  173. package/dist/test/drive-info-endpoint.test.js.map +1 -0
  174. package/dist/test/drive-subgraph-permissions.test.js +1 -30
  175. package/dist/test/drive-subgraph-permissions.test.js.map +1 -1
  176. package/dist/test/permissions-integration.test.js +5 -19
  177. package/dist/test/permissions-integration.test.js.map +1 -1
  178. package/dist/test/push-backfill.test.d.ts +2 -0
  179. package/dist/test/push-backfill.test.d.ts.map +1 -0
  180. package/dist/test/push-backfill.test.js +298 -0
  181. package/dist/test/push-backfill.test.js.map +1 -0
  182. package/dist/test/reactor-client.test.js +4 -4
  183. package/dist/test/reactor-client.test.js.map +1 -1
  184. package/dist/test/reactor-resolvers.test.js +8 -11
  185. package/dist/test/reactor-resolvers.test.js.map +1 -1
  186. package/dist/test/reactor-subgraph-permissions.test.js +6 -35
  187. package/dist/test/reactor-subgraph-permissions.test.js.map +1 -1
  188. package/dist/test/subscriptions.test.js +2 -0
  189. package/dist/test/subscriptions.test.js.map +1 -1
  190. package/dist/test/utils/gql-resolver-bridge.d.ts +4 -1
  191. package/dist/test/utils/gql-resolver-bridge.d.ts.map +1 -1
  192. package/dist/test/utils/gql-resolver-bridge.js +36 -7
  193. package/dist/test/utils/gql-resolver-bridge.js.map +1 -1
  194. package/dist/tsconfig.tsbuildinfo +1 -1
  195. package/package.json +44 -55
  196. package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
  197. package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
  198. package/dist/src/graphql/system/system-subgraph.js +0 -130
  199. package/dist/src/graphql/system/system-subgraph.js.map +0 -1
  200. package/dist/test/system.test.d.ts +0 -2
  201. package/dist/test/system.test.d.ts.map +0 -1
  202. package/dist/test/system.test.js +0 -211
  203. package/dist/test/system.test.js.map +0 -1
  204. package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
  205. package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
  206. package/dist/test/three-reactor-gql-sync.test.js +0 -368
  207. package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
  208. package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
  209. package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
  210. package/dist/test/two-reactor-gql-sync.test.js +0 -348
  211. package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { SyncOperation, } from "@powerhousedao/reactor";
1
+ import { batchOperationsByDocument, consolidateSyncOperations, sortEnvelopesByFirstOperationTimestamp, SyncOperation, trimMailboxFromAckOrdinal, } from "@powerhousedao/reactor";
2
2
  import { GraphQLError } from "graphql";
3
- import { fromInputMaybe, toDocumentModelResultPage, toGqlJobInfo, toGqlPhDocument, toMutableArray, toPhDocumentResultPage, validateActions, } from "./adapters.js";
3
+ import { fromInputMaybe, serializeOperationForGraphQL, toDocumentModelResultPage, toGqlJobInfo, toGqlPhDocument, toMutableArray, toOperationResultPage, toPhDocumentResultPage, validateActions, } from "./adapters.js";
4
4
  export async function documentModels(reactorClient, args) {
5
5
  const namespace = fromInputMaybe(args.namespace);
6
6
  let paging;
@@ -43,10 +43,17 @@ export async function document(reactorClient, args) {
43
43
  catch (error) {
44
44
  throw new GraphQLError(`Failed to fetch document: ${error instanceof Error ? error.message : "Unknown error"}`);
45
45
  }
46
+ let children;
47
+ try {
48
+ children = await reactorClient.getChildren(args.identifier, view);
49
+ }
50
+ catch (error) {
51
+ throw new GraphQLError(`Failed to fetch children: ${error instanceof Error ? error.message : "Unknown error"}`);
52
+ }
46
53
  try {
47
54
  return {
48
- document: toGqlPhDocument(result.document),
49
- childIds: result.childIds,
55
+ document: toGqlPhDocument(result),
56
+ childIds: children.results.map((child) => child.header.id),
50
57
  };
51
58
  }
52
59
  catch (error) {
@@ -171,6 +178,54 @@ export async function jobStatus(reactorClient, args) {
171
178
  throw new GraphQLError(`Failed to convert job status to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
172
179
  }
173
180
  }
181
+ export async function documentOperations(reactorClient, args) {
182
+ let view;
183
+ const branch = fromInputMaybe(args.filter.branch);
184
+ const scopes = toMutableArray(fromInputMaybe(args.filter.scopes));
185
+ if (branch || scopes) {
186
+ view = { branch, scopes };
187
+ }
188
+ const actionTypes = toMutableArray(fromInputMaybe(args.filter.actionTypes));
189
+ const sinceRevision = fromInputMaybe(args.filter.sinceRevision);
190
+ const timestampFrom = fromInputMaybe(args.filter.timestampFrom);
191
+ const timestampTo = fromInputMaybe(args.filter.timestampTo);
192
+ let operationFilter;
193
+ if ((actionTypes && actionTypes.length > 0) ||
194
+ sinceRevision !== undefined ||
195
+ timestampFrom ||
196
+ timestampTo) {
197
+ operationFilter = {
198
+ actionTypes: actionTypes && actionTypes.length > 0 ? actionTypes : undefined,
199
+ sinceRevision,
200
+ timestampFrom: timestampFrom || undefined,
201
+ timestampTo: timestampTo || undefined,
202
+ };
203
+ }
204
+ let paging;
205
+ if (args.paging) {
206
+ const cursor = fromInputMaybe(args.paging.cursor);
207
+ const limit = fromInputMaybe(args.paging.limit);
208
+ if (cursor || limit) {
209
+ paging = {
210
+ cursor: cursor || "",
211
+ limit: limit || 100,
212
+ };
213
+ }
214
+ }
215
+ let result;
216
+ try {
217
+ result = await reactorClient.getOperations(args.filter.documentId, view, operationFilter, paging);
218
+ }
219
+ catch (error) {
220
+ throw new GraphQLError(`Failed to fetch document operations: ${error instanceof Error ? error.message : "Unknown error"}`);
221
+ }
222
+ try {
223
+ return toOperationResultPage(result);
224
+ }
225
+ catch (error) {
226
+ throw new GraphQLError(`Failed to convert operations to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
227
+ }
228
+ }
174
229
  export async function createDocument(reactorClient, args) {
175
230
  // Validate that document is a PHDocument
176
231
  if (!args.document || typeof args.document !== "object") {
@@ -265,11 +320,11 @@ export async function mutateDocumentAsync(reactorClient, args) {
265
320
  }
266
321
  return result.id;
267
322
  }
268
- export async function renameDocument(reactorClient, args) {
323
+ export async function renameDocument(reactorClient, args, signal) {
269
324
  const branch = fromInputMaybe(args.branch);
270
325
  let result;
271
326
  try {
272
- result = await reactorClient.rename(args.documentIdentifier, args.name, branch);
327
+ result = await reactorClient.rename(args.documentIdentifier, args.name, branch, signal);
273
328
  }
274
329
  catch (error) {
275
330
  throw new GraphQLError(`Failed to rename document: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -369,11 +424,14 @@ export async function touchChannel(syncManager, args) {
369
424
  scope: [...args.input.filter.scope],
370
425
  branch: args.input.filter.branch,
371
426
  };
427
+ const options = {
428
+ sinceTimestampUtcMs: args.input.sinceTimestampUtcMs,
429
+ };
372
430
  try {
373
431
  await syncManager.add(args.input.name, args.input.collectionId, {
374
432
  type: "polling",
375
433
  parameters: {},
376
- }, filter, {}, args.input.id);
434
+ }, filter, options, args.input.id);
377
435
  }
378
436
  catch (error) {
379
437
  throw new GraphQLError(`Failed to create channel: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -381,32 +439,17 @@ export async function touchChannel(syncManager, args) {
381
439
  return true;
382
440
  }
383
441
  /**
384
- * Transforms an operation to serialize signatures from tuples to strings
385
- * for GraphQL compatibility.
442
+ * Polls the switchboard for new sync envelopes and acknowledges previously
443
+ * received operations.
386
444
  *
387
- * The Signature type is a tuple [string, string, string, string, string],
388
- * but GraphQL expects [String!]! (flat array of strings).
445
+ * Ordinal frames of reference:
446
+ * - `outboxAck` / `outboxLatest`: switchboard's ordinals (used to trim/filter
447
+ * the switchboard's outbox)
448
+ * - `ackOrdinal` in the response: the pushing client's ordinals (highest
449
+ * client ordinal the switchboard has successfully applied, so the client
450
+ * can trim its own outbox)
389
451
  */
390
- function serializeOperationForGraphQL(operation) {
391
- const signer = operation.action.context?.signer;
392
- if (!signer?.signatures) {
393
- return operation;
394
- }
395
- return {
396
- ...operation,
397
- action: {
398
- ...operation.action,
399
- context: {
400
- ...operation.action.context,
401
- signer: {
402
- ...signer,
403
- signatures: signer.signatures.map((sig) => Array.isArray(sig) ? sig.join(", ") : sig),
404
- },
405
- },
406
- },
407
- };
408
- }
409
- export async function pollSyncEnvelopes(syncManager, args) {
452
+ export function pollSyncEnvelopes(syncManager, args) {
410
453
  let remote;
411
454
  try {
412
455
  remote = syncManager.getById(args.channelId);
@@ -414,14 +457,38 @@ export async function pollSyncEnvelopes(syncManager, args) {
414
457
  catch (error) {
415
458
  throw new GraphQLError(`Channel not found: ${error instanceof Error ? error.message : "Unknown error"}`);
416
459
  }
417
- if (args.cursorOrdinal > 0) {
418
- await remote.channel.updateCursor(args.cursorOrdinal);
419
- }
420
- const operations = remote.channel.outbox.items;
460
+ const deadLetters = remote.channel.deadLetter.items.map((syncOp) => ({
461
+ documentId: syncOp.documentId,
462
+ error: syncOp.error?.message ?? "Unknown error",
463
+ jobId: syncOp.jobId,
464
+ branch: syncOp.branch,
465
+ scopes: syncOp.scopes,
466
+ operationCount: syncOp.operations.length,
467
+ }));
468
+ // trim outbox
469
+ if (args.outboxAck > 0) {
470
+ trimMailboxFromAckOrdinal(remote.channel.outbox, args.outboxAck);
471
+ }
472
+ let operations = remote.channel.outbox.items;
473
+ // filter remaining outbox operations by outboxLatest
474
+ operations = operations.filter((syncOp) => {
475
+ let maxOrdinal = 0;
476
+ for (const op of syncOp.operations) {
477
+ maxOrdinal = Math.max(maxOrdinal, op.context.ordinal);
478
+ }
479
+ if (maxOrdinal > args.outboxLatest) {
480
+ return true;
481
+ }
482
+ return false;
483
+ });
421
484
  if (operations.length === 0) {
422
- return [];
485
+ return {
486
+ envelopes: [],
487
+ ackOrdinal: remote.channel.inbox.ackOrdinal,
488
+ deadLetters,
489
+ };
423
490
  }
424
- let maxOrdinal = args.cursorOrdinal;
491
+ let maxOrdinal = args.outboxLatest;
425
492
  for (const syncOp of operations) {
426
493
  for (const op of syncOp.operations) {
427
494
  const opOrdinal = op.context.ordinal;
@@ -444,42 +511,69 @@ export async function pollSyncEnvelopes(syncManager, args) {
444
511
  cursorOrdinal: maxOrdinal,
445
512
  lastSyncedAtUtcMs: Date.now().toString(),
446
513
  },
514
+ key: syncOp.jobId || undefined,
515
+ dependsOn: syncOp.jobDependencies.filter(Boolean).length > 0
516
+ ? syncOp.jobDependencies.filter(Boolean)
517
+ : undefined,
447
518
  }));
448
- return envelopes;
519
+ return {
520
+ envelopes: sortEnvelopesByFirstOperationTimestamp(envelopes),
521
+ ackOrdinal: remote.channel.inbox.ackOrdinal,
522
+ deadLetters,
523
+ };
449
524
  }
450
- export function pushSyncEnvelope(syncManager, args) {
451
- let remote;
452
- try {
453
- remote = syncManager.getById(args.envelope.channelMeta.id);
454
- }
455
- catch (error) {
456
- throw new GraphQLError(`Channel not found: ${error instanceof Error ? error.message : "Unknown error"}`);
457
- }
458
- if (!args.envelope.operations || args.envelope.operations.length === 0) {
459
- return Promise.resolve(true);
460
- }
461
- const firstOp = args.envelope.operations[0];
462
- const syncOpId = `syncop-${args.envelope.channelMeta.id}-${Date.now()}-${crypto.randomUUID()}`;
463
- const scopes = [
464
- ...new Set(args.envelope.operations.map((op) => op.context.scope)),
465
- ];
466
- const operations = args.envelope.operations.map((op) => ({
467
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
468
- operation: op.operation,
469
- context: {
470
- documentId: op.context.documentId,
471
- documentType: op.context.documentType,
472
- scope: op.context.scope,
473
- branch: op.context.branch,
474
- ordinal: 0,
475
- },
476
- }));
477
- const syncOp = new SyncOperation(syncOpId, remote.name, firstOp.context.documentId, scopes, firstOp.context.branch, operations);
478
- try {
479
- remote.channel.inbox.add(syncOp);
525
+ /**
526
+ * Receives sync envelopes pushed by a client and adds them to the
527
+ * appropriate channel inboxes.
528
+ *
529
+ * The `ordinal` in each operation's context is the client's local ordinal.
530
+ * It must be preserved because the inbox mailbox tracks applied ordinals
531
+ * and returns the highest one as `ackOrdinal` in pollSyncEnvelopes.
532
+ */
533
+ export function pushSyncEnvelopes(syncManager, args) {
534
+ const sortedEnvelopes = sortEnvelopesByFirstOperationTimestamp(args.envelopes);
535
+ const remoteSyncOps = new Map();
536
+ for (const envelope of sortedEnvelopes) {
537
+ let remote;
538
+ try {
539
+ remote = syncManager.getById(envelope.channelMeta.id);
540
+ }
541
+ catch (error) {
542
+ throw new GraphQLError(`Channel not found: ${error instanceof Error ? error.message : "Unknown error"}`);
543
+ }
544
+ if (!envelope.operations || envelope.operations.length === 0) {
545
+ continue;
546
+ }
547
+ const operations = envelope.operations.map((op) => ({
548
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
549
+ operation: op.operation,
550
+ context: {
551
+ documentId: op.context.documentId,
552
+ documentType: op.context.documentType,
553
+ scope: op.context.scope,
554
+ branch: op.context.branch,
555
+ ordinal: op.context.ordinal,
556
+ },
557
+ }));
558
+ const batches = batchOperationsByDocument(operations);
559
+ for (const batch of batches) {
560
+ const syncOpId = `syncop-${envelope.channelMeta.id}-${Date.now()}-${crypto.randomUUID()}`;
561
+ const jobId = envelope.key ?? "";
562
+ const jobDependencies = envelope.dependsOn ?? [];
563
+ const syncOp = new SyncOperation(syncOpId, jobId, jobDependencies, remote.name, batch.documentId, [batch.scope], batch.branch, batch.operations);
564
+ if (!remoteSyncOps.has(remote)) {
565
+ remoteSyncOps.set(remote, []);
566
+ }
567
+ remoteSyncOps.get(remote).push(syncOp);
568
+ }
480
569
  }
481
- catch (error) {
482
- throw new GraphQLError(`Failed to push sync envelope: ${error instanceof Error ? error.message : "Unknown error"}`);
570
+ for (const [remote, syncOps] of remoteSyncOps) {
571
+ const consolidated = consolidateSyncOperations(syncOps);
572
+ const validKeys = new Set(consolidated.map((op) => op.jobId).filter(Boolean));
573
+ for (const syncOp of consolidated) {
574
+ syncOp.jobDependencies = syncOp.jobDependencies.filter((dep) => validKeys.has(dep));
575
+ }
576
+ remote.channel.inbox.add(...consolidated);
483
577
  }
484
578
  return Promise.resolve(true);
485
579
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../../../src/graphql/reactor/resolvers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../../../src/graphql/reactor/resolvers.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,25 @@ input SearchFilterInput {
20
20
  identifiers: [String!]
21
21
  }
22
22
 
23
+ input OperationsFilterInput {
24
+ documentId: String!
25
+ branch: String
26
+ scopes: [String!]
27
+ actionTypes: [String!]
28
+ sinceRevision: Int
29
+ timestampFrom: String
30
+ timestampTo: String
31
+ }
32
+
33
+ input DocumentOperationsFilterInput {
34
+ branch: String
35
+ scopes: [String!]
36
+ actionTypes: [String!]
37
+ sinceRevision: Int
38
+ timestampFrom: String
39
+ timestampTo: String
40
+ }
41
+
23
42
  # Enums
24
43
  enum PropagationMode {
25
44
  CASCADE
@@ -67,7 +86,10 @@ type PHDocument {
67
86
  revisionsList: [Revision!]!
68
87
  createdAtUtcIso: DateTime!
69
88
  lastModifiedAtUtcIso: DateTime!
70
- parentId: String
89
+ operations(
90
+ filter: DocumentOperationsFilterInput
91
+ paging: PagingInput
92
+ ): ReactorOperationResultPage
71
93
  }
72
94
 
73
95
  type PHDocumentResultPage {
@@ -78,6 +100,29 @@ type PHDocumentResultPage {
78
100
  cursor: String
79
101
  }
80
102
 
103
+ type ReactorOperationResultPage {
104
+ items: [ReactorOperation!]!
105
+ totalCount: Int!
106
+ hasNextPage: Boolean!
107
+ hasPreviousPage: Boolean!
108
+ cursor: String
109
+ }
110
+
111
+ type DeadLetterInfo {
112
+ documentId: String!
113
+ error: String!
114
+ jobId: String!
115
+ branch: String!
116
+ scopes: [String!]!
117
+ operationCount: Int!
118
+ }
119
+
120
+ type PollSyncEnvelopesResult {
121
+ envelopes: [SyncEnvelope!]!
122
+ ackOrdinal: Int!
123
+ deadLetters: [DeadLetterInfo!]!
124
+ }
125
+
81
126
  type DocumentWithChildren {
82
127
  document: PHDocument!
83
128
  childIds: [String!]!
@@ -220,6 +265,7 @@ type OperationContext {
220
265
  documentType: String!
221
266
  scope: String!
222
267
  branch: String!
268
+ ordinal: Int!
223
269
  }
224
270
 
225
271
  input OperationContextInput {
@@ -227,6 +273,7 @@ input OperationContextInput {
227
273
  documentType: String!
228
274
  scope: String!
229
275
  branch: String!
276
+ ordinal: Int!
230
277
  }
231
278
 
232
279
  type OperationWithContext {
@@ -269,6 +316,8 @@ type SyncEnvelope {
269
316
  channelMeta: ChannelMeta!
270
317
  operations: [OperationWithContext!]
271
318
  cursor: RemoteCursor
319
+ key: String
320
+ dependsOn: [String!]
272
321
  }
273
322
 
274
323
  input SyncEnvelopeInput {
@@ -276,6 +325,8 @@ input SyncEnvelopeInput {
276
325
  channelMeta: ChannelMetaInput!
277
326
  operations: [OperationWithContextInput!]
278
327
  cursor: RemoteCursorInput
328
+ key: String
329
+ dependsOn: [String!]
279
330
  }
280
331
 
281
332
  input RemoteFilterInput {
@@ -289,6 +340,7 @@ input TouchChannelInput {
289
340
  name: String!
290
341
  collectionId: String!
291
342
  filter: RemoteFilterInput!
343
+ sinceTimestampUtcMs: String!
292
344
  }
293
345
 
294
346
  type Query {
@@ -299,10 +351,7 @@ type Query {
299
351
  ): DocumentModelResultPage!
300
352
 
301
353
  # Get a specific document by ID or slug
302
- document(
303
- identifier: String!
304
- view: ViewFilterInput
305
- ): DocumentWithChildren
354
+ document(identifier: String!, view: ViewFilterInput): DocumentWithChildren
306
355
 
307
356
  # Get children of a document
308
357
  documentChildren(
@@ -328,19 +377,23 @@ type Query {
328
377
  # Get job status
329
378
  jobStatus(jobId: String!): JobInfo
330
379
 
380
+ # Get operations for a document with filtering and pagination
381
+ documentOperations(
382
+ filter: OperationsFilterInput!
383
+ paging: PagingInput
384
+ ): ReactorOperationResultPage!
385
+
331
386
  # Poll for sync envelopes from a channel
332
387
  pollSyncEnvelopes(
333
388
  channelId: String!
334
- cursorOrdinal: Int!
335
- ): [SyncEnvelope!]!
389
+ outboxAck: Int!
390
+ outboxLatest: Int!
391
+ ): PollSyncEnvelopesResult!
336
392
  }
337
393
 
338
394
  type Mutation {
339
395
  # Create a new document
340
- createDocument(
341
- document: JSONObject!
342
- parentIdentifier: String
343
- ): PHDocument!
396
+ createDocument(document: JSONObject!, parentIdentifier: String): PHDocument!
344
397
 
345
398
  # Create an empty document of specified type
346
399
  createEmptyDocument(
@@ -392,26 +445,16 @@ type Mutation {
392
445
  ): MoveChildrenResult!
393
446
 
394
447
  # Delete a single document
395
- deleteDocument(
396
- identifier: String!
397
- propagate: PropagationMode
398
- ): Boolean!
448
+ deleteDocument(identifier: String!, propagate: PropagationMode): Boolean!
399
449
 
400
450
  # Delete multiple documents
401
- deleteDocuments(
402
- identifiers: [String!]!
403
- propagate: PropagationMode
404
- ): Boolean!
451
+ deleteDocuments(identifiers: [String!]!, propagate: PropagationMode): Boolean!
405
452
 
406
453
  # Touch (create or update) a channel for sync
407
- touchChannel(
408
- input: TouchChannelInput!
409
- ): Boolean!
454
+ touchChannel(input: TouchChannelInput!): Boolean!
410
455
 
411
- # Push sync envelope to a channel
412
- pushSyncEnvelope(
413
- envelope: SyncEnvelopeInput!
414
- ): Boolean!
456
+ # Push sync envelopes to a channel
457
+ pushSyncEnvelopes(envelopes: [SyncEnvelopeInput!]!): Boolean!
415
458
  }
416
459
 
417
460
  type Subscription {
@@ -422,8 +465,5 @@ type Subscription {
422
465
  ): DocumentChangeEvent!
423
466
 
424
467
  # Subscribe to job changes
425
- jobChanges(
426
- jobId: String!
427
- ): JobChangeEvent!
468
+ jobChanges(jobId: String!): JobChangeEvent!
428
469
  }
429
-
@@ -7,37 +7,8 @@ export declare class ReactorSubgraph extends BaseSubgraph {
7
7
  name: string;
8
8
  hasSubscriptions: boolean;
9
9
  /**
10
- * Check if user has global read access (admin, user, or guest)
11
- */
12
- private hasGlobalReadAccess;
13
- /**
14
- * Check if user has global write access (admin or user, not guest)
15
- */
16
- private hasGlobalWriteAccess;
17
- /**
18
- * Get the parent IDs function for hierarchical permission checks
19
- */
20
- private getParentIdsFn;
21
- /**
22
- * Check if user can read a document (with hierarchy)
23
- */
24
- private canReadDocument;
25
- /**
26
- * Check if user can write to a document (with hierarchy)
27
- */
28
- private canWriteDocument;
29
- /**
30
- * Throw an error if user cannot read the document
31
- */
32
- private assertCanRead;
33
- /**
34
- * Throw an error if user cannot write to the document
35
- */
36
- private assertCanWrite;
37
- /**
38
- * Check if user can execute specific operations on a document.
39
- * Only checks operations that have restrictions set.
40
- * Throws an error if any operation is restricted and user lacks permission.
10
+ * Check operation-level permissions for an array of actions.
11
+ * Delegates to base assertCanExecuteOperation for each action.
41
12
  */
42
13
  private assertCanExecuteOperations;
43
14
  typeDefs: import("graphql").DocumentNode;
@@ -1 +1 @@
1
- {"version":3,"file":"subgraph.d.ts","sourceRoot":"","sources":["../../../../src/graphql/reactor/subgraph.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAW,YAAY,EAAE,MAAM,aAAa,CAAC;AAMzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAclD,qBAAa,eAAgB,SAAQ,YAAY;IAE/C,OAAO,CAAC,MAAM,CAA0C;gBAE5C,IAAI,EAAE,YAAY;IAK9B,IAAI,SAAgB;IACpB,gBAAgB,UAAQ;IAExB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;YACW,eAAe;IAqB7B;;OAEG;YACW,gBAAgB;IAqB9B;;OAEG;YACW,aAAa;IAS3B;;OAEG;YACW,cAAc;IAY5B;;;;OAIG;YACW,0BAA0B;IAqDxC,QAAQ,iCAEN;IAEF,SAAS,EAAE,SAAS,CAudlB;IAEF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAKzB"}
1
+ {"version":3,"file":"subgraph.d.ts","sourceRoot":"","sources":["../../../../src/graphql/reactor/subgraph.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAW,YAAY,EAAE,MAAM,aAAa,CAAC;AAMzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAclD,qBAAa,eAAgB,SAAQ,YAAY;IAE/C,OAAO,CAAC,MAAM,CAA0C;gBAE5C,IAAI,EAAE,YAAY;IAK9B,IAAI,SAAO;IACX,gBAAgB,UAAQ;IAExB;;;OAGG;YACW,0BAA0B;IAgBxC,QAAQ,iCAEN;IAEF,SAAS,EAAE,SAAS,CAghBlB;IAEF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAKzB"}