@powerhousedao/reactor-api 6.0.2-staging.2 → 6.0.2-staging.3

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 (351) hide show
  1. package/README.md +6 -0
  2. package/dist/index.d.mts +2943 -0
  3. package/dist/index.d.mts.map +1 -0
  4. package/dist/index.mjs +6375 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/src/packages/https-hooks.d.mts +23 -7
  7. package/dist/src/packages/https-hooks.d.mts.map +1 -1
  8. package/dist/src/packages/https-hooks.mjs +73 -53
  9. package/dist/src/packages/https-hooks.mjs.map +1 -1
  10. package/dist/src/packages/vite-loader.d.mts +29 -0
  11. package/dist/src/packages/vite-loader.d.mts.map +1 -0
  12. package/dist/src/packages/vite-loader.mjs +142 -0
  13. package/dist/src/packages/vite-loader.mjs.map +1 -0
  14. package/dist/types-Do4QTfT3.d.mts +37 -0
  15. package/dist/types-Do4QTfT3.d.mts.map +1 -0
  16. package/dist/utils-DEEhP99G.mjs +286 -0
  17. package/dist/utils-DEEhP99G.mjs.map +1 -0
  18. package/package.json +45 -32
  19. package/dist/codegen.d.ts +0 -4
  20. package/dist/codegen.d.ts.map +0 -1
  21. package/dist/codegen.js +0 -38
  22. package/dist/codegen.js.map +0 -1
  23. package/dist/index.d.ts +0 -16
  24. package/dist/index.d.ts.map +0 -1
  25. package/dist/index.js +0 -16
  26. package/dist/index.js.map +0 -1
  27. package/dist/src/config.d.ts +0 -6
  28. package/dist/src/config.d.ts.map +0 -1
  29. package/dist/src/config.js +0 -6
  30. package/dist/src/config.js.map +0 -1
  31. package/dist/src/dev.d.ts +0 -2
  32. package/dist/src/dev.d.ts.map +0 -1
  33. package/dist/src/dev.js +0 -51
  34. package/dist/src/dev.js.map +0 -1
  35. package/dist/src/graphql/analytics-subgraph.d.ts +0 -14
  36. package/dist/src/graphql/analytics-subgraph.d.ts.map +0 -1
  37. package/dist/src/graphql/analytics-subgraph.js +0 -26
  38. package/dist/src/graphql/analytics-subgraph.js.map +0 -1
  39. package/dist/src/graphql/auth/index.d.ts +0 -2
  40. package/dist/src/graphql/auth/index.d.ts.map +0 -1
  41. package/dist/src/graphql/auth/index.js +0 -2
  42. package/dist/src/graphql/auth/index.js.map +0 -1
  43. package/dist/src/graphql/auth/resolvers.d.ts +0 -166
  44. package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
  45. package/dist/src/graphql/auth/resolvers.js +0 -227
  46. package/dist/src/graphql/auth/resolvers.js.map +0 -1
  47. package/dist/src/graphql/auth/schema.graphql +0 -195
  48. package/dist/src/graphql/auth/subgraph.d.ts +0 -202
  49. package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
  50. package/dist/src/graphql/auth/subgraph.js +0 -384
  51. package/dist/src/graphql/auth/subgraph.js.map +0 -1
  52. package/dist/src/graphql/base-subgraph.d.ts +0 -28
  53. package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
  54. package/dist/src/graphql/base-subgraph.js +0 -126
  55. package/dist/src/graphql/base-subgraph.js.map +0 -1
  56. package/dist/src/graphql/document-model-subgraph.d.ts +0 -105
  57. package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
  58. package/dist/src/graphql/document-model-subgraph.js +0 -312
  59. package/dist/src/graphql/document-model-subgraph.js.map +0 -1
  60. package/dist/src/graphql/graphql-manager.d.ts +0 -68
  61. package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
  62. package/dist/src/graphql/graphql-manager.js +0 -589
  63. package/dist/src/graphql/graphql-manager.js.map +0 -1
  64. package/dist/src/graphql/index.d.ts +0 -10
  65. package/dist/src/graphql/index.d.ts.map +0 -1
  66. package/dist/src/graphql/index.js +0 -10
  67. package/dist/src/graphql/index.js.map +0 -1
  68. package/dist/src/graphql/packages/index.d.ts +0 -2
  69. package/dist/src/graphql/packages/index.d.ts.map +0 -1
  70. package/dist/src/graphql/packages/index.js +0 -2
  71. package/dist/src/graphql/packages/index.js.map +0 -1
  72. package/dist/src/graphql/packages/resolvers.d.ts +0 -31
  73. package/dist/src/graphql/packages/resolvers.d.ts.map +0 -1
  74. package/dist/src/graphql/packages/resolvers.js +0 -37
  75. package/dist/src/graphql/packages/resolvers.js.map +0 -1
  76. package/dist/src/graphql/packages/schema.graphql +0 -50
  77. package/dist/src/graphql/packages/subgraph.d.ts +0 -55
  78. package/dist/src/graphql/packages/subgraph.d.ts.map +0 -1
  79. package/dist/src/graphql/packages/subgraph.js +0 -73
  80. package/dist/src/graphql/packages/subgraph.js.map +0 -1
  81. package/dist/src/graphql/playground.d.ts +0 -2
  82. package/dist/src/graphql/playground.d.ts.map +0 -1
  83. package/dist/src/graphql/playground.js +0 -81
  84. package/dist/src/graphql/playground.js.map +0 -1
  85. package/dist/src/graphql/reactor/adapters.d.ts +0 -62
  86. package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
  87. package/dist/src/graphql/reactor/adapters.js +0 -271
  88. package/dist/src/graphql/reactor/adapters.js.map +0 -1
  89. package/dist/src/graphql/reactor/factory.d.ts +0 -105
  90. package/dist/src/graphql/reactor/factory.d.ts.map +0 -1
  91. package/dist/src/graphql/reactor/factory.js +0 -7
  92. package/dist/src/graphql/reactor/factory.js.map +0 -1
  93. package/dist/src/graphql/reactor/gen/graphql.d.ts +0 -1489
  94. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
  95. package/dist/src/graphql/reactor/gen/graphql.js +0 -731
  96. package/dist/src/graphql/reactor/gen/graphql.js.map +0 -1
  97. package/dist/src/graphql/reactor/index.d.ts +0 -4
  98. package/dist/src/graphql/reactor/index.d.ts.map +0 -1
  99. package/dist/src/graphql/reactor/index.js +0 -4
  100. package/dist/src/graphql/reactor/index.js.map +0 -1
  101. package/dist/src/graphql/reactor/operations.graphql +0 -443
  102. package/dist/src/graphql/reactor/pubsub.d.ts +0 -27
  103. package/dist/src/graphql/reactor/pubsub.d.ts.map +0 -1
  104. package/dist/src/graphql/reactor/pubsub.js +0 -93
  105. package/dist/src/graphql/reactor/pubsub.js.map +0 -1
  106. package/dist/src/graphql/reactor/requester.d.ts +0 -4
  107. package/dist/src/graphql/reactor/requester.d.ts.map +0 -1
  108. package/dist/src/graphql/reactor/requester.js +0 -22
  109. package/dist/src/graphql/reactor/requester.js.map +0 -1
  110. package/dist/src/graphql/reactor/requester.with-zod.d.ts +0 -4
  111. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +0 -1
  112. package/dist/src/graphql/reactor/requester.with-zod.js +0 -129
  113. package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
  114. package/dist/src/graphql/reactor/resolvers.d.ts +0 -223
  115. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  116. package/dist/src/graphql/reactor/resolvers.js +0 -682
  117. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  118. package/dist/src/graphql/reactor/schema.graphql +0 -475
  119. package/dist/src/graphql/reactor/subgraph.d.ts +0 -18
  120. package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
  121. package/dist/src/graphql/reactor/subgraph.js +0 -457
  122. package/dist/src/graphql/reactor/subgraph.js.map +0 -1
  123. package/dist/src/graphql/reactor/validation.d.ts +0 -348
  124. package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
  125. package/dist/src/graphql/reactor/validation.js +0 -167
  126. package/dist/src/graphql/reactor/validation.js.map +0 -1
  127. package/dist/src/graphql/sse.d.ts +0 -42
  128. package/dist/src/graphql/sse.d.ts.map +0 -1
  129. package/dist/src/graphql/sse.js +0 -33
  130. package/dist/src/graphql/sse.js.map +0 -1
  131. package/dist/src/graphql/system/env/getters.d.ts +0 -2
  132. package/dist/src/graphql/system/env/getters.d.ts.map +0 -1
  133. package/dist/src/graphql/system/env/getters.js +0 -4
  134. package/dist/src/graphql/system/env/getters.js.map +0 -1
  135. package/dist/src/graphql/system/env/index.d.ts +0 -2
  136. package/dist/src/graphql/system/env/index.d.ts.map +0 -1
  137. package/dist/src/graphql/system/env/index.js +0 -5
  138. package/dist/src/graphql/system/env/index.js.map +0 -1
  139. package/dist/src/graphql/system/index.d.ts +0 -2
  140. package/dist/src/graphql/system/index.d.ts.map +0 -1
  141. package/dist/src/graphql/system/index.js +0 -2
  142. package/dist/src/graphql/system/index.js.map +0 -1
  143. package/dist/src/graphql/system/types.d.ts +0 -2
  144. package/dist/src/graphql/system/types.d.ts.map +0 -1
  145. package/dist/src/graphql/system/types.js +0 -2
  146. package/dist/src/graphql/system/types.js.map +0 -1
  147. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
  148. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
  149. package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
  150. package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
  151. package/dist/src/graphql/types.d.ts +0 -102
  152. package/dist/src/graphql/types.d.ts.map +0 -1
  153. package/dist/src/graphql/types.js +0 -2
  154. package/dist/src/graphql/types.js.map +0 -1
  155. package/dist/src/graphql/utils.d.ts +0 -9
  156. package/dist/src/graphql/utils.d.ts.map +0 -1
  157. package/dist/src/graphql/utils.js +0 -72
  158. package/dist/src/graphql/utils.js.map +0 -1
  159. package/dist/src/graphql/websocket.d.ts +0 -3
  160. package/dist/src/graphql/websocket.d.ts.map +0 -1
  161. package/dist/src/graphql/websocket.js +0 -15
  162. package/dist/src/graphql/websocket.js.map +0 -1
  163. package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
  164. package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
  165. package/dist/src/migrations/001_create_document_permissions.js +0 -91
  166. package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
  167. package/dist/src/migrations/002_add_document_protection.d.ts +0 -4
  168. package/dist/src/migrations/002_add_document_protection.d.ts.map +0 -1
  169. package/dist/src/migrations/002_add_document_protection.js +0 -18
  170. package/dist/src/migrations/002_add_document_protection.js.map +0 -1
  171. package/dist/src/migrations/index.d.ts +0 -10
  172. package/dist/src/migrations/index.d.ts.map +0 -1
  173. package/dist/src/migrations/index.js +0 -58
  174. package/dist/src/migrations/index.js.map +0 -1
  175. package/dist/src/packages/http-loader.d.ts +0 -68
  176. package/dist/src/packages/http-loader.d.ts.map +0 -1
  177. package/dist/src/packages/http-loader.js +0 -176
  178. package/dist/src/packages/http-loader.js.map +0 -1
  179. package/dist/src/packages/import-loader.d.ts +0 -14
  180. package/dist/src/packages/import-loader.d.ts.map +0 -1
  181. package/dist/src/packages/import-loader.js +0 -46
  182. package/dist/src/packages/import-loader.js.map +0 -1
  183. package/dist/src/packages/import-resolver.d.ts +0 -5
  184. package/dist/src/packages/import-resolver.d.ts.map +0 -1
  185. package/dist/src/packages/import-resolver.js +0 -127
  186. package/dist/src/packages/import-resolver.js.map +0 -1
  187. package/dist/src/packages/package-manager.d.ts +0 -34
  188. package/dist/src/packages/package-manager.d.ts.map +0 -1
  189. package/dist/src/packages/package-manager.js +0 -213
  190. package/dist/src/packages/package-manager.js.map +0 -1
  191. package/dist/src/packages/types.d.ts +0 -38
  192. package/dist/src/packages/types.d.ts.map +0 -1
  193. package/dist/src/packages/types.js +0 -2
  194. package/dist/src/packages/types.js.map +0 -1
  195. package/dist/src/packages/util.d.ts +0 -27
  196. package/dist/src/packages/util.d.ts.map +0 -1
  197. package/dist/src/packages/util.js +0 -97
  198. package/dist/src/packages/util.js.map +0 -1
  199. package/dist/src/packages/vite-loader.d.ts +0 -24
  200. package/dist/src/packages/vite-loader.d.ts.map +0 -1
  201. package/dist/src/packages/vite-loader.js +0 -169
  202. package/dist/src/packages/vite-loader.js.map +0 -1
  203. package/dist/src/server.d.ts +0 -56
  204. package/dist/src/server.d.ts.map +0 -1
  205. package/dist/src/server.js +0 -365
  206. package/dist/src/server.js.map +0 -1
  207. package/dist/src/services/auth.service.d.ts +0 -56
  208. package/dist/src/services/auth.service.d.ts.map +0 -1
  209. package/dist/src/services/auth.service.js +0 -172
  210. package/dist/src/services/auth.service.js.map +0 -1
  211. package/dist/src/services/authorization.service.d.ts +0 -70
  212. package/dist/src/services/authorization.service.d.ts.map +0 -1
  213. package/dist/src/services/authorization.service.js +0 -155
  214. package/dist/src/services/authorization.service.js.map +0 -1
  215. package/dist/src/services/document-permission.service.d.ts +0 -241
  216. package/dist/src/services/document-permission.service.d.ts.map +0 -1
  217. package/dist/src/services/document-permission.service.js +0 -791
  218. package/dist/src/services/document-permission.service.js.map +0 -1
  219. package/dist/src/services/package-management.service.d.ts +0 -32
  220. package/dist/src/services/package-management.service.d.ts.map +0 -1
  221. package/dist/src/services/package-management.service.js +0 -95
  222. package/dist/src/services/package-management.service.js.map +0 -1
  223. package/dist/src/services/package-storage.d.ts +0 -23
  224. package/dist/src/services/package-storage.d.ts.map +0 -1
  225. package/dist/src/services/package-storage.js +0 -19
  226. package/dist/src/services/package-storage.js.map +0 -1
  227. package/dist/src/tracing.d.ts +0 -4
  228. package/dist/src/tracing.d.ts.map +0 -1
  229. package/dist/src/tracing.js +0 -140
  230. package/dist/src/tracing.js.map +0 -1
  231. package/dist/src/types.d.ts +0 -17
  232. package/dist/src/types.d.ts.map +0 -1
  233. package/dist/src/types.js +0 -2
  234. package/dist/src/types.js.map +0 -1
  235. package/dist/src/utils/auth.d.ts +0 -3
  236. package/dist/src/utils/auth.d.ts.map +0 -1
  237. package/dist/src/utils/auth.js +0 -12
  238. package/dist/src/utils/auth.js.map +0 -1
  239. package/dist/src/utils/create-schema.d.ts +0 -36
  240. package/dist/src/utils/create-schema.d.ts.map +0 -1
  241. package/dist/src/utils/create-schema.js +0 -725
  242. package/dist/src/utils/create-schema.js.map +0 -1
  243. package/dist/src/utils/db.d.ts +0 -82
  244. package/dist/src/utils/db.d.ts.map +0 -1
  245. package/dist/src/utils/db.js +0 -101
  246. package/dist/src/utils/db.js.map +0 -1
  247. package/dist/src/utils/drive-url.d.ts +0 -2
  248. package/dist/src/utils/drive-url.d.ts.map +0 -1
  249. package/dist/src/utils/drive-url.js +0 -3
  250. package/dist/src/utils/drive-url.js.map +0 -1
  251. package/dist/src/utils/index.d.ts +0 -4
  252. package/dist/src/utils/index.d.ts.map +0 -1
  253. package/dist/src/utils/index.js +0 -4
  254. package/dist/src/utils/index.js.map +0 -1
  255. package/dist/test/authorization.service.test.d.ts +0 -2
  256. package/dist/test/authorization.service.test.d.ts.map +0 -1
  257. package/dist/test/authorization.service.test.js +0 -252
  258. package/dist/test/authorization.service.test.js.map +0 -1
  259. package/dist/test/benchmarks/load.bench.d.ts +0 -2
  260. package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
  261. package/dist/test/benchmarks/load.bench.js +0 -73
  262. package/dist/test/benchmarks/load.bench.js.map +0 -1
  263. package/dist/test/benchmarks/sync.bench.d.ts +0 -2
  264. package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
  265. package/dist/test/benchmarks/sync.bench.js +0 -119
  266. package/dist/test/benchmarks/sync.bench.js.map +0 -1
  267. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +0 -2
  268. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +0 -1
  269. package/dist/test/connect-switchboard-reshuffle-convergence.test.js +0 -203
  270. package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +0 -1
  271. package/dist/test/connect-switchboard-sync.test.d.ts +0 -2
  272. package/dist/test/connect-switchboard-sync.test.d.ts.map +0 -1
  273. package/dist/test/connect-switchboard-sync.test.js +0 -632
  274. package/dist/test/connect-switchboard-sync.test.js.map +0 -1
  275. package/dist/test/document-drive-subgraph.test.d.ts +0 -2
  276. package/dist/test/document-drive-subgraph.test.d.ts.map +0 -1
  277. package/dist/test/document-drive-subgraph.test.js +0 -249
  278. package/dist/test/document-drive-subgraph.test.js.map +0 -1
  279. package/dist/test/document-model-subgraph-permissions.test.d.ts +0 -2
  280. package/dist/test/document-model-subgraph-permissions.test.d.ts.map +0 -1
  281. package/dist/test/document-model-subgraph-permissions.test.js +0 -587
  282. package/dist/test/document-model-subgraph-permissions.test.js.map +0 -1
  283. package/dist/test/document-permission.service.test.d.ts +0 -2
  284. package/dist/test/document-permission.service.test.d.ts.map +0 -1
  285. package/dist/test/document-permission.service.test.js +0 -480
  286. package/dist/test/document-permission.service.test.js.map +0 -1
  287. package/dist/test/drive-info-endpoint.test.d.ts +0 -2
  288. package/dist/test/drive-info-endpoint.test.d.ts.map +0 -1
  289. package/dist/test/drive-info-endpoint.test.js +0 -123
  290. package/dist/test/drive-info-endpoint.test.js.map +0 -1
  291. package/dist/test/fault-injection-sync.test.d.ts +0 -2
  292. package/dist/test/fault-injection-sync.test.d.ts.map +0 -1
  293. package/dist/test/fault-injection-sync.test.js +0 -196
  294. package/dist/test/fault-injection-sync.test.js.map +0 -1
  295. package/dist/test/identity-integration.test.d.ts +0 -2
  296. package/dist/test/identity-integration.test.d.ts.map +0 -1
  297. package/dist/test/identity-integration.test.js +0 -349
  298. package/dist/test/identity-integration.test.js.map +0 -1
  299. package/dist/test/index.d.ts +0 -2
  300. package/dist/test/index.d.ts.map +0 -1
  301. package/dist/test/index.js +0 -2
  302. package/dist/test/index.js.map +0 -1
  303. package/dist/test/permissions-integration.test.d.ts +0 -2
  304. package/dist/test/permissions-integration.test.d.ts.map +0 -1
  305. package/dist/test/permissions-integration.test.js +0 -407
  306. package/dist/test/permissions-integration.test.js.map +0 -1
  307. package/dist/test/push-backfill.test.d.ts +0 -2
  308. package/dist/test/push-backfill.test.d.ts.map +0 -1
  309. package/dist/test/push-backfill.test.js +0 -298
  310. package/dist/test/push-backfill.test.js.map +0 -1
  311. package/dist/test/reactor-adapters.test.d.ts +0 -2
  312. package/dist/test/reactor-adapters.test.d.ts.map +0 -1
  313. package/dist/test/reactor-adapters.test.js +0 -379
  314. package/dist/test/reactor-adapters.test.js.map +0 -1
  315. package/dist/test/reactor-client.test.d.ts +0 -2
  316. package/dist/test/reactor-client.test.d.ts.map +0 -1
  317. package/dist/test/reactor-client.test.js +0 -371
  318. package/dist/test/reactor-client.test.js.map +0 -1
  319. package/dist/test/reactor-resolvers.test.d.ts +0 -2
  320. package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
  321. package/dist/test/reactor-resolvers.test.js +0 -258
  322. package/dist/test/reactor-resolvers.test.js.map +0 -1
  323. package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
  324. package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
  325. package/dist/test/reactor-subgraph-permissions.test.js +0 -371
  326. package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
  327. package/dist/test/router.test.d.ts +0 -2
  328. package/dist/test/router.test.d.ts.map +0 -1
  329. package/dist/test/router.test.js +0 -38
  330. package/dist/test/router.test.js.map +0 -1
  331. package/dist/test/subscriptions-sse.test.d.ts +0 -2
  332. package/dist/test/subscriptions-sse.test.d.ts.map +0 -1
  333. package/dist/test/subscriptions-sse.test.js +0 -264
  334. package/dist/test/subscriptions-sse.test.js.map +0 -1
  335. package/dist/test/subscriptions.test.d.ts +0 -2
  336. package/dist/test/subscriptions.test.d.ts.map +0 -1
  337. package/dist/test/subscriptions.test.js +0 -248
  338. package/dist/test/subscriptions.test.js.map +0 -1
  339. package/dist/test/utils/gql-resolver-bridge.d.ts +0 -15
  340. package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
  341. package/dist/test/utils/gql-resolver-bridge.js +0 -89
  342. package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
  343. package/dist/test/utils.d.ts +0 -10
  344. package/dist/test/utils.d.ts.map +0 -1
  345. package/dist/test/utils.js +0 -23
  346. package/dist/test/utils.js.map +0 -1
  347. package/dist/tsconfig.tsbuildinfo +0 -1
  348. package/dist/vitest.config.d.ts +0 -3
  349. package/dist/vitest.config.d.ts.map +0 -1
  350. package/dist/vitest.config.js +0 -38
  351. package/dist/vitest.config.js.map +0 -1
@@ -1,682 +0,0 @@
1
- import { consolidateSyncOperations, envelopesToSyncOperations, sortEnvelopesByFirstOperationTimestamp, trimMailboxFromAckOrdinal, } from "@powerhousedao/reactor";
2
- import { GraphQLError } from "graphql";
3
- const DRIVE_DOCUMENT_TYPE = "powerhouse/document-drive";
4
- import { fromInputMaybe, serializeOperationForGraphQL, toDocumentModelResultPage, toGqlJobInfo, toGqlPhDocument, toMutableArray, toOperationResultPage, toPhDocumentResultPage, validateActions, } from "./adapters.js";
5
- export async function documentModels(reactorClient, args) {
6
- const namespace = fromInputMaybe(args.namespace);
7
- let paging;
8
- if (args.paging) {
9
- const cursor = fromInputMaybe(args.paging.cursor);
10
- const limit = fromInputMaybe(args.paging.limit);
11
- if (cursor || limit) {
12
- paging = {
13
- cursor: cursor || "",
14
- limit: limit || 10,
15
- };
16
- }
17
- }
18
- let result;
19
- try {
20
- result = await reactorClient.getDocumentModelModules(namespace, paging);
21
- }
22
- catch (error) {
23
- throw new GraphQLError(`Failed to fetch document models: ${error instanceof Error ? error.message : "Unknown error"}`);
24
- }
25
- try {
26
- return toDocumentModelResultPage(result);
27
- }
28
- catch (error) {
29
- throw new GraphQLError(`Failed to convert document models to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
30
- }
31
- }
32
- export async function document(reactorClient, args) {
33
- let view;
34
- if (args.view) {
35
- view = {
36
- branch: fromInputMaybe(args.view.branch),
37
- scopes: toMutableArray(fromInputMaybe(args.view.scopes)),
38
- };
39
- }
40
- let result;
41
- try {
42
- result = await reactorClient.get(args.identifier, view);
43
- }
44
- catch (error) {
45
- throw new GraphQLError(`Failed to fetch document: ${error instanceof Error ? error.message : "Unknown error"}`);
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
- }
54
- try {
55
- return {
56
- document: toGqlPhDocument(result),
57
- childIds: children.results.map((child) => child.header.id),
58
- };
59
- }
60
- catch (error) {
61
- throw new GraphQLError(`Failed to convert document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
62
- }
63
- }
64
- export async function documentChildren(reactorClient, args) {
65
- let view;
66
- if (args.view) {
67
- view = {
68
- branch: fromInputMaybe(args.view.branch),
69
- scopes: toMutableArray(fromInputMaybe(args.view.scopes)),
70
- };
71
- }
72
- let paging;
73
- if (args.paging) {
74
- const cursor = fromInputMaybe(args.paging.cursor);
75
- const limit = fromInputMaybe(args.paging.limit);
76
- if (cursor || limit) {
77
- paging = {
78
- cursor: cursor || "",
79
- limit: limit || 10,
80
- };
81
- }
82
- }
83
- let result;
84
- try {
85
- result = await reactorClient.getChildren(args.parentIdentifier, view, paging);
86
- }
87
- catch (error) {
88
- throw new GraphQLError(`Failed to fetch document children: ${error instanceof Error ? error.message : "Unknown error"}`);
89
- }
90
- try {
91
- return toPhDocumentResultPage(result);
92
- }
93
- catch (error) {
94
- throw new GraphQLError(`Failed to convert document children to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
95
- }
96
- }
97
- export async function documentParents(reactorClient, args) {
98
- let view;
99
- if (args.view) {
100
- view = {
101
- branch: fromInputMaybe(args.view.branch),
102
- scopes: toMutableArray(fromInputMaybe(args.view.scopes)),
103
- };
104
- }
105
- let paging;
106
- if (args.paging) {
107
- const cursor = fromInputMaybe(args.paging.cursor);
108
- const limit = fromInputMaybe(args.paging.limit);
109
- if (cursor || limit) {
110
- paging = {
111
- cursor: cursor || "",
112
- limit: limit || 10,
113
- };
114
- }
115
- }
116
- let result;
117
- try {
118
- result = await reactorClient.getParents(args.childIdentifier, view, paging);
119
- }
120
- catch (error) {
121
- throw new GraphQLError(`Failed to fetch document parents: ${error instanceof Error ? error.message : "Unknown error"}`);
122
- }
123
- try {
124
- return toPhDocumentResultPage(result);
125
- }
126
- catch (error) {
127
- throw new GraphQLError(`Failed to convert document parents to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
128
- }
129
- }
130
- export async function findDocuments(reactorClient, args) {
131
- let view;
132
- if (args.view) {
133
- view = {
134
- branch: fromInputMaybe(args.view.branch),
135
- scopes: toMutableArray(fromInputMaybe(args.view.scopes)),
136
- };
137
- }
138
- let paging;
139
- if (args.paging) {
140
- const cursor = fromInputMaybe(args.paging.cursor);
141
- const limit = fromInputMaybe(args.paging.limit);
142
- if (cursor || limit) {
143
- paging = {
144
- cursor: cursor || "",
145
- limit: limit || 10,
146
- };
147
- }
148
- }
149
- const search = {
150
- type: fromInputMaybe(args.search.type),
151
- parentId: fromInputMaybe(args.search.parentId),
152
- };
153
- let result;
154
- try {
155
- result = await reactorClient.find(search, view, paging);
156
- }
157
- catch (error) {
158
- throw new GraphQLError(`Failed to find documents: ${error instanceof Error ? error.message : "Unknown error"}`);
159
- }
160
- try {
161
- return toPhDocumentResultPage(result);
162
- }
163
- catch (error) {
164
- throw new GraphQLError(`Failed to convert documents to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
165
- }
166
- }
167
- export async function jobStatus(reactorClient, args) {
168
- let result;
169
- try {
170
- result = await reactorClient.getJobStatus(args.jobId);
171
- }
172
- catch (error) {
173
- throw new GraphQLError(`Failed to fetch job status: ${error instanceof Error ? error.message : "Unknown error"}`);
174
- }
175
- try {
176
- return toGqlJobInfo(result);
177
- }
178
- catch (error) {
179
- throw new GraphQLError(`Failed to convert job status to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
180
- }
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
- }
230
- export async function createDocument(reactorClient, args) {
231
- // Validate that document is a PHDocument
232
- if (!args.document || typeof args.document !== "object") {
233
- throw new GraphQLError("Invalid document: must be an object");
234
- }
235
- const document = args.document;
236
- // Validate required fields
237
- if (!document.header || typeof document.header !== "object") {
238
- throw new GraphQLError("Invalid document: missing or invalid header");
239
- }
240
- const parentIdentifier = fromInputMaybe(args.parentIdentifier);
241
- let result;
242
- try {
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
- }
255
- }
256
- catch (error) {
257
- throw new GraphQLError(`Failed to create document: ${error instanceof Error ? error.message : "Unknown error"}`);
258
- }
259
- try {
260
- return toGqlPhDocument(result);
261
- }
262
- catch (error) {
263
- throw new GraphQLError(`Failed to convert created document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
264
- }
265
- }
266
- export async function createEmptyDocument(reactorClient, args) {
267
- const parentIdentifier = fromInputMaybe(args.parentIdentifier);
268
- const name = fromInputMaybe(args.name);
269
- let result;
270
- try {
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
- }
290
- }
291
- catch (error) {
292
- throw new GraphQLError(`Failed to create empty document: ${error instanceof Error ? error.message : "Unknown error"}`);
293
- }
294
- try {
295
- return toGqlPhDocument(result);
296
- }
297
- catch (error) {
298
- throw new GraphQLError(`Failed to convert created document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
299
- }
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
- const preferredEditor = fromInputMaybe(args.preferredEditor);
306
- let module;
307
- try {
308
- module = await reactorClient.getDocumentModelModule(args.documentType);
309
- }
310
- catch (error) {
311
- throw new GraphQLError(`Document model not found for type ${args.documentType}: ${error instanceof Error ? error.message : "Unknown error"}`);
312
- }
313
- const document = module.utils.createDocument();
314
- // Only merge specification-defined scopes (e.g., global, local).
315
- // Protected scopes like "auth" and "document" are excluded.
316
- const allowedScopes = new Set(Object.keys(module.documentModel.global.specifications.at(-1)?.state ?? {}));
317
- const state = document.state;
318
- for (const [scope, scopeState] of Object.entries(args.initialState)) {
319
- if (allowedScopes.has(scope) && scope in state) {
320
- state[scope] = { ...state[scope], ...scopeState };
321
- }
322
- }
323
- if (name) {
324
- document.header.name = name;
325
- }
326
- if (slug) {
327
- document.header.slug = slug;
328
- }
329
- if (preferredEditor) {
330
- document.header.meta = { ...document.header.meta, preferredEditor };
331
- }
332
- let result;
333
- if (parentIdentifier) {
334
- let parent;
335
- try {
336
- parent = await reactorClient.get(parentIdentifier);
337
- }
338
- catch (error) {
339
- throw new GraphQLError(`Parent document not found: ${error instanceof Error ? error.message : "Unknown error"}`);
340
- }
341
- if (parent.header.documentType === DRIVE_DOCUMENT_TYPE) {
342
- try {
343
- result = await reactorClient.createDocumentInDrive(parentIdentifier, document);
344
- }
345
- catch (error) {
346
- throw new GraphQLError(`Failed to create document in drive: ${error instanceof Error ? error.message : "Unknown error"}`);
347
- }
348
- }
349
- else {
350
- try {
351
- result = await reactorClient.create(document, parentIdentifier);
352
- }
353
- catch (error) {
354
- throw new GraphQLError(`Failed to create document with parent: ${error instanceof Error ? error.message : "Unknown error"}`);
355
- }
356
- }
357
- }
358
- else {
359
- try {
360
- result = await reactorClient.create(document);
361
- }
362
- catch (error) {
363
- throw new GraphQLError(`Failed to create document: ${error instanceof Error ? error.message : "Unknown error"}`);
364
- }
365
- }
366
- try {
367
- return toGqlPhDocument(result);
368
- }
369
- catch (error) {
370
- throw new GraphQLError(`Failed to convert created document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
371
- }
372
- }
373
- export async function mutateDocument(reactorClient, args) {
374
- // Validate actions
375
- let validatedActions;
376
- try {
377
- validatedActions = validateActions(args.actions);
378
- }
379
- catch (error) {
380
- if (error instanceof GraphQLError) {
381
- throw error;
382
- }
383
- throw new GraphQLError(`Action validation failed: ${error instanceof Error ? error.message : "Unknown error"}`);
384
- }
385
- // Extract branch from view filter (default to "main")
386
- const branch = args.view?.branch ?? "main";
387
- let result;
388
- try {
389
- result = await reactorClient.execute(args.documentIdentifier, branch, validatedActions);
390
- }
391
- catch (error) {
392
- throw new GraphQLError(`Failed to mutate document: ${error instanceof Error ? error.message : "Unknown error"}`);
393
- }
394
- try {
395
- return toGqlPhDocument(result);
396
- }
397
- catch (error) {
398
- throw new GraphQLError(`Failed to convert mutated document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
399
- }
400
- }
401
- export async function mutateDocumentAsync(reactorClient, args) {
402
- // Validate actions
403
- let validatedActions;
404
- try {
405
- validatedActions = validateActions(args.actions);
406
- }
407
- catch (error) {
408
- if (error instanceof GraphQLError) {
409
- throw error;
410
- }
411
- throw new GraphQLError(`Action validation failed: ${error instanceof Error ? error.message : "Unknown error"}`);
412
- }
413
- // Extract branch from view filter (default to "main")
414
- const branch = args.view?.branch ?? "main";
415
- let result;
416
- try {
417
- result = await reactorClient.executeAsync(args.documentIdentifier, branch, validatedActions);
418
- }
419
- catch (error) {
420
- throw new GraphQLError(`Failed to submit document mutation: ${error instanceof Error ? error.message : "Unknown error"}`);
421
- }
422
- return result.id;
423
- }
424
- export async function renameDocument(reactorClient, args, signal) {
425
- const branch = fromInputMaybe(args.branch);
426
- let result;
427
- try {
428
- result = await reactorClient.rename(args.documentIdentifier, args.name, branch, signal);
429
- }
430
- catch (error) {
431
- throw new GraphQLError(`Failed to rename document: ${error instanceof Error ? error.message : "Unknown error"}`);
432
- }
433
- try {
434
- return toGqlPhDocument(result);
435
- }
436
- catch (error) {
437
- throw new GraphQLError(`Failed to convert renamed document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
438
- }
439
- }
440
- export async function addChildren(reactorClient, args) {
441
- const branch = fromInputMaybe(args.branch);
442
- const documentIdentifiers = [...args.documentIdentifiers];
443
- let result;
444
- try {
445
- result = await reactorClient.addChildren(args.parentIdentifier, documentIdentifiers, branch);
446
- }
447
- catch (error) {
448
- throw new GraphQLError(`Failed to add children: ${error instanceof Error ? error.message : "Unknown error"}`);
449
- }
450
- try {
451
- return toGqlPhDocument(result);
452
- }
453
- catch (error) {
454
- throw new GraphQLError(`Failed to convert document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
455
- }
456
- }
457
- export async function removeChildren(reactorClient, args) {
458
- const branch = fromInputMaybe(args.branch);
459
- const documentIdentifiers = [...args.documentIdentifiers];
460
- let result;
461
- try {
462
- result = await reactorClient.removeChildren(args.parentIdentifier, documentIdentifiers, branch);
463
- }
464
- catch (error) {
465
- throw new GraphQLError(`Failed to remove children: ${error instanceof Error ? error.message : "Unknown error"}`);
466
- }
467
- try {
468
- return toGqlPhDocument(result);
469
- }
470
- catch (error) {
471
- throw new GraphQLError(`Failed to convert document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
472
- }
473
- }
474
- export async function moveChildren(reactorClient, args) {
475
- const branch = fromInputMaybe(args.branch);
476
- const documentIdentifiers = [...args.documentIdentifiers];
477
- let result;
478
- try {
479
- result = await reactorClient.moveChildren(args.sourceParentIdentifier, args.targetParentIdentifier, documentIdentifiers, branch);
480
- }
481
- catch (error) {
482
- throw new GraphQLError(`Failed to move children: ${error instanceof Error ? error.message : "Unknown error"}`);
483
- }
484
- try {
485
- return {
486
- source: toGqlPhDocument(result.source),
487
- target: toGqlPhDocument(result.target),
488
- };
489
- }
490
- catch (error) {
491
- throw new GraphQLError(`Failed to convert documents to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
492
- }
493
- }
494
- export async function deleteDocument(reactorClient, args) {
495
- const propagate = fromInputMaybe(args.propagate);
496
- try {
497
- await reactorClient.deleteDocument(args.identifier, propagate);
498
- return true;
499
- }
500
- catch (error) {
501
- throw new GraphQLError(`Failed to delete document: ${error instanceof Error ? error.message : "Unknown error"}`);
502
- }
503
- }
504
- export async function deleteDocuments(reactorClient, args) {
505
- const propagate = fromInputMaybe(args.propagate);
506
- const identifiers = [...args.identifiers];
507
- try {
508
- await reactorClient.deleteDocuments(identifiers, propagate);
509
- return true;
510
- }
511
- catch (error) {
512
- throw new GraphQLError(`Failed to delete documents: ${error instanceof Error ? error.message : "Unknown error"}`);
513
- }
514
- }
515
- export async function touchChannel(syncManager, args) {
516
- try {
517
- const remote = syncManager.getById(args.input.id);
518
- return {
519
- success: true,
520
- ackOrdinal: remote.channel.inbox.ackOrdinal,
521
- };
522
- }
523
- catch {
524
- // getById will throw if the remote does not exist
525
- }
526
- const filter = {
527
- documentId: [...args.input.filter.documentId],
528
- scope: [...args.input.filter.scope],
529
- branch: args.input.filter.branch,
530
- };
531
- const options = {
532
- sinceTimestampUtcMs: args.input.sinceTimestampUtcMs,
533
- };
534
- try {
535
- await syncManager.add(args.input.name, args.input.collectionId, {
536
- type: "polling",
537
- parameters: {},
538
- }, filter, options, args.input.id);
539
- }
540
- catch (error) {
541
- throw new GraphQLError(`Failed to create channel: ${error instanceof Error ? error.message : "Unknown error"}`);
542
- }
543
- return { success: true, ackOrdinal: 0 };
544
- }
545
- /**
546
- * Polls the switchboard for new sync envelopes and acknowledges previously
547
- * received operations.
548
- *
549
- * Ordinal frames of reference:
550
- * - `outboxAck` / `outboxLatest`: switchboard's ordinals (used to trim/filter
551
- * the switchboard's outbox)
552
- * - `ackOrdinal` in the response: the pushing client's ordinals (highest
553
- * client ordinal the switchboard has successfully applied, so the client
554
- * can trim its own outbox)
555
- */
556
- export function pollSyncEnvelopes(syncManager, args) {
557
- let remote;
558
- try {
559
- remote = syncManager.getById(args.channelId);
560
- }
561
- catch (error) {
562
- throw new GraphQLError(`Channel not found: ${error instanceof Error ? error.message : "Unknown error"}`);
563
- }
564
- const deadLetters = remote.channel.deadLetter.items.map((syncOp) => ({
565
- documentId: syncOp.documentId,
566
- error: syncOp.error?.message ?? "Unknown error",
567
- jobId: syncOp.jobId,
568
- branch: syncOp.branch,
569
- scopes: syncOp.scopes,
570
- operationCount: syncOp.operations.length,
571
- }));
572
- // trim outbox
573
- if (args.outboxAck > 0) {
574
- trimMailboxFromAckOrdinal(remote.channel.outbox, args.outboxAck);
575
- }
576
- let operations = remote.channel.outbox.items;
577
- // filter remaining outbox operations by outboxLatest
578
- operations = operations.filter((syncOp) => {
579
- let maxOrdinal = 0;
580
- for (const op of syncOp.operations) {
581
- maxOrdinal = Math.max(maxOrdinal, op.context.ordinal);
582
- }
583
- if (maxOrdinal > args.outboxLatest) {
584
- return true;
585
- }
586
- return false;
587
- });
588
- if (operations.length === 0) {
589
- return {
590
- envelopes: [],
591
- ackOrdinal: remote.channel.inbox.ackOrdinal,
592
- deadLetters,
593
- };
594
- }
595
- let maxOrdinal = args.outboxLatest;
596
- for (const syncOp of operations) {
597
- for (const op of syncOp.operations) {
598
- const opOrdinal = op.context.ordinal;
599
- if (opOrdinal > maxOrdinal) {
600
- maxOrdinal = opOrdinal;
601
- }
602
- }
603
- }
604
- const envelopes = operations.map((syncOp) => ({
605
- type: "OPERATIONS",
606
- channelMeta: {
607
- id: args.channelId,
608
- },
609
- operations: syncOp.operations.map((op) => ({
610
- operation: serializeOperationForGraphQL(op.operation),
611
- context: op.context,
612
- })),
613
- cursor: {
614
- remoteName: remote.name,
615
- cursorOrdinal: maxOrdinal,
616
- lastSyncedAtUtcMs: Date.now().toString(),
617
- },
618
- key: syncOp.jobId || undefined,
619
- dependsOn: syncOp.jobDependencies.filter(Boolean).length > 0
620
- ? syncOp.jobDependencies.filter(Boolean)
621
- : undefined,
622
- }));
623
- return {
624
- envelopes: sortEnvelopesByFirstOperationTimestamp(envelopes),
625
- ackOrdinal: remote.channel.inbox.ackOrdinal,
626
- deadLetters,
627
- };
628
- }
629
- /**
630
- * Receives sync envelopes pushed by a client and adds them to the
631
- * appropriate channel inboxes.
632
- *
633
- * The `ordinal` in each operation's context is the client's local ordinal.
634
- * It must be preserved because the inbox mailbox tracks applied ordinals
635
- * and returns the highest one as `ackOrdinal` in pollSyncEnvelopes.
636
- */
637
- export function pushSyncEnvelopes(syncManager, args) {
638
- const sortedEnvelopes = sortEnvelopesByFirstOperationTimestamp(args.envelopes);
639
- const remoteSyncOps = new Map();
640
- for (const envelope of sortedEnvelopes) {
641
- let remote;
642
- try {
643
- remote = syncManager.getById(envelope.channelMeta.id);
644
- }
645
- catch (error) {
646
- throw new GraphQLError(`Channel not found: ${error instanceof Error ? error.message : "Unknown error"}`);
647
- }
648
- if (!envelope.operations || envelope.operations.length === 0) {
649
- continue;
650
- }
651
- const syncOps = envelopesToSyncOperations(envelope, remote.name);
652
- if (!remoteSyncOps.has(remote)) {
653
- remoteSyncOps.set(remote, []);
654
- }
655
- remoteSyncOps.get(remote).push(...syncOps);
656
- }
657
- for (const [remote, syncOps] of remoteSyncOps) {
658
- const consolidated = consolidateSyncOperations(syncOps);
659
- const validKeys = new Set(consolidated.map((op) => op.jobId).filter(Boolean));
660
- for (const syncOp of consolidated) {
661
- syncOp.jobDependencies = syncOp.jobDependencies.filter((dep) => validKeys.has(dep));
662
- }
663
- remote.channel.inbox.add(...consolidated);
664
- }
665
- return Promise.resolve(true);
666
- }
667
- /**
668
- * Create a getParentIds function using the reactor client
669
- */
670
- export function createGetParentIdsFn(reactorClient) {
671
- return async (documentId) => {
672
- try {
673
- const result = await reactorClient.getParents(documentId);
674
- return result.results.map((doc) => doc.header.id);
675
- }
676
- catch {
677
- // If document has no parents or error, return empty array
678
- return [];
679
- }
680
- };
681
- }
682
- //# sourceMappingURL=resolvers.js.map