@powerhousedao/reactor-api 6.0.0-dev.9 → 6.0.0-dev.91

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 (271) hide show
  1. package/dist/codegen.js +1 -1
  2. package/dist/codegen.js.map +1 -1
  3. package/dist/index.d.ts +4 -2
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +4 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/src/config.d.ts +1 -2
  8. package/dist/src/config.d.ts.map +1 -1
  9. package/dist/src/config.js +1 -5
  10. package/dist/src/config.js.map +1 -1
  11. package/dist/src/graphql/auth/resolvers.d.ts +17 -0
  12. package/dist/src/graphql/auth/resolvers.d.ts.map +1 -1
  13. package/dist/src/graphql/auth/resolvers.js +54 -0
  14. package/dist/src/graphql/auth/resolvers.js.map +1 -1
  15. package/dist/src/graphql/auth/schema.graphql +27 -5
  16. package/dist/src/graphql/auth/subgraph.d.ts +25 -0
  17. package/dist/src/graphql/auth/subgraph.d.ts.map +1 -1
  18. package/dist/src/graphql/auth/subgraph.js +45 -1
  19. package/dist/src/graphql/auth/subgraph.js.map +1 -1
  20. package/dist/src/graphql/base-subgraph.d.ts +12 -4
  21. package/dist/src/graphql/base-subgraph.d.ts.map +1 -1
  22. package/dist/src/graphql/base-subgraph.js +94 -2
  23. package/dist/src/graphql/base-subgraph.js.map +1 -1
  24. package/dist/src/graphql/document-model-subgraph.d.ts +16 -44
  25. package/dist/src/graphql/document-model-subgraph.d.ts.map +1 -1
  26. package/dist/src/graphql/document-model-subgraph.js +290 -88
  27. package/dist/src/graphql/document-model-subgraph.js.map +1 -1
  28. package/dist/src/graphql/graphql-manager.d.ts +28 -6
  29. package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
  30. package/dist/src/graphql/graphql-manager.js +266 -161
  31. package/dist/src/graphql/graphql-manager.js.map +1 -1
  32. package/dist/src/graphql/index.d.ts +2 -1
  33. package/dist/src/graphql/index.d.ts.map +1 -1
  34. package/dist/src/graphql/index.js +2 -1
  35. package/dist/src/graphql/index.js.map +1 -1
  36. package/dist/src/graphql/packages/index.d.ts +2 -0
  37. package/dist/src/graphql/packages/index.d.ts.map +1 -0
  38. package/dist/src/graphql/packages/index.js +2 -0
  39. package/dist/src/graphql/packages/index.js.map +1 -0
  40. package/dist/src/graphql/packages/resolvers.d.ts +31 -0
  41. package/dist/src/graphql/packages/resolvers.d.ts.map +1 -0
  42. package/dist/src/graphql/packages/resolvers.js +37 -0
  43. package/dist/src/graphql/packages/resolvers.js.map +1 -0
  44. package/dist/src/graphql/packages/schema.graphql +50 -0
  45. package/dist/src/graphql/packages/subgraph.d.ts +55 -0
  46. package/dist/src/graphql/packages/subgraph.d.ts.map +1 -0
  47. package/dist/src/graphql/packages/subgraph.js +73 -0
  48. package/dist/src/graphql/packages/subgraph.js.map +1 -0
  49. package/dist/src/graphql/reactor/adapters.d.ts +10 -2
  50. package/dist/src/graphql/reactor/adapters.d.ts.map +1 -1
  51. package/dist/src/graphql/reactor/adapters.js +35 -1
  52. package/dist/src/graphql/reactor/adapters.js.map +1 -1
  53. package/dist/src/graphql/reactor/factory.d.ts +22 -1
  54. package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
  55. package/dist/src/graphql/reactor/factory.js +1 -1
  56. package/dist/src/graphql/reactor/factory.js.map +1 -1
  57. package/dist/src/graphql/reactor/gen/graphql.d.ts +353 -76
  58. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
  59. package/dist/src/graphql/reactor/gen/graphql.js +245 -10
  60. package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
  61. package/dist/src/graphql/reactor/index.d.ts +1 -1
  62. package/dist/src/graphql/reactor/index.d.ts.map +1 -1
  63. package/dist/src/graphql/reactor/index.js +1 -1
  64. package/dist/src/graphql/reactor/index.js.map +1 -1
  65. package/dist/src/graphql/reactor/operations.graphql +191 -1
  66. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +1 -1
  67. package/dist/src/graphql/reactor/requester.with-zod.js +114 -38
  68. package/dist/src/graphql/reactor/requester.with-zod.js.map +1 -1
  69. package/dist/src/graphql/reactor/resolvers.d.ts +89 -26
  70. package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
  71. package/dist/src/graphql/reactor/resolvers.js +271 -77
  72. package/dist/src/graphql/reactor/resolvers.js.map +1 -1
  73. package/dist/src/graphql/reactor/schema.graphql +75 -30
  74. package/dist/src/graphql/reactor/subgraph.d.ts +2 -31
  75. package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
  76. package/dist/src/graphql/reactor/subgraph.js +132 -209
  77. package/dist/src/graphql/reactor/subgraph.js.map +1 -1
  78. package/dist/src/graphql/reactor/validation.d.ts +266 -20
  79. package/dist/src/graphql/reactor/validation.d.ts.map +1 -1
  80. package/dist/src/graphql/reactor/validation.js +98 -4
  81. package/dist/src/graphql/reactor/validation.js.map +1 -1
  82. package/dist/src/graphql/system/index.d.ts +0 -1
  83. package/dist/src/graphql/system/index.d.ts.map +1 -1
  84. package/dist/src/graphql/system/index.js +0 -1
  85. package/dist/src/graphql/system/index.js.map +1 -1
  86. package/dist/src/graphql/types.d.ts +6 -8
  87. package/dist/src/graphql/types.d.ts.map +1 -1
  88. package/dist/src/graphql/utils.d.ts +1 -18
  89. package/dist/src/graphql/utils.d.ts.map +1 -1
  90. package/dist/src/graphql/utils.js +7 -35
  91. package/dist/src/graphql/utils.js.map +1 -1
  92. package/dist/src/migrations/002_add_document_protection.d.ts +4 -0
  93. package/dist/src/migrations/002_add_document_protection.d.ts.map +1 -0
  94. package/dist/src/migrations/002_add_document_protection.js +18 -0
  95. package/dist/src/migrations/002_add_document_protection.js.map +1 -0
  96. package/dist/src/migrations/index.d.ts.map +1 -1
  97. package/dist/src/migrations/index.js +2 -0
  98. package/dist/src/migrations/index.js.map +1 -1
  99. package/dist/src/packages/http-loader.d.ts +68 -0
  100. package/dist/src/packages/http-loader.d.ts.map +1 -0
  101. package/dist/src/packages/http-loader.js +176 -0
  102. package/dist/src/packages/http-loader.js.map +1 -0
  103. package/dist/src/packages/https-hooks.d.mts +23 -0
  104. package/dist/src/packages/https-hooks.d.mts.map +1 -0
  105. package/dist/src/packages/https-hooks.mjs +59 -0
  106. package/dist/src/packages/https-hooks.mjs.map +1 -0
  107. package/dist/src/packages/import-loader.d.ts +5 -3
  108. package/dist/src/packages/import-loader.d.ts.map +1 -1
  109. package/dist/src/packages/import-loader.js +19 -10
  110. package/dist/src/packages/import-loader.js.map +1 -1
  111. package/dist/src/packages/package-manager.d.ts +2 -2
  112. package/dist/src/packages/package-manager.d.ts.map +1 -1
  113. package/dist/src/packages/package-manager.js.map +1 -1
  114. package/dist/src/packages/types.d.ts +9 -4
  115. package/dist/src/packages/types.d.ts.map +1 -1
  116. package/dist/src/packages/util.d.ts +3 -2
  117. package/dist/src/packages/util.d.ts.map +1 -1
  118. package/dist/src/packages/util.js +1 -1
  119. package/dist/src/packages/util.js.map +1 -1
  120. package/dist/src/packages/vite-loader.d.ts +10 -8
  121. package/dist/src/packages/vite-loader.d.ts.map +1 -1
  122. package/dist/src/packages/vite-loader.js +33 -10
  123. package/dist/src/packages/vite-loader.js.map +1 -1
  124. package/dist/src/server.d.ts +14 -11
  125. package/dist/src/server.d.ts.map +1 -1
  126. package/dist/src/server.js +153 -92
  127. package/dist/src/server.js.map +1 -1
  128. package/dist/src/services/auth.service.d.ts +0 -12
  129. package/dist/src/services/auth.service.d.ts.map +1 -1
  130. package/dist/src/services/auth.service.js +13 -40
  131. package/dist/src/services/auth.service.js.map +1 -1
  132. package/dist/src/services/authorization.service.d.ts +70 -0
  133. package/dist/src/services/authorization.service.d.ts.map +1 -0
  134. package/dist/src/services/authorization.service.js +155 -0
  135. package/dist/src/services/authorization.service.js.map +1 -0
  136. package/dist/src/services/document-permission.service.d.ts +47 -7
  137. package/dist/src/services/document-permission.service.d.ts.map +1 -1
  138. package/dist/src/services/document-permission.service.js +162 -7
  139. package/dist/src/services/document-permission.service.js.map +1 -1
  140. package/dist/src/services/package-management.service.d.ts +32 -0
  141. package/dist/src/services/package-management.service.d.ts.map +1 -0
  142. package/dist/src/services/package-management.service.js +95 -0
  143. package/dist/src/services/package-management.service.js.map +1 -0
  144. package/dist/src/services/package-storage.d.ts +23 -0
  145. package/dist/src/services/package-storage.d.ts.map +1 -0
  146. package/dist/src/services/package-storage.js +19 -0
  147. package/dist/src/services/package-storage.js.map +1 -0
  148. package/dist/src/tracing.d.ts.map +1 -1
  149. package/dist/src/tracing.js +19 -1
  150. package/dist/src/tracing.js.map +1 -1
  151. package/dist/src/types.d.ts +5 -5
  152. package/dist/src/types.d.ts.map +1 -1
  153. package/dist/src/utils/auth.d.ts +1 -1
  154. package/dist/src/utils/auth.d.ts.map +1 -1
  155. package/dist/src/utils/auth.js +5 -12
  156. package/dist/src/utils/auth.js.map +1 -1
  157. package/dist/src/utils/create-schema.d.ts +25 -6
  158. package/dist/src/utils/create-schema.d.ts.map +1 -1
  159. package/dist/src/utils/create-schema.js +458 -23
  160. package/dist/src/utils/create-schema.js.map +1 -1
  161. package/dist/src/utils/db.d.ts +8 -0
  162. package/dist/src/utils/db.d.ts.map +1 -1
  163. package/dist/src/utils/db.js.map +1 -1
  164. package/dist/src/utils/drive-url.d.ts +2 -0
  165. package/dist/src/utils/drive-url.d.ts.map +1 -0
  166. package/dist/src/utils/drive-url.js +3 -0
  167. package/dist/src/utils/drive-url.js.map +1 -0
  168. package/dist/src/utils/index.d.ts +1 -0
  169. package/dist/src/utils/index.d.ts.map +1 -1
  170. package/dist/src/utils/index.js +1 -0
  171. package/dist/src/utils/index.js.map +1 -1
  172. package/dist/test/authorization.service.test.d.ts +2 -0
  173. package/dist/test/authorization.service.test.d.ts.map +1 -0
  174. package/dist/test/authorization.service.test.js +252 -0
  175. package/dist/test/authorization.service.test.js.map +1 -0
  176. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +2 -0
  177. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +1 -0
  178. package/dist/test/connect-switchboard-reshuffle-convergence.test.js +203 -0
  179. package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +1 -0
  180. package/dist/test/connect-switchboard-sync.test.d.ts +2 -0
  181. package/dist/test/connect-switchboard-sync.test.d.ts.map +1 -0
  182. package/dist/test/connect-switchboard-sync.test.js +581 -0
  183. package/dist/test/connect-switchboard-sync.test.js.map +1 -0
  184. package/dist/test/document-drive-subgraph.test.d.ts +2 -0
  185. package/dist/test/document-drive-subgraph.test.d.ts.map +1 -0
  186. package/dist/test/document-drive-subgraph.test.js +186 -0
  187. package/dist/test/document-drive-subgraph.test.js.map +1 -0
  188. package/dist/test/document-model-subgraph-permissions.test.d.ts +2 -0
  189. package/dist/test/document-model-subgraph-permissions.test.d.ts.map +1 -0
  190. package/dist/test/document-model-subgraph-permissions.test.js +563 -0
  191. package/dist/test/document-model-subgraph-permissions.test.js.map +1 -0
  192. package/dist/test/drive-info-endpoint.test.d.ts +2 -0
  193. package/dist/test/drive-info-endpoint.test.d.ts.map +1 -0
  194. package/dist/test/drive-info-endpoint.test.js +123 -0
  195. package/dist/test/drive-info-endpoint.test.js.map +1 -0
  196. package/dist/test/fault-injection-sync.test.d.ts +2 -0
  197. package/dist/test/fault-injection-sync.test.d.ts.map +1 -0
  198. package/dist/test/fault-injection-sync.test.js +196 -0
  199. package/dist/test/fault-injection-sync.test.js.map +1 -0
  200. package/dist/test/index.d.ts +0 -1
  201. package/dist/test/index.d.ts.map +1 -1
  202. package/dist/test/index.js +0 -1
  203. package/dist/test/index.js.map +1 -1
  204. package/dist/test/permissions-integration.test.js +6 -20
  205. package/dist/test/permissions-integration.test.js.map +1 -1
  206. package/dist/test/push-backfill.test.d.ts +2 -0
  207. package/dist/test/push-backfill.test.d.ts.map +1 -0
  208. package/dist/test/push-backfill.test.js +298 -0
  209. package/dist/test/push-backfill.test.js.map +1 -0
  210. package/dist/test/reactor-client.test.js +172 -13
  211. package/dist/test/reactor-client.test.js.map +1 -1
  212. package/dist/test/reactor-resolvers.test.js +8 -11
  213. package/dist/test/reactor-resolvers.test.js.map +1 -1
  214. package/dist/test/reactor-subgraph-permissions.test.js +7 -36
  215. package/dist/test/reactor-subgraph-permissions.test.js.map +1 -1
  216. package/dist/test/subscriptions.test.js +2 -0
  217. package/dist/test/subscriptions.test.js.map +1 -1
  218. package/dist/test/utils/gql-resolver-bridge.d.ts +4 -1
  219. package/dist/test/utils/gql-resolver-bridge.d.ts.map +1 -1
  220. package/dist/test/utils/gql-resolver-bridge.js +36 -7
  221. package/dist/test/utils/gql-resolver-bridge.js.map +1 -1
  222. package/dist/tsconfig.tsbuildinfo +1 -1
  223. package/package.json +46 -55
  224. package/dist/src/graphql/drive-subgraph.d.ts +0 -25
  225. package/dist/src/graphql/drive-subgraph.d.ts.map +0 -1
  226. package/dist/src/graphql/drive-subgraph.js +0 -487
  227. package/dist/src/graphql/drive-subgraph.js.map +0 -1
  228. package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
  229. package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
  230. package/dist/src/graphql/system/system-subgraph.js +0 -130
  231. package/dist/src/graphql/system/system-subgraph.js.map +0 -1
  232. package/dist/src/sync/types.d.ts +0 -10
  233. package/dist/src/sync/types.d.ts.map +0 -1
  234. package/dist/src/sync/types.js +0 -2
  235. package/dist/src/sync/types.js.map +0 -1
  236. package/dist/src/sync/utils.d.ts +0 -7
  237. package/dist/src/sync/utils.d.ts.map +0 -1
  238. package/dist/src/sync/utils.js +0 -78
  239. package/dist/src/sync/utils.js.map +0 -1
  240. package/dist/test/drive-handlers.d.ts +0 -4
  241. package/dist/test/drive-handlers.d.ts.map +0 -1
  242. package/dist/test/drive-handlers.js +0 -39
  243. package/dist/test/drive-handlers.js.map +0 -1
  244. package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
  245. package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
  246. package/dist/test/drive-subgraph-permissions.test.js +0 -195
  247. package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
  248. package/dist/test/drive.test.d.ts +0 -2
  249. package/dist/test/drive.test.d.ts.map +0 -1
  250. package/dist/test/drive.test.js +0 -142
  251. package/dist/test/drive.test.js.map +0 -1
  252. package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
  253. package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
  254. package/dist/test/pull-responder-transmitter.test.js +0 -220
  255. package/dist/test/pull-responder-transmitter.test.js.map +0 -1
  256. package/dist/test/push-transmitter.test.d.ts +0 -2
  257. package/dist/test/push-transmitter.test.d.ts.map +0 -1
  258. package/dist/test/push-transmitter.test.js +0 -179
  259. package/dist/test/push-transmitter.test.js.map +0 -1
  260. package/dist/test/system.test.d.ts +0 -2
  261. package/dist/test/system.test.d.ts.map +0 -1
  262. package/dist/test/system.test.js +0 -211
  263. package/dist/test/system.test.js.map +0 -1
  264. package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
  265. package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
  266. package/dist/test/three-reactor-gql-sync.test.js +0 -368
  267. package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
  268. package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
  269. package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
  270. package/dist/test/two-reactor-gql-sync.test.js +0 -348
  271. package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
@@ -1,6 +1,7 @@
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
+ const DRIVE_DOCUMENT_TYPE = "powerhouse/document-drive";
4
+ import { fromInputMaybe, serializeOperationForGraphQL, toDocumentModelResultPage, toGqlJobInfo, toGqlPhDocument, toMutableArray, toOperationResultPage, toPhDocumentResultPage, validateActions, } from "./adapters.js";
4
5
  export async function documentModels(reactorClient, args) {
5
6
  const namespace = fromInputMaybe(args.namespace);
6
7
  let paging;
@@ -43,10 +44,17 @@ export async function document(reactorClient, args) {
43
44
  catch (error) {
44
45
  throw new GraphQLError(`Failed to fetch document: ${error instanceof Error ? error.message : "Unknown error"}`);
45
46
  }
47
+ let children;
48
+ try {
49
+ children = await reactorClient.getChildren(args.identifier, view);
50
+ }
51
+ catch (error) {
52
+ throw new GraphQLError(`Failed to fetch children: ${error instanceof Error ? error.message : "Unknown error"}`);
53
+ }
46
54
  try {
47
55
  return {
48
- document: toGqlPhDocument(result.document),
49
- childIds: result.childIds,
56
+ document: toGqlPhDocument(result),
57
+ childIds: children.results.map((child) => child.header.id),
50
58
  };
51
59
  }
52
60
  catch (error) {
@@ -171,6 +179,54 @@ export async function jobStatus(reactorClient, args) {
171
179
  throw new GraphQLError(`Failed to convert job status to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
172
180
  }
173
181
  }
182
+ export async function documentOperations(reactorClient, args) {
183
+ let view;
184
+ const branch = fromInputMaybe(args.filter.branch);
185
+ const scopes = toMutableArray(fromInputMaybe(args.filter.scopes));
186
+ if (branch || scopes) {
187
+ view = { branch, scopes };
188
+ }
189
+ const actionTypes = toMutableArray(fromInputMaybe(args.filter.actionTypes));
190
+ const sinceRevision = fromInputMaybe(args.filter.sinceRevision);
191
+ const timestampFrom = fromInputMaybe(args.filter.timestampFrom);
192
+ const timestampTo = fromInputMaybe(args.filter.timestampTo);
193
+ let operationFilter;
194
+ if ((actionTypes && actionTypes.length > 0) ||
195
+ sinceRevision !== undefined ||
196
+ timestampFrom ||
197
+ timestampTo) {
198
+ operationFilter = {
199
+ actionTypes: actionTypes && actionTypes.length > 0 ? actionTypes : undefined,
200
+ sinceRevision,
201
+ timestampFrom: timestampFrom || undefined,
202
+ timestampTo: timestampTo || undefined,
203
+ };
204
+ }
205
+ let paging;
206
+ if (args.paging) {
207
+ const cursor = fromInputMaybe(args.paging.cursor);
208
+ const limit = fromInputMaybe(args.paging.limit);
209
+ if (cursor || limit) {
210
+ paging = {
211
+ cursor: cursor || "",
212
+ limit: limit || 100,
213
+ };
214
+ }
215
+ }
216
+ let result;
217
+ try {
218
+ result = await reactorClient.getOperations(args.filter.documentId, view, operationFilter, paging);
219
+ }
220
+ catch (error) {
221
+ throw new GraphQLError(`Failed to fetch document operations: ${error instanceof Error ? error.message : "Unknown error"}`);
222
+ }
223
+ try {
224
+ return toOperationResultPage(result);
225
+ }
226
+ catch (error) {
227
+ throw new GraphQLError(`Failed to convert operations to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
228
+ }
229
+ }
174
230
  export async function createDocument(reactorClient, args) {
175
231
  // Validate that document is a PHDocument
176
232
  if (!args.document || typeof args.document !== "object") {
@@ -184,7 +240,18 @@ export async function createDocument(reactorClient, args) {
184
240
  const parentIdentifier = fromInputMaybe(args.parentIdentifier);
185
241
  let result;
186
242
  try {
187
- result = await reactorClient.create(document, parentIdentifier);
243
+ if (parentIdentifier) {
244
+ const parent = await reactorClient.get(parentIdentifier);
245
+ if (parent.header.documentType === DRIVE_DOCUMENT_TYPE) {
246
+ result = await reactorClient.createDocumentInDrive(parentIdentifier, document);
247
+ }
248
+ else {
249
+ result = await reactorClient.create(document, parentIdentifier);
250
+ }
251
+ }
252
+ else {
253
+ result = await reactorClient.create(document);
254
+ }
188
255
  }
189
256
  catch (error) {
190
257
  throw new GraphQLError(`Failed to create document: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -198,11 +265,28 @@ export async function createDocument(reactorClient, args) {
198
265
  }
199
266
  export async function createEmptyDocument(reactorClient, args) {
200
267
  const parentIdentifier = fromInputMaybe(args.parentIdentifier);
268
+ const name = fromInputMaybe(args.name);
201
269
  let result;
202
270
  try {
203
- result = await reactorClient.createEmpty(args.documentType, {
204
- parentIdentifier,
205
- });
271
+ if (parentIdentifier) {
272
+ const parent = await reactorClient.get(parentIdentifier);
273
+ if (parent.header.documentType === DRIVE_DOCUMENT_TYPE) {
274
+ const module = await reactorClient.getDocumentModelModule(args.documentType);
275
+ const document = module.utils.createDocument();
276
+ if (name) {
277
+ document.header.name = name;
278
+ }
279
+ result = await reactorClient.createDocumentInDrive(parentIdentifier, document);
280
+ }
281
+ else {
282
+ result = await reactorClient.createEmpty(args.documentType, {
283
+ parentIdentifier,
284
+ });
285
+ }
286
+ }
287
+ else {
288
+ result = await reactorClient.createEmpty(args.documentType, {});
289
+ }
206
290
  }
207
291
  catch (error) {
208
292
  throw new GraphQLError(`Failed to create empty document: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -214,6 +298,74 @@ export async function createEmptyDocument(reactorClient, args) {
214
298
  throw new GraphQLError(`Failed to convert created document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
215
299
  }
216
300
  }
301
+ export async function createDocumentWithInitialState(reactorClient, args) {
302
+ const parentIdentifier = fromInputMaybe(args.parentIdentifier);
303
+ const name = fromInputMaybe(args.name);
304
+ const slug = fromInputMaybe(args.slug);
305
+ let module;
306
+ try {
307
+ module = await reactorClient.getDocumentModelModule(args.documentType);
308
+ }
309
+ catch (error) {
310
+ throw new GraphQLError(`Document model not found for type ${args.documentType}: ${error instanceof Error ? error.message : "Unknown error"}`);
311
+ }
312
+ const document = module.utils.createDocument();
313
+ // Only merge specification-defined scopes (e.g., global, local).
314
+ // Protected scopes like "auth" and "document" are excluded.
315
+ const allowedScopes = new Set(Object.keys(module.documentModel.global.specifications.at(-1)?.state ?? {}));
316
+ const state = document.state;
317
+ for (const [scope, scopeState] of Object.entries(args.initialState)) {
318
+ if (allowedScopes.has(scope) && scope in state) {
319
+ state[scope] = { ...state[scope], ...scopeState };
320
+ }
321
+ }
322
+ if (name) {
323
+ document.header.name = name;
324
+ }
325
+ if (slug) {
326
+ document.header.slug = slug;
327
+ }
328
+ let result;
329
+ if (parentIdentifier) {
330
+ let parent;
331
+ try {
332
+ parent = await reactorClient.get(parentIdentifier);
333
+ }
334
+ catch (error) {
335
+ throw new GraphQLError(`Parent document not found: ${error instanceof Error ? error.message : "Unknown error"}`);
336
+ }
337
+ if (parent.header.documentType === DRIVE_DOCUMENT_TYPE) {
338
+ try {
339
+ result = await reactorClient.createDocumentInDrive(parentIdentifier, document);
340
+ }
341
+ catch (error) {
342
+ throw new GraphQLError(`Failed to create document in drive: ${error instanceof Error ? error.message : "Unknown error"}`);
343
+ }
344
+ }
345
+ else {
346
+ try {
347
+ result = await reactorClient.create(document, parentIdentifier);
348
+ }
349
+ catch (error) {
350
+ throw new GraphQLError(`Failed to create document with parent: ${error instanceof Error ? error.message : "Unknown error"}`);
351
+ }
352
+ }
353
+ }
354
+ else {
355
+ try {
356
+ result = await reactorClient.create(document);
357
+ }
358
+ catch (error) {
359
+ throw new GraphQLError(`Failed to create document: ${error instanceof Error ? error.message : "Unknown error"}`);
360
+ }
361
+ }
362
+ try {
363
+ return toGqlPhDocument(result);
364
+ }
365
+ catch (error) {
366
+ throw new GraphQLError(`Failed to convert created document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
367
+ }
368
+ }
217
369
  export async function mutateDocument(reactorClient, args) {
218
370
  // Validate actions
219
371
  let validatedActions;
@@ -265,11 +417,11 @@ export async function mutateDocumentAsync(reactorClient, args) {
265
417
  }
266
418
  return result.id;
267
419
  }
268
- export async function renameDocument(reactorClient, args) {
420
+ export async function renameDocument(reactorClient, args, signal) {
269
421
  const branch = fromInputMaybe(args.branch);
270
422
  let result;
271
423
  try {
272
- result = await reactorClient.rename(args.documentIdentifier, args.name, branch);
424
+ result = await reactorClient.rename(args.documentIdentifier, args.name, branch, signal);
273
425
  }
274
426
  catch (error) {
275
427
  throw new GraphQLError(`Failed to rename document: ${error instanceof Error ? error.message : "Unknown error"}`);
@@ -358,8 +510,11 @@ export async function deleteDocuments(reactorClient, args) {
358
510
  }
359
511
  export async function touchChannel(syncManager, args) {
360
512
  try {
361
- syncManager.getById(args.input.id);
362
- return true;
513
+ const remote = syncManager.getById(args.input.id);
514
+ return {
515
+ success: true,
516
+ ackOrdinal: remote.channel.inbox.ackOrdinal,
517
+ };
363
518
  }
364
519
  catch {
365
520
  // getById will throw if the remote does not exist
@@ -369,44 +524,32 @@ export async function touchChannel(syncManager, args) {
369
524
  scope: [...args.input.filter.scope],
370
525
  branch: args.input.filter.branch,
371
526
  };
527
+ const options = {
528
+ sinceTimestampUtcMs: args.input.sinceTimestampUtcMs,
529
+ };
372
530
  try {
373
531
  await syncManager.add(args.input.name, args.input.collectionId, {
374
532
  type: "polling",
375
533
  parameters: {},
376
- }, filter, {}, args.input.id);
534
+ }, filter, options, args.input.id);
377
535
  }
378
536
  catch (error) {
379
537
  throw new GraphQLError(`Failed to create channel: ${error instanceof Error ? error.message : "Unknown error"}`);
380
538
  }
381
- return true;
539
+ return { success: true, ackOrdinal: 0 };
382
540
  }
383
541
  /**
384
- * Transforms an operation to serialize signatures from tuples to strings
385
- * for GraphQL compatibility.
542
+ * Polls the switchboard for new sync envelopes and acknowledges previously
543
+ * received operations.
386
544
  *
387
- * The Signature type is a tuple [string, string, string, string, string],
388
- * but GraphQL expects [String!]! (flat array of strings).
545
+ * Ordinal frames of reference:
546
+ * - `outboxAck` / `outboxLatest`: switchboard's ordinals (used to trim/filter
547
+ * the switchboard's outbox)
548
+ * - `ackOrdinal` in the response: the pushing client's ordinals (highest
549
+ * client ordinal the switchboard has successfully applied, so the client
550
+ * can trim its own outbox)
389
551
  */
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) {
552
+ export function pollSyncEnvelopes(syncManager, args) {
410
553
  let remote;
411
554
  try {
412
555
  remote = syncManager.getById(args.channelId);
@@ -414,14 +557,38 @@ export async function pollSyncEnvelopes(syncManager, args) {
414
557
  catch (error) {
415
558
  throw new GraphQLError(`Channel not found: ${error instanceof Error ? error.message : "Unknown error"}`);
416
559
  }
417
- if (args.cursorOrdinal > 0) {
418
- await remote.channel.updateCursor(args.cursorOrdinal);
419
- }
420
- const operations = remote.channel.outbox.items;
560
+ const deadLetters = remote.channel.deadLetter.items.map((syncOp) => ({
561
+ documentId: syncOp.documentId,
562
+ error: syncOp.error?.message ?? "Unknown error",
563
+ jobId: syncOp.jobId,
564
+ branch: syncOp.branch,
565
+ scopes: syncOp.scopes,
566
+ operationCount: syncOp.operations.length,
567
+ }));
568
+ // trim outbox
569
+ if (args.outboxAck > 0) {
570
+ trimMailboxFromAckOrdinal(remote.channel.outbox, args.outboxAck);
571
+ }
572
+ let operations = remote.channel.outbox.items;
573
+ // filter remaining outbox operations by outboxLatest
574
+ operations = operations.filter((syncOp) => {
575
+ let maxOrdinal = 0;
576
+ for (const op of syncOp.operations) {
577
+ maxOrdinal = Math.max(maxOrdinal, op.context.ordinal);
578
+ }
579
+ if (maxOrdinal > args.outboxLatest) {
580
+ return true;
581
+ }
582
+ return false;
583
+ });
421
584
  if (operations.length === 0) {
422
- return [];
585
+ return {
586
+ envelopes: [],
587
+ ackOrdinal: remote.channel.inbox.ackOrdinal,
588
+ deadLetters,
589
+ };
423
590
  }
424
- let maxOrdinal = args.cursorOrdinal;
591
+ let maxOrdinal = args.outboxLatest;
425
592
  for (const syncOp of operations) {
426
593
  for (const op of syncOp.operations) {
427
594
  const opOrdinal = op.context.ordinal;
@@ -444,42 +611,69 @@ export async function pollSyncEnvelopes(syncManager, args) {
444
611
  cursorOrdinal: maxOrdinal,
445
612
  lastSyncedAtUtcMs: Date.now().toString(),
446
613
  },
614
+ key: syncOp.jobId || undefined,
615
+ dependsOn: syncOp.jobDependencies.filter(Boolean).length > 0
616
+ ? syncOp.jobDependencies.filter(Boolean)
617
+ : undefined,
447
618
  }));
448
- return envelopes;
619
+ return {
620
+ envelopes: sortEnvelopesByFirstOperationTimestamp(envelopes),
621
+ ackOrdinal: remote.channel.inbox.ackOrdinal,
622
+ deadLetters,
623
+ };
449
624
  }
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);
625
+ /**
626
+ * Receives sync envelopes pushed by a client and adds them to the
627
+ * appropriate channel inboxes.
628
+ *
629
+ * The `ordinal` in each operation's context is the client's local ordinal.
630
+ * It must be preserved because the inbox mailbox tracks applied ordinals
631
+ * and returns the highest one as `ackOrdinal` in pollSyncEnvelopes.
632
+ */
633
+ export function pushSyncEnvelopes(syncManager, args) {
634
+ const sortedEnvelopes = sortEnvelopesByFirstOperationTimestamp(args.envelopes);
635
+ const remoteSyncOps = new Map();
636
+ for (const envelope of sortedEnvelopes) {
637
+ let remote;
638
+ try {
639
+ remote = syncManager.getById(envelope.channelMeta.id);
640
+ }
641
+ catch (error) {
642
+ throw new GraphQLError(`Channel not found: ${error instanceof Error ? error.message : "Unknown error"}`);
643
+ }
644
+ if (!envelope.operations || envelope.operations.length === 0) {
645
+ continue;
646
+ }
647
+ const operations = envelope.operations.map((op) => ({
648
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
649
+ operation: op.operation,
650
+ context: {
651
+ documentId: op.context.documentId,
652
+ documentType: op.context.documentType,
653
+ scope: op.context.scope,
654
+ branch: op.context.branch,
655
+ ordinal: op.context.ordinal,
656
+ },
657
+ }));
658
+ const batches = batchOperationsByDocument(operations);
659
+ for (const batch of batches) {
660
+ const syncOpId = `syncop-${envelope.channelMeta.id}-${Date.now()}-${crypto.randomUUID()}`;
661
+ const jobId = envelope.key ?? "";
662
+ const jobDependencies = envelope.dependsOn ?? [];
663
+ const syncOp = new SyncOperation(syncOpId, jobId, jobDependencies, remote.name, batch.documentId, [batch.scope], batch.branch, batch.operations);
664
+ if (!remoteSyncOps.has(remote)) {
665
+ remoteSyncOps.set(remote, []);
666
+ }
667
+ remoteSyncOps.get(remote).push(syncOp);
668
+ }
480
669
  }
481
- catch (error) {
482
- throw new GraphQLError(`Failed to push sync envelope: ${error instanceof Error ? error.message : "Unknown error"}`);
670
+ for (const [remote, syncOps] of remoteSyncOps) {
671
+ const consolidated = consolidateSyncOperations(syncOps);
672
+ const validKeys = new Set(consolidated.map((op) => op.jobId).filter(Boolean));
673
+ for (const syncOp of consolidated) {
674
+ syncOp.jobDependencies = syncOp.jobDependencies.filter((dep) => validKeys.has(dep));
675
+ }
676
+ remote.channel.inbox.add(...consolidated);
483
677
  }
484
678
  return Promise.resolve(true);
485
679
  }
@@ -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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"}