@powerhousedao/reactor-api 6.0.0-dev.13 → 6.0.0-dev.131

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 (367) hide show
  1. package/README.md +6 -0
  2. package/dist/codegen.js +1 -1
  3. package/dist/codegen.js.map +1 -1
  4. package/dist/index.d.ts +4 -3
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +4 -3
  7. package/dist/index.js.map +1 -1
  8. package/dist/src/config.d.ts +1 -2
  9. package/dist/src/config.d.ts.map +1 -1
  10. package/dist/src/config.js +1 -5
  11. package/dist/src/config.js.map +1 -1
  12. package/dist/src/dev.d.ts +2 -0
  13. package/dist/src/dev.d.ts.map +1 -0
  14. package/dist/src/dev.js +51 -0
  15. package/dist/src/dev.js.map +1 -0
  16. package/dist/src/graphql/auth/resolvers.d.ts +17 -0
  17. package/dist/src/graphql/auth/resolvers.d.ts.map +1 -1
  18. package/dist/src/graphql/auth/resolvers.js +54 -0
  19. package/dist/src/graphql/auth/resolvers.js.map +1 -1
  20. package/dist/src/graphql/auth/schema.graphql +27 -5
  21. package/dist/src/graphql/auth/subgraph.d.ts +25 -0
  22. package/dist/src/graphql/auth/subgraph.d.ts.map +1 -1
  23. package/dist/src/graphql/auth/subgraph.js +46 -2
  24. package/dist/src/graphql/auth/subgraph.js.map +1 -1
  25. package/dist/src/graphql/base-subgraph.d.ts +11 -4
  26. package/dist/src/graphql/base-subgraph.d.ts.map +1 -1
  27. package/dist/src/graphql/base-subgraph.js +94 -2
  28. package/dist/src/graphql/base-subgraph.js.map +1 -1
  29. package/dist/src/graphql/document-model-subgraph.d.ts +104 -45
  30. package/dist/src/graphql/document-model-subgraph.d.ts.map +1 -1
  31. package/dist/src/graphql/document-model-subgraph.js +323 -91
  32. package/dist/src/graphql/document-model-subgraph.js.map +1 -1
  33. package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts +23 -0
  34. package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts.map +1 -0
  35. package/dist/src/graphql/gateway/adapter-gateway-apollo.js +156 -0
  36. package/dist/src/graphql/gateway/adapter-gateway-apollo.js.map +1 -0
  37. package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts +17 -0
  38. package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts.map +1 -0
  39. package/dist/src/graphql/gateway/adapter-gateway-mercurius.js +154 -0
  40. package/dist/src/graphql/gateway/adapter-gateway-mercurius.js.map +1 -0
  41. package/dist/src/graphql/gateway/adapter-http-express.d.ts +25 -0
  42. package/dist/src/graphql/gateway/adapter-http-express.d.ts.map +1 -0
  43. package/dist/src/graphql/gateway/adapter-http-express.js +163 -0
  44. package/dist/src/graphql/gateway/adapter-http-express.js.map +1 -0
  45. package/dist/src/graphql/gateway/adapter-http-fastify.d.ts +23 -0
  46. package/dist/src/graphql/gateway/adapter-http-fastify.d.ts.map +1 -0
  47. package/dist/src/graphql/gateway/adapter-http-fastify.js +228 -0
  48. package/dist/src/graphql/gateway/adapter-http-fastify.js.map +1 -0
  49. package/dist/src/graphql/gateway/auth-middleware.d.ts +7 -0
  50. package/dist/src/graphql/gateway/auth-middleware.d.ts.map +1 -0
  51. package/dist/src/graphql/gateway/auth-middleware.js +15 -0
  52. package/dist/src/graphql/gateway/auth-middleware.js.map +1 -0
  53. package/dist/src/graphql/gateway/factory.d.ts +11 -0
  54. package/dist/src/graphql/gateway/factory.d.ts.map +1 -0
  55. package/dist/src/graphql/gateway/factory.js +21 -0
  56. package/dist/src/graphql/gateway/factory.js.map +1 -0
  57. package/dist/src/graphql/gateway/types.d.ts +100 -0
  58. package/dist/src/graphql/gateway/types.d.ts.map +1 -0
  59. package/dist/src/{sync → graphql/gateway}/types.js.map +1 -1
  60. package/dist/src/graphql/graphql-manager.d.ts +30 -12
  61. package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
  62. package/dist/src/graphql/graphql-manager.js +282 -232
  63. package/dist/src/graphql/graphql-manager.js.map +1 -1
  64. package/dist/src/graphql/index.d.ts +5 -1
  65. package/dist/src/graphql/index.d.ts.map +1 -1
  66. package/dist/src/graphql/index.js +5 -1
  67. package/dist/src/graphql/index.js.map +1 -1
  68. package/dist/src/graphql/packages/index.d.ts +2 -0
  69. package/dist/src/graphql/packages/index.d.ts.map +1 -0
  70. package/dist/src/graphql/packages/index.js +2 -0
  71. package/dist/src/graphql/packages/index.js.map +1 -0
  72. package/dist/src/graphql/packages/resolvers.d.ts +31 -0
  73. package/dist/src/graphql/packages/resolvers.d.ts.map +1 -0
  74. package/dist/src/graphql/packages/resolvers.js +37 -0
  75. package/dist/src/graphql/packages/resolvers.js.map +1 -0
  76. package/dist/src/graphql/packages/schema.graphql +50 -0
  77. package/dist/src/graphql/packages/subgraph.d.ts +55 -0
  78. package/dist/src/graphql/packages/subgraph.d.ts.map +1 -0
  79. package/dist/src/graphql/packages/subgraph.js +73 -0
  80. package/dist/src/graphql/packages/subgraph.js.map +1 -0
  81. package/dist/src/graphql/playground.d.ts.map +1 -1
  82. package/dist/src/graphql/playground.js +19 -12
  83. package/dist/src/graphql/playground.js.map +1 -1
  84. package/dist/src/graphql/reactor/adapters.d.ts +10 -2
  85. package/dist/src/graphql/reactor/adapters.d.ts.map +1 -1
  86. package/dist/src/graphql/reactor/adapters.js +36 -1
  87. package/dist/src/graphql/reactor/adapters.js.map +1 -1
  88. package/dist/src/graphql/reactor/factory.d.ts +28 -7
  89. package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
  90. package/dist/src/graphql/reactor/factory.js +1 -1
  91. package/dist/src/graphql/reactor/factory.js.map +1 -1
  92. package/dist/src/graphql/reactor/gen/graphql.d.ts +363 -84
  93. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
  94. package/dist/src/graphql/reactor/gen/graphql.js +247 -12
  95. package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
  96. package/dist/src/graphql/reactor/index.d.ts +1 -1
  97. package/dist/src/graphql/reactor/index.d.ts.map +1 -1
  98. package/dist/src/graphql/reactor/index.js +1 -1
  99. package/dist/src/graphql/reactor/index.js.map +1 -1
  100. package/dist/src/graphql/reactor/operations.graphql +193 -3
  101. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +1 -1
  102. package/dist/src/graphql/reactor/requester.with-zod.js +114 -38
  103. package/dist/src/graphql/reactor/requester.with-zod.js.map +1 -1
  104. package/dist/src/graphql/reactor/resolvers.d.ts +90 -26
  105. package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
  106. package/dist/src/graphql/reactor/resolvers.js +258 -77
  107. package/dist/src/graphql/reactor/resolvers.js.map +1 -1
  108. package/dist/src/graphql/reactor/schema.graphql +78 -32
  109. package/dist/src/graphql/reactor/subgraph.d.ts +2 -31
  110. package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
  111. package/dist/src/graphql/reactor/subgraph.js +139 -213
  112. package/dist/src/graphql/reactor/subgraph.js.map +1 -1
  113. package/dist/src/graphql/reactor/validation.d.ts +266 -20
  114. package/dist/src/graphql/reactor/validation.d.ts.map +1 -1
  115. package/dist/src/graphql/reactor/validation.js +98 -4
  116. package/dist/src/graphql/reactor/validation.js.map +1 -1
  117. package/dist/src/graphql/sse.d.ts +35 -0
  118. package/dist/src/graphql/sse.d.ts.map +1 -0
  119. package/dist/src/graphql/sse.js +29 -0
  120. package/dist/src/graphql/sse.js.map +1 -0
  121. package/dist/src/graphql/system/index.d.ts +0 -1
  122. package/dist/src/graphql/system/index.d.ts.map +1 -1
  123. package/dist/src/graphql/system/index.js +0 -1
  124. package/dist/src/graphql/system/index.js.map +1 -1
  125. package/dist/src/graphql/types.d.ts +7 -8
  126. package/dist/src/graphql/types.d.ts.map +1 -1
  127. package/dist/src/graphql/utils.d.ts +3 -20
  128. package/dist/src/graphql/utils.d.ts.map +1 -1
  129. package/dist/src/graphql/utils.js +7 -35
  130. package/dist/src/graphql/utils.js.map +1 -1
  131. package/dist/src/migrations/002_add_document_protection.d.ts +4 -0
  132. package/dist/src/migrations/002_add_document_protection.d.ts.map +1 -0
  133. package/dist/src/migrations/002_add_document_protection.js +18 -0
  134. package/dist/src/migrations/002_add_document_protection.js.map +1 -0
  135. package/dist/src/migrations/index.d.ts.map +1 -1
  136. package/dist/src/migrations/index.js +2 -0
  137. package/dist/src/migrations/index.js.map +1 -1
  138. package/dist/src/packages/http-loader.d.ts +68 -0
  139. package/dist/src/packages/http-loader.d.ts.map +1 -0
  140. package/dist/src/packages/http-loader.js +176 -0
  141. package/dist/src/packages/http-loader.js.map +1 -0
  142. package/dist/src/packages/https-hooks.d.mts +37 -0
  143. package/dist/src/packages/https-hooks.d.mts.map +1 -0
  144. package/dist/src/packages/https-hooks.mjs +88 -0
  145. package/dist/src/packages/https-hooks.mjs.map +1 -0
  146. package/dist/src/packages/import-loader.d.ts +3 -6
  147. package/dist/src/packages/import-loader.d.ts.map +1 -1
  148. package/dist/src/packages/import-loader.js +3 -18
  149. package/dist/src/packages/import-loader.js.map +1 -1
  150. package/dist/src/packages/package-manager.d.ts +3 -4
  151. package/dist/src/packages/package-manager.d.ts.map +1 -1
  152. package/dist/src/packages/package-manager.js +2 -2
  153. package/dist/src/packages/package-manager.js.map +1 -1
  154. package/dist/src/packages/types.d.ts +7 -8
  155. package/dist/src/packages/types.d.ts.map +1 -1
  156. package/dist/src/packages/util.d.ts +4 -5
  157. package/dist/src/packages/util.d.ts.map +1 -1
  158. package/dist/src/packages/util.js +2 -2
  159. package/dist/src/packages/util.js.map +1 -1
  160. package/dist/src/packages/vite-loader.d.ts +11 -11
  161. package/dist/src/packages/vite-loader.d.ts.map +1 -1
  162. package/dist/src/packages/vite-loader.js +19 -21
  163. package/dist/src/packages/vite-loader.js.map +1 -1
  164. package/dist/src/server.d.ts +14 -32
  165. package/dist/src/server.d.ts.map +1 -1
  166. package/dist/src/server.js +159 -241
  167. package/dist/src/server.js.map +1 -1
  168. package/dist/src/services/auth.service.d.ts +3 -18
  169. package/dist/src/services/auth.service.d.ts.map +1 -1
  170. package/dist/src/services/auth.service.js +38 -72
  171. package/dist/src/services/auth.service.js.map +1 -1
  172. package/dist/src/services/authorization.service.d.ts +70 -0
  173. package/dist/src/services/authorization.service.d.ts.map +1 -0
  174. package/dist/src/services/authorization.service.js +155 -0
  175. package/dist/src/services/authorization.service.js.map +1 -0
  176. package/dist/src/services/document-permission.service.d.ts +47 -7
  177. package/dist/src/services/document-permission.service.d.ts.map +1 -1
  178. package/dist/src/services/document-permission.service.js +162 -7
  179. package/dist/src/services/document-permission.service.js.map +1 -1
  180. package/dist/src/services/package-management.service.d.ts +32 -0
  181. package/dist/src/services/package-management.service.d.ts.map +1 -0
  182. package/dist/src/services/package-management.service.js +95 -0
  183. package/dist/src/services/package-management.service.js.map +1 -0
  184. package/dist/src/services/package-storage.d.ts +23 -0
  185. package/dist/src/services/package-storage.d.ts.map +1 -0
  186. package/dist/src/services/package-storage.js +19 -0
  187. package/dist/src/services/package-storage.js.map +1 -0
  188. package/dist/src/tracing.d.ts.map +1 -1
  189. package/dist/src/tracing.js +25 -1
  190. package/dist/src/tracing.js.map +1 -1
  191. package/dist/src/types.d.ts +13 -5
  192. package/dist/src/types.d.ts.map +1 -1
  193. package/dist/src/utils/create-schema.d.ts +31 -6
  194. package/dist/src/utils/create-schema.d.ts.map +1 -1
  195. package/dist/src/utils/create-schema.js +451 -43
  196. package/dist/src/utils/create-schema.js.map +1 -1
  197. package/dist/src/utils/db.d.ts +8 -0
  198. package/dist/src/utils/db.d.ts.map +1 -1
  199. package/dist/src/utils/db.js.map +1 -1
  200. package/dist/test/auth-chain.test.d.ts +12 -0
  201. package/dist/test/auth-chain.test.d.ts.map +1 -0
  202. package/dist/test/auth-chain.test.js +157 -0
  203. package/dist/test/auth-chain.test.js.map +1 -0
  204. package/dist/test/auth.service.test.d.ts +10 -0
  205. package/dist/test/auth.service.test.d.ts.map +1 -0
  206. package/dist/test/auth.service.test.js +141 -0
  207. package/dist/test/auth.service.test.js.map +1 -0
  208. package/dist/test/authorization.service.test.d.ts +2 -0
  209. package/dist/test/authorization.service.test.d.ts.map +1 -0
  210. package/dist/test/authorization.service.test.js +252 -0
  211. package/dist/test/authorization.service.test.js.map +1 -0
  212. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +2 -0
  213. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +1 -0
  214. package/dist/test/connect-switchboard-reshuffle-convergence.test.js +204 -0
  215. package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +1 -0
  216. package/dist/test/connect-switchboard-sync.test.d.ts +2 -0
  217. package/dist/test/connect-switchboard-sync.test.d.ts.map +1 -0
  218. package/dist/test/connect-switchboard-sync.test.js +633 -0
  219. package/dist/test/connect-switchboard-sync.test.js.map +1 -0
  220. package/dist/test/document-drive-subgraph.test.d.ts +2 -0
  221. package/dist/test/document-drive-subgraph.test.d.ts.map +1 -0
  222. package/dist/test/document-drive-subgraph.test.js +244 -0
  223. package/dist/test/document-drive-subgraph.test.js.map +1 -0
  224. package/dist/test/document-model-subgraph-permissions.test.d.ts +2 -0
  225. package/dist/test/document-model-subgraph-permissions.test.d.ts.map +1 -0
  226. package/dist/test/document-model-subgraph-permissions.test.js +587 -0
  227. package/dist/test/document-model-subgraph-permissions.test.js.map +1 -0
  228. package/dist/test/drive-info-endpoint.test.d.ts +2 -0
  229. package/dist/test/drive-info-endpoint.test.d.ts.map +1 -0
  230. package/dist/test/drive-info-endpoint.test.js +123 -0
  231. package/dist/test/drive-info-endpoint.test.js.map +1 -0
  232. package/dist/test/fault-injection-sync.test.d.ts +2 -0
  233. package/dist/test/fault-injection-sync.test.d.ts.map +1 -0
  234. package/dist/test/fault-injection-sync.test.js +197 -0
  235. package/dist/test/fault-injection-sync.test.js.map +1 -0
  236. package/dist/test/gateway/adapter-gateway-apollo.test.d.ts +2 -0
  237. package/dist/test/gateway/adapter-gateway-apollo.test.d.ts.map +1 -0
  238. package/dist/test/gateway/adapter-gateway-apollo.test.js +206 -0
  239. package/dist/test/gateway/adapter-gateway-apollo.test.js.map +1 -0
  240. package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts +2 -0
  241. package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts.map +1 -0
  242. package/dist/test/gateway/adapter-gateway-mercurius.test.js +23 -0
  243. package/dist/test/gateway/adapter-gateway-mercurius.test.js.map +1 -0
  244. package/dist/test/gateway/adapter-http-express.test.d.ts +2 -0
  245. package/dist/test/gateway/adapter-http-express.test.d.ts.map +1 -0
  246. package/dist/test/gateway/adapter-http-express.test.js +17 -0
  247. package/dist/test/gateway/adapter-http-express.test.js.map +1 -0
  248. package/dist/test/gateway/adapter-http-fastify.test.d.ts +2 -0
  249. package/dist/test/gateway/adapter-http-fastify.test.d.ts.map +1 -0
  250. package/dist/test/gateway/adapter-http-fastify.test.js +17 -0
  251. package/dist/test/gateway/adapter-http-fastify.test.js.map +1 -0
  252. package/dist/test/gateway/auth-middleware.test.d.ts +8 -0
  253. package/dist/test/gateway/auth-middleware.test.d.ts.map +1 -0
  254. package/dist/test/gateway/auth-middleware.test.js +73 -0
  255. package/dist/test/gateway/auth-middleware.test.js.map +1 -0
  256. package/dist/test/gateway/gateway-adapter-contract.d.ts +30 -0
  257. package/dist/test/gateway/gateway-adapter-contract.d.ts.map +1 -0
  258. package/dist/test/gateway/gateway-adapter-contract.js +347 -0
  259. package/dist/test/gateway/gateway-adapter-contract.js.map +1 -0
  260. package/dist/test/gateway/http-adapter-contract.d.ts +30 -0
  261. package/dist/test/gateway/http-adapter-contract.d.ts.map +1 -0
  262. package/dist/test/gateway/http-adapter-contract.js +277 -0
  263. package/dist/test/gateway/http-adapter-contract.js.map +1 -0
  264. package/dist/test/graphql-manager.test.d.ts +12 -0
  265. package/dist/test/graphql-manager.test.d.ts.map +1 -0
  266. package/dist/test/graphql-manager.test.js +576 -0
  267. package/dist/test/graphql-manager.test.js.map +1 -0
  268. package/dist/test/index.d.ts +0 -1
  269. package/dist/test/index.d.ts.map +1 -1
  270. package/dist/test/index.js +0 -1
  271. package/dist/test/index.js.map +1 -1
  272. package/dist/test/permissions-integration.test.js +6 -20
  273. package/dist/test/permissions-integration.test.js.map +1 -1
  274. package/dist/test/push-backfill.test.d.ts +2 -0
  275. package/dist/test/push-backfill.test.d.ts.map +1 -0
  276. package/dist/test/push-backfill.test.js +299 -0
  277. package/dist/test/push-backfill.test.js.map +1 -0
  278. package/dist/test/reactor-adapters.test.js +3 -2
  279. package/dist/test/reactor-adapters.test.js.map +1 -1
  280. package/dist/test/reactor-client.test.js +172 -13
  281. package/dist/test/reactor-client.test.js.map +1 -1
  282. package/dist/test/reactor-resolvers.test.js +11 -13
  283. package/dist/test/reactor-resolvers.test.js.map +1 -1
  284. package/dist/test/reactor-subgraph-permissions.test.js +7 -36
  285. package/dist/test/reactor-subgraph-permissions.test.js.map +1 -1
  286. package/dist/test/subscriptions-sse.test.d.ts +2 -0
  287. package/dist/test/subscriptions-sse.test.d.ts.map +1 -0
  288. package/dist/test/subscriptions-sse.test.js +264 -0
  289. package/dist/test/subscriptions-sse.test.js.map +1 -0
  290. package/dist/test/subscriptions.test.js +2 -0
  291. package/dist/test/subscriptions.test.js.map +1 -1
  292. package/dist/test/utils/gql-resolver-bridge.d.ts +4 -1
  293. package/dist/test/utils/gql-resolver-bridge.d.ts.map +1 -1
  294. package/dist/test/utils/gql-resolver-bridge.js +36 -7
  295. package/dist/test/utils/gql-resolver-bridge.js.map +1 -1
  296. package/dist/test/utils.d.ts +1 -5
  297. package/dist/test/utils.d.ts.map +1 -1
  298. package/dist/test/utils.js +0 -10
  299. package/dist/test/utils.js.map +1 -1
  300. package/dist/tsconfig.tsbuildinfo +1 -1
  301. package/dist/vitest.config.d.ts.map +1 -1
  302. package/dist/vitest.config.js +1 -0
  303. package/dist/vitest.config.js.map +1 -1
  304. package/package.json +64 -59
  305. package/dist/src/graphql/drive-subgraph.d.ts +0 -25
  306. package/dist/src/graphql/drive-subgraph.d.ts.map +0 -1
  307. package/dist/src/graphql/drive-subgraph.js +0 -487
  308. package/dist/src/graphql/drive-subgraph.js.map +0 -1
  309. package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
  310. package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
  311. package/dist/src/graphql/system/system-subgraph.js +0 -130
  312. package/dist/src/graphql/system/system-subgraph.js.map +0 -1
  313. package/dist/src/sync/types.d.ts +0 -10
  314. package/dist/src/sync/types.d.ts.map +0 -1
  315. package/dist/src/sync/utils.d.ts +0 -7
  316. package/dist/src/sync/utils.d.ts.map +0 -1
  317. package/dist/src/sync/utils.js +0 -78
  318. package/dist/src/sync/utils.js.map +0 -1
  319. package/dist/src/utils/auth.d.ts +0 -3
  320. package/dist/src/utils/auth.d.ts.map +0 -1
  321. package/dist/src/utils/auth.js +0 -19
  322. package/dist/src/utils/auth.js.map +0 -1
  323. package/dist/test/benchmarks/load.bench.d.ts +0 -2
  324. package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
  325. package/dist/test/benchmarks/load.bench.js +0 -73
  326. package/dist/test/benchmarks/load.bench.js.map +0 -1
  327. package/dist/test/benchmarks/sync.bench.d.ts +0 -2
  328. package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
  329. package/dist/test/benchmarks/sync.bench.js +0 -119
  330. package/dist/test/benchmarks/sync.bench.js.map +0 -1
  331. package/dist/test/drive-handlers.d.ts +0 -4
  332. package/dist/test/drive-handlers.d.ts.map +0 -1
  333. package/dist/test/drive-handlers.js +0 -39
  334. package/dist/test/drive-handlers.js.map +0 -1
  335. package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
  336. package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
  337. package/dist/test/drive-subgraph-permissions.test.js +0 -195
  338. package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
  339. package/dist/test/drive.test.d.ts +0 -2
  340. package/dist/test/drive.test.d.ts.map +0 -1
  341. package/dist/test/drive.test.js +0 -142
  342. package/dist/test/drive.test.js.map +0 -1
  343. package/dist/test/identity-integration.test.d.ts +0 -2
  344. package/dist/test/identity-integration.test.d.ts.map +0 -1
  345. package/dist/test/identity-integration.test.js +0 -349
  346. package/dist/test/identity-integration.test.js.map +0 -1
  347. package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
  348. package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
  349. package/dist/test/pull-responder-transmitter.test.js +0 -220
  350. package/dist/test/pull-responder-transmitter.test.js.map +0 -1
  351. package/dist/test/push-transmitter.test.d.ts +0 -2
  352. package/dist/test/push-transmitter.test.d.ts.map +0 -1
  353. package/dist/test/push-transmitter.test.js +0 -179
  354. package/dist/test/push-transmitter.test.js.map +0 -1
  355. package/dist/test/system.test.d.ts +0 -2
  356. package/dist/test/system.test.d.ts.map +0 -1
  357. package/dist/test/system.test.js +0 -211
  358. package/dist/test/system.test.js.map +0 -1
  359. package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
  360. package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
  361. package/dist/test/three-reactor-gql-sync.test.js +0 -368
  362. package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
  363. package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
  364. package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
  365. package/dist/test/two-reactor-gql-sync.test.js +0 -348
  366. package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
  367. /package/dist/src/{sync → graphql/gateway}/types.js +0 -0
@@ -1,44 +1,28 @@
1
1
  import { PostgresAnalyticsStore } from "@powerhousedao/analytics-engine-pg";
2
2
  import { getConfig } from "@powerhousedao/config/node";
3
3
  import { setupMcpServer } from "@powerhousedao/reactor-mcp";
4
- import devcert from "devcert";
5
- import { childLogger, createRelationalDb, ProcessorManager, } from "document-drive";
6
- import express from "express";
7
- import fs from "node:fs";
8
- import https from "node:https";
9
4
  import path from "node:path";
10
5
  import { WebSocketServer } from "ws";
11
6
  // Import tracing - initializes OpenTelemetry and provides stub functions for backwards compatibility
12
- import { initTracing, isTracingEnabled, trace } from "./tracing.js";
7
+ import { createRelationalDb, } from "@powerhousedao/shared/processors";
8
+ import { childLogger } from "document-model";
13
9
  import { config, DefaultCoreSubgraphs } from "./config.js";
14
10
  import { AuthSubgraph } from "./graphql/auth/subgraph.js";
15
11
  import { GraphQLManager } from "./graphql/graphql-manager.js";
12
+ import { createAuthFetchMiddleware, } from "./graphql/gateway/auth-middleware.js";
13
+ import { createGatewayAdapter, createHttpAdapter, } from "./graphql/gateway/factory.js";
16
14
  import { renderGraphqlPlayground } from "./graphql/playground.js";
17
15
  import { ReactorSubgraph } from "./graphql/reactor/subgraph.js";
18
16
  import { runMigrations } from "./migrations/index.js";
19
17
  import { ImportPackageLoader } from "./packages/import-loader.js";
20
- import { getUniqueDocumentModels, PackageManager, } from "./packages/package-manager.js";
18
+ import { PackageManager } from "./packages/package-manager.js";
21
19
  import { AuthService } from "./services/auth.service.js";
20
+ import { AuthorizationService } from "./services/authorization.service.js";
22
21
  import { DocumentPermissionService } from "./services/document-permission.service.js";
22
+ import { initTracing, isTracingEnabled, trace } from "./tracing.js";
23
23
  import { getDbClient, initAnalyticsStoreSql, } from "./utils/db.js";
24
- const logger = childLogger(["reactor-api", "server"]);
24
+ const defaultLogger = childLogger(["reactor-api", "server"]);
25
25
  const DEFAULT_PORT = 4000;
26
- /**
27
- * Sets up the Express app with necessary routes
28
- */
29
- function setupGraphQlExplorer(router) {
30
- router.get("/explorer/:endpoint?", (req, res) => {
31
- res.setHeader("Content-Type", "text/html");
32
- const endpoint = req.params.endpoint !== undefined
33
- ? `/${req.params.endpoint}`
34
- : "/graphql";
35
- const { query } = req.query;
36
- if (query && typeof query !== "string") {
37
- throw new Error("Invalid query");
38
- }
39
- res.send(renderGraphqlPlayground(endpoint, query));
40
- });
41
- }
42
26
  /**
43
27
  * Initializes the database and analytics store
44
28
  */
@@ -56,17 +40,14 @@ async function initializeDatabaseAndAnalytics(dbPath) {
56
40
  /**
57
41
  * Sets up the subgraph manager and registers subgraphs
58
42
  */
59
- async function setupGraphQLManager(app, httpServer, wsServer, reactor, client, relationalDb, analyticsStore, syncManager, subgraphs, auth, documentPermissionService, enableDocumentModelSubgraphs, port) {
60
- const graphqlManager = new GraphQLManager(config.basePath, app, httpServer, wsServer, reactor, client, relationalDb, analyticsStore, syncManager, {
43
+ async function setupGraphQLManager(httpAdapter, authFetchMiddleware, httpServer, wsServer, client, relationalDb, analyticsStore, syncManager, subgraphs, logger, auth, documentPermissionService, enableDocumentModelSubgraphs, port, authorizationService) {
44
+ const graphqlManager = new GraphQLManager(config.basePath, httpServer, wsServer, client, relationalDb, analyticsStore, syncManager, logger, httpAdapter, createGatewayAdapter("apollo", logger), {
61
45
  enabled: auth?.enabled ?? false,
62
- guests: auth?.guests ?? [],
63
- users: auth?.users ?? [],
64
46
  admins: auth?.admins ?? [],
65
- freeEntry: auth?.freeEntry ?? false,
66
47
  }, documentPermissionService, {
67
48
  enableDocumentModelSubgraphs,
68
- }, port);
69
- await graphqlManager.init(subgraphs.core);
49
+ }, port, authorizationService);
50
+ await graphqlManager.init(subgraphs.core, authFetchMiddleware);
70
51
  for (const [, collection] of subgraphs.extended.entries()) {
71
52
  for (const subgraph of collection) {
72
53
  await graphqlManager.registerSubgraph(subgraph, "graphql");
@@ -78,10 +59,21 @@ async function setupGraphQLManager(app, httpServer, wsServer, reactor, client, r
78
59
  /**
79
60
  * Sets up event listeners for package manager changes
80
61
  */
81
- function setupEventListeners(pkgManager, reactor, graphqlManager, processorManager, module) {
82
- pkgManager.onDocumentModelsChange(async (documentModels) => {
83
- reactor.setDocumentModelModules(Object.values(documentModels).flat());
84
- await graphqlManager.updateRouter();
62
+ function setupEventListeners(pkgManager, graphqlManager, reactorProcessorManager, module, documentModelRegistry) {
63
+ pkgManager.onDocumentModelsChange((packagedModels) => {
64
+ if (documentModelRegistry) {
65
+ const newModules = Object.values(packagedModels).flat();
66
+ const registeredModules = documentModelRegistry.getAllModules();
67
+ const registeredTypes = new Set(registeredModules.map((m) => m.documentModel.global.id));
68
+ for (const mod of newModules) {
69
+ const docType = mod.documentModel.global.id;
70
+ if (!registeredTypes.has(docType)) {
71
+ defaultLogger.info(`Registering new document model: ${docType}`);
72
+ documentModelRegistry.registerModules(mod);
73
+ }
74
+ }
75
+ }
76
+ void graphqlManager.regenerateDocumentModelSubgraphs();
85
77
  });
86
78
  pkgManager.onSubgraphsChange(async (packagedSubgraphs) => {
87
79
  for (const [, subgraphs] of packagedSubgraphs) {
@@ -93,46 +85,36 @@ function setupEventListeners(pkgManager, reactor, graphqlManager, processorManag
93
85
  });
94
86
  pkgManager.onProcessorsChange(async (processors) => {
95
87
  for (const [packageName, fns] of processors) {
96
- await processorManager.unregisterFactory(packageName);
97
- const factories = fns.map((fn) => fn({
98
- analyticsStore: module.analyticsStore,
99
- relationalDb: module.relationalDb,
100
- }));
101
- await processorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(factories.map((factory) => Promise.resolve(factory(driveHeader))))).flat());
88
+ await reactorProcessorManager.unregisterFactory(packageName);
89
+ const factories = fns.map((fn) => fn(module));
90
+ const validBuilders = factories.filter((factory) => factory !== null && typeof factory === "function");
91
+ if (!validBuilders.length) {
92
+ continue;
93
+ }
94
+ await reactorProcessorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validBuilders.map(async (driveFactory) => {
95
+ try {
96
+ const result = await driveFactory(driveHeader);
97
+ return result;
98
+ }
99
+ catch (e) {
100
+ const logger = defaultLogger;
101
+ logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
102
+ return [];
103
+ }
104
+ }))).flat());
102
105
  }
103
106
  });
104
107
  }
105
108
  /**
106
109
  * Starts the server (HTTP or HTTPS) and attaches WebSocket server
107
110
  */
108
- async function startServer(app, port, httpsOptions) {
109
- let httpServer;
110
- if (httpsOptions) {
111
- const currentDir = process.cwd();
112
- if (typeof httpsOptions === "object") {
113
- httpServer = https.createServer({
114
- key: fs.readFileSync(path.join(currentDir, httpsOptions.keyPath)),
115
- cert: fs.readFileSync(path.join(currentDir, httpsOptions.certPath)),
116
- }, app);
117
- }
118
- else {
119
- try {
120
- const { cert, key } = (await devcert.certificateFor("localhost"));
121
- if (!cert || !key) {
122
- throw new Error("Invalid certificate generated");
123
- }
124
- httpServer = https.createServer({ cert, key }, app);
125
- }
126
- catch (err) {
127
- console.error("Failed to get HTTPS certificate:", err);
128
- throw new Error("Failed to start HTTPS server");
129
- }
130
- }
131
- httpServer.listen(port);
132
- }
133
- else {
134
- httpServer = app.listen(port);
135
- }
111
+ async function startServer(httpAdapter, port, httpsOptions, logger) {
112
+ const tls = httpsOptions === true
113
+ ? true
114
+ : typeof httpsOptions === "object"
115
+ ? { keyPath: httpsOptions.keyPath, certPath: httpsOptions.certPath }
116
+ : undefined;
117
+ const httpServer = await httpAdapter.listen(port, tls);
136
118
  const wsServer = new WebSocketServer({
137
119
  server: httpServer,
138
120
  path: "/graphql/subscriptions",
@@ -150,71 +132,68 @@ async function _setupCommonInfrastructure(options) {
150
132
  await initTracing();
151
133
  }
152
134
  const port = options.port ?? DEFAULT_PORT;
153
- const app = options.express ?? express();
135
+ const { adapter: httpAdapter } = createHttpAdapter("express");
154
136
  // Setup auth configuration
155
137
  let admins = [];
156
- let users = [];
157
- let guests = [];
158
138
  let authEnabled = false;
159
- let freeEntry = false;
160
139
  if (options.configFile) {
161
140
  const config = getConfig(options.configFile);
162
141
  admins = config.auth?.admins?.map((a) => a.toLowerCase()) ?? [];
163
- users = config.auth?.users?.map((u) => u.toLowerCase()) ?? [];
164
- guests = config.auth?.guests?.map((g) => g.toLowerCase()) ?? [];
165
142
  authEnabled = config.auth?.enabled ?? false;
166
- freeEntry = config.auth?.freeEntry ?? false;
167
143
  }
168
144
  else if (options.auth) {
169
145
  admins = options.auth?.admins?.map((a) => a.toLowerCase()) ?? [];
170
- users = options.auth?.users?.map((u) => u.toLowerCase()) ?? [];
171
- guests = options.auth?.guests?.map((g) => g.toLowerCase()) ?? [];
172
146
  authEnabled = options.auth?.enabled ?? false;
173
- freeEntry = options.auth?.freeEntry ?? false;
174
147
  }
175
- const { AUTH_ENABLED, GUESTS, USERS, ADMINS, FREE_ENTRY, DOCUMENT_PERMISSIONS_ENABLED, SKIP_CREDENTIAL_VERIFICATION, } = process.env;
148
+ const { AUTH_ENABLED, ADMINS, DEFAULT_PROTECTION, DOCUMENT_PERMISSIONS_ENABLED, SKIP_CREDENTIAL_VERIFICATION, } = process.env;
176
149
  if (AUTH_ENABLED !== undefined) {
177
150
  authEnabled = AUTH_ENABLED === "true";
178
151
  }
179
- if (GUESTS !== undefined) {
180
- guests = GUESTS.split(",").map((g) => g.toLowerCase());
181
- }
182
- if (USERS !== undefined) {
183
- users = USERS.split(",").map((u) => u.toLowerCase());
184
- }
185
152
  if (ADMINS !== undefined) {
186
153
  admins = ADMINS.split(",").map((a) => a.toLowerCase());
187
154
  }
188
- if (FREE_ENTRY !== undefined) {
189
- freeEntry = FREE_ENTRY === "true";
155
+ let defaultProtection = false;
156
+ if (DEFAULT_PROTECTION !== undefined) {
157
+ defaultProtection = DEFAULT_PROTECTION.toLowerCase() === "true";
158
+ }
159
+ // Warn about deprecated env vars
160
+ const { USERS, GUESTS, FREE_ENTRY } = process.env;
161
+ if (USERS || GUESTS || FREE_ENTRY) {
162
+ console.warn("[DEPRECATION WARNING] The USERS, GUESTS, and FREE_ENTRY environment variables are no longer supported. " +
163
+ "Access control is now managed per-document via the DocumentProtection system. " +
164
+ "Use DEFAULT_PROTECTION=true for strict mode, or manage protection per document via the GraphQL API. " +
165
+ "See the auth documentation for migration guidance.");
190
166
  }
191
167
  let skipCredentialVerification = false;
192
168
  if (SKIP_CREDENTIAL_VERIFICATION !== undefined) {
193
169
  skipCredentialVerification = SKIP_CREDENTIAL_VERIFICATION === "true";
194
170
  }
195
- const authService = new AuthService({
196
- enabled: authEnabled,
197
- guests,
198
- users,
199
- admins,
200
- freeEntry,
201
- skipCredentialVerification,
202
- });
203
- // Health check endpoint (before auth middleware)
204
- app.get("/health", (_req, res) => {
205
- res.status(200).send("OK");
171
+ const logger = options.logger ?? defaultLogger;
172
+ // Health check endpoint (registered directly on adapter, before auth)
173
+ httpAdapter.getRoute("/health", () => new Response("OK", { status: 200 }));
174
+ // Explorer route
175
+ const explorerPrefix = `${config.basePath}/explorer`;
176
+ httpAdapter.getRoute(`${explorerPrefix}/:endpoint?`, (request) => {
177
+ const url = new URL(request.url);
178
+ // Strip the prefix to find the optional :endpoint segment
179
+ const suffix = url.pathname.slice(explorerPrefix.length).replace(/^\//, "");
180
+ const endpoint = suffix ? `/${suffix}` : "/graphql";
181
+ const query = url.searchParams.get("query") ?? undefined;
182
+ return new Response(renderGraphqlPlayground(endpoint, query), {
183
+ headers: { "Content-Type": "text/html" },
184
+ });
206
185
  });
207
- // add auth middleware if auth is enabled
186
+ // Create auth fetch middleware if auth is enabled
187
+ let authFetchMiddleware;
208
188
  if (authEnabled) {
209
189
  logger.info("Setting up Auth middleware");
210
- // Apply auth middleware to all routes including GraphQL
211
- app.use((req, res, next) => {
212
- authService.authenticate(req, res, next);
190
+ const authService = new AuthService({
191
+ enabled: authEnabled,
192
+ admins,
193
+ skipCredentialVerification,
213
194
  });
195
+ authFetchMiddleware = createAuthFetchMiddleware(authService);
214
196
  }
215
- const defaultRouter = express.Router();
216
- setupGraphQlExplorer(defaultRouter);
217
- app.use(config.basePath, defaultRouter);
218
197
  // Initialize database and analytics store
219
198
  const { relationalDb, analyticsStore } = await trace("reactor-api.init.database", { tags: { "resource.name": "database" } }, () => initializeDatabaseAndAnalytics(options.dbPath));
220
199
  // Use provided document permission service, or create one if env var is set
@@ -224,12 +203,20 @@ async function _setupCommonInfrastructure(options) {
224
203
  // Run document permission migrations
225
204
  await runMigrations(db);
226
205
  logger.info("Document permission migrations completed");
227
- documentPermissionService = new DocumentPermissionService(db);
206
+ documentPermissionService = new DocumentPermissionService(db, { defaultProtection });
228
207
  logger.info("Document permission service initialized");
229
208
  }
209
+ // Create AuthorizationService when document permission service is available
210
+ let authorizationService;
211
+ if (documentPermissionService) {
212
+ authorizationService = new AuthorizationService(documentPermissionService, {
213
+ admins,
214
+ defaultProtection,
215
+ });
216
+ logger.info("Authorization service initialized");
217
+ }
230
218
  // Initialize package manager
231
- const legacyReactor = options.legacyReactor ?? false;
232
- const packageLoader = options.packageLoader ?? new ImportPackageLoader({ legacyReactor });
219
+ const packageLoader = options.packageLoader ?? new ImportPackageLoader();
233
220
  const loaders = [packageLoader];
234
221
  const packages = new PackageManager(loaders, {
235
222
  configFile: options.configFile,
@@ -237,117 +224,68 @@ async function _setupCommonInfrastructure(options) {
237
224
  });
238
225
  return {
239
226
  port,
240
- app,
227
+ httpAdapter,
228
+ authFetchMiddleware,
241
229
  auth: {
242
230
  enabled: authEnabled,
243
- guests,
244
- users,
245
231
  admins,
246
- freeEntry,
247
232
  },
248
233
  relationalDb,
249
234
  analyticsStore,
250
235
  documentPermissionService,
236
+ authorizationService,
251
237
  packages,
252
238
  };
253
239
  }
254
240
  /**
255
241
  * Private helper function containing common setup logic for API initialization
256
242
  */
257
- async function _setupAPI(reactor, reactorClient, syncManager, app, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, legacyReactor, reactorProcessorManager) {
258
- const module = { relationalDb, analyticsStore };
243
+ async function _setupAPI(reactorClient, syncManager, reactorProcessorManager, httpAdapter, authFetchMiddleware, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, processorApp, authorizationService, documentModelRegistry) {
244
+ const hostModule = {
245
+ relationalDb,
246
+ analyticsStore,
247
+ processorApp,
248
+ config: options.processorConfig,
249
+ reactorClient,
250
+ };
259
251
  const mcpServerEnabled = options.mcp ?? true;
252
+ const logger = options.logger ?? defaultLogger;
260
253
  // initialize processors
261
- let processorManager;
262
- if (legacyReactor) {
263
- // LEGACY PATH - use document-drive ProcessorManager
264
- processorManager = new ProcessorManager(reactor.listeners, reactor);
265
- for (const [packageName, fns] of [
266
- ...processors.entries(),
267
- ...Object.entries(options.processors ?? {}),
268
- ]) {
269
- const factories = fns.map((fn) => {
270
- try {
271
- return fn({
272
- analyticsStore: module.analyticsStore,
273
- relationalDb: module.relationalDb,
274
- config: options.processorConfig,
275
- });
276
- }
277
- catch (e) {
278
- logger.error(`Error initializing processor factory for package ${packageName}:`, e);
279
- return null;
280
- }
281
- });
282
- const validFactories = factories.filter((factory) => factory !== null && typeof factory === "function");
283
- if (!validFactories.length) {
284
- continue;
254
+ const configuredProcessorEntries = Object.entries(options.processors ?? {});
255
+ const processorEntries = [
256
+ ...processors.entries(),
257
+ ...configuredProcessorEntries,
258
+ ];
259
+ for (const [packageName, fns] of processorEntries) {
260
+ const factories = fns.map((fn) => {
261
+ try {
262
+ return fn(hostModule);
263
+ }
264
+ catch (e) {
265
+ logger.error(`Error initializing processor factory for package ${packageName}:`, e);
266
+ return null;
285
267
  }
286
- await processorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validFactories.map(async (factory) => {
287
- try {
288
- return await factory(driveHeader);
289
- }
290
- catch (e) {
291
- logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
292
- return [];
293
- }
294
- }))).flat());
295
- }
296
- // hook up processor manager to drive added event
297
- reactor.on("driveAdded", async (drive) => {
298
- await processorManager.registerDrive(drive.header.id);
299
268
  });
300
- }
301
- else {
302
- // NEW REACTOR PATH - use ProcessorManager from ReactorModule
303
- if (!reactorProcessorManager) {
304
- throw new Error("ProcessorManager not available from ReactorModule");
269
+ const validFactories = factories.filter((factory) => factory !== null && typeof factory === "function");
270
+ if (!validFactories.length) {
271
+ continue;
305
272
  }
306
- // Create a wrapper that adapts the legacy-style ProcessorManager interface
307
- // to track processors for the API response
308
- processorManager = new ProcessorManager(reactor.listeners, reactor);
309
- for (const [packageName, fns] of [
310
- ...processors.entries(),
311
- ...Object.entries(options.processors ?? {}),
312
- ]) {
313
- const factories = fns.map((fn) => {
314
- try {
315
- return fn({
316
- analyticsStore: module.analyticsStore,
317
- relationalDb: module.relationalDb,
318
- config: options.processorConfig,
319
- });
320
- }
321
- catch (e) {
322
- logger.error(`Error initializing processor factory for package ${packageName}:`, e);
323
- return null;
324
- }
325
- });
326
- // Filter and cast to the reactor types
327
- // When legacyReactor=false, PackageLoader loads processorFactory which
328
- // returns factories implementing reactor's IProcessor interface
329
- const validFactories = factories.filter((factory) => factory !== null && typeof factory === "function");
330
- if (!validFactories.length) {
331
- continue;
273
+ // Register with the reactor ProcessorManager
274
+ // Cast the results to ReactorProcessorRecord since the loaded factories
275
+ // implement the reactor interface
276
+ await reactorProcessorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validFactories.map(async (driveFactory) => {
277
+ try {
278
+ const result = await driveFactory(driveHeader);
279
+ return result;
332
280
  }
333
- // Register with the new reactor ProcessorManager
334
- // Cast the results to ReactorProcessorRecord since the loaded factories
335
- // implement the new reactor interface when legacyReactor=false
336
- await reactorProcessorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validFactories.map(async (factory) => {
337
- try {
338
- const result = await factory(driveHeader);
339
- return result;
340
- }
341
- catch (e) {
342
- logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
343
- return [];
344
- }
345
- }))).flat());
346
- }
347
- // No driveAdded event listener needed - ProcessorManager is a read model
281
+ catch (e) {
282
+ logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
283
+ return [];
284
+ }
285
+ }))).flat());
348
286
  }
349
287
  // Start the server
350
- const { httpServer, wsServer } = await startServer(app, port, options.https);
288
+ const { httpServer, wsServer } = await startServer(httpAdapter, port, options.https, logger);
351
289
  // set up subgraph manager
352
290
  const coreSubgraphs = DefaultCoreSubgraphs.slice();
353
291
  coreSubgraphs.push(ReactorSubgraph);
@@ -356,76 +294,56 @@ async function _setupAPI(reactor, reactorClient, syncManager, app, port, package
356
294
  coreSubgraphs.push(AuthSubgraph);
357
295
  logger.info("Auth subgraph registered (document permissions enabled)");
358
296
  }
359
- const graphqlManager = await setupGraphQLManager(app, httpServer, wsServer, reactor, reactorClient, relationalDb, analyticsStore, syncManager, {
297
+ const graphqlManager = await setupGraphQLManager(httpAdapter, authFetchMiddleware, httpServer, wsServer, reactorClient, relationalDb, analyticsStore, syncManager, {
360
298
  extended: subgraphs,
361
299
  core: coreSubgraphs,
362
- }, auth, documentPermissionService, options.enableDocumentModelSubgraphs, port);
300
+ }, logger.child(["graphql-manager"]), auth, documentPermissionService, options.enableDocumentModelSubgraphs, port, authorizationService);
363
301
  // Set up event listeners
364
- setupEventListeners(packages, reactor, graphqlManager, processorManager, module);
302
+ setupEventListeners(packages, graphqlManager, reactorProcessorManager, hostModule, documentModelRegistry);
365
303
  if (mcpServerEnabled) {
366
- await setupMcpServer(reactor, app);
304
+ await setupMcpServer({ client: reactorClient, syncManager }, httpAdapter);
367
305
  logger.info(`MCP server available at http://localhost:${port}/mcp`);
368
306
  }
369
307
  return {
370
- app,
308
+ httpAdapter,
371
309
  graphqlManager,
372
- processorManager,
373
310
  packages,
374
311
  };
375
312
  }
376
313
  /**
377
- * Starts the API server with pre-initialized drive server and client instances.
378
- *
379
- * @param driveServer - An already-initialized document drive server instance.
380
- * @param client - An already-initialized reactor client instance.
381
- * @param options - Additional options for server configuration.
382
- *
383
- * @returns The API server components.
384
- */
385
- export async function startAPI(driveServer, client, registry, syncManager, options) {
386
- const { port, app, auth, relationalDb, analyticsStore, documentPermissionService, packages, } = await trace("reactor-api.setup.infrastructure", { tags: { "resource.name": "infrastructure" } }, () => _setupCommonInfrastructure(options));
387
- const { documentModels, processors, subgraphs } = await trace("reactor-api.packages.init", { tags: { "resource.name": "packages" } }, () => packages.init());
388
- // pass to legacy reactor
389
- driveServer.setDocumentModelModules(getUniqueDocumentModels([
390
- ...driveServer.getDocumentModelModules(),
391
- ...documentModels,
392
- ]));
393
- // pass to registry
394
- registry.registerModules(...documentModels);
395
- // startAPI always uses legacy reactor since it doesn't have ReactorClientModule
396
- const legacyReactor = true;
397
- return _setupAPI(driveServer, client, syncManager, app, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, legacyReactor, undefined);
398
- }
399
- /**
400
- * Initializes and starts the API server using initializer functions.
401
- * This function first loads packages to get document models, then calls the initializer functions
402
- * to create the drive server and client instances with the appropriate dependencies.
314
+ * Initializes and starts the API server using an initializer function.
315
+ * This function first loads packages to get document models, then calls the initializer function
316
+ * to create the reactor client module with the appropriate dependencies.
403
317
  *
404
- * @param driveServerInitializer - Initializer function that creates the document drive server with document models.
405
- * @param clientInitializer - Initializer function that creates the reactor client module with the drive server.
318
+ * @param clientInitializer - Initializer function that creates the reactor client module with document models.
406
319
  * @param options - Additional options for server configuration.
407
320
  *
408
- * @returns The API server components along with the created drive server and client instances.
321
+ * @returns The API server components along with the created client instances.
409
322
  */
410
- export async function initializeAndStartAPI(driveServerInitializer, clientInitializer, options) {
411
- const { port, app, auth, relationalDb, analyticsStore, documentPermissionService, packages, } = await trace("reactor-api.setup.infrastructure", { tags: { "resource.name": "infrastructure" } }, () => _setupCommonInfrastructure(options));
323
+ export async function initializeAndStartAPI(clientInitializer, options, processorApp) {
324
+ const { port, httpAdapter, authFetchMiddleware, auth, relationalDb, analyticsStore, documentPermissionService, authorizationService, packages, } = await trace("reactor-api.setup.infrastructure", { tags: { "resource.name": "infrastructure" } }, () => _setupCommonInfrastructure(options));
412
325
  const { documentModels, processors, subgraphs } = await trace("reactor-api.packages.init", { tags: { "resource.name": "packages" } }, () => packages.init());
413
- const reactor = await trace("reactor-api.drive-server.init", { tags: { "resource.name": "drive-server" } }, () => driveServerInitializer(documentModels));
414
- const reactorClientModule = await trace("reactor-api.reactor-client.init", { tags: { "resource.name": "reactor-client" } }, () => clientInitializer(reactor, documentModels));
326
+ const reactorClientModule = await trace("reactor-api.reactor-client.init", { tags: { "resource.name": "reactor-client" } }, () => clientInitializer(documentModels));
415
327
  // Extract client and syncManager from the module
416
328
  const reactorClient = reactorClientModule.client;
417
329
  const syncManager = reactorClientModule.reactorModule?.syncModule?.syncManager;
418
330
  if (!syncManager) {
419
331
  throw new Error("SyncManager not available from ReactorClientModule");
420
332
  }
421
- const legacyReactor = options.legacyReactor ?? false;
422
333
  const reactorProcessorManager = reactorClientModule.reactorModule?.processorManager;
423
- const api = await _setupAPI(reactor, reactorClient, syncManager, app, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, legacyReactor, reactorProcessorManager);
334
+ if (!reactorProcessorManager) {
335
+ throw new Error("ProcessorManager not available from ReactorClientModule");
336
+ }
337
+ const documentModelRegistry = reactorClientModule.reactorModule?.documentModelRegistry;
338
+ if (!documentModelRegistry) {
339
+ throw new Error("DocumentModelRegistry not available from ReactorClientModule");
340
+ }
341
+ const api = await _setupAPI(reactorClient, syncManager, reactorProcessorManager, httpAdapter, authFetchMiddleware, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, processorApp, authorizationService, documentModelRegistry);
424
342
  return {
425
343
  ...api,
426
- driveServer: reactor,
427
344
  client: reactorClient,
428
345
  syncManager,
346
+ documentModelRegistry,
429
347
  };
430
348
  }
431
349
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}