@powerhousedao/reactor-api 6.0.0-dev.153 → 6.0.0-dev.154

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 (402) hide show
  1. package/dist/index.d.mts +2948 -0
  2. package/dist/index.d.mts.map +1 -0
  3. package/dist/index.mjs +6353 -0
  4. package/dist/index.mjs.map +1 -0
  5. package/dist/src/packages/vite-loader.mjs +142 -0
  6. package/dist/src/packages/vite-loader.mjs.map +1 -0
  7. package/dist/types-Do4QTfT3.d.mts +37 -0
  8. package/dist/types-Do4QTfT3.d.mts.map +1 -0
  9. package/dist/utils-DEEhP99G.mjs +286 -0
  10. package/dist/utils-DEEhP99G.mjs.map +1 -0
  11. package/dist/vite-loader.d.mts +29 -0
  12. package/dist/vite-loader.d.mts.map +1 -0
  13. package/package.json +17 -25
  14. package/dist/codegen.d.ts +0 -4
  15. package/dist/codegen.d.ts.map +0 -1
  16. package/dist/codegen.js +0 -38
  17. package/dist/codegen.js.map +0 -1
  18. package/dist/index.d.ts +0 -15
  19. package/dist/index.d.ts.map +0 -1
  20. package/dist/index.js +0 -15
  21. package/dist/index.js.map +0 -1
  22. package/dist/src/config.d.ts +0 -6
  23. package/dist/src/config.d.ts.map +0 -1
  24. package/dist/src/config.js +0 -6
  25. package/dist/src/config.js.map +0 -1
  26. package/dist/src/dev.d.ts +0 -2
  27. package/dist/src/dev.d.ts.map +0 -1
  28. package/dist/src/dev.js +0 -51
  29. package/dist/src/dev.js.map +0 -1
  30. package/dist/src/graphql/analytics-subgraph.d.ts +0 -14
  31. package/dist/src/graphql/analytics-subgraph.d.ts.map +0 -1
  32. package/dist/src/graphql/analytics-subgraph.js +0 -26
  33. package/dist/src/graphql/analytics-subgraph.js.map +0 -1
  34. package/dist/src/graphql/auth/index.d.ts +0 -2
  35. package/dist/src/graphql/auth/index.d.ts.map +0 -1
  36. package/dist/src/graphql/auth/index.js +0 -2
  37. package/dist/src/graphql/auth/index.js.map +0 -1
  38. package/dist/src/graphql/auth/resolvers.d.ts +0 -166
  39. package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
  40. package/dist/src/graphql/auth/resolvers.js +0 -227
  41. package/dist/src/graphql/auth/resolvers.js.map +0 -1
  42. package/dist/src/graphql/auth/schema.graphql +0 -195
  43. package/dist/src/graphql/auth/subgraph.d.ts +0 -202
  44. package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
  45. package/dist/src/graphql/auth/subgraph.js +0 -384
  46. package/dist/src/graphql/auth/subgraph.js.map +0 -1
  47. package/dist/src/graphql/base-subgraph.d.ts +0 -27
  48. package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
  49. package/dist/src/graphql/base-subgraph.js +0 -126
  50. package/dist/src/graphql/base-subgraph.js.map +0 -1
  51. package/dist/src/graphql/document-model-subgraph.d.ts +0 -110
  52. package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
  53. package/dist/src/graphql/document-model-subgraph.js +0 -336
  54. package/dist/src/graphql/document-model-subgraph.js.map +0 -1
  55. package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts +0 -23
  56. package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts.map +0 -1
  57. package/dist/src/graphql/gateway/adapter-gateway-apollo.js +0 -156
  58. package/dist/src/graphql/gateway/adapter-gateway-apollo.js.map +0 -1
  59. package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts +0 -17
  60. package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts.map +0 -1
  61. package/dist/src/graphql/gateway/adapter-gateway-mercurius.js +0 -154
  62. package/dist/src/graphql/gateway/adapter-gateway-mercurius.js.map +0 -1
  63. package/dist/src/graphql/gateway/adapter-http-express.d.ts +0 -25
  64. package/dist/src/graphql/gateway/adapter-http-express.d.ts.map +0 -1
  65. package/dist/src/graphql/gateway/adapter-http-express.js +0 -163
  66. package/dist/src/graphql/gateway/adapter-http-express.js.map +0 -1
  67. package/dist/src/graphql/gateway/adapter-http-fastify.d.ts +0 -23
  68. package/dist/src/graphql/gateway/adapter-http-fastify.d.ts.map +0 -1
  69. package/dist/src/graphql/gateway/adapter-http-fastify.js +0 -228
  70. package/dist/src/graphql/gateway/adapter-http-fastify.js.map +0 -1
  71. package/dist/src/graphql/gateway/auth-middleware.d.ts +0 -7
  72. package/dist/src/graphql/gateway/auth-middleware.d.ts.map +0 -1
  73. package/dist/src/graphql/gateway/auth-middleware.js +0 -15
  74. package/dist/src/graphql/gateway/auth-middleware.js.map +0 -1
  75. package/dist/src/graphql/gateway/factory.d.ts +0 -11
  76. package/dist/src/graphql/gateway/factory.d.ts.map +0 -1
  77. package/dist/src/graphql/gateway/factory.js +0 -21
  78. package/dist/src/graphql/gateway/factory.js.map +0 -1
  79. package/dist/src/graphql/gateway/types.d.ts +0 -100
  80. package/dist/src/graphql/gateway/types.d.ts.map +0 -1
  81. package/dist/src/graphql/gateway/types.js +0 -2
  82. package/dist/src/graphql/gateway/types.js.map +0 -1
  83. package/dist/src/graphql/graphql-manager.d.ts +0 -65
  84. package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
  85. package/dist/src/graphql/graphql-manager.js +0 -483
  86. package/dist/src/graphql/graphql-manager.js.map +0 -1
  87. package/dist/src/graphql/index.d.ts +0 -13
  88. package/dist/src/graphql/index.d.ts.map +0 -1
  89. package/dist/src/graphql/index.js +0 -13
  90. package/dist/src/graphql/index.js.map +0 -1
  91. package/dist/src/graphql/packages/index.d.ts +0 -2
  92. package/dist/src/graphql/packages/index.d.ts.map +0 -1
  93. package/dist/src/graphql/packages/index.js +0 -2
  94. package/dist/src/graphql/packages/index.js.map +0 -1
  95. package/dist/src/graphql/packages/resolvers.d.ts +0 -31
  96. package/dist/src/graphql/packages/resolvers.d.ts.map +0 -1
  97. package/dist/src/graphql/packages/resolvers.js +0 -37
  98. package/dist/src/graphql/packages/resolvers.js.map +0 -1
  99. package/dist/src/graphql/packages/schema.graphql +0 -50
  100. package/dist/src/graphql/packages/subgraph.d.ts +0 -55
  101. package/dist/src/graphql/packages/subgraph.d.ts.map +0 -1
  102. package/dist/src/graphql/packages/subgraph.js +0 -73
  103. package/dist/src/graphql/packages/subgraph.js.map +0 -1
  104. package/dist/src/graphql/playground.d.ts +0 -2
  105. package/dist/src/graphql/playground.d.ts.map +0 -1
  106. package/dist/src/graphql/playground.js +0 -81
  107. package/dist/src/graphql/playground.js.map +0 -1
  108. package/dist/src/graphql/reactor/adapters.d.ts +0 -62
  109. package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
  110. package/dist/src/graphql/reactor/adapters.js +0 -271
  111. package/dist/src/graphql/reactor/adapters.js.map +0 -1
  112. package/dist/src/graphql/reactor/factory.d.ts +0 -105
  113. package/dist/src/graphql/reactor/factory.d.ts.map +0 -1
  114. package/dist/src/graphql/reactor/factory.js +0 -7
  115. package/dist/src/graphql/reactor/factory.js.map +0 -1
  116. package/dist/src/graphql/reactor/gen/graphql.d.ts +0 -1489
  117. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
  118. package/dist/src/graphql/reactor/gen/graphql.js +0 -731
  119. package/dist/src/graphql/reactor/gen/graphql.js.map +0 -1
  120. package/dist/src/graphql/reactor/index.d.ts +0 -4
  121. package/dist/src/graphql/reactor/index.d.ts.map +0 -1
  122. package/dist/src/graphql/reactor/index.js +0 -4
  123. package/dist/src/graphql/reactor/index.js.map +0 -1
  124. package/dist/src/graphql/reactor/operations.graphql +0 -443
  125. package/dist/src/graphql/reactor/pubsub.d.ts +0 -27
  126. package/dist/src/graphql/reactor/pubsub.d.ts.map +0 -1
  127. package/dist/src/graphql/reactor/pubsub.js +0 -93
  128. package/dist/src/graphql/reactor/pubsub.js.map +0 -1
  129. package/dist/src/graphql/reactor/requester.d.ts +0 -4
  130. package/dist/src/graphql/reactor/requester.d.ts.map +0 -1
  131. package/dist/src/graphql/reactor/requester.js +0 -22
  132. package/dist/src/graphql/reactor/requester.js.map +0 -1
  133. package/dist/src/graphql/reactor/requester.with-zod.d.ts +0 -4
  134. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +0 -1
  135. package/dist/src/graphql/reactor/requester.with-zod.js +0 -129
  136. package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
  137. package/dist/src/graphql/reactor/resolvers.d.ts +0 -223
  138. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  139. package/dist/src/graphql/reactor/resolvers.js +0 -682
  140. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  141. package/dist/src/graphql/reactor/schema.graphql +0 -475
  142. package/dist/src/graphql/reactor/subgraph.d.ts +0 -18
  143. package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
  144. package/dist/src/graphql/reactor/subgraph.js +0 -460
  145. package/dist/src/graphql/reactor/subgraph.js.map +0 -1
  146. package/dist/src/graphql/reactor/validation.d.ts +0 -348
  147. package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
  148. package/dist/src/graphql/reactor/validation.js +0 -167
  149. package/dist/src/graphql/reactor/validation.js.map +0 -1
  150. package/dist/src/graphql/sse.d.ts +0 -35
  151. package/dist/src/graphql/sse.d.ts.map +0 -1
  152. package/dist/src/graphql/sse.js +0 -29
  153. package/dist/src/graphql/sse.js.map +0 -1
  154. package/dist/src/graphql/system/env/getters.d.ts +0 -2
  155. package/dist/src/graphql/system/env/getters.d.ts.map +0 -1
  156. package/dist/src/graphql/system/env/getters.js +0 -4
  157. package/dist/src/graphql/system/env/getters.js.map +0 -1
  158. package/dist/src/graphql/system/env/index.d.ts +0 -2
  159. package/dist/src/graphql/system/env/index.d.ts.map +0 -1
  160. package/dist/src/graphql/system/env/index.js +0 -5
  161. package/dist/src/graphql/system/env/index.js.map +0 -1
  162. package/dist/src/graphql/system/index.d.ts +0 -2
  163. package/dist/src/graphql/system/index.d.ts.map +0 -1
  164. package/dist/src/graphql/system/index.js +0 -2
  165. package/dist/src/graphql/system/index.js.map +0 -1
  166. package/dist/src/graphql/system/types.d.ts +0 -2
  167. package/dist/src/graphql/system/types.d.ts.map +0 -1
  168. package/dist/src/graphql/system/types.js +0 -2
  169. package/dist/src/graphql/system/types.js.map +0 -1
  170. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
  171. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
  172. package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
  173. package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
  174. package/dist/src/graphql/types.d.ts +0 -102
  175. package/dist/src/graphql/types.d.ts.map +0 -1
  176. package/dist/src/graphql/types.js +0 -2
  177. package/dist/src/graphql/types.js.map +0 -1
  178. package/dist/src/graphql/utils.d.ts +0 -9
  179. package/dist/src/graphql/utils.d.ts.map +0 -1
  180. package/dist/src/graphql/utils.js +0 -72
  181. package/dist/src/graphql/utils.js.map +0 -1
  182. package/dist/src/graphql/websocket.d.ts +0 -3
  183. package/dist/src/graphql/websocket.d.ts.map +0 -1
  184. package/dist/src/graphql/websocket.js +0 -15
  185. package/dist/src/graphql/websocket.js.map +0 -1
  186. package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
  187. package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
  188. package/dist/src/migrations/001_create_document_permissions.js +0 -91
  189. package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
  190. package/dist/src/migrations/002_add_document_protection.d.ts +0 -4
  191. package/dist/src/migrations/002_add_document_protection.d.ts.map +0 -1
  192. package/dist/src/migrations/002_add_document_protection.js +0 -18
  193. package/dist/src/migrations/002_add_document_protection.js.map +0 -1
  194. package/dist/src/migrations/index.d.ts +0 -10
  195. package/dist/src/migrations/index.d.ts.map +0 -1
  196. package/dist/src/migrations/index.js +0 -58
  197. package/dist/src/migrations/index.js.map +0 -1
  198. package/dist/src/packages/http-loader.d.ts +0 -59
  199. package/dist/src/packages/http-loader.d.ts.map +0 -1
  200. package/dist/src/packages/http-loader.js +0 -203
  201. package/dist/src/packages/http-loader.js.map +0 -1
  202. package/dist/src/packages/https-hooks.d.mts +0 -37
  203. package/dist/src/packages/https-hooks.d.mts.map +0 -1
  204. package/dist/src/packages/https-hooks.mjs +0 -95
  205. package/dist/src/packages/https-hooks.mjs.map +0 -1
  206. package/dist/src/packages/import-loader.d.ts +0 -14
  207. package/dist/src/packages/import-loader.d.ts.map +0 -1
  208. package/dist/src/packages/import-loader.js +0 -47
  209. package/dist/src/packages/import-loader.js.map +0 -1
  210. package/dist/src/packages/import-resolver.d.ts +0 -5
  211. package/dist/src/packages/import-resolver.d.ts.map +0 -1
  212. package/dist/src/packages/import-resolver.js +0 -127
  213. package/dist/src/packages/import-resolver.js.map +0 -1
  214. package/dist/src/packages/package-manager.d.ts +0 -33
  215. package/dist/src/packages/package-manager.d.ts.map +0 -1
  216. package/dist/src/packages/package-manager.js +0 -216
  217. package/dist/src/packages/package-manager.js.map +0 -1
  218. package/dist/src/packages/types.d.ts +0 -39
  219. package/dist/src/packages/types.d.ts.map +0 -1
  220. package/dist/src/packages/types.js +0 -2
  221. package/dist/src/packages/types.js.map +0 -1
  222. package/dist/src/packages/util.d.ts +0 -26
  223. package/dist/src/packages/util.d.ts.map +0 -1
  224. package/dist/src/packages/util.js +0 -85
  225. package/dist/src/packages/util.js.map +0 -1
  226. package/dist/src/packages/vite-loader.d.ts +0 -25
  227. package/dist/src/packages/vite-loader.d.ts.map +0 -1
  228. package/dist/src/packages/vite-loader.js +0 -171
  229. package/dist/src/packages/vite-loader.js.map +0 -1
  230. package/dist/src/server.d.ts +0 -55
  231. package/dist/src/server.d.ts.map +0 -1
  232. package/dist/src/server.js +0 -351
  233. package/dist/src/server.js.map +0 -1
  234. package/dist/src/services/auth.service.d.ts +0 -53
  235. package/dist/src/services/auth.service.d.ts.map +0 -1
  236. package/dist/src/services/auth.service.js +0 -165
  237. package/dist/src/services/auth.service.js.map +0 -1
  238. package/dist/src/services/authorization.service.d.ts +0 -70
  239. package/dist/src/services/authorization.service.d.ts.map +0 -1
  240. package/dist/src/services/authorization.service.js +0 -155
  241. package/dist/src/services/authorization.service.js.map +0 -1
  242. package/dist/src/services/document-permission.service.d.ts +0 -241
  243. package/dist/src/services/document-permission.service.d.ts.map +0 -1
  244. package/dist/src/services/document-permission.service.js +0 -791
  245. package/dist/src/services/document-permission.service.js.map +0 -1
  246. package/dist/src/services/package-management.service.d.ts +0 -32
  247. package/dist/src/services/package-management.service.d.ts.map +0 -1
  248. package/dist/src/services/package-management.service.js +0 -95
  249. package/dist/src/services/package-management.service.js.map +0 -1
  250. package/dist/src/services/package-storage.d.ts +0 -23
  251. package/dist/src/services/package-storage.d.ts.map +0 -1
  252. package/dist/src/services/package-storage.js +0 -19
  253. package/dist/src/services/package-storage.js.map +0 -1
  254. package/dist/src/tracing.d.ts +0 -4
  255. package/dist/src/tracing.d.ts.map +0 -1
  256. package/dist/src/tracing.js +0 -146
  257. package/dist/src/tracing.js.map +0 -1
  258. package/dist/src/types.d.ts +0 -26
  259. package/dist/src/types.d.ts.map +0 -1
  260. package/dist/src/types.js +0 -2
  261. package/dist/src/types.js.map +0 -1
  262. package/dist/src/utils/create-schema.d.ts +0 -36
  263. package/dist/src/utils/create-schema.d.ts.map +0 -1
  264. package/dist/src/utils/create-schema.js +0 -728
  265. package/dist/src/utils/create-schema.js.map +0 -1
  266. package/dist/src/utils/db.d.ts +0 -82
  267. package/dist/src/utils/db.d.ts.map +0 -1
  268. package/dist/src/utils/db.js +0 -101
  269. package/dist/src/utils/db.js.map +0 -1
  270. package/dist/src/utils/drive-url.d.ts +0 -2
  271. package/dist/src/utils/drive-url.d.ts.map +0 -1
  272. package/dist/src/utils/drive-url.js +0 -3
  273. package/dist/src/utils/drive-url.js.map +0 -1
  274. package/dist/src/utils/index.d.ts +0 -4
  275. package/dist/src/utils/index.d.ts.map +0 -1
  276. package/dist/src/utils/index.js +0 -4
  277. package/dist/src/utils/index.js.map +0 -1
  278. package/dist/test/auth-chain.test.d.ts +0 -12
  279. package/dist/test/auth-chain.test.d.ts.map +0 -1
  280. package/dist/test/auth-chain.test.js +0 -157
  281. package/dist/test/auth-chain.test.js.map +0 -1
  282. package/dist/test/auth.service.test.d.ts +0 -10
  283. package/dist/test/auth.service.test.d.ts.map +0 -1
  284. package/dist/test/auth.service.test.js +0 -141
  285. package/dist/test/auth.service.test.js.map +0 -1
  286. package/dist/test/authorization.service.test.d.ts +0 -2
  287. package/dist/test/authorization.service.test.d.ts.map +0 -1
  288. package/dist/test/authorization.service.test.js +0 -252
  289. package/dist/test/authorization.service.test.js.map +0 -1
  290. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +0 -2
  291. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +0 -1
  292. package/dist/test/connect-switchboard-reshuffle-convergence.test.js +0 -204
  293. package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +0 -1
  294. package/dist/test/connect-switchboard-sync.test.d.ts +0 -2
  295. package/dist/test/connect-switchboard-sync.test.d.ts.map +0 -1
  296. package/dist/test/connect-switchboard-sync.test.js +0 -633
  297. package/dist/test/connect-switchboard-sync.test.js.map +0 -1
  298. package/dist/test/document-drive-subgraph.test.d.ts +0 -2
  299. package/dist/test/document-drive-subgraph.test.d.ts.map +0 -1
  300. package/dist/test/document-drive-subgraph.test.js +0 -244
  301. package/dist/test/document-drive-subgraph.test.js.map +0 -1
  302. package/dist/test/document-model-subgraph-permissions.test.d.ts +0 -2
  303. package/dist/test/document-model-subgraph-permissions.test.d.ts.map +0 -1
  304. package/dist/test/document-model-subgraph-permissions.test.js +0 -587
  305. package/dist/test/document-model-subgraph-permissions.test.js.map +0 -1
  306. package/dist/test/document-permission.service.test.d.ts +0 -2
  307. package/dist/test/document-permission.service.test.d.ts.map +0 -1
  308. package/dist/test/document-permission.service.test.js +0 -480
  309. package/dist/test/document-permission.service.test.js.map +0 -1
  310. package/dist/test/drive-info-endpoint.test.d.ts +0 -2
  311. package/dist/test/drive-info-endpoint.test.d.ts.map +0 -1
  312. package/dist/test/drive-info-endpoint.test.js +0 -123
  313. package/dist/test/drive-info-endpoint.test.js.map +0 -1
  314. package/dist/test/fault-injection-sync.test.d.ts +0 -2
  315. package/dist/test/fault-injection-sync.test.d.ts.map +0 -1
  316. package/dist/test/fault-injection-sync.test.js +0 -197
  317. package/dist/test/fault-injection-sync.test.js.map +0 -1
  318. package/dist/test/gateway/adapter-gateway-apollo.test.d.ts +0 -2
  319. package/dist/test/gateway/adapter-gateway-apollo.test.d.ts.map +0 -1
  320. package/dist/test/gateway/adapter-gateway-apollo.test.js +0 -206
  321. package/dist/test/gateway/adapter-gateway-apollo.test.js.map +0 -1
  322. package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts +0 -2
  323. package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts.map +0 -1
  324. package/dist/test/gateway/adapter-gateway-mercurius.test.js +0 -23
  325. package/dist/test/gateway/adapter-gateway-mercurius.test.js.map +0 -1
  326. package/dist/test/gateway/adapter-http-express.test.d.ts +0 -2
  327. package/dist/test/gateway/adapter-http-express.test.d.ts.map +0 -1
  328. package/dist/test/gateway/adapter-http-express.test.js +0 -17
  329. package/dist/test/gateway/adapter-http-express.test.js.map +0 -1
  330. package/dist/test/gateway/adapter-http-fastify.test.d.ts +0 -2
  331. package/dist/test/gateway/adapter-http-fastify.test.d.ts.map +0 -1
  332. package/dist/test/gateway/adapter-http-fastify.test.js +0 -17
  333. package/dist/test/gateway/adapter-http-fastify.test.js.map +0 -1
  334. package/dist/test/gateway/auth-middleware.test.d.ts +0 -8
  335. package/dist/test/gateway/auth-middleware.test.d.ts.map +0 -1
  336. package/dist/test/gateway/auth-middleware.test.js +0 -73
  337. package/dist/test/gateway/auth-middleware.test.js.map +0 -1
  338. package/dist/test/gateway/gateway-adapter-contract.d.ts +0 -30
  339. package/dist/test/gateway/gateway-adapter-contract.d.ts.map +0 -1
  340. package/dist/test/gateway/gateway-adapter-contract.js +0 -347
  341. package/dist/test/gateway/gateway-adapter-contract.js.map +0 -1
  342. package/dist/test/gateway/http-adapter-contract.d.ts +0 -30
  343. package/dist/test/gateway/http-adapter-contract.d.ts.map +0 -1
  344. package/dist/test/gateway/http-adapter-contract.js +0 -277
  345. package/dist/test/gateway/http-adapter-contract.js.map +0 -1
  346. package/dist/test/graphql-manager.test.d.ts +0 -12
  347. package/dist/test/graphql-manager.test.d.ts.map +0 -1
  348. package/dist/test/graphql-manager.test.js +0 -576
  349. package/dist/test/graphql-manager.test.js.map +0 -1
  350. package/dist/test/index.d.ts +0 -2
  351. package/dist/test/index.d.ts.map +0 -1
  352. package/dist/test/index.js +0 -2
  353. package/dist/test/index.js.map +0 -1
  354. package/dist/test/permissions-integration.test.d.ts +0 -2
  355. package/dist/test/permissions-integration.test.d.ts.map +0 -1
  356. package/dist/test/permissions-integration.test.js +0 -407
  357. package/dist/test/permissions-integration.test.js.map +0 -1
  358. package/dist/test/push-backfill.test.d.ts +0 -2
  359. package/dist/test/push-backfill.test.d.ts.map +0 -1
  360. package/dist/test/push-backfill.test.js +0 -299
  361. package/dist/test/push-backfill.test.js.map +0 -1
  362. package/dist/test/reactor-adapters.test.d.ts +0 -2
  363. package/dist/test/reactor-adapters.test.d.ts.map +0 -1
  364. package/dist/test/reactor-adapters.test.js +0 -380
  365. package/dist/test/reactor-adapters.test.js.map +0 -1
  366. package/dist/test/reactor-client.test.d.ts +0 -2
  367. package/dist/test/reactor-client.test.d.ts.map +0 -1
  368. package/dist/test/reactor-client.test.js +0 -371
  369. package/dist/test/reactor-client.test.js.map +0 -1
  370. package/dist/test/reactor-resolvers.test.d.ts +0 -2
  371. package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
  372. package/dist/test/reactor-resolvers.test.js +0 -259
  373. package/dist/test/reactor-resolvers.test.js.map +0 -1
  374. package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
  375. package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
  376. package/dist/test/reactor-subgraph-permissions.test.js +0 -371
  377. package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
  378. package/dist/test/router.test.d.ts +0 -2
  379. package/dist/test/router.test.d.ts.map +0 -1
  380. package/dist/test/router.test.js +0 -38
  381. package/dist/test/router.test.js.map +0 -1
  382. package/dist/test/subscriptions-sse.test.d.ts +0 -2
  383. package/dist/test/subscriptions-sse.test.d.ts.map +0 -1
  384. package/dist/test/subscriptions-sse.test.js +0 -264
  385. package/dist/test/subscriptions-sse.test.js.map +0 -1
  386. package/dist/test/subscriptions.test.d.ts +0 -2
  387. package/dist/test/subscriptions.test.d.ts.map +0 -1
  388. package/dist/test/subscriptions.test.js +0 -248
  389. package/dist/test/subscriptions.test.js.map +0 -1
  390. package/dist/test/utils/gql-resolver-bridge.d.ts +0 -15
  391. package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
  392. package/dist/test/utils/gql-resolver-bridge.js +0 -89
  393. package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
  394. package/dist/test/utils.d.ts +0 -6
  395. package/dist/test/utils.d.ts.map +0 -1
  396. package/dist/test/utils.js +0 -13
  397. package/dist/test/utils.js.map +0 -1
  398. package/dist/tsconfig.tsbuildinfo +0 -1
  399. package/dist/vitest.config.d.ts +0 -3
  400. package/dist/vitest.config.d.ts.map +0 -1
  401. package/dist/vitest.config.js +0 -39
  402. package/dist/vitest.config.js.map +0 -1
@@ -1,110 +0,0 @@
1
- import { type DocumentModelModule } from "@powerhousedao/shared/document-model";
2
- import { BaseSubgraph } from "./base-subgraph.js";
3
- import type { PhDocument, PhDocumentResultPage } from "./reactor/gen/graphql.js";
4
- import type { Context, SubgraphArgs } from "./types.js";
5
- /** A resolver function that lives inside a document-model subgraph. */
6
- export type DocumentModelResolverFn = (...args: any[]) => unknown;
7
- /**
8
- * A resolver map for a single GraphQL type in a document-model subgraph.
9
- * Each key is a field name (or `__resolveType` for unions) and each value
10
- * is a resolver function.
11
- */
12
- export type DocumentModelResolverMap = Record<string, DocumentModelResolverFn>;
13
- /** View filter shared across query resolvers. */
14
- type ViewArg = {
15
- branch?: string;
16
- scopes?: string[];
17
- };
18
- /** Paging argument shared across query resolvers. */
19
- type PagingArg = {
20
- limit?: number;
21
- offset?: number;
22
- cursor?: string;
23
- };
24
- /**
25
- * Known query resolvers generated for every document model.
26
- * `TDocument` is the GQL representation of the document (defaults to `PhDocument`).
27
- */
28
- export interface DocumentModelQueryResolvers<TDocument extends PhDocument = PhDocument> {
29
- document: (parent: unknown, args: {
30
- identifier: string;
31
- view?: ViewArg;
32
- }, ctx: Context) => Promise<{
33
- document: TDocument;
34
- childIds: string[];
35
- }>;
36
- documents: (parent: unknown, args: {
37
- paging?: PagingArg;
38
- }, ctx: Context) => Promise<{
39
- items: TDocument[];
40
- }>;
41
- findDocuments: (parent: unknown, args: {
42
- search?: {
43
- parentId?: string;
44
- identifiers?: string[];
45
- } | null;
46
- view?: ViewArg;
47
- paging?: PagingArg;
48
- }, ctx: Context) => Promise<PhDocumentResultPage>;
49
- documentChildren: (parent: unknown, args: {
50
- parentIdentifier: string;
51
- view?: ViewArg;
52
- paging?: PagingArg;
53
- }, ctx: Context) => Promise<PhDocumentResultPage>;
54
- documentParents: (parent: unknown, args: {
55
- childIdentifier: string;
56
- view?: ViewArg;
57
- paging?: PagingArg;
58
- }, ctx: Context) => Promise<PhDocumentResultPage>;
59
- }
60
- /**
61
- * Known mutation resolvers generated for every document model.
62
- * `TDocument` is the GQL representation of the document (defaults to `PhDocument`).
63
- * Operations specific to each model are captured by the index signature.
64
- */
65
- export interface DocumentModelMutationResolvers<TDocument extends PhDocument = PhDocument> {
66
- createDocument: (parent: unknown, args: {
67
- name: string;
68
- parentIdentifier?: string;
69
- slug?: string;
70
- preferredEditor?: string;
71
- initialState?: Record<string, Record<string, unknown>>;
72
- }, ctx: Context) => Promise<TDocument>;
73
- createEmptyDocument: (parent: unknown, args: {
74
- parentIdentifier?: string;
75
- }, ctx: Context) => Promise<TDocument>;
76
- /** Dynamic operation resolvers (sync and async variants). */
77
- [operationName: string]: DocumentModelResolverFn;
78
- }
79
- /** The resolvers that a `DocumentModelSubgraph` exposes. */
80
- export interface DocumentModelSubgraphResolvers<TDocument extends PhDocument = PhDocument> {
81
- Query: DocumentModelResolverMap;
82
- Mutation: DocumentModelResolverMap;
83
- [namespaceKey: string]: DocumentModelResolverMap | DocumentModelQueryResolvers<TDocument> | DocumentModelMutationResolvers<TDocument>;
84
- }
85
- /**
86
- * New document model subgraph that uses reactorClient instead of legacy reactor.
87
- * This class auto-generates GraphQL queries and mutations for a document model.
88
- */
89
- export declare class DocumentModelSubgraph extends BaseSubgraph {
90
- resolvers: DocumentModelSubgraphResolvers;
91
- private documentModel;
92
- constructor(documentModel: DocumentModelModule, args: SubgraphArgs);
93
- /** Returns the typed query resolvers for this document model. */
94
- get queryResolvers(): DocumentModelQueryResolvers;
95
- /** Returns the typed mutation resolvers for this document model. */
96
- get mutationResolvers(): DocumentModelMutationResolvers;
97
- /**
98
- * Generate __resolveType functions for union types found in the document model schema.
99
- * Parses the state schema to find union definitions and their member types,
100
- * then uses unique field presence to discriminate between member types at runtime.
101
- */
102
- private generateUnionResolvers;
103
- /**
104
- * Generate resolvers for this document model using reactorClient
105
- * Uses flat queries (not nested) consistent with ReactorSubgraph patterns
106
- */
107
- private generateResolvers;
108
- }
109
- export {};
110
- //# sourceMappingURL=document-model-subgraph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document-model-subgraph.d.ts","sourceRoot":"","sources":["../../../src/graphql/document-model-subgraph.ts"],"names":[],"mappings":"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"}
@@ -1,336 +0,0 @@
1
- import { camelCase, kebabCase } from "change-case";
2
- import { setName, } from "@powerhousedao/shared/document-model";
3
- import { GraphQLError, Kind, parse } from "graphql";
4
- import { generateDocumentModelSchema, getDocumentModelSchemaName, } from "../utils/create-schema.js";
5
- import { BaseSubgraph } from "./base-subgraph.js";
6
- import { toGqlPhDocument } from "./reactor/adapters.js";
7
- import { createDocumentWithInitialState as createDocumentWithInitialStateResolver, createEmptyDocument as createEmptyDocumentResolver, documentChildren as documentChildrenResolver, documentParents as documentParentsResolver, document as documentResolver, findDocuments as findDocumentsResolver, } from "./reactor/resolvers.js";
8
- /**
9
- * New document model subgraph that uses reactorClient instead of legacy reactor.
10
- * This class auto-generates GraphQL queries and mutations for a document model.
11
- */
12
- export class DocumentModelSubgraph extends BaseSubgraph {
13
- documentModel;
14
- constructor(documentModel, args) {
15
- super(args);
16
- this.documentModel = documentModel;
17
- this.name = kebabCase(documentModel.documentModel.global.name);
18
- this.typeDefs = generateDocumentModelSchema(this.documentModel.documentModel.global, { useNewApi: true });
19
- this.resolvers = this.generateResolvers();
20
- }
21
- /** Returns the typed query resolvers for this document model. */
22
- get queryResolvers() {
23
- const documentName = getDocumentModelSchemaName(this.documentModel.documentModel.global);
24
- return this.resolvers[`${documentName}Queries`];
25
- }
26
- /** Returns the typed mutation resolvers for this document model. */
27
- get mutationResolvers() {
28
- const documentName = getDocumentModelSchemaName(this.documentModel.documentModel.global);
29
- return this.resolvers[`${documentName}Mutations`];
30
- }
31
- /**
32
- * Generate __resolveType functions for union types found in the document model schema.
33
- * Parses the state schema to find union definitions and their member types,
34
- * then uses unique field presence to discriminate between member types at runtime.
35
- */
36
- generateUnionResolvers() {
37
- const documentName = getDocumentModelSchemaName(this.documentModel.documentModel.global);
38
- const specification = this.documentModel.documentModel.global.specifications.at(-1);
39
- if (!specification)
40
- return {};
41
- const globalSchema = specification.state.global.schema ?? "";
42
- const localSchema = specification.state.local.schema ?? "";
43
- const fullSchema = `${globalSchema}\n${localSchema}`;
44
- if (!fullSchema.trim())
45
- return {};
46
- let ast;
47
- try {
48
- ast = parse(fullSchema);
49
- }
50
- catch {
51
- return {};
52
- }
53
- // Build map: object type name -> field names
54
- const objectFieldsMap = new Map();
55
- for (const def of ast.definitions) {
56
- if (def.kind === Kind.OBJECT_TYPE_DEFINITION) {
57
- objectFieldsMap.set(def.name.value, def.fields?.map((f) => f.name.value) ?? []);
58
- }
59
- }
60
- const resolvers = {};
61
- for (const def of ast.definitions) {
62
- if (def.kind !== Kind.UNION_TYPE_DEFINITION)
63
- continue;
64
- const unionName = def.name.value;
65
- const memberTypes = def.types?.map((t) => t.name.value) ?? [];
66
- if (memberTypes.length === 0)
67
- continue;
68
- // Compute unique fields per member type
69
- const uniqueFields = {};
70
- for (const memberType of memberTypes) {
71
- const ownFields = objectFieldsMap.get(memberType) ?? [];
72
- const otherFields = new Set(memberTypes
73
- .filter((t) => t !== memberType)
74
- .flatMap((t) => objectFieldsMap.get(t) ?? []));
75
- uniqueFields[memberType] = ownFields.filter((f) => !otherFields.has(f));
76
- }
77
- const prefixedUnionName = `${documentName}_${unionName}`;
78
- resolvers[prefixedUnionName] = {
79
- __resolveType: (obj) => {
80
- for (const memberType of memberTypes) {
81
- const fields = uniqueFields[memberType] ?? [];
82
- if (fields.length > 0 && fields.some((f) => f in obj)) {
83
- return `${documentName}_${memberType}`;
84
- }
85
- }
86
- return `${documentName}_${memberTypes[0]}`;
87
- },
88
- };
89
- }
90
- return resolvers;
91
- }
92
- /**
93
- * Generate resolvers for this document model using reactorClient
94
- * Uses flat queries (not nested) consistent with ReactorSubgraph patterns
95
- */
96
- generateResolvers() {
97
- const documentType = this.documentModel.documentModel.global.id;
98
- const documentName = getDocumentModelSchemaName(this.documentModel.documentModel.global);
99
- const operations = this.documentModel.documentModel.global.specifications
100
- .at(-1)
101
- ?.modules.flatMap((module) => module.operations.filter((op) => op.name)) ?? [];
102
- return {
103
- ...this.generateUnionResolvers(),
104
- Query: {
105
- // Namespace resolver: returns empty object so nested field resolvers can run
106
- [documentName]: () => ({}),
107
- },
108
- [`${documentName}Queries`]: {
109
- // Get a specific document by identifier
110
- document: async (_, args, ctx) => {
111
- const { identifier, view } = args;
112
- if (!identifier) {
113
- throw new GraphQLError("Document identifier is required");
114
- }
115
- const result = await documentResolver(this.reactorClient, {
116
- identifier,
117
- view,
118
- });
119
- if (result.document.documentType !== documentType) {
120
- throw new GraphQLError(`Document with id ${identifier} is not of type ${documentType}`);
121
- }
122
- await this.assertCanRead(result.document.id, ctx);
123
- return result;
124
- },
125
- // Flat query: Get all documents of this type (paged)
126
- documents: async (_, args, ctx) => {
127
- const { paging } = args;
128
- const result = await findDocumentsResolver(this.reactorClient, {
129
- search: { type: documentType },
130
- paging,
131
- });
132
- // Filter by permission if needed
133
- if (!this.hasGlobalAdminAccess(ctx) &&
134
- this.documentPermissionService) {
135
- const filteredItems = [];
136
- for (const item of result.items) {
137
- const canRead = await this.canReadDocument(item.id, ctx);
138
- if (canRead) {
139
- filteredItems.push(item);
140
- }
141
- }
142
- return {
143
- ...result,
144
- items: filteredItems,
145
- totalCount: filteredItems.length,
146
- };
147
- }
148
- return result;
149
- },
150
- // Flat query: Find documents by search criteria (type is built-in)
151
- // Uses shared findDocumentsResolver from reactor/resolvers.ts
152
- findDocuments: async (_, args, ctx) => {
153
- const { search, view, paging } = args;
154
- const result = await findDocumentsResolver(this.reactorClient, {
155
- search: {
156
- type: documentType,
157
- parentId: search?.parentId,
158
- },
159
- view,
160
- paging,
161
- });
162
- if (!this.hasGlobalAdminAccess(ctx) &&
163
- this.documentPermissionService) {
164
- const filteredItems = [];
165
- for (const item of result.items) {
166
- const canRead = await this.canReadDocument(item.id, ctx);
167
- if (canRead) {
168
- filteredItems.push(item);
169
- }
170
- }
171
- return {
172
- ...result,
173
- items: filteredItems,
174
- totalCount: filteredItems.length,
175
- };
176
- }
177
- return result;
178
- },
179
- // Get children of a document (filtered by this document type)
180
- documentChildren: async (_, args, ctx) => {
181
- const { parentIdentifier, view, paging } = args;
182
- await this.assertCanRead(parentIdentifier, ctx);
183
- const result = await documentChildrenResolver(this.reactorClient, {
184
- parentIdentifier,
185
- view,
186
- paging,
187
- });
188
- const filteredItems = result.items.filter((item) => item.documentType === documentType);
189
- return {
190
- ...result,
191
- items: filteredItems,
192
- totalCount: filteredItems.length,
193
- };
194
- },
195
- // Get parents of a document
196
- documentParents: async (_, args, ctx) => {
197
- const { childIdentifier, view, paging } = args;
198
- await this.assertCanRead(childIdentifier, ctx);
199
- return documentParentsResolver(this.reactorClient, {
200
- childIdentifier,
201
- view,
202
- paging,
203
- });
204
- },
205
- },
206
- Mutation: {
207
- // Namespace resolver: returns empty object so nested field resolvers can run
208
- [documentName]: () => ({}),
209
- },
210
- [`${documentName}Mutations`]: {
211
- createDocument: async (_, args, ctx) => {
212
- const { parentIdentifier, name, slug, preferredEditor, initialState, } = args;
213
- if (parentIdentifier) {
214
- await this.assertCanWrite(parentIdentifier, ctx);
215
- }
216
- else if (this.authorizationService) {
217
- if (!ctx.user?.address) {
218
- throw new GraphQLError("Forbidden: authentication required to create documents");
219
- }
220
- }
221
- else if (!this.hasGlobalAdminAccess(ctx)) {
222
- throw new GraphQLError("Forbidden: insufficient permissions to create documents");
223
- }
224
- let createdDoc;
225
- if (initialState || preferredEditor) {
226
- createdDoc = await createDocumentWithInitialStateResolver(this.reactorClient, {
227
- documentType,
228
- parentIdentifier,
229
- name,
230
- slug,
231
- preferredEditor,
232
- initialState: initialState ?? {},
233
- });
234
- }
235
- else {
236
- createdDoc = await createEmptyDocumentResolver(this.reactorClient, {
237
- documentType,
238
- parentIdentifier,
239
- name,
240
- });
241
- }
242
- // Auto-ownership: set creator as document owner
243
- if (this.authorizationService &&
244
- ctx.user?.address &&
245
- createdDoc?.id) {
246
- await this.documentPermissionService?.initializeDocumentProtection(createdDoc.id, ctx.user.address, this.authorizationService.config.defaultProtection);
247
- }
248
- // Name fallback via SET_NAME (only for non-initialState path,
249
- // since initialState path sets name on header before creation)
250
- if (!initialState &&
251
- !preferredEditor &&
252
- name &&
253
- createdDoc.name !== name) {
254
- const updatedDoc = await this.reactorClient.execute(createdDoc.id, "main", [setName(name)]);
255
- return toGqlPhDocument(updatedDoc);
256
- }
257
- return createdDoc;
258
- },
259
- createEmptyDocument: async (_, args, ctx) => {
260
- const { parentIdentifier } = args;
261
- if (parentIdentifier) {
262
- await this.assertCanWrite(parentIdentifier, ctx);
263
- }
264
- else if (this.authorizationService) {
265
- if (!ctx.user?.address) {
266
- throw new GraphQLError("Forbidden: authentication required to create documents");
267
- }
268
- }
269
- else if (!this.hasGlobalAdminAccess(ctx)) {
270
- throw new GraphQLError("Forbidden: insufficient permissions to create documents");
271
- }
272
- const result = await createEmptyDocumentResolver(this.reactorClient, {
273
- documentType,
274
- parentIdentifier,
275
- });
276
- // Auto-ownership: set creator as document owner
277
- if (this.authorizationService && ctx.user?.address && result?.id) {
278
- await this.documentPermissionService?.initializeDocumentProtection(result.id, ctx.user.address, this.authorizationService.config.defaultProtection);
279
- }
280
- return result;
281
- },
282
- // Generate sync and async mutations for each operation
283
- ...operations.reduce((mutations, op) => {
284
- // Sync mutation
285
- mutations[camelCase(op.name)] = async (_, args, ctx) => {
286
- const { docId, input } = args;
287
- if (!this.authorizationService) {
288
- await this.assertCanWrite(docId, ctx);
289
- }
290
- await this.assertCanExecuteOperation(docId, op.name, ctx);
291
- const doc = await this.reactorClient.get(docId);
292
- if (doc.header.documentType !== documentType) {
293
- throw new GraphQLError(`Document with id ${docId} is not of type ${documentType}`);
294
- }
295
- const action = this.documentModel.actions[camelCase(op.name)];
296
- if (!action) {
297
- throw new GraphQLError(`Action ${op.name} not found`);
298
- }
299
- try {
300
- const updatedDoc = await this.reactorClient.execute(docId, "main", [action(input)]);
301
- return toGqlPhDocument(updatedDoc);
302
- }
303
- catch (error) {
304
- throw new GraphQLError(error instanceof Error ? error.message : `Failed to ${op.name}`);
305
- }
306
- };
307
- // Async mutation - returns job ID
308
- mutations[`${camelCase(op.name)}Async`] = async (_, args, ctx) => {
309
- const { docId, input } = args;
310
- if (!this.authorizationService) {
311
- await this.assertCanWrite(docId, ctx);
312
- }
313
- await this.assertCanExecuteOperation(docId, op.name, ctx);
314
- const doc = await this.reactorClient.get(docId);
315
- if (doc.header.documentType !== documentType) {
316
- throw new GraphQLError(`Document with id ${docId} is not of type ${documentType}`);
317
- }
318
- const action = this.documentModel.actions[camelCase(op.name)];
319
- if (!action) {
320
- throw new GraphQLError(`Action ${op.name} not found`);
321
- }
322
- try {
323
- const jobInfo = await this.reactorClient.executeAsync(docId, "main", [action(input)]);
324
- return jobInfo.id;
325
- }
326
- catch (error) {
327
- throw new GraphQLError(error instanceof Error ? error.message : `Failed to ${op.name}`);
328
- }
329
- };
330
- return mutations;
331
- }, {}),
332
- },
333
- };
334
- }
335
- }
336
- //# sourceMappingURL=document-model-subgraph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document-model-subgraph.js","sourceRoot":"","sources":["../../../src/graphql/document-model-subgraph.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { ApolloServer } from "@apollo/server";
2
- import type { ILogger } from "document-model";
3
- import type { GraphQLSchema } from "graphql";
4
- import type http from "node:http";
5
- import type { WebSocketServer } from "ws";
6
- import type { Context } from "../types.js";
7
- import type { FetchHandler, GatewayContextFactory, IGatewayAdapter, SubgraphDefinition, WsContextFactory, WsDisposer } from "./types.js";
8
- export declare class ApolloGatewayAdapter implements IGatewayAdapter<Context> {
9
- #private;
10
- constructor(logger: ILogger);
11
- start(_httpServer: http.Server): Promise<void>;
12
- createHandler(schema: GraphQLSchema, contextFactory: GatewayContextFactory<Context>): Promise<FetchHandler>;
13
- createSupergraphHandler(getSubgraphs: () => SubgraphDefinition[], httpServer: http.Server, contextFactory: GatewayContextFactory<Context>): Promise<FetchHandler>;
14
- updateSupergraph(): Promise<void>;
15
- attachWebSocket(wsServer: WebSocketServer, schema: GraphQLSchema, contextFactory: WsContextFactory<Context>): WsDisposer;
16
- stop(): Promise<void>;
17
- }
18
- /**
19
- * Wrap an existing ApolloServer as a Fetch API handler.
20
- * Does not manage server lifecycle; caller is responsible for start/stop.
21
- */
22
- export declare function createApolloFetchHandler(server: ApolloServer<Context>, contextFactory: GatewayContextFactory<Context>): FetchHandler;
23
- //# sourceMappingURL=adapter-gateway-apollo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter-gateway-apollo.d.ts","sourceRoot":"","sources":["../../../../src/graphql/gateway/adapter-gateway-apollo.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAa,MAAM,gBAAgB,CAAC;AAIzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACX,MAAM,YAAY,CAAC;AAcpB,qBAAa,oBAAqB,YAAW,eAAe,CAAC,OAAO,CAAC;;gBAYvD,MAAM,EAAE,OAAO;IAIrB,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,aAAa,CACjB,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAC7C,OAAO,CAAC,YAAY,CAAC;IAelB,uBAAuB,CAC3B,YAAY,EAAE,MAAM,kBAAkB,EAAE,EACxC,UAAU,EAAE,IAAI,CAAC,MAAM,EACvB,cAAc,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAC7C,OAAO,CAAC,YAAY,CAAC;IA+BlB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBvC,eAAe,CACb,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,gBAAgB,CAAC,OAAO,CAAC,GACxC,UAAU;IAkBP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAW5B;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAC7B,cAAc,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAC7C,YAAY,CA8Cd"}
@@ -1,156 +0,0 @@
1
- import { ApolloGateway, LocalCompose, RemoteGraphQLDataSource, } from "@apollo/gateway";
2
- import { ApolloServer, HeaderMap } from "@apollo/server";
3
- import { ApolloServerPluginInlineTraceDisabled } from "@apollo/server/plugin/disabled";
4
- import { ApolloServerPluginDrainHttpServer } from "@apollo/server/plugin/drainHttpServer";
5
- import { ApolloServerPluginLandingPageLocalDefault } from "@apollo/server/plugin/landingPage/default";
6
- import { useServer } from "../websocket.js";
7
- // Forwards the incoming authorization header to federated subgraph requests.
8
- class AuthenticatedDataSource extends RemoteGraphQLDataSource {
9
- willSendRequest(options) {
10
- const { authorization } = options.context.headers;
11
- if (authorization && options?.request.http) {
12
- options.request.http.headers.set("authorization", authorization);
13
- }
14
- }
15
- }
16
- export class ApolloGatewayAdapter {
17
- #logger;
18
- #servers = [];
19
- #supergraphServer = null;
20
- #gatewayOptions = null;
21
- #getSubgraphs = null;
22
- constructor(logger) {
23
- this.#logger = logger;
24
- }
25
- async start(_httpServer) {
26
- // Per-subgraph Apollo servers start lazily in createHandler.
27
- // Nothing to do here.
28
- }
29
- async createHandler(schema, contextFactory) {
30
- const server = new ApolloServer({
31
- schema,
32
- logger: this.#logger,
33
- introspection: true,
34
- plugins: [
35
- ApolloServerPluginInlineTraceDisabled(),
36
- ApolloServerPluginLandingPageLocalDefault(),
37
- ],
38
- });
39
- await server.start();
40
- this.#servers.push(server);
41
- return createApolloFetchHandler(server, contextFactory);
42
- }
43
- async createSupergraphHandler(getSubgraphs, httpServer, contextFactory) {
44
- if (this.#supergraphServer) {
45
- throw new Error("Supergraph server is already running");
46
- }
47
- this.#getSubgraphs = getSubgraphs;
48
- const gateway = new ApolloGateway({
49
- supergraphSdl: async (options) => {
50
- this.#gatewayOptions = options;
51
- return await this.#buildSupergraphSdl();
52
- },
53
- buildService: (serviceConfig) => new AuthenticatedDataSource(serviceConfig),
54
- });
55
- this.#supergraphServer = new ApolloServer({
56
- gateway,
57
- logger: this.#logger,
58
- introspection: true,
59
- plugins: [
60
- ApolloServerPluginDrainHttpServer({ httpServer }),
61
- ApolloServerPluginInlineTraceDisabled(),
62
- ApolloServerPluginLandingPageLocalDefault(),
63
- ],
64
- });
65
- await this.#supergraphServer.start();
66
- return createApolloFetchHandler(this.#supergraphServer, contextFactory);
67
- }
68
- async updateSupergraph() {
69
- if (!this.#gatewayOptions || !this.#getSubgraphs) {
70
- // Not yet initialized - no-op.
71
- return;
72
- }
73
- const { supergraphSdl } = await this.#buildSupergraphSdl();
74
- this.#gatewayOptions.update(supergraphSdl);
75
- }
76
- async #buildSupergraphSdl() {
77
- if (!this.#gatewayOptions || !this.#getSubgraphs) {
78
- throw new Error("Gateway is not ready");
79
- }
80
- const serviceList = this.#getSubgraphs().map((s) => ({
81
- name: s.name,
82
- typeDefs: s.typeDefs,
83
- url: s.url,
84
- }));
85
- const localCompose = new LocalCompose({ localServiceList: serviceList });
86
- return localCompose.initialize(this.#gatewayOptions);
87
- }
88
- attachWebSocket(wsServer, schema, contextFactory) {
89
- return useServer({
90
- schema,
91
- context: async (ctx) => {
92
- const connectionParams = (ctx.connectionParams ?? {});
93
- return contextFactory(connectionParams);
94
- },
95
- }, wsServer);
96
- }
97
- async stop() {
98
- await Promise.all(this.#servers.map((s) => s.stop()));
99
- this.#servers.length = 0;
100
- if (this.#supergraphServer) {
101
- await this.#supergraphServer.stop();
102
- this.#supergraphServer = null;
103
- }
104
- this.#gatewayOptions = null;
105
- this.#getSubgraphs = null;
106
- }
107
- }
108
- /**
109
- * Wrap an existing ApolloServer as a Fetch API handler.
110
- * Does not manage server lifecycle; caller is responsible for start/stop.
111
- */
112
- export function createApolloFetchHandler(server, contextFactory) {
113
- return async (request) => {
114
- const url = new URL(request.url);
115
- const headers = new HeaderMap();
116
- request.headers.forEach((value, key) => headers.set(key, value));
117
- let body = undefined;
118
- if (request.method !== "GET" && request.method !== "HEAD") {
119
- try {
120
- body = (await request.json());
121
- }
122
- catch {
123
- // body may be empty for some requests
124
- }
125
- }
126
- const result = await server.executeHTTPGraphQLRequest({
127
- httpGraphQLRequest: {
128
- method: request.method.toUpperCase(),
129
- headers,
130
- search: url.search,
131
- body,
132
- },
133
- context: () => contextFactory(request),
134
- });
135
- const responseHeaders = new Headers();
136
- for (const [key, value] of result.headers) {
137
- responseHeaders.set(key, value);
138
- }
139
- let responseBody;
140
- if (result.body.kind === "complete") {
141
- responseBody = result.body.string;
142
- }
143
- else {
144
- const chunks = [];
145
- for await (const chunk of result.body.asyncIterator) {
146
- chunks.push(chunk);
147
- }
148
- responseBody = chunks.join("");
149
- }
150
- return new Response(responseBody, {
151
- status: result.status ?? 200,
152
- headers: responseHeaders,
153
- });
154
- };
155
- }
156
- //# sourceMappingURL=adapter-gateway-apollo.js.map