@powerhousedao/reactor-api 6.0.0-dev.152 → 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,17 +0,0 @@
1
- import { ExpressHttpAdapter } from "../../src/graphql/gateway/adapter-http-express.js";
2
- import { runHttpAdapterContractTests, } from "./http-adapter-contract.js";
3
- // ─── Express harness factory ─────────────────────────────────────────────────
4
- async function createExpressHarness() {
5
- const adapter = new ExpressHttpAdapter();
6
- adapter.setupMiddleware({});
7
- const httpServer = await adapter.listen(0);
8
- const addr = httpServer.address();
9
- return {
10
- adapter,
11
- url: `http://127.0.0.1:${addr.port}`,
12
- close: () => new Promise((resolve, reject) => httpServer.close((err) => (err ? reject(err) : resolve()))),
13
- };
14
- }
15
- // ─── run the shared contract suite against ExpressHttpAdapter ────────────────
16
- runHttpAdapterContractTests("ExpressHttpAdapter", createExpressHarness);
17
- //# sourceMappingURL=adapter-http-express.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter-http-express.test.js","sourceRoot":"","sources":["../../../test/gateway/adapter-http-express.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AAEpC,gFAAgF;AAEhF,KAAK,UAAU,oBAAoB;IACjC,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACzC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAsB,CAAC;IAEtD,OAAO;QACL,OAAO;QACP,GAAG,EAAE,oBAAoB,IAAI,CAAC,IAAI,EAAE;QACpC,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACpC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC3D;KACJ,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,2BAA2B,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=adapter-http-fastify.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter-http-fastify.test.d.ts","sourceRoot":"","sources":["../../../test/gateway/adapter-http-fastify.test.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- import { FastifyHttpAdapter } from "../../src/graphql/gateway/adapter-http-fastify.js";
2
- import { runHttpAdapterContractTests, } from "./http-adapter-contract.js";
3
- // ─── Fastify harness factory ──────────────────────────────────────────────────
4
- async function createFastifyHarness() {
5
- const adapter = new FastifyHttpAdapter();
6
- adapter.setupMiddleware({});
7
- const httpServer = await adapter.listen(0);
8
- const addr = httpServer.address();
9
- return {
10
- adapter,
11
- url: `http://127.0.0.1:${addr.port}`,
12
- close: () => new Promise((resolve, reject) => httpServer.close((err) => (err ? reject(err) : resolve()))),
13
- };
14
- }
15
- // ─── run the shared contract suite against FastifyHttpAdapter ─────────────────
16
- runHttpAdapterContractTests("FastifyHttpAdapter", createFastifyHarness);
17
- //# sourceMappingURL=adapter-http-fastify.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter-http-fastify.test.js","sourceRoot":"","sources":["../../../test/gateway/adapter-http-fastify.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AAEpC,iFAAiF;AAEjF,KAAK,UAAU,oBAAoB;IACjC,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACzC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAsB,CAAC;IAEtD,OAAO;QACL,OAAO;QACP,GAAG,EAAE,oBAAoB,IAAI,CAAC,IAAI,EAAE;QACpC,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACpC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC3D;KACJ,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,2BAA2B,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Unit tests for createAuthFetchMiddleware and getAuthContext.
3
- *
4
- * AuthService is mocked so tests are pure unit tests with no network I/O or
5
- * real token verification.
6
- */
7
- export {};
8
- //# sourceMappingURL=auth-middleware.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-middleware.test.d.ts","sourceRoot":"","sources":["../../../test/gateway/auth-middleware.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,73 +0,0 @@
1
- /**
2
- * Unit tests for createAuthFetchMiddleware and getAuthContext.
3
- *
4
- * AuthService is mocked so tests are pure unit tests with no network I/O or
5
- * real token verification.
6
- */
7
- import { describe, expect, it, vi } from "vitest";
8
- import { createAuthFetchMiddleware, getAuthContext, } from "../../src/graphql/gateway/auth-middleware.js";
9
- // ─── helpers ──────────────────────────────────────────────────────────────────
10
- function makeAuthService(result) {
11
- return {
12
- authenticateRequest: vi.fn().mockResolvedValue(result),
13
- };
14
- }
15
- function makeRequest(url = "http://localhost/graphql") {
16
- return new globalThis.Request(url, { method: "POST" });
17
- }
18
- const AUTH_CTX = {
19
- user: { address: "0xabc", chainId: 1, networkId: "eip155" },
20
- admins: ["0xadmin"],
21
- auth_enabled: true,
22
- };
23
- // ─── tests ────────────────────────────────────────────────────────────────────
24
- describe("createAuthFetchMiddleware", () => {
25
- it("calls the next handler and returns its response when auth succeeds", async () => {
26
- const service = makeAuthService(AUTH_CTX);
27
- const next = vi.fn().mockResolvedValue(new Response("ok", { status: 200 }));
28
- const middleware = createAuthFetchMiddleware(service);
29
- const req = makeRequest();
30
- const res = await middleware(next)(req);
31
- expect(next).toHaveBeenCalledOnce();
32
- expect(next).toHaveBeenCalledWith(req);
33
- expect(res.status).toBe(200);
34
- });
35
- it("short-circuits and returns the auth Response without calling next when auth fails", async () => {
36
- const authResponse = new globalThis.Response(JSON.stringify({ error: "Verification failed" }), { status: 401 });
37
- const service = makeAuthService(authResponse);
38
- const next = vi.fn();
39
- const middleware = createAuthFetchMiddleware(service);
40
- const res = await middleware(next)(makeRequest());
41
- expect(next).not.toHaveBeenCalled();
42
- expect(res.status).toBe(401);
43
- });
44
- it("stores the AuthContext in the WeakMap so getAuthContext returns it", async () => {
45
- const service = makeAuthService(AUTH_CTX);
46
- const req = makeRequest();
47
- let capturedRequest;
48
- const next = vi.fn().mockImplementation((r) => {
49
- capturedRequest = r;
50
- return Promise.resolve(new Response("ok"));
51
- });
52
- const middleware = createAuthFetchMiddleware(service);
53
- await middleware(next)(req);
54
- expect(capturedRequest).toBe(req);
55
- expect(getAuthContext(req)).toEqual(AUTH_CTX);
56
- });
57
- it("does not store AuthContext in the WeakMap when auth fails", async () => {
58
- const authResponse = new globalThis.Response(null, { status: 401 });
59
- const service = makeAuthService(authResponse);
60
- const req = makeRequest();
61
- const next = vi.fn();
62
- const middleware = createAuthFetchMiddleware(service);
63
- await middleware(next)(req);
64
- expect(getAuthContext(req)).toBeUndefined();
65
- });
66
- });
67
- describe("getAuthContext", () => {
68
- it("returns undefined for a request that was never authenticated", () => {
69
- const freshRequest = makeRequest("http://localhost/other");
70
- expect(getAuthContext(freshRequest)).toBeUndefined();
71
- });
72
- });
73
- //# sourceMappingURL=auth-middleware.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-middleware.test.js","sourceRoot":"","sources":["../../../test/gateway/auth-middleware.test.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Shared contract test suite for IGatewayAdapter implementations.
3
- *
4
- * Import this module and call runGatewayAdapterContractTests() in your
5
- * adapter-specific test file to verify that the implementation satisfies
6
- * the full IGatewayAdapter behavioral contract.
7
- *
8
- * Usage:
9
- *
10
- * import { runGatewayAdapterContractTests } from "./gateway-adapter-contract.js";
11
- *
12
- * runGatewayAdapterContractTests("MyAdapter", async () => {
13
- * const adapter = new MyGatewayAdapter(...);
14
- * const httpServer = createServer();
15
- * return { adapter, httpServer, close: () => adapter.stop() };
16
- * });
17
- */
18
- import type { IGatewayAdapter } from "../../src/graphql/gateway/types.js";
19
- import type { Context } from "../../src/graphql/types.js";
20
- export type GatewayAdapterHarness = {
21
- adapter: IGatewayAdapter<Context>;
22
- /**
23
- * Shut down the adapter and release any resources. Called in afterEach.
24
- * Implementations should be idempotent (safe to call after stop()).
25
- */
26
- close: () => Promise<void>;
27
- };
28
- export type GatewayAdapterHarnessFactory = () => Promise<GatewayAdapterHarness>;
29
- export declare function runGatewayAdapterContractTests(adapterName: string, createHarness: GatewayAdapterHarnessFactory): void;
30
- //# sourceMappingURL=gateway-adapter-contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway-adapter-contract.d.ts","sourceRoot":"","sources":["../../../test/gateway/gateway-adapter-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,KAAK,EAGV,eAAe,EAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAI1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC;;;OAGG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAyChF,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,4BAA4B,GAC1C,IAAI,CAmZN"}
@@ -1,347 +0,0 @@
1
- /**
2
- * Shared contract test suite for IGatewayAdapter implementations.
3
- *
4
- * Import this module and call runGatewayAdapterContractTests() in your
5
- * adapter-specific test file to verify that the implementation satisfies
6
- * the full IGatewayAdapter behavioral contract.
7
- *
8
- * Usage:
9
- *
10
- * import { runGatewayAdapterContractTests } from "./gateway-adapter-contract.js";
11
- *
12
- * runGatewayAdapterContractTests("MyAdapter", async () => {
13
- * const adapter = new MyGatewayAdapter(...);
14
- * const httpServer = createServer();
15
- * return { adapter, httpServer, close: () => adapter.stop() };
16
- * });
17
- */
18
- import { buildSubgraphSchema } from "@apollo/subgraph";
19
- import { gql } from "graphql-tag";
20
- import { createServer } from "node:http";
21
- import { afterEach, beforeEach, describe, expect, it } from "vitest";
22
- // ─── shared helpers ──────────────────────────────────────────────────────────
23
- /** A minimal context factory that satisfies GatewayContextFactory<Context>. */
24
- const noopCtx = async () => ({
25
- headers: {},
26
- db: null,
27
- });
28
- /**
29
- * Build a minimal federated schema with a single Query field.
30
- * Uses buildSubgraphSchema from @apollo/subgraph to ensure schema instances
31
- * are compatible with Apollo Server's graphql module instance.
32
- */
33
- function makeSchema(fieldName = "hello", returnValue = "world") {
34
- return buildSubgraphSchema({
35
- typeDefs: gql `
36
- type Query {
37
- ${fieldName}: String
38
- }
39
- `,
40
- resolvers: {
41
- Query: {
42
- [fieldName]: () => returnValue,
43
- },
44
- },
45
- });
46
- }
47
- /** A minimal http.Server used to satisfy the start() signature. */
48
- function makeHttpServer() {
49
- const server = createServer();
50
- return {
51
- server,
52
- close: () => new Promise((resolve) => server.close(() => resolve())),
53
- };
54
- }
55
- // ─── contract tests ──────────────────────────────────────────────────────────
56
- export function runGatewayAdapterContractTests(adapterName, createHarness) {
57
- // ── lifecycle ──────────────────────────────────────────────────────────────
58
- describe(`IGatewayAdapter contract (${adapterName}) – lifecycle`, () => {
59
- let h;
60
- let httpServer;
61
- beforeEach(async () => {
62
- h = await createHarness();
63
- httpServer = makeHttpServer();
64
- });
65
- afterEach(async () => {
66
- await httpServer.close();
67
- await h.close();
68
- });
69
- it("start() resolves without throwing", async () => {
70
- await expect(h.adapter.start(httpServer.server)).resolves.toBeUndefined();
71
- });
72
- it("stop() resolves without throwing when no handlers have been created", async () => {
73
- await h.adapter.start(httpServer.server);
74
- await expect(h.adapter.stop()).resolves.toBeUndefined();
75
- });
76
- it("stop() resolves without throwing after createHandler() calls", async () => {
77
- await h.adapter.start(httpServer.server);
78
- await h.adapter.createHandler(makeSchema(), noopCtx);
79
- await h.adapter.createHandler(makeSchema(), noopCtx);
80
- await expect(h.adapter.stop()).resolves.toBeUndefined();
81
- });
82
- it("stop() is safe to call multiple times", async () => {
83
- await h.adapter.start(httpServer.server);
84
- await h.adapter.createHandler(makeSchema(), noopCtx);
85
- await h.adapter.stop();
86
- await expect(h.adapter.stop()).resolves.toBeUndefined();
87
- });
88
- });
89
- // ── createHandler ──────────────────────────────────────────────────────────
90
- describe(`IGatewayAdapter contract (${adapterName}) – createHandler`, () => {
91
- let h;
92
- let httpServer;
93
- beforeEach(async () => {
94
- h = await createHarness();
95
- httpServer = makeHttpServer();
96
- await h.adapter.start(httpServer.server);
97
- });
98
- afterEach(async () => {
99
- await httpServer.close();
100
- await h.close();
101
- });
102
- it("returns a callable FetchHandler", async () => {
103
- const handler = await h.adapter.createHandler(makeSchema(), noopCtx);
104
- expect(typeof handler).toBe("function");
105
- });
106
- it("the handler returns a Response for a valid query", async () => {
107
- const handler = await h.adapter.createHandler(makeSchema(), noopCtx);
108
- const res = await handler(new Request("http://localhost/graphql", {
109
- method: "POST",
110
- headers: { "content-type": "application/json" },
111
- body: JSON.stringify({ query: "{ hello }" }),
112
- }));
113
- expect(res).toBeInstanceOf(Response);
114
- expect(res.status).toBe(200);
115
- const body = (await res.json());
116
- expect(body.data.hello).toBe("world");
117
- });
118
- it("the handler returns an error response for an invalid query", async () => {
119
- const handler = await h.adapter.createHandler(makeSchema(), noopCtx);
120
- const res = await handler(new Request("http://localhost/graphql", {
121
- method: "POST",
122
- headers: { "content-type": "application/json" },
123
- body: JSON.stringify({ query: "{ doesNotExist }" }),
124
- }));
125
- expect(res).toBeInstanceOf(Response);
126
- // Apollo returns 400 for validation errors; implementations may vary
127
- // but must not return 200 for an invalid query
128
- expect(res.status).not.toBe(200);
129
- const body = (await res.json());
130
- expect(body.errors).toBeDefined();
131
- });
132
- it("the handler passes the Fetch Request to the context factory", async () => {
133
- let capturedRequest;
134
- const ctxFactory = async (req) => {
135
- capturedRequest = req;
136
- return { headers: {}, db: null };
137
- };
138
- const handler = await h.adapter.createHandler(makeSchema(), ctxFactory);
139
- await handler(new Request("http://localhost/graphql", {
140
- method: "POST",
141
- headers: {
142
- "content-type": "application/json",
143
- "x-token": "abc123",
144
- },
145
- body: JSON.stringify({ query: "{ hello }" }),
146
- }));
147
- expect(capturedRequest?.headers.get("x-token")).toBe("abc123");
148
- });
149
- it("multiple handlers created from different schemas are independent", async () => {
150
- const handlerA = await h.adapter.createHandler(makeSchema("hello", "from-a"), noopCtx);
151
- const handlerB = await h.adapter.createHandler(makeSchema("hello", "from-b"), noopCtx);
152
- const request = () => new Request("http://localhost/graphql", {
153
- method: "POST",
154
- headers: { "content-type": "application/json" },
155
- body: JSON.stringify({ query: "{ hello }" }),
156
- });
157
- const [resA, resB] = await Promise.all([
158
- handlerA(request()),
159
- handlerB(request()),
160
- ]);
161
- const bodyA = (await resA.json());
162
- const bodyB = (await resB.json());
163
- expect(bodyA.data.hello).toBe("from-a");
164
- expect(bodyB.data.hello).toBe("from-b");
165
- });
166
- });
167
- // ── createSupergraphHandler + updateSupergraph ────────────────────────────
168
- //
169
- // These tests require real HTTP subgraph servers because the federation
170
- // gateway uses RemoteGraphQLDataSource to route requests by URL.
171
- //
172
- // Helper: wrap a FetchHandler in a real Node HTTP server so the gateway
173
- // can reach it via a localhost URL.
174
- async function serveHandler(handler) {
175
- const server = createServer(async (nodeReq, nodeRes) => {
176
- const chunks = [];
177
- for await (const chunk of nodeReq) {
178
- chunks.push(chunk);
179
- }
180
- const body = Buffer.concat(chunks);
181
- const url = `http://127.0.0.1${nodeReq.url ?? "/"}`;
182
- const fetchReq = new Request(url, {
183
- method: nodeReq.method ?? "GET",
184
- headers: nodeReq.headers,
185
- ...(body.length > 0 ? { body } : {}),
186
- });
187
- try {
188
- const fetchRes = await handler(fetchReq);
189
- nodeRes.statusCode = fetchRes.status;
190
- fetchRes.headers.forEach((value, key) => nodeRes.setHeader(key, value));
191
- nodeRes.end(await fetchRes.text());
192
- }
193
- catch {
194
- nodeRes.statusCode = 500;
195
- nodeRes.end("Internal server error");
196
- }
197
- });
198
- await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
199
- const { port } = server.address();
200
- return {
201
- url: `http://127.0.0.1:${port}`,
202
- close: () => new Promise((resolve) => server.close(() => resolve())),
203
- };
204
- }
205
- describe(`IGatewayAdapter contract (${adapterName}) – createSupergraphHandler`, () => {
206
- let h;
207
- let httpServer;
208
- const subServers = [];
209
- beforeEach(async () => {
210
- h = await createHarness();
211
- httpServer = makeHttpServer();
212
- await h.adapter.start(httpServer.server);
213
- });
214
- afterEach(async () => {
215
- await Promise.all(subServers.map((s) => s.close()));
216
- subServers.length = 0;
217
- await httpServer.close();
218
- await h.close();
219
- });
220
- // Spin up a real HTTP subgraph server backed by the adapter's createHandler.
221
- async function makeSubServer(fieldName = "hello", returnValue = "world") {
222
- const typeDefs = gql `
223
- type Query {
224
- ${fieldName}: String
225
- }
226
- `;
227
- const schema = buildSubgraphSchema({
228
- typeDefs,
229
- resolvers: { Query: { [fieldName]: () => returnValue } },
230
- });
231
- const handler = await h.adapter.createHandler(schema, noopCtx);
232
- const sub = await serveHandler(handler);
233
- subServers.push(sub);
234
- return { name: fieldName, typeDefs, url: sub.url };
235
- }
236
- it("returns a callable FetchHandler", async () => {
237
- const sub = await makeSubServer();
238
- const handler = await h.adapter.createSupergraphHandler(() => [sub], httpServer.server, noopCtx);
239
- expect(typeof handler).toBe("function");
240
- });
241
- it("the supergraph handler executes a federated query", async () => {
242
- const sub = await makeSubServer("hello", "world");
243
- const handler = await h.adapter.createSupergraphHandler(() => [sub], httpServer.server, noopCtx);
244
- const res = await handler(new Request("http://localhost/graphql", {
245
- method: "POST",
246
- headers: { "content-type": "application/json" },
247
- body: JSON.stringify({ query: "{ hello }" }),
248
- }));
249
- expect(res).toBeInstanceOf(Response);
250
- expect(res.status).toBe(200);
251
- const body = (await res.json());
252
- expect(body.data.hello).toBe("world");
253
- });
254
- it("the supergraph handler passes context factory the Fetch Request", async () => {
255
- let capturedRequest;
256
- const ctxFactory = async (req) => {
257
- capturedRequest = req;
258
- return { headers: {}, db: null };
259
- };
260
- const sub = await makeSubServer();
261
- const handler = await h.adapter.createSupergraphHandler(() => [sub], httpServer.server, ctxFactory);
262
- await handler(new Request("http://localhost/graphql", {
263
- method: "POST",
264
- headers: {
265
- "content-type": "application/json",
266
- "x-token": "test-value",
267
- },
268
- body: JSON.stringify({ query: "{ hello }" }),
269
- }));
270
- expect(capturedRequest?.headers.get("x-token")).toBe("test-value");
271
- });
272
- it("calling createSupergraphHandler() twice throws", async () => {
273
- const sub = await makeSubServer();
274
- await h.adapter.createSupergraphHandler(() => [sub], httpServer.server, noopCtx);
275
- await expect(h.adapter.createSupergraphHandler(() => [sub], httpServer.server, noopCtx)).rejects.toThrow();
276
- });
277
- it("stop() after createSupergraphHandler() resolves without throwing", async () => {
278
- const sub = await makeSubServer();
279
- await h.adapter.createSupergraphHandler(() => [sub], httpServer.server, noopCtx);
280
- await expect(h.adapter.stop()).resolves.toBeUndefined();
281
- });
282
- });
283
- // ── updateSupergraph ───────────────────────────────────────────────────────
284
- describe(`IGatewayAdapter contract (${adapterName}) – updateSupergraph`, () => {
285
- let h;
286
- let httpServer;
287
- const subServers = [];
288
- beforeEach(async () => {
289
- h = await createHarness();
290
- httpServer = makeHttpServer();
291
- await h.adapter.start(httpServer.server);
292
- });
293
- afterEach(async () => {
294
- await Promise.all(subServers.map((s) => s.close()));
295
- subServers.length = 0;
296
- await httpServer.close();
297
- await h.close();
298
- });
299
- it("updateSupergraph() is a no-op before createSupergraphHandler()", async () => {
300
- await expect(h.adapter.updateSupergraph()).resolves.toBeUndefined();
301
- });
302
- it("updateSupergraph() resolves after createSupergraphHandler()", async () => {
303
- const typeDefs = gql `
304
- type Query {
305
- hello: String
306
- }
307
- `;
308
- const schema = buildSubgraphSchema({
309
- typeDefs,
310
- resolvers: { Query: { hello: () => "world" } },
311
- });
312
- const handler = await h.adapter.createHandler(schema, noopCtx);
313
- const sub = await serveHandler(handler);
314
- subServers.push(sub);
315
- await h.adapter.createSupergraphHandler(() => [{ name: "hello", typeDefs, url: sub.url }], httpServer.server, noopCtx);
316
- await expect(h.adapter.updateSupergraph()).resolves.toBeUndefined();
317
- });
318
- });
319
- // ── lifecycle (stop after createSupergraphHandler) ─────────────────────────
320
- // ── attachWebSocket ────────────────────────────────────────────────────────
321
- // Skipped in the Vitest environment because graphql-ws/use/ws is blocked by
322
- // websocket.ts when VITEST=true. Adapters that support WebSocket in tests
323
- // can override this by running the suite with NODE_ENV != "test".
324
- const itWs = process.env.VITEST === "true" ? it.skip : it;
325
- describe(`IGatewayAdapter contract (${adapterName}) – attachWebSocket`, () => {
326
- let h;
327
- let httpServer;
328
- beforeEach(async () => {
329
- h = await createHarness();
330
- httpServer = makeHttpServer();
331
- await h.adapter.start(httpServer.server);
332
- });
333
- afterEach(async () => {
334
- await httpServer.close();
335
- await h.close();
336
- });
337
- itWs("returns a WsDisposer with a dispose() method", async () => {
338
- const { WebSocketServer } = await import("ws");
339
- const wss = new WebSocketServer({ noServer: true });
340
- const disposer = h.adapter.attachWebSocket(wss, makeSchema(), async () => ({ headers: {}, db: null }));
341
- expect(typeof disposer.dispose).toBe("function");
342
- await disposer.dispose();
343
- wss.close();
344
- });
345
- });
346
- }
347
- //# sourceMappingURL=gateway-adapter-contract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway-adapter-contract.js","sourceRoot":"","sources":["../../../test/gateway/gateway-adapter-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAsBrE,gFAAgF;AAEhF,+EAA+E;AAC/E,MAAM,OAAO,GAAmC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3D,OAAO,EAAE,EAAE;IACX,EAAE,EAAE,IAAI;CACT,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAS,UAAU,CAAC,SAAS,GAAG,OAAO,EAAE,WAAW,GAAG,OAAO;IAC5D,OAAO,mBAAmB,CAAC;QACzB,QAAQ,EAAE,GAAG,CAAA;;UAEP,SAAS;;KAEd;QACD,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,WAAW;aAC/B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,mEAAmE;AACnE,SAAS,cAAc;IACrB,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,OAAO;QACL,MAAM;QACN,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,8BAA8B,CAC5C,WAAmB,EACnB,aAA2C;IAE3C,8EAA8E;IAE9E,QAAQ,CAAC,6BAA6B,WAAW,eAAe,EAAE,GAAG,EAAE;QACrE,IAAI,CAAwB,CAAC;QAC7B,IAAI,UAA6C,CAAC;QAElD,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,CAAC,GAAG,MAAM,aAAa,EAAE,CAAC;YAC1B,UAAU,GAAG,cAAc,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAE9E,QAAQ,CAAC,6BAA6B,WAAW,mBAAmB,EAAE,GAAG,EAAE;QACzE,IAAI,CAAwB,CAAC;QAC7B,IAAI,UAA6C,CAAC;QAElD,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,CAAC,GAAG,MAAM,aAAa,EAAE,CAAC;YAC1B,UAAU,GAAG,cAAc,EAAE,CAAC;YAC9B,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;YACrE,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;YAErE,MAAM,GAAG,GAAG,MAAM,OAAO,CACvB,IAAI,OAAO,CAAC,0BAA0B,EAAE;gBACtC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;aAC7C,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;YAErE,MAAM,GAAG,GAAG,MAAM,OAAO,CACvB,IAAI,OAAO,CAAC,0BAA0B,EAAE;gBACtC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;aACpD,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACrC,qEAAqE;YACrE,+CAA+C;YAC/C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,IAAI,eAAoC,CAAC;YACzC,MAAM,UAAU,GAAmC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC/D,eAAe,GAAG,GAAG,CAAC;gBACtB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YACnC,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,UAAU,CAAC,CAAC;YACxE,MAAM,OAAO,CACX,IAAI,OAAO,CAAC,0BAA0B,EAAE;gBACtC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,SAAS,EAAE,QAAQ;iBACpB;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;aAC7C,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAC5C,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC7B,OAAO,CACR,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAC5C,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC7B,OAAO,CACR,CAAC;YAEF,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,IAAI,OAAO,CAAC,0BAA0B,EAAE;gBACtC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;aAC7C,CAAC,CAAC;YAEL,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACrC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,QAAQ,CAAC,OAAO,EAAE,CAAC;aACpB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAgC,CAAC;YACjE,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAgC,CAAC;YAEjE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,EAAE;IACF,wEAAwE;IACxE,iEAAiE;IACjE,EAAE;IACF,wEAAwE;IACxE,oCAAoC;IACpC,KAAK,UAAU,YAAY,CAAC,OAAqB;QAC/C,MAAM,MAAM,GAAG,YAAY,CACzB,KAAK,EAAE,OAAwB,EAAE,OAAuB,EAAE,EAAE;YAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAgC,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,mBAAmB,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;gBAC/B,OAAO,EAAE,OAAO,CAAC,OAAiC;gBAClD,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrC,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACzC,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACrC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CACtC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAC9B,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CACF,CAAC;QACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CACvC,CAAC;QACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,EAAsB,CAAC;QACtD,OAAO;YACL,GAAG,EAAE,oBAAoB,IAAI,EAAE;YAC/B,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;SAChE,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,6BAA6B,WAAW,6BAA6B,EAAE,GAAG,EAAE;QACnF,IAAI,CAAwB,CAAC;QAC7B,IAAI,UAA6C,CAAC;QAClD,MAAM,UAAU,GAA0C,EAAE,CAAC;QAE7D,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,CAAC,GAAG,MAAM,aAAa,EAAE,CAAC;YAC1B,UAAU,GAAG,cAAc,EAAE,CAAC;YAC9B,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpD,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;YACtB,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,KAAK,UAAU,aAAa,CAC1B,SAAS,GAAG,OAAO,EACnB,WAAW,GAAG,OAAO;YAErB,MAAM,QAAQ,GAAiB,GAAG,CAAA;;YAE5B,SAAS;;OAEd,CAAC;YACF,MAAM,MAAM,GAAkB,mBAAmB,CAAC;gBAChD,QAAQ;gBACR,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE;aACzD,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YACxC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACrD,CAAC;QAED,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,uBAAuB,CACrD,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EACX,UAAU,CAAC,MAAM,EACjB,OAAO,CACR,CAAC;YACF,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,uBAAuB,CACrD,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EACX,UAAU,CAAC,MAAM,EACjB,OAAO,CACR,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,OAAO,CACvB,IAAI,OAAO,CAAC,0BAA0B,EAAE;gBACtC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;aAC7C,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,IAAI,eAAoC,CAAC;YACzC,MAAM,UAAU,GAAmC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC/D,eAAe,GAAG,GAAG,CAAC;gBACtB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YACnC,CAAC,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,uBAAuB,CACrD,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EACX,UAAU,CAAC,MAAM,EACjB,UAAU,CACX,CAAC;YAEF,MAAM,OAAO,CACX,IAAI,OAAO,CAAC,0BAA0B,EAAE;gBACtC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,SAAS,EAAE,YAAY;iBACxB;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;aAC7C,CAAC,CACH,CAAC;YAEF,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;YAClC,MAAM,CAAC,CAAC,OAAO,CAAC,uBAAuB,CACrC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EACX,UAAU,CAAC,MAAM,EACjB,OAAO,CACR,CAAC;YACF,MAAM,MAAM,CACV,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAC/B,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EACX,UAAU,CAAC,MAAM,EACjB,OAAO,CACR,CACF,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;YAClC,MAAM,CAAC,CAAC,OAAO,CAAC,uBAAuB,CACrC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EACX,UAAU,CAAC,MAAM,EACjB,OAAO,CACR,CAAC;YACF,MAAM,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAE9E,QAAQ,CAAC,6BAA6B,WAAW,sBAAsB,EAAE,GAAG,EAAE;QAC5E,IAAI,CAAwB,CAAC;QAC7B,IAAI,UAA6C,CAAC;QAClD,MAAM,UAAU,GAA0C,EAAE,CAAC;QAE7D,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,CAAC,GAAG,MAAM,aAAa,EAAE,CAAC;YAC1B,UAAU,GAAG,cAAc,EAAE,CAAC;YAC9B,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpD,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;YACtB,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,QAAQ,GAAiB,GAAG,CAAA;;;;OAIjC,CAAC;YACF,MAAM,MAAM,GAAkB,mBAAmB,CAAC;gBAChD,QAAQ;gBACR,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;aAC/C,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YACxC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAErB,MAAM,CAAC,CAAC,OAAO,CAAC,uBAAuB,CACrC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EACjD,UAAU,CAAC,MAAM,EACjB,OAAO,CACR,CAAC;YAEF,MAAM,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAE9E,8EAA8E;IAC9E,4EAA4E;IAC5E,0EAA0E;IAC1E,kEAAkE;IAElE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1D,QAAQ,CAAC,6BAA6B,WAAW,qBAAqB,EAAE,GAAG,EAAE;QAC3E,IAAI,CAAwB,CAAC;QAC7B,IAAI,UAA6C,CAAC;QAElD,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,CAAC,GAAG,MAAM,aAAa,EAAE,CAAC;YAC1B,UAAU,GAAG,cAAc,EAAE,CAAC;YAC9B,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAEpD,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CACxC,GAAG,EACH,UAAU,EAAE,EACZ,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CACxC,CAAC;YAEF,MAAM,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Shared contract test suite for IHttpAdapter implementations.
3
- *
4
- * Import this module and call runHttpAdapterContractTests() in your
5
- * adapter-specific test file to verify that the implementation satisfies
6
- * the full IHttpAdapter behavioral contract.
7
- *
8
- * Usage:
9
- *
10
- * import { runHttpAdapterContractTests } from "./http-adapter-contract.js";
11
- *
12
- * runHttpAdapterContractTests("MyAdapter", async () => {
13
- * const adapter = new MyHttpAdapter(...);
14
- * adapter.setupMiddleware({});
15
- * // start your framework's server on an ephemeral port
16
- * return { adapter, url: "http://127.0.0.1:PORT", close, respondWithJson };
17
- * });
18
- */
19
- import type { IHttpAdapter } from "../../src/graphql/gateway/types.js";
20
- export type HttpAdapterHarness = {
21
- /** The adapter under test, with setupMiddleware already called. */
22
- adapter: IHttpAdapter;
23
- /** Base URL of the running test server (e.g. "http://127.0.0.1:PORT"). */
24
- url: string;
25
- /** Shut down the server and release the port. */
26
- close: () => Promise<void>;
27
- };
28
- export type HttpAdapterHarnessFactory = () => Promise<HttpAdapterHarness>;
29
- export declare function runHttpAdapterContractTests(adapterName: string, createHarness: HttpAdapterHarnessFactory): void;
30
- //# sourceMappingURL=http-adapter-contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-adapter-contract.d.ts","sourceRoot":"","sources":["../../../test/gateway/http-adapter-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mEAAmE;IACnE,OAAO,EAAE,YAAY,CAAC;IACtB,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAyB1E,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,yBAAyB,GACvC,IAAI,CAyUN"}