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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/README.md +6 -0
  2. package/dist/index.d.mts +2943 -0
  3. package/dist/index.d.mts.map +1 -0
  4. package/dist/index.mjs +6375 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/src/packages/https-hooks.d.mts +23 -7
  7. package/dist/src/packages/https-hooks.d.mts.map +1 -1
  8. package/dist/src/packages/https-hooks.mjs +73 -53
  9. package/dist/src/packages/https-hooks.mjs.map +1 -1
  10. package/dist/src/packages/vite-loader.d.mts +29 -0
  11. package/dist/src/packages/vite-loader.d.mts.map +1 -0
  12. package/dist/src/packages/vite-loader.mjs +142 -0
  13. package/dist/src/packages/vite-loader.mjs.map +1 -0
  14. package/dist/types-Do4QTfT3.d.mts +37 -0
  15. package/dist/types-Do4QTfT3.d.mts.map +1 -0
  16. package/dist/utils-DEEhP99G.mjs +286 -0
  17. package/dist/utils-DEEhP99G.mjs.map +1 -0
  18. package/package.json +45 -32
  19. package/dist/codegen.d.ts +0 -4
  20. package/dist/codegen.d.ts.map +0 -1
  21. package/dist/codegen.js +0 -38
  22. package/dist/codegen.js.map +0 -1
  23. package/dist/index.d.ts +0 -16
  24. package/dist/index.d.ts.map +0 -1
  25. package/dist/index.js +0 -16
  26. package/dist/index.js.map +0 -1
  27. package/dist/src/config.d.ts +0 -6
  28. package/dist/src/config.d.ts.map +0 -1
  29. package/dist/src/config.js +0 -6
  30. package/dist/src/config.js.map +0 -1
  31. package/dist/src/dev.d.ts +0 -2
  32. package/dist/src/dev.d.ts.map +0 -1
  33. package/dist/src/dev.js +0 -51
  34. package/dist/src/dev.js.map +0 -1
  35. package/dist/src/graphql/analytics-subgraph.d.ts +0 -14
  36. package/dist/src/graphql/analytics-subgraph.d.ts.map +0 -1
  37. package/dist/src/graphql/analytics-subgraph.js +0 -26
  38. package/dist/src/graphql/analytics-subgraph.js.map +0 -1
  39. package/dist/src/graphql/auth/index.d.ts +0 -2
  40. package/dist/src/graphql/auth/index.d.ts.map +0 -1
  41. package/dist/src/graphql/auth/index.js +0 -2
  42. package/dist/src/graphql/auth/index.js.map +0 -1
  43. package/dist/src/graphql/auth/resolvers.d.ts +0 -166
  44. package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
  45. package/dist/src/graphql/auth/resolvers.js +0 -227
  46. package/dist/src/graphql/auth/resolvers.js.map +0 -1
  47. package/dist/src/graphql/auth/schema.graphql +0 -195
  48. package/dist/src/graphql/auth/subgraph.d.ts +0 -202
  49. package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
  50. package/dist/src/graphql/auth/subgraph.js +0 -384
  51. package/dist/src/graphql/auth/subgraph.js.map +0 -1
  52. package/dist/src/graphql/base-subgraph.d.ts +0 -28
  53. package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
  54. package/dist/src/graphql/base-subgraph.js +0 -126
  55. package/dist/src/graphql/base-subgraph.js.map +0 -1
  56. package/dist/src/graphql/document-model-subgraph.d.ts +0 -105
  57. package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
  58. package/dist/src/graphql/document-model-subgraph.js +0 -312
  59. package/dist/src/graphql/document-model-subgraph.js.map +0 -1
  60. package/dist/src/graphql/graphql-manager.d.ts +0 -68
  61. package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
  62. package/dist/src/graphql/graphql-manager.js +0 -589
  63. package/dist/src/graphql/graphql-manager.js.map +0 -1
  64. package/dist/src/graphql/index.d.ts +0 -10
  65. package/dist/src/graphql/index.d.ts.map +0 -1
  66. package/dist/src/graphql/index.js +0 -10
  67. package/dist/src/graphql/index.js.map +0 -1
  68. package/dist/src/graphql/packages/index.d.ts +0 -2
  69. package/dist/src/graphql/packages/index.d.ts.map +0 -1
  70. package/dist/src/graphql/packages/index.js +0 -2
  71. package/dist/src/graphql/packages/index.js.map +0 -1
  72. package/dist/src/graphql/packages/resolvers.d.ts +0 -31
  73. package/dist/src/graphql/packages/resolvers.d.ts.map +0 -1
  74. package/dist/src/graphql/packages/resolvers.js +0 -37
  75. package/dist/src/graphql/packages/resolvers.js.map +0 -1
  76. package/dist/src/graphql/packages/schema.graphql +0 -50
  77. package/dist/src/graphql/packages/subgraph.d.ts +0 -55
  78. package/dist/src/graphql/packages/subgraph.d.ts.map +0 -1
  79. package/dist/src/graphql/packages/subgraph.js +0 -73
  80. package/dist/src/graphql/packages/subgraph.js.map +0 -1
  81. package/dist/src/graphql/playground.d.ts +0 -2
  82. package/dist/src/graphql/playground.d.ts.map +0 -1
  83. package/dist/src/graphql/playground.js +0 -81
  84. package/dist/src/graphql/playground.js.map +0 -1
  85. package/dist/src/graphql/reactor/adapters.d.ts +0 -62
  86. package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
  87. package/dist/src/graphql/reactor/adapters.js +0 -271
  88. package/dist/src/graphql/reactor/adapters.js.map +0 -1
  89. package/dist/src/graphql/reactor/factory.d.ts +0 -105
  90. package/dist/src/graphql/reactor/factory.d.ts.map +0 -1
  91. package/dist/src/graphql/reactor/factory.js +0 -7
  92. package/dist/src/graphql/reactor/factory.js.map +0 -1
  93. package/dist/src/graphql/reactor/gen/graphql.d.ts +0 -1489
  94. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
  95. package/dist/src/graphql/reactor/gen/graphql.js +0 -731
  96. package/dist/src/graphql/reactor/gen/graphql.js.map +0 -1
  97. package/dist/src/graphql/reactor/index.d.ts +0 -4
  98. package/dist/src/graphql/reactor/index.d.ts.map +0 -1
  99. package/dist/src/graphql/reactor/index.js +0 -4
  100. package/dist/src/graphql/reactor/index.js.map +0 -1
  101. package/dist/src/graphql/reactor/operations.graphql +0 -443
  102. package/dist/src/graphql/reactor/pubsub.d.ts +0 -27
  103. package/dist/src/graphql/reactor/pubsub.d.ts.map +0 -1
  104. package/dist/src/graphql/reactor/pubsub.js +0 -93
  105. package/dist/src/graphql/reactor/pubsub.js.map +0 -1
  106. package/dist/src/graphql/reactor/requester.d.ts +0 -4
  107. package/dist/src/graphql/reactor/requester.d.ts.map +0 -1
  108. package/dist/src/graphql/reactor/requester.js +0 -22
  109. package/dist/src/graphql/reactor/requester.js.map +0 -1
  110. package/dist/src/graphql/reactor/requester.with-zod.d.ts +0 -4
  111. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +0 -1
  112. package/dist/src/graphql/reactor/requester.with-zod.js +0 -129
  113. package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
  114. package/dist/src/graphql/reactor/resolvers.d.ts +0 -223
  115. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  116. package/dist/src/graphql/reactor/resolvers.js +0 -682
  117. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  118. package/dist/src/graphql/reactor/schema.graphql +0 -475
  119. package/dist/src/graphql/reactor/subgraph.d.ts +0 -18
  120. package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
  121. package/dist/src/graphql/reactor/subgraph.js +0 -457
  122. package/dist/src/graphql/reactor/subgraph.js.map +0 -1
  123. package/dist/src/graphql/reactor/validation.d.ts +0 -348
  124. package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
  125. package/dist/src/graphql/reactor/validation.js +0 -167
  126. package/dist/src/graphql/reactor/validation.js.map +0 -1
  127. package/dist/src/graphql/sse.d.ts +0 -42
  128. package/dist/src/graphql/sse.d.ts.map +0 -1
  129. package/dist/src/graphql/sse.js +0 -33
  130. package/dist/src/graphql/sse.js.map +0 -1
  131. package/dist/src/graphql/system/env/getters.d.ts +0 -2
  132. package/dist/src/graphql/system/env/getters.d.ts.map +0 -1
  133. package/dist/src/graphql/system/env/getters.js +0 -4
  134. package/dist/src/graphql/system/env/getters.js.map +0 -1
  135. package/dist/src/graphql/system/env/index.d.ts +0 -2
  136. package/dist/src/graphql/system/env/index.d.ts.map +0 -1
  137. package/dist/src/graphql/system/env/index.js +0 -5
  138. package/dist/src/graphql/system/env/index.js.map +0 -1
  139. package/dist/src/graphql/system/index.d.ts +0 -2
  140. package/dist/src/graphql/system/index.d.ts.map +0 -1
  141. package/dist/src/graphql/system/index.js +0 -2
  142. package/dist/src/graphql/system/index.js.map +0 -1
  143. package/dist/src/graphql/system/types.d.ts +0 -2
  144. package/dist/src/graphql/system/types.d.ts.map +0 -1
  145. package/dist/src/graphql/system/types.js +0 -2
  146. package/dist/src/graphql/system/types.js.map +0 -1
  147. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
  148. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
  149. package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
  150. package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
  151. package/dist/src/graphql/types.d.ts +0 -102
  152. package/dist/src/graphql/types.d.ts.map +0 -1
  153. package/dist/src/graphql/types.js +0 -2
  154. package/dist/src/graphql/types.js.map +0 -1
  155. package/dist/src/graphql/utils.d.ts +0 -9
  156. package/dist/src/graphql/utils.d.ts.map +0 -1
  157. package/dist/src/graphql/utils.js +0 -72
  158. package/dist/src/graphql/utils.js.map +0 -1
  159. package/dist/src/graphql/websocket.d.ts +0 -3
  160. package/dist/src/graphql/websocket.d.ts.map +0 -1
  161. package/dist/src/graphql/websocket.js +0 -15
  162. package/dist/src/graphql/websocket.js.map +0 -1
  163. package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
  164. package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
  165. package/dist/src/migrations/001_create_document_permissions.js +0 -91
  166. package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
  167. package/dist/src/migrations/002_add_document_protection.d.ts +0 -4
  168. package/dist/src/migrations/002_add_document_protection.d.ts.map +0 -1
  169. package/dist/src/migrations/002_add_document_protection.js +0 -18
  170. package/dist/src/migrations/002_add_document_protection.js.map +0 -1
  171. package/dist/src/migrations/index.d.ts +0 -10
  172. package/dist/src/migrations/index.d.ts.map +0 -1
  173. package/dist/src/migrations/index.js +0 -58
  174. package/dist/src/migrations/index.js.map +0 -1
  175. package/dist/src/packages/http-loader.d.ts +0 -68
  176. package/dist/src/packages/http-loader.d.ts.map +0 -1
  177. package/dist/src/packages/http-loader.js +0 -176
  178. package/dist/src/packages/http-loader.js.map +0 -1
  179. package/dist/src/packages/import-loader.d.ts +0 -14
  180. package/dist/src/packages/import-loader.d.ts.map +0 -1
  181. package/dist/src/packages/import-loader.js +0 -46
  182. package/dist/src/packages/import-loader.js.map +0 -1
  183. package/dist/src/packages/import-resolver.d.ts +0 -5
  184. package/dist/src/packages/import-resolver.d.ts.map +0 -1
  185. package/dist/src/packages/import-resolver.js +0 -127
  186. package/dist/src/packages/import-resolver.js.map +0 -1
  187. package/dist/src/packages/package-manager.d.ts +0 -34
  188. package/dist/src/packages/package-manager.d.ts.map +0 -1
  189. package/dist/src/packages/package-manager.js +0 -213
  190. package/dist/src/packages/package-manager.js.map +0 -1
  191. package/dist/src/packages/types.d.ts +0 -38
  192. package/dist/src/packages/types.d.ts.map +0 -1
  193. package/dist/src/packages/types.js +0 -2
  194. package/dist/src/packages/types.js.map +0 -1
  195. package/dist/src/packages/util.d.ts +0 -27
  196. package/dist/src/packages/util.d.ts.map +0 -1
  197. package/dist/src/packages/util.js +0 -97
  198. package/dist/src/packages/util.js.map +0 -1
  199. package/dist/src/packages/vite-loader.d.ts +0 -24
  200. package/dist/src/packages/vite-loader.d.ts.map +0 -1
  201. package/dist/src/packages/vite-loader.js +0 -169
  202. package/dist/src/packages/vite-loader.js.map +0 -1
  203. package/dist/src/server.d.ts +0 -56
  204. package/dist/src/server.d.ts.map +0 -1
  205. package/dist/src/server.js +0 -365
  206. package/dist/src/server.js.map +0 -1
  207. package/dist/src/services/auth.service.d.ts +0 -56
  208. package/dist/src/services/auth.service.d.ts.map +0 -1
  209. package/dist/src/services/auth.service.js +0 -172
  210. package/dist/src/services/auth.service.js.map +0 -1
  211. package/dist/src/services/authorization.service.d.ts +0 -70
  212. package/dist/src/services/authorization.service.d.ts.map +0 -1
  213. package/dist/src/services/authorization.service.js +0 -155
  214. package/dist/src/services/authorization.service.js.map +0 -1
  215. package/dist/src/services/document-permission.service.d.ts +0 -241
  216. package/dist/src/services/document-permission.service.d.ts.map +0 -1
  217. package/dist/src/services/document-permission.service.js +0 -791
  218. package/dist/src/services/document-permission.service.js.map +0 -1
  219. package/dist/src/services/package-management.service.d.ts +0 -32
  220. package/dist/src/services/package-management.service.d.ts.map +0 -1
  221. package/dist/src/services/package-management.service.js +0 -95
  222. package/dist/src/services/package-management.service.js.map +0 -1
  223. package/dist/src/services/package-storage.d.ts +0 -23
  224. package/dist/src/services/package-storage.d.ts.map +0 -1
  225. package/dist/src/services/package-storage.js +0 -19
  226. package/dist/src/services/package-storage.js.map +0 -1
  227. package/dist/src/tracing.d.ts +0 -4
  228. package/dist/src/tracing.d.ts.map +0 -1
  229. package/dist/src/tracing.js +0 -140
  230. package/dist/src/tracing.js.map +0 -1
  231. package/dist/src/types.d.ts +0 -17
  232. package/dist/src/types.d.ts.map +0 -1
  233. package/dist/src/types.js +0 -2
  234. package/dist/src/types.js.map +0 -1
  235. package/dist/src/utils/auth.d.ts +0 -3
  236. package/dist/src/utils/auth.d.ts.map +0 -1
  237. package/dist/src/utils/auth.js +0 -12
  238. package/dist/src/utils/auth.js.map +0 -1
  239. package/dist/src/utils/create-schema.d.ts +0 -36
  240. package/dist/src/utils/create-schema.d.ts.map +0 -1
  241. package/dist/src/utils/create-schema.js +0 -725
  242. package/dist/src/utils/create-schema.js.map +0 -1
  243. package/dist/src/utils/db.d.ts +0 -82
  244. package/dist/src/utils/db.d.ts.map +0 -1
  245. package/dist/src/utils/db.js +0 -101
  246. package/dist/src/utils/db.js.map +0 -1
  247. package/dist/src/utils/drive-url.d.ts +0 -2
  248. package/dist/src/utils/drive-url.d.ts.map +0 -1
  249. package/dist/src/utils/drive-url.js +0 -3
  250. package/dist/src/utils/drive-url.js.map +0 -1
  251. package/dist/src/utils/index.d.ts +0 -4
  252. package/dist/src/utils/index.d.ts.map +0 -1
  253. package/dist/src/utils/index.js +0 -4
  254. package/dist/src/utils/index.js.map +0 -1
  255. package/dist/test/authorization.service.test.d.ts +0 -2
  256. package/dist/test/authorization.service.test.d.ts.map +0 -1
  257. package/dist/test/authorization.service.test.js +0 -252
  258. package/dist/test/authorization.service.test.js.map +0 -1
  259. package/dist/test/benchmarks/load.bench.d.ts +0 -2
  260. package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
  261. package/dist/test/benchmarks/load.bench.js +0 -73
  262. package/dist/test/benchmarks/load.bench.js.map +0 -1
  263. package/dist/test/benchmarks/sync.bench.d.ts +0 -2
  264. package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
  265. package/dist/test/benchmarks/sync.bench.js +0 -119
  266. package/dist/test/benchmarks/sync.bench.js.map +0 -1
  267. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +0 -2
  268. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +0 -1
  269. package/dist/test/connect-switchboard-reshuffle-convergence.test.js +0 -203
  270. package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +0 -1
  271. package/dist/test/connect-switchboard-sync.test.d.ts +0 -2
  272. package/dist/test/connect-switchboard-sync.test.d.ts.map +0 -1
  273. package/dist/test/connect-switchboard-sync.test.js +0 -632
  274. package/dist/test/connect-switchboard-sync.test.js.map +0 -1
  275. package/dist/test/document-drive-subgraph.test.d.ts +0 -2
  276. package/dist/test/document-drive-subgraph.test.d.ts.map +0 -1
  277. package/dist/test/document-drive-subgraph.test.js +0 -249
  278. package/dist/test/document-drive-subgraph.test.js.map +0 -1
  279. package/dist/test/document-model-subgraph-permissions.test.d.ts +0 -2
  280. package/dist/test/document-model-subgraph-permissions.test.d.ts.map +0 -1
  281. package/dist/test/document-model-subgraph-permissions.test.js +0 -587
  282. package/dist/test/document-model-subgraph-permissions.test.js.map +0 -1
  283. package/dist/test/document-permission.service.test.d.ts +0 -2
  284. package/dist/test/document-permission.service.test.d.ts.map +0 -1
  285. package/dist/test/document-permission.service.test.js +0 -480
  286. package/dist/test/document-permission.service.test.js.map +0 -1
  287. package/dist/test/drive-info-endpoint.test.d.ts +0 -2
  288. package/dist/test/drive-info-endpoint.test.d.ts.map +0 -1
  289. package/dist/test/drive-info-endpoint.test.js +0 -123
  290. package/dist/test/drive-info-endpoint.test.js.map +0 -1
  291. package/dist/test/fault-injection-sync.test.d.ts +0 -2
  292. package/dist/test/fault-injection-sync.test.d.ts.map +0 -1
  293. package/dist/test/fault-injection-sync.test.js +0 -196
  294. package/dist/test/fault-injection-sync.test.js.map +0 -1
  295. package/dist/test/identity-integration.test.d.ts +0 -2
  296. package/dist/test/identity-integration.test.d.ts.map +0 -1
  297. package/dist/test/identity-integration.test.js +0 -349
  298. package/dist/test/identity-integration.test.js.map +0 -1
  299. package/dist/test/index.d.ts +0 -2
  300. package/dist/test/index.d.ts.map +0 -1
  301. package/dist/test/index.js +0 -2
  302. package/dist/test/index.js.map +0 -1
  303. package/dist/test/permissions-integration.test.d.ts +0 -2
  304. package/dist/test/permissions-integration.test.d.ts.map +0 -1
  305. package/dist/test/permissions-integration.test.js +0 -407
  306. package/dist/test/permissions-integration.test.js.map +0 -1
  307. package/dist/test/push-backfill.test.d.ts +0 -2
  308. package/dist/test/push-backfill.test.d.ts.map +0 -1
  309. package/dist/test/push-backfill.test.js +0 -298
  310. package/dist/test/push-backfill.test.js.map +0 -1
  311. package/dist/test/reactor-adapters.test.d.ts +0 -2
  312. package/dist/test/reactor-adapters.test.d.ts.map +0 -1
  313. package/dist/test/reactor-adapters.test.js +0 -379
  314. package/dist/test/reactor-adapters.test.js.map +0 -1
  315. package/dist/test/reactor-client.test.d.ts +0 -2
  316. package/dist/test/reactor-client.test.d.ts.map +0 -1
  317. package/dist/test/reactor-client.test.js +0 -371
  318. package/dist/test/reactor-client.test.js.map +0 -1
  319. package/dist/test/reactor-resolvers.test.d.ts +0 -2
  320. package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
  321. package/dist/test/reactor-resolvers.test.js +0 -258
  322. package/dist/test/reactor-resolvers.test.js.map +0 -1
  323. package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
  324. package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
  325. package/dist/test/reactor-subgraph-permissions.test.js +0 -371
  326. package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
  327. package/dist/test/router.test.d.ts +0 -2
  328. package/dist/test/router.test.d.ts.map +0 -1
  329. package/dist/test/router.test.js +0 -38
  330. package/dist/test/router.test.js.map +0 -1
  331. package/dist/test/subscriptions-sse.test.d.ts +0 -2
  332. package/dist/test/subscriptions-sse.test.d.ts.map +0 -1
  333. package/dist/test/subscriptions-sse.test.js +0 -264
  334. package/dist/test/subscriptions-sse.test.js.map +0 -1
  335. package/dist/test/subscriptions.test.d.ts +0 -2
  336. package/dist/test/subscriptions.test.d.ts.map +0 -1
  337. package/dist/test/subscriptions.test.js +0 -248
  338. package/dist/test/subscriptions.test.js.map +0 -1
  339. package/dist/test/utils/gql-resolver-bridge.d.ts +0 -15
  340. package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
  341. package/dist/test/utils/gql-resolver-bridge.js +0 -89
  342. package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
  343. package/dist/test/utils.d.ts +0 -10
  344. package/dist/test/utils.d.ts.map +0 -1
  345. package/dist/test/utils.js +0 -23
  346. package/dist/test/utils.js.map +0 -1
  347. package/dist/tsconfig.tsbuildinfo +0 -1
  348. package/dist/vitest.config.d.ts +0 -3
  349. package/dist/vitest.config.d.ts.map +0 -1
  350. package/dist/vitest.config.js +0 -38
  351. package/dist/vitest.config.js.map +0 -1
@@ -1,371 +0,0 @@
1
- import { print } from "graphql";
2
- import { beforeEach, describe, expect, it, vi } from "vitest";
3
- import { createReactorGraphQLClient } from "../src/graphql/index.js";
4
- import { GetDocumentDocument, GetDocumentOperationsDocument, GetDocumentWithOperationsDocument, } from "../src/graphql/reactor/gen/graphql.js";
5
- import { createFetchRequester } from "../src/graphql/reactor/requester.js";
6
- import { createValidatingRequester } from "../src/graphql/reactor/requester.with-zod.js";
7
- describe("ReactorSDK", () => {
8
- describe("createFetchRequester", () => {
9
- let mockFetch;
10
- beforeEach(() => {
11
- mockFetch = vi.fn();
12
- });
13
- it("should make a POST request with correct headers and body", async () => {
14
- const mockResponse = {
15
- ok: true,
16
- json: vi.fn().mockResolvedValue({
17
- data: { test: "result" },
18
- }),
19
- };
20
- mockFetch.mockResolvedValue(mockResponse);
21
- const requester = createFetchRequester("https://api.test.com/graphql", mockFetch, { Authorization: "Bearer token123" });
22
- const variables = { identifier: "doc-123", view: { branch: "main" } };
23
- const result = await requester(GetDocumentDocument, variables, {});
24
- // Verify fetch was called correctly
25
- expect(mockFetch).toHaveBeenCalledWith("https://api.test.com/graphql", {
26
- method: "POST",
27
- headers: {
28
- "content-type": "application/json",
29
- Authorization: "Bearer token123",
30
- },
31
- body: JSON.stringify({
32
- query: print(GetDocumentDocument),
33
- variables,
34
- }),
35
- });
36
- expect(result).toEqual({ test: "result" });
37
- });
38
- it("should handle HTTP errors", async () => {
39
- const mockResponse = {
40
- ok: false,
41
- status: 500,
42
- };
43
- mockFetch.mockResolvedValue(mockResponse);
44
- const requester = createFetchRequester("https://api.test.com/graphql", mockFetch);
45
- await expect(requester(GetDocumentDocument, {}, {})).rejects.toThrow("GraphQL HTTP 500");
46
- });
47
- it("should handle GraphQL errors", async () => {
48
- const mockResponse = {
49
- ok: true,
50
- json: vi.fn().mockResolvedValue({
51
- errors: [{ message: "Field not found" }],
52
- }),
53
- };
54
- mockFetch.mockResolvedValue(mockResponse);
55
- const requester = createFetchRequester("https://api.test.com/graphql", mockFetch);
56
- await expect(requester(GetDocumentDocument, {}, {})).rejects.toThrow('[{"message":"Field not found"}]');
57
- });
58
- it("should work without custom headers", async () => {
59
- const mockResponse = {
60
- ok: true,
61
- json: vi.fn().mockResolvedValue({
62
- data: { test: "result" },
63
- }),
64
- };
65
- mockFetch.mockResolvedValue(mockResponse);
66
- const requester = createFetchRequester("https://api.test.com/graphql", mockFetch);
67
- await requester(GetDocumentDocument, {}, {});
68
- expect(mockFetch).toHaveBeenCalledWith("https://api.test.com/graphql", {
69
- method: "POST",
70
- headers: {
71
- "content-type": "application/json",
72
- },
73
- body: expect.any(String),
74
- });
75
- });
76
- });
77
- describe("createValidatingRequester", () => {
78
- let mockFetch;
79
- beforeEach(() => {
80
- mockFetch = vi.fn();
81
- });
82
- it("should validate successful GetDocument response", async () => {
83
- const validDocumentResponse = {
84
- document: {
85
- document: {
86
- id: "doc-123",
87
- slug: "test-document",
88
- name: "Test Document",
89
- documentType: "powerhouse/document-model",
90
- state: {},
91
- revisionsList: [{ scope: "global", revision: 1 }],
92
- createdAtUtcIso: "2023-01-01T00:00:00Z",
93
- lastModifiedAtUtcIso: "2023-01-01T00:00:00Z",
94
- },
95
- childIds: [],
96
- },
97
- };
98
- const mockResponse = {
99
- ok: true,
100
- json: vi.fn().mockResolvedValue({
101
- data: validDocumentResponse,
102
- }),
103
- };
104
- mockFetch.mockResolvedValue(mockResponse);
105
- const requester = createValidatingRequester("https://api.test.com/graphql", mockFetch);
106
- const result = await requester(GetDocumentDocument, { identifier: "doc-123" }, {});
107
- expect(result).toEqual(validDocumentResponse);
108
- });
109
- it("should reject malformed GetDocument response", async () => {
110
- const malformedResponse = {
111
- document: {
112
- document: {
113
- id: "doc-123",
114
- // Missing required fields like name, documentType, etc.
115
- },
116
- childIds: "not-an-array", // Should be array
117
- },
118
- };
119
- const mockResponse = {
120
- ok: true,
121
- json: vi.fn().mockResolvedValue({
122
- data: malformedResponse,
123
- }),
124
- };
125
- mockFetch.mockResolvedValue(mockResponse);
126
- const requester = createValidatingRequester("https://api.test.com/graphql", mockFetch);
127
- await expect(requester(GetDocumentDocument, { identifier: "doc-123" }, {})).rejects.toThrow(); // Should throw Zod validation error
128
- });
129
- it("should handle null document response", async () => {
130
- const nullDocumentResponse = {
131
- document: null,
132
- };
133
- const mockResponse = {
134
- ok: true,
135
- json: vi.fn().mockResolvedValue({
136
- data: nullDocumentResponse,
137
- }),
138
- };
139
- mockFetch.mockResolvedValue(mockResponse);
140
- const requester = createValidatingRequester("https://api.test.com/graphql", mockFetch);
141
- const result = await requester(GetDocumentDocument, { identifier: "nonexistent" }, {});
142
- expect(result).toEqual(nullDocumentResponse);
143
- });
144
- it("should validate successful GetDocumentOperations response", async () => {
145
- const validOperationsResponse = {
146
- documentOperations: {
147
- items: [
148
- {
149
- index: 0,
150
- timestampUtcMs: "1000",
151
- hash: "abc123",
152
- skip: 0,
153
- error: null,
154
- id: "op-1",
155
- action: {
156
- id: "action-1",
157
- type: "SET_NAME",
158
- timestampUtcMs: "1000",
159
- input: { name: "Test" },
160
- scope: "global",
161
- attachments: null,
162
- context: {
163
- signer: {
164
- signatures: ["a, b, c, d, e"],
165
- user: {
166
- address: "0x123",
167
- networkId: "eip155",
168
- chainId: 1,
169
- },
170
- app: { name: "test-app", key: "key-1" },
171
- },
172
- },
173
- },
174
- },
175
- ],
176
- totalCount: 1,
177
- hasNextPage: false,
178
- hasPreviousPage: false,
179
- cursor: null,
180
- },
181
- };
182
- const mockResponse = {
183
- ok: true,
184
- json: vi.fn().mockResolvedValue({
185
- data: validOperationsResponse,
186
- }),
187
- };
188
- mockFetch.mockResolvedValue(mockResponse);
189
- const requester = createValidatingRequester("https://api.test.com/graphql", mockFetch);
190
- const result = await requester(GetDocumentOperationsDocument, {
191
- filter: { documentId: "doc-1" },
192
- }, {});
193
- expect(result).toEqual(validOperationsResponse);
194
- });
195
- it("should validate successful GetDocumentWithOperations response", async () => {
196
- const validResponse = {
197
- document: {
198
- document: {
199
- id: "doc-123",
200
- slug: "test-document",
201
- name: "Test Document",
202
- documentType: "powerhouse/document-model",
203
- state: {},
204
- revisionsList: [{ scope: "global", revision: 1 }],
205
- createdAtUtcIso: "2023-01-01T00:00:00Z",
206
- lastModifiedAtUtcIso: "2023-01-01T00:00:00Z",
207
- operations: {
208
- items: [
209
- {
210
- index: 0,
211
- timestampUtcMs: "1000",
212
- hash: "abc123",
213
- skip: 0,
214
- error: null,
215
- id: "op-1",
216
- action: {
217
- id: "action-1",
218
- type: "SET_NAME",
219
- timestampUtcMs: "1000",
220
- input: { name: "Test" },
221
- scope: "global",
222
- attachments: null,
223
- context: null,
224
- },
225
- },
226
- ],
227
- totalCount: 1,
228
- hasNextPage: false,
229
- hasPreviousPage: false,
230
- cursor: null,
231
- },
232
- },
233
- childIds: [],
234
- },
235
- };
236
- const mockResponse = {
237
- ok: true,
238
- json: vi.fn().mockResolvedValue({ data: validResponse }),
239
- };
240
- mockFetch.mockResolvedValue(mockResponse);
241
- const requester = createValidatingRequester("https://api.test.com/graphql", mockFetch);
242
- const result = await requester(GetDocumentWithOperationsDocument, { identifier: "doc-123" }, {});
243
- expect(result).toEqual(validResponse);
244
- });
245
- it("should reject malformed GetDocumentWithOperations response", async () => {
246
- const malformedResponse = {
247
- document: {
248
- document: {
249
- id: "doc-123",
250
- name: "Test Document",
251
- documentType: "powerhouse/document-model",
252
- state: {},
253
- revisionsList: [{ scope: "global", revision: 1 }],
254
- createdAtUtcIso: "2023-01-01T00:00:00Z",
255
- lastModifiedAtUtcIso: "2023-01-01T00:00:00Z",
256
- operations: {
257
- items: [
258
- {
259
- // Missing required fields: index, hash, skip, action
260
- timestampUtcMs: "1000",
261
- },
262
- ],
263
- totalCount: 1,
264
- hasNextPage: false,
265
- hasPreviousPage: false,
266
- cursor: null,
267
- },
268
- },
269
- childIds: [],
270
- },
271
- };
272
- const mockResponse = {
273
- ok: true,
274
- json: vi.fn().mockResolvedValue({ data: malformedResponse }),
275
- };
276
- mockFetch.mockResolvedValue(mockResponse);
277
- const requester = createValidatingRequester("https://api.test.com/graphql", mockFetch);
278
- await expect(requester(GetDocumentWithOperationsDocument, { identifier: "doc-123" }, {})).rejects.toThrow();
279
- });
280
- it("should reject malformed GetDocumentOperations response", async () => {
281
- const malformedResponse = {
282
- documentOperations: {
283
- items: [
284
- {
285
- // Missing required fields: index, hash, skip, action
286
- timestampUtcMs: "1000",
287
- },
288
- ],
289
- totalCount: 1,
290
- hasNextPage: false,
291
- hasPreviousPage: false,
292
- cursor: null,
293
- },
294
- };
295
- const mockResponse = {
296
- ok: true,
297
- json: vi.fn().mockResolvedValue({
298
- data: malformedResponse,
299
- }),
300
- };
301
- mockFetch.mockResolvedValue(mockResponse);
302
- const requester = createValidatingRequester("https://api.test.com/graphql", mockFetch);
303
- await expect(requester(GetDocumentOperationsDocument, { filter: { documentId: "doc-1" } }, {})).rejects.toThrow();
304
- });
305
- });
306
- describe("createReactorGraphQLClient integration", () => {
307
- let mockFetch;
308
- beforeEach(() => {
309
- mockFetch = vi.fn();
310
- });
311
- it("should create client with typed methods", async () => {
312
- const validDocumentResponse = {
313
- document: {
314
- document: {
315
- id: "doc-123",
316
- slug: "test-document",
317
- name: "Test Document",
318
- documentType: "powerhouse/document-model",
319
- state: {},
320
- revisionsList: [{ scope: "global", revision: 1 }],
321
- createdAtUtcIso: "2023-01-01T00:00:00Z",
322
- lastModifiedAtUtcIso: "2023-01-01T00:00:00Z",
323
- },
324
- childIds: [],
325
- },
326
- };
327
- const mockResponse = {
328
- ok: true,
329
- json: vi.fn().mockResolvedValue({
330
- data: validDocumentResponse,
331
- }),
332
- };
333
- mockFetch.mockResolvedValue(mockResponse);
334
- const sdk = createReactorGraphQLClient("https://api.test.com/graphql", mockFetch, { Authorization: "Bearer token123" });
335
- // Test actual call
336
- const result = await sdk.GetDocument({
337
- identifier: "doc-123",
338
- view: { branch: "main" },
339
- });
340
- expect(result).toEqual(validDocumentResponse);
341
- // Verify the underlying fetch was called correctly
342
- expect(mockFetch).toHaveBeenCalledWith("https://api.test.com/graphql", {
343
- method: "POST",
344
- headers: {
345
- "content-type": "application/json",
346
- Authorization: "Bearer token123",
347
- },
348
- body: expect.stringContaining("GetDocument"),
349
- });
350
- });
351
- it("should work without custom headers", async () => {
352
- const mockResponse = {
353
- ok: true,
354
- json: vi.fn().mockResolvedValue({
355
- data: { document: null },
356
- }),
357
- };
358
- mockFetch.mockResolvedValue(mockResponse);
359
- const sdk = createReactorGraphQLClient("https://api.test.com/graphql", mockFetch);
360
- await sdk.GetDocument({ identifier: "test" });
361
- expect(mockFetch).toHaveBeenCalledWith("https://api.test.com/graphql", {
362
- method: "POST",
363
- headers: {
364
- "content-type": "application/json",
365
- },
366
- body: expect.any(String),
367
- });
368
- });
369
- });
370
- });
371
- //# sourceMappingURL=reactor-client.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactor-client.test.js","sourceRoot":"","sources":["../../test/reactor-client.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=reactor-resolvers.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reactor-resolvers.test.d.ts","sourceRoot":"","sources":["../../test/reactor-resolvers.test.ts"],"names":[],"mappings":""}
@@ -1,258 +0,0 @@
1
- import { ReactorBuilder, ReactorClientBuilder, } from "@powerhousedao/reactor";
2
- import { driveDocumentModelModule } from "document-drive";
3
- import { documentModelDocumentModelModule, } from "document-model";
4
- import { afterEach, beforeEach, describe, expect, it } from "vitest";
5
- import * as resolvers from "../src/graphql/reactor/resolvers.js";
6
- const createTestDocument = () => {
7
- return documentModelDocumentModelModule.utils.createDocument();
8
- };
9
- describe("ReactorSubgraph Query Resolvers", () => {
10
- let module;
11
- beforeEach(async () => {
12
- const reactorBuilder = new ReactorBuilder().withDocumentModels([
13
- driveDocumentModelModule,
14
- documentModelDocumentModelModule,
15
- ]);
16
- module = await new ReactorClientBuilder()
17
- .withReactorBuilder(reactorBuilder)
18
- .buildModule();
19
- });
20
- afterEach(() => {
21
- module.reactor.kill();
22
- });
23
- describe("documentModels", () => {
24
- it("should transform document models to GraphQL format", async () => {
25
- const result = await resolvers.documentModels(module.client, {
26
- namespace: null,
27
- paging: { cursor: null, limit: 10 },
28
- });
29
- expect(result.items.length).toBeGreaterThan(0);
30
- expect(result.items[0]).toHaveProperty("id");
31
- expect(result.items[0]).toHaveProperty("name");
32
- });
33
- it("should filter by namespace", async () => {
34
- const result = await resolvers.documentModels(module.client, {
35
- namespace: "powerhouse",
36
- paging: null,
37
- });
38
- expect(result.items.length).toBeGreaterThan(0);
39
- for (const item of result.items) {
40
- expect(item.id).toContain("powerhouse/");
41
- }
42
- });
43
- });
44
- describe("document", () => {
45
- it("should transform document to GraphQL format with revision list", async () => {
46
- const testDoc = createTestDocument();
47
- await module.client.create(testDoc);
48
- const result = await resolvers.document(module.client, {
49
- identifier: testDoc.header.id,
50
- });
51
- expect(result.document).toBeDefined();
52
- expect(result.document.id).toBe(testDoc.header.id);
53
- expect(result.document.documentType).toBe("powerhouse/document-model");
54
- expect(result.document.revisionsList).toBeDefined();
55
- expect(Array.isArray(result.document.revisionsList)).toBe(true);
56
- });
57
- });
58
- describe("documentChildren", () => {
59
- it("should transform children documents to GraphQL format", async () => {
60
- const parent = createTestDocument();
61
- const child = createTestDocument();
62
- await module.client.create(parent);
63
- await module.client.create(child);
64
- await module.client.addChildren(parent.header.id, [child.header.id]);
65
- const result = await resolvers.documentChildren(module.client, {
66
- parentIdentifier: parent.header.id,
67
- paging: null,
68
- view: null,
69
- });
70
- expect(result.items.length).toBe(1);
71
- expect(result.items[0].id).toBe(child.header.id);
72
- });
73
- });
74
- describe("documentParents", () => {
75
- it("should transform parent documents to GraphQL format", async () => {
76
- const parent = createTestDocument();
77
- const child = createTestDocument();
78
- await module.client.create(parent);
79
- await module.client.create(child);
80
- await module.client.addChildren(parent.header.id, [child.header.id]);
81
- const result = await resolvers.documentParents(module.client, {
82
- childIdentifier: child.header.id,
83
- paging: null,
84
- view: null,
85
- });
86
- expect(result.items.length).toBe(1);
87
- expect(result.items[0].id).toBe(parent.header.id);
88
- });
89
- });
90
- describe("findDocuments", () => {
91
- it("should find documents by type", async () => {
92
- const testDoc = createTestDocument();
93
- await module.client.create(testDoc);
94
- const result = await resolvers.findDocuments(module.client, {
95
- search: {
96
- type: "powerhouse/document-model",
97
- parentId: null,
98
- },
99
- paging: null,
100
- view: null,
101
- });
102
- expect(result.items.length).toBeGreaterThan(0);
103
- expect(result.items[0].documentType).toBe("powerhouse/document-model");
104
- });
105
- });
106
- describe("Error Handling", () => {
107
- it("should throw error for non-existent document", async () => {
108
- await expect(resolvers.document(module.client, { identifier: "non-existent-id" })).rejects.toThrow();
109
- });
110
- });
111
- });
112
- describe("ReactorSubgraph Mutation Resolvers", () => {
113
- let module;
114
- beforeEach(async () => {
115
- const reactorBuilder = new ReactorBuilder().withDocumentModels([
116
- driveDocumentModelModule,
117
- documentModelDocumentModelModule,
118
- ]);
119
- module = await new ReactorClientBuilder()
120
- .withReactorBuilder(reactorBuilder)
121
- .buildModule();
122
- });
123
- afterEach(() => {
124
- module.reactor.kill();
125
- });
126
- describe("createDocument", () => {
127
- it("should create a document and transform to GraphQL format", async () => {
128
- const inputDocument = createTestDocument();
129
- const result = await resolvers.createDocument(module.client, {
130
- document: inputDocument,
131
- parentIdentifier: null,
132
- });
133
- expect(result.id).toBe(inputDocument.header.id);
134
- expect(result.documentType).toBe("powerhouse/document-model");
135
- });
136
- it("should reject invalid document input", async () => {
137
- await expect(resolvers.createDocument(module.client, {
138
- document: null,
139
- parentIdentifier: null,
140
- })).rejects.toThrow("Invalid document: must be an object");
141
- });
142
- it("should reject document without header", async () => {
143
- await expect(resolvers.createDocument(module.client, {
144
- document: { state: {} },
145
- parentIdentifier: null,
146
- })).rejects.toThrow("Invalid document: missing or invalid header");
147
- });
148
- });
149
- describe("createEmptyDocument", () => {
150
- it("should create an empty document of specified type", async () => {
151
- const result = await resolvers.createEmptyDocument(module.client, {
152
- documentType: "powerhouse/document-model",
153
- parentIdentifier: null,
154
- });
155
- expect(result.id).toBeDefined();
156
- expect(result.documentType).toBe("powerhouse/document-model");
157
- });
158
- });
159
- describe("renameDocument", () => {
160
- it("should rename a document", async () => {
161
- const testDoc = createTestDocument();
162
- await module.client.create(testDoc);
163
- const result = await resolvers.renameDocument(module.client, {
164
- documentIdentifier: testDoc.header.id,
165
- name: "New Name",
166
- branch: null,
167
- });
168
- expect(result.name).toBe("New Name");
169
- });
170
- });
171
- describe("addChildren", () => {
172
- it("should add children to a parent document", async () => {
173
- const parent = createTestDocument();
174
- const child = createTestDocument();
175
- await module.client.create(parent);
176
- await module.client.create(child);
177
- const result = await resolvers.addChildren(module.client, {
178
- parentIdentifier: parent.header.id,
179
- documentIdentifiers: [child.header.id],
180
- branch: null,
181
- });
182
- expect(result.id).toBe(parent.header.id);
183
- });
184
- });
185
- describe("removeChildren", () => {
186
- it("should remove children from a parent document", async () => {
187
- const parent = createTestDocument();
188
- const child = createTestDocument();
189
- await module.client.create(parent);
190
- await module.client.create(child);
191
- await module.client.addChildren(parent.header.id, [child.header.id]);
192
- const result = await resolvers.removeChildren(module.client, {
193
- parentIdentifier: parent.header.id,
194
- documentIdentifiers: [child.header.id],
195
- branch: null,
196
- });
197
- expect(result.id).toBe(parent.header.id);
198
- });
199
- });
200
- describe("deleteDocument", () => {
201
- it("should delete a document", async () => {
202
- const testDoc = createTestDocument();
203
- await module.client.create(testDoc);
204
- const result = await resolvers.deleteDocument(module.client, {
205
- identifier: testDoc.header.id,
206
- propagate: null,
207
- });
208
- expect(result).toBe(true);
209
- });
210
- });
211
- describe("deleteDocuments", () => {
212
- it("should delete multiple documents", async () => {
213
- const doc1 = createTestDocument();
214
- const doc2 = createTestDocument();
215
- await module.client.create(doc1);
216
- await module.client.create(doc2);
217
- const result = await resolvers.deleteDocuments(module.client, {
218
- identifiers: [doc1.header.id, doc2.header.id],
219
- propagate: null,
220
- });
221
- expect(result).toBe(true);
222
- });
223
- });
224
- describe("mutateDocument", () => {
225
- it("should mutate a document with validated actions", async () => {
226
- const testDoc = createTestDocument();
227
- await module.client.create(testDoc);
228
- const actions = [
229
- documentModelDocumentModelModule.actions.setModelName({
230
- name: "New Model Name",
231
- }),
232
- ];
233
- const result = await resolvers.mutateDocument(module.client, {
234
- documentIdentifier: testDoc.header.id,
235
- actions: actions,
236
- view: { branch: "main", scopes: null },
237
- });
238
- expect(result.id).toBe(testDoc.header.id);
239
- });
240
- });
241
- describe("Error Handling", () => {
242
- it("should timeout on deferred queue", async () => {
243
- const signal = AbortSignal.timeout(2000);
244
- await expect(resolvers.renameDocument(module.client, {
245
- documentIdentifier: "non-existent-id",
246
- name: "New Name",
247
- branch: null,
248
- }, signal)).rejects.toThrow();
249
- }, 10000);
250
- it("should handle delete errors", async () => {
251
- await expect(resolvers.deleteDocument(module.client, {
252
- identifier: "non-existent-id",
253
- propagate: null,
254
- })).rejects.toThrow();
255
- });
256
- });
257
- });
258
- //# sourceMappingURL=reactor-resolvers.test.js.map