@powerhousedao/reactor-api 6.0.0-dev.11 → 6.0.0-dev.110

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 (352) hide show
  1. package/README.md +6 -0
  2. package/dist/codegen.js +1 -1
  3. package/dist/codegen.js.map +1 -1
  4. package/dist/index.d.ts +4 -2
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +4 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/src/config.d.ts +1 -2
  9. package/dist/src/config.d.ts.map +1 -1
  10. package/dist/src/config.js +1 -5
  11. package/dist/src/config.js.map +1 -1
  12. package/dist/src/dev.d.ts +2 -0
  13. package/dist/src/dev.d.ts.map +1 -0
  14. package/dist/src/dev.js +51 -0
  15. package/dist/src/dev.js.map +1 -0
  16. package/dist/src/graphql/auth/resolvers.d.ts +17 -0
  17. package/dist/src/graphql/auth/resolvers.d.ts.map +1 -1
  18. package/dist/src/graphql/auth/resolvers.js +54 -0
  19. package/dist/src/graphql/auth/resolvers.js.map +1 -1
  20. package/dist/src/graphql/auth/schema.graphql +27 -5
  21. package/dist/src/graphql/auth/subgraph.d.ts +25 -0
  22. package/dist/src/graphql/auth/subgraph.d.ts.map +1 -1
  23. package/dist/src/graphql/auth/subgraph.js +46 -2
  24. package/dist/src/graphql/auth/subgraph.js.map +1 -1
  25. package/dist/src/graphql/base-subgraph.d.ts +11 -4
  26. package/dist/src/graphql/base-subgraph.d.ts.map +1 -1
  27. package/dist/src/graphql/base-subgraph.js +94 -2
  28. package/dist/src/graphql/base-subgraph.js.map +1 -1
  29. package/dist/src/graphql/document-model-subgraph.d.ts +104 -45
  30. package/dist/src/graphql/document-model-subgraph.d.ts.map +1 -1
  31. package/dist/src/graphql/document-model-subgraph.js +323 -91
  32. package/dist/src/graphql/document-model-subgraph.js.map +1 -1
  33. package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts +23 -0
  34. package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts.map +1 -0
  35. package/dist/src/graphql/gateway/adapter-gateway-apollo.js +156 -0
  36. package/dist/src/graphql/gateway/adapter-gateway-apollo.js.map +1 -0
  37. package/dist/src/graphql/gateway/adapter-http-express.d.ts +23 -0
  38. package/dist/src/graphql/gateway/adapter-http-express.d.ts.map +1 -0
  39. package/dist/src/graphql/gateway/adapter-http-express.js +155 -0
  40. package/dist/src/graphql/gateway/adapter-http-express.js.map +1 -0
  41. package/dist/src/graphql/gateway/auth-middleware.d.ts +7 -0
  42. package/dist/src/graphql/gateway/auth-middleware.d.ts.map +1 -0
  43. package/dist/src/graphql/gateway/auth-middleware.js +15 -0
  44. package/dist/src/graphql/gateway/auth-middleware.js.map +1 -0
  45. package/dist/src/graphql/gateway/factory.d.ts +11 -0
  46. package/dist/src/graphql/gateway/factory.d.ts.map +1 -0
  47. package/dist/src/graphql/gateway/factory.js +15 -0
  48. package/dist/src/graphql/gateway/factory.js.map +1 -0
  49. package/dist/src/graphql/gateway/types.d.ts +84 -0
  50. package/dist/src/graphql/gateway/types.d.ts.map +1 -0
  51. package/dist/src/{sync → graphql/gateway}/types.js.map +1 -1
  52. package/dist/src/graphql/graphql-manager.d.ts +31 -12
  53. package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
  54. package/dist/src/graphql/graphql-manager.js +284 -228
  55. package/dist/src/graphql/graphql-manager.js.map +1 -1
  56. package/dist/src/graphql/index.d.ts +5 -1
  57. package/dist/src/graphql/index.d.ts.map +1 -1
  58. package/dist/src/graphql/index.js +5 -1
  59. package/dist/src/graphql/index.js.map +1 -1
  60. package/dist/src/graphql/packages/index.d.ts +2 -0
  61. package/dist/src/graphql/packages/index.d.ts.map +1 -0
  62. package/dist/src/graphql/packages/index.js +2 -0
  63. package/dist/src/graphql/packages/index.js.map +1 -0
  64. package/dist/src/graphql/packages/resolvers.d.ts +31 -0
  65. package/dist/src/graphql/packages/resolvers.d.ts.map +1 -0
  66. package/dist/src/graphql/packages/resolvers.js +37 -0
  67. package/dist/src/graphql/packages/resolvers.js.map +1 -0
  68. package/dist/src/graphql/packages/schema.graphql +50 -0
  69. package/dist/src/graphql/packages/subgraph.d.ts +55 -0
  70. package/dist/src/graphql/packages/subgraph.d.ts.map +1 -0
  71. package/dist/src/graphql/packages/subgraph.js +73 -0
  72. package/dist/src/graphql/packages/subgraph.js.map +1 -0
  73. package/dist/src/graphql/playground.d.ts.map +1 -1
  74. package/dist/src/graphql/playground.js +19 -12
  75. package/dist/src/graphql/playground.js.map +1 -1
  76. package/dist/src/graphql/reactor/adapters.d.ts +10 -2
  77. package/dist/src/graphql/reactor/adapters.d.ts.map +1 -1
  78. package/dist/src/graphql/reactor/adapters.js +36 -1
  79. package/dist/src/graphql/reactor/adapters.js.map +1 -1
  80. package/dist/src/graphql/reactor/factory.d.ts +22 -1
  81. package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
  82. package/dist/src/graphql/reactor/factory.js +1 -1
  83. package/dist/src/graphql/reactor/factory.js.map +1 -1
  84. package/dist/src/graphql/reactor/gen/graphql.d.ts +355 -76
  85. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
  86. package/dist/src/graphql/reactor/gen/graphql.js +245 -10
  87. package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
  88. package/dist/src/graphql/reactor/index.d.ts +1 -1
  89. package/dist/src/graphql/reactor/index.d.ts.map +1 -1
  90. package/dist/src/graphql/reactor/index.js +1 -1
  91. package/dist/src/graphql/reactor/index.js.map +1 -1
  92. package/dist/src/graphql/reactor/operations.graphql +191 -1
  93. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +1 -1
  94. package/dist/src/graphql/reactor/requester.with-zod.js +114 -38
  95. package/dist/src/graphql/reactor/requester.with-zod.js.map +1 -1
  96. package/dist/src/graphql/reactor/resolvers.d.ts +90 -26
  97. package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
  98. package/dist/src/graphql/reactor/resolvers.js +275 -77
  99. package/dist/src/graphql/reactor/resolvers.js.map +1 -1
  100. package/dist/src/graphql/reactor/schema.graphql +76 -30
  101. package/dist/src/graphql/reactor/subgraph.d.ts +2 -31
  102. package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
  103. package/dist/src/graphql/reactor/subgraph.js +133 -210
  104. package/dist/src/graphql/reactor/subgraph.js.map +1 -1
  105. package/dist/src/graphql/reactor/validation.d.ts +266 -20
  106. package/dist/src/graphql/reactor/validation.d.ts.map +1 -1
  107. package/dist/src/graphql/reactor/validation.js +98 -4
  108. package/dist/src/graphql/reactor/validation.js.map +1 -1
  109. package/dist/src/graphql/sse.d.ts +42 -0
  110. package/dist/src/graphql/sse.d.ts.map +1 -0
  111. package/dist/src/graphql/sse.js +33 -0
  112. package/dist/src/graphql/sse.js.map +1 -0
  113. package/dist/src/graphql/system/index.d.ts +0 -1
  114. package/dist/src/graphql/system/index.d.ts.map +1 -1
  115. package/dist/src/graphql/system/index.js +0 -1
  116. package/dist/src/graphql/system/index.js.map +1 -1
  117. package/dist/src/graphql/types.d.ts +7 -8
  118. package/dist/src/graphql/types.d.ts.map +1 -1
  119. package/dist/src/graphql/utils.d.ts +3 -20
  120. package/dist/src/graphql/utils.d.ts.map +1 -1
  121. package/dist/src/graphql/utils.js +7 -35
  122. package/dist/src/graphql/utils.js.map +1 -1
  123. package/dist/src/migrations/002_add_document_protection.d.ts +4 -0
  124. package/dist/src/migrations/002_add_document_protection.d.ts.map +1 -0
  125. package/dist/src/migrations/002_add_document_protection.js +18 -0
  126. package/dist/src/migrations/002_add_document_protection.js.map +1 -0
  127. package/dist/src/migrations/index.d.ts.map +1 -1
  128. package/dist/src/migrations/index.js +2 -0
  129. package/dist/src/migrations/index.js.map +1 -1
  130. package/dist/src/packages/http-loader.d.ts +68 -0
  131. package/dist/src/packages/http-loader.d.ts.map +1 -0
  132. package/dist/src/packages/http-loader.js +176 -0
  133. package/dist/src/packages/http-loader.js.map +1 -0
  134. package/dist/src/packages/https-hooks.d.mts +37 -0
  135. package/dist/src/packages/https-hooks.d.mts.map +1 -0
  136. package/dist/src/packages/https-hooks.mjs +88 -0
  137. package/dist/src/packages/https-hooks.mjs.map +1 -0
  138. package/dist/src/packages/import-loader.d.ts +3 -4
  139. package/dist/src/packages/import-loader.d.ts.map +1 -1
  140. package/dist/src/packages/import-loader.js +6 -12
  141. package/dist/src/packages/import-loader.js.map +1 -1
  142. package/dist/src/packages/package-manager.d.ts +3 -4
  143. package/dist/src/packages/package-manager.d.ts.map +1 -1
  144. package/dist/src/packages/package-manager.js +2 -2
  145. package/dist/src/packages/package-manager.js.map +1 -1
  146. package/dist/src/packages/types.d.ts +9 -6
  147. package/dist/src/packages/types.d.ts.map +1 -1
  148. package/dist/src/packages/util.d.ts +4 -4
  149. package/dist/src/packages/util.d.ts.map +1 -1
  150. package/dist/src/packages/util.js +2 -2
  151. package/dist/src/packages/util.js.map +1 -1
  152. package/dist/src/packages/vite-loader.d.ts +8 -7
  153. package/dist/src/packages/vite-loader.d.ts.map +1 -1
  154. package/dist/src/packages/vite-loader.js +20 -8
  155. package/dist/src/packages/vite-loader.js.map +1 -1
  156. package/dist/src/server.d.ts +15 -28
  157. package/dist/src/server.d.ts.map +1 -1
  158. package/dist/src/server.js +137 -167
  159. package/dist/src/server.js.map +1 -1
  160. package/dist/src/services/auth.service.d.ts +11 -15
  161. package/dist/src/services/auth.service.d.ts.map +1 -1
  162. package/dist/src/services/auth.service.js +61 -40
  163. package/dist/src/services/auth.service.js.map +1 -1
  164. package/dist/src/services/authorization.service.d.ts +70 -0
  165. package/dist/src/services/authorization.service.d.ts.map +1 -0
  166. package/dist/src/services/authorization.service.js +155 -0
  167. package/dist/src/services/authorization.service.js.map +1 -0
  168. package/dist/src/services/document-permission.service.d.ts +47 -7
  169. package/dist/src/services/document-permission.service.d.ts.map +1 -1
  170. package/dist/src/services/document-permission.service.js +162 -7
  171. package/dist/src/services/document-permission.service.js.map +1 -1
  172. package/dist/src/services/package-management.service.d.ts +32 -0
  173. package/dist/src/services/package-management.service.d.ts.map +1 -0
  174. package/dist/src/services/package-management.service.js +95 -0
  175. package/dist/src/services/package-management.service.js.map +1 -0
  176. package/dist/src/services/package-storage.d.ts +23 -0
  177. package/dist/src/services/package-storage.d.ts.map +1 -0
  178. package/dist/src/services/package-storage.js +19 -0
  179. package/dist/src/services/package-storage.js.map +1 -0
  180. package/dist/src/tracing.d.ts.map +1 -1
  181. package/dist/src/tracing.js +19 -1
  182. package/dist/src/tracing.js.map +1 -1
  183. package/dist/src/types.d.ts +14 -6
  184. package/dist/src/types.d.ts.map +1 -1
  185. package/dist/src/utils/create-schema.d.ts +31 -6
  186. package/dist/src/utils/create-schema.d.ts.map +1 -1
  187. package/dist/src/utils/create-schema.js +451 -43
  188. package/dist/src/utils/create-schema.js.map +1 -1
  189. package/dist/src/utils/db.d.ts +8 -0
  190. package/dist/src/utils/db.d.ts.map +1 -1
  191. package/dist/src/utils/db.js.map +1 -1
  192. package/dist/src/utils/drive-url.d.ts +2 -0
  193. package/dist/src/utils/drive-url.d.ts.map +1 -0
  194. package/dist/src/utils/drive-url.js +3 -0
  195. package/dist/src/utils/drive-url.js.map +1 -0
  196. package/dist/src/utils/index.d.ts +1 -0
  197. package/dist/src/utils/index.d.ts.map +1 -1
  198. package/dist/src/utils/index.js +1 -0
  199. package/dist/src/utils/index.js.map +1 -1
  200. package/dist/test/auth.service.test.d.ts +10 -0
  201. package/dist/test/auth.service.test.d.ts.map +1 -0
  202. package/dist/test/auth.service.test.js +141 -0
  203. package/dist/test/auth.service.test.js.map +1 -0
  204. package/dist/test/authorization.service.test.d.ts +2 -0
  205. package/dist/test/authorization.service.test.d.ts.map +1 -0
  206. package/dist/test/authorization.service.test.js +252 -0
  207. package/dist/test/authorization.service.test.js.map +1 -0
  208. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +2 -0
  209. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +1 -0
  210. package/dist/test/connect-switchboard-reshuffle-convergence.test.js +204 -0
  211. package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +1 -0
  212. package/dist/test/connect-switchboard-sync.test.d.ts +2 -0
  213. package/dist/test/connect-switchboard-sync.test.d.ts.map +1 -0
  214. package/dist/test/connect-switchboard-sync.test.js +582 -0
  215. package/dist/test/connect-switchboard-sync.test.js.map +1 -0
  216. package/dist/test/document-drive-subgraph.test.d.ts +2 -0
  217. package/dist/test/document-drive-subgraph.test.d.ts.map +1 -0
  218. package/dist/test/document-drive-subgraph.test.js +244 -0
  219. package/dist/test/document-drive-subgraph.test.js.map +1 -0
  220. package/dist/test/document-model-subgraph-permissions.test.d.ts +2 -0
  221. package/dist/test/document-model-subgraph-permissions.test.d.ts.map +1 -0
  222. package/dist/test/document-model-subgraph-permissions.test.js +587 -0
  223. package/dist/test/document-model-subgraph-permissions.test.js.map +1 -0
  224. package/dist/test/drive-info-endpoint.test.d.ts +2 -0
  225. package/dist/test/drive-info-endpoint.test.d.ts.map +1 -0
  226. package/dist/test/drive-info-endpoint.test.js +123 -0
  227. package/dist/test/drive-info-endpoint.test.js.map +1 -0
  228. package/dist/test/fault-injection-sync.test.d.ts +2 -0
  229. package/dist/test/fault-injection-sync.test.d.ts.map +1 -0
  230. package/dist/test/fault-injection-sync.test.js +197 -0
  231. package/dist/test/fault-injection-sync.test.js.map +1 -0
  232. package/dist/test/gateway/adapter-gateway-apollo.test.d.ts +2 -0
  233. package/dist/test/gateway/adapter-gateway-apollo.test.d.ts.map +1 -0
  234. package/dist/test/gateway/adapter-gateway-apollo.test.js +206 -0
  235. package/dist/test/gateway/adapter-gateway-apollo.test.js.map +1 -0
  236. package/dist/test/gateway/adapter-http-express.test.d.ts +2 -0
  237. package/dist/test/gateway/adapter-http-express.test.d.ts.map +1 -0
  238. package/dist/test/gateway/adapter-http-express.test.js +17 -0
  239. package/dist/test/gateway/adapter-http-express.test.js.map +1 -0
  240. package/dist/test/gateway/auth-middleware.test.d.ts +8 -0
  241. package/dist/test/gateway/auth-middleware.test.d.ts.map +1 -0
  242. package/dist/test/gateway/auth-middleware.test.js +73 -0
  243. package/dist/test/gateway/auth-middleware.test.js.map +1 -0
  244. package/dist/test/gateway/gateway-adapter-contract.d.ts +30 -0
  245. package/dist/test/gateway/gateway-adapter-contract.d.ts.map +1 -0
  246. package/dist/test/gateway/gateway-adapter-contract.js +347 -0
  247. package/dist/test/gateway/gateway-adapter-contract.js.map +1 -0
  248. package/dist/test/gateway/http-adapter-contract.d.ts +30 -0
  249. package/dist/test/gateway/http-adapter-contract.d.ts.map +1 -0
  250. package/dist/test/gateway/http-adapter-contract.js +226 -0
  251. package/dist/test/gateway/http-adapter-contract.js.map +1 -0
  252. package/dist/test/graphql-manager.test.d.ts +12 -0
  253. package/dist/test/graphql-manager.test.d.ts.map +1 -0
  254. package/dist/test/graphql-manager.test.js +488 -0
  255. package/dist/test/graphql-manager.test.js.map +1 -0
  256. package/dist/test/index.d.ts +0 -1
  257. package/dist/test/index.d.ts.map +1 -1
  258. package/dist/test/index.js +0 -1
  259. package/dist/test/index.js.map +1 -1
  260. package/dist/test/permissions-integration.test.js +6 -20
  261. package/dist/test/permissions-integration.test.js.map +1 -1
  262. package/dist/test/push-backfill.test.d.ts +2 -0
  263. package/dist/test/push-backfill.test.d.ts.map +1 -0
  264. package/dist/test/push-backfill.test.js +299 -0
  265. package/dist/test/push-backfill.test.js.map +1 -0
  266. package/dist/test/reactor-adapters.test.js +3 -2
  267. package/dist/test/reactor-adapters.test.js.map +1 -1
  268. package/dist/test/reactor-client.test.js +172 -13
  269. package/dist/test/reactor-client.test.js.map +1 -1
  270. package/dist/test/reactor-resolvers.test.js +11 -13
  271. package/dist/test/reactor-resolvers.test.js.map +1 -1
  272. package/dist/test/reactor-subgraph-permissions.test.js +7 -36
  273. package/dist/test/reactor-subgraph-permissions.test.js.map +1 -1
  274. package/dist/test/subscriptions-sse.test.d.ts +2 -0
  275. package/dist/test/subscriptions-sse.test.d.ts.map +1 -0
  276. package/dist/test/subscriptions-sse.test.js +264 -0
  277. package/dist/test/subscriptions-sse.test.js.map +1 -0
  278. package/dist/test/subscriptions.test.js +2 -0
  279. package/dist/test/subscriptions.test.js.map +1 -1
  280. package/dist/test/utils/gql-resolver-bridge.d.ts +4 -1
  281. package/dist/test/utils/gql-resolver-bridge.d.ts.map +1 -1
  282. package/dist/test/utils/gql-resolver-bridge.js +36 -7
  283. package/dist/test/utils/gql-resolver-bridge.js.map +1 -1
  284. package/dist/test/utils.d.ts +1 -5
  285. package/dist/test/utils.d.ts.map +1 -1
  286. package/dist/test/utils.js +0 -10
  287. package/dist/test/utils.js.map +1 -1
  288. package/dist/tsconfig.tsbuildinfo +1 -1
  289. package/package.json +52 -58
  290. package/dist/src/graphql/drive-subgraph.d.ts +0 -25
  291. package/dist/src/graphql/drive-subgraph.d.ts.map +0 -1
  292. package/dist/src/graphql/drive-subgraph.js +0 -487
  293. package/dist/src/graphql/drive-subgraph.js.map +0 -1
  294. package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
  295. package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
  296. package/dist/src/graphql/system/system-subgraph.js +0 -130
  297. package/dist/src/graphql/system/system-subgraph.js.map +0 -1
  298. package/dist/src/sync/types.d.ts +0 -10
  299. package/dist/src/sync/types.d.ts.map +0 -1
  300. package/dist/src/sync/utils.d.ts +0 -7
  301. package/dist/src/sync/utils.d.ts.map +0 -1
  302. package/dist/src/sync/utils.js +0 -78
  303. package/dist/src/sync/utils.js.map +0 -1
  304. package/dist/src/utils/auth.d.ts +0 -3
  305. package/dist/src/utils/auth.d.ts.map +0 -1
  306. package/dist/src/utils/auth.js +0 -19
  307. package/dist/src/utils/auth.js.map +0 -1
  308. package/dist/test/benchmarks/load.bench.d.ts +0 -2
  309. package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
  310. package/dist/test/benchmarks/load.bench.js +0 -73
  311. package/dist/test/benchmarks/load.bench.js.map +0 -1
  312. package/dist/test/benchmarks/sync.bench.d.ts +0 -2
  313. package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
  314. package/dist/test/benchmarks/sync.bench.js +0 -119
  315. package/dist/test/benchmarks/sync.bench.js.map +0 -1
  316. package/dist/test/drive-handlers.d.ts +0 -4
  317. package/dist/test/drive-handlers.d.ts.map +0 -1
  318. package/dist/test/drive-handlers.js +0 -39
  319. package/dist/test/drive-handlers.js.map +0 -1
  320. package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
  321. package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
  322. package/dist/test/drive-subgraph-permissions.test.js +0 -195
  323. package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
  324. package/dist/test/drive.test.d.ts +0 -2
  325. package/dist/test/drive.test.d.ts.map +0 -1
  326. package/dist/test/drive.test.js +0 -142
  327. package/dist/test/drive.test.js.map +0 -1
  328. package/dist/test/identity-integration.test.d.ts +0 -2
  329. package/dist/test/identity-integration.test.d.ts.map +0 -1
  330. package/dist/test/identity-integration.test.js +0 -349
  331. package/dist/test/identity-integration.test.js.map +0 -1
  332. package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
  333. package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
  334. package/dist/test/pull-responder-transmitter.test.js +0 -220
  335. package/dist/test/pull-responder-transmitter.test.js.map +0 -1
  336. package/dist/test/push-transmitter.test.d.ts +0 -2
  337. package/dist/test/push-transmitter.test.d.ts.map +0 -1
  338. package/dist/test/push-transmitter.test.js +0 -179
  339. package/dist/test/push-transmitter.test.js.map +0 -1
  340. package/dist/test/system.test.d.ts +0 -2
  341. package/dist/test/system.test.d.ts.map +0 -1
  342. package/dist/test/system.test.js +0 -211
  343. package/dist/test/system.test.js.map +0 -1
  344. package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
  345. package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
  346. package/dist/test/three-reactor-gql-sync.test.js +0 -368
  347. package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
  348. package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
  349. package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
  350. package/dist/test/two-reactor-gql-sync.test.js +0 -348
  351. package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
  352. /package/dist/src/{sync → graphql/gateway}/types.js +0 -0
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=drive-subgraph-permissions.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drive-subgraph-permissions.test.d.ts","sourceRoot":"","sources":["../../test/drive-subgraph-permissions.test.ts"],"names":[],"mappings":""}
@@ -1,195 +0,0 @@
1
- import { DriveSubgraph } from "@powerhousedao/reactor-api";
2
- import { testSetupReactor } from "@powerhousedao/reactor-api/test";
3
- import { generateId } from "document-model/core";
4
- import { beforeEach, describe, expect, it, vi } from "vitest";
5
- describe("DriveSubgraph Permission Checks", () => {
6
- let mockDocumentPermissionService;
7
- let driveSubgraph;
8
- let driveId;
9
- // Helper to create context with different permission levels
10
- const createContext = (options) => ({
11
- driveId: options.driveId ?? driveId,
12
- user: options.userAddress ? { address: options.userAddress } : undefined,
13
- isAdmin: () => options.isAdmin ?? false,
14
- isUser: () => options.isUser ?? false,
15
- isGuest: () => options.isGuest ?? false,
16
- });
17
- beforeEach(async () => {
18
- vi.clearAllMocks();
19
- // Create mock DocumentPermissionService
20
- mockDocumentPermissionService = {
21
- canReadDocument: vi.fn().mockResolvedValue(false),
22
- canWriteDocument: vi.fn().mockResolvedValue(false),
23
- canRead: vi.fn().mockResolvedValue(false),
24
- canWrite: vi.fn().mockResolvedValue(false),
25
- };
26
- const { reactor } = await testSetupReactor();
27
- // Create a test drive
28
- driveId = generateId();
29
- await reactor.addDrive({
30
- id: driveId,
31
- slug: "test-drive",
32
- global: {
33
- name: "Test Drive",
34
- icon: undefined,
35
- },
36
- });
37
- driveSubgraph = new DriveSubgraph({
38
- reactor,
39
- documentPermissionService: mockDocumentPermissionService,
40
- });
41
- });
42
- describe("registerPullResponderListener", () => {
43
- const callRegisterPullResponderListener = async (ctx) => {
44
- const mutation = driveSubgraph.resolvers.Mutation
45
- ?.registerPullResponderListener;
46
- return mutation(null, { filter: { branch: ["main"], documentId: [] } }, ctx);
47
- };
48
- describe("Global Role Access", () => {
49
- it("should allow access when user is global admin", async () => {
50
- const ctx = createContext({ isAdmin: true, userAddress: "0xadmin" });
51
- const result = await callRegisterPullResponderListener(ctx);
52
- expect(result).toBeDefined();
53
- expect(result.listenerId).toBeDefined();
54
- expect(mockDocumentPermissionService.canReadDocument).not.toHaveBeenCalled();
55
- });
56
- it("should allow access when user is global user", async () => {
57
- const ctx = createContext({ isUser: true, userAddress: "0xuser" });
58
- const result = await callRegisterPullResponderListener(ctx);
59
- expect(result).toBeDefined();
60
- expect(result.listenerId).toBeDefined();
61
- expect(mockDocumentPermissionService.canReadDocument).not.toHaveBeenCalled();
62
- });
63
- it("should allow access when user is global guest", async () => {
64
- const ctx = createContext({ isGuest: true, userAddress: "0xguest" });
65
- const result = await callRegisterPullResponderListener(ctx);
66
- expect(result).toBeDefined();
67
- expect(result.listenerId).toBeDefined();
68
- expect(mockDocumentPermissionService.canReadDocument).not.toHaveBeenCalled();
69
- });
70
- });
71
- describe("Document Permission Access", () => {
72
- it("should allow access when user has document read permission", async () => {
73
- vi.mocked(mockDocumentPermissionService.canReadDocument).mockResolvedValue(true);
74
- const ctx = createContext({ userAddress: "0xpermitted" });
75
- const result = await callRegisterPullResponderListener(ctx);
76
- expect(result).toBeDefined();
77
- expect(result.listenerId).toBeDefined();
78
- expect(mockDocumentPermissionService.canReadDocument).toHaveBeenCalledWith(driveId, "0xpermitted");
79
- });
80
- it("should deny access when user has no permissions", async () => {
81
- vi.mocked(mockDocumentPermissionService.canReadDocument).mockResolvedValue(false);
82
- const ctx = createContext({ userAddress: "0xunpermitted" });
83
- await expect(callRegisterPullResponderListener(ctx)).rejects.toThrow("Forbidden");
84
- });
85
- it("should deny access when user is not authenticated", async () => {
86
- const ctx = createContext({});
87
- await expect(callRegisterPullResponderListener(ctx)).rejects.toThrow("Forbidden");
88
- });
89
- });
90
- });
91
- describe("pushUpdates", () => {
92
- const callPushUpdates = async (ctx) => {
93
- const mutation = driveSubgraph.resolvers.Mutation?.pushUpdates;
94
- return mutation(null, {
95
- strands: [
96
- {
97
- driveId,
98
- documentId: "doc1",
99
- documentType: "test/type",
100
- scope: "global",
101
- branch: "main",
102
- operations: [],
103
- },
104
- ],
105
- }, ctx);
106
- };
107
- describe("Global Role Access", () => {
108
- it("should allow access when user is global admin", async () => {
109
- const ctx = createContext({ isAdmin: true, userAddress: "0xadmin" });
110
- const result = await callPushUpdates(ctx);
111
- expect(result).toBeDefined();
112
- expect(mockDocumentPermissionService.canWriteDocument).not.toHaveBeenCalled();
113
- });
114
- it("should allow access when user is global user", async () => {
115
- const ctx = createContext({ isUser: true, userAddress: "0xuser" });
116
- const result = await callPushUpdates(ctx);
117
- expect(result).toBeDefined();
118
- expect(mockDocumentPermissionService.canWriteDocument).not.toHaveBeenCalled();
119
- });
120
- it("should deny access when user is only global guest (guests cannot write)", async () => {
121
- vi.mocked(mockDocumentPermissionService.canWriteDocument).mockResolvedValue(false);
122
- const ctx = createContext({ isGuest: true, userAddress: "0xguest" });
123
- await expect(callPushUpdates(ctx)).rejects.toThrow("Forbidden");
124
- });
125
- });
126
- describe("Document Permission Access", () => {
127
- it("should allow access when user has document write permission", async () => {
128
- vi.mocked(mockDocumentPermissionService.canWriteDocument).mockResolvedValue(true);
129
- const ctx = createContext({ userAddress: "0xpermitted" });
130
- const result = await callPushUpdates(ctx);
131
- expect(result).toBeDefined();
132
- expect(mockDocumentPermissionService.canWriteDocument).toHaveBeenCalledWith(driveId, "0xpermitted");
133
- });
134
- it("should deny access when user has no write permission", async () => {
135
- vi.mocked(mockDocumentPermissionService.canWriteDocument).mockResolvedValue(false);
136
- const ctx = createContext({ userAddress: "0xunpermitted" });
137
- await expect(callPushUpdates(ctx)).rejects.toThrow("Forbidden");
138
- });
139
- });
140
- });
141
- describe("strands (Sync.strands)", () => {
142
- // Note: strands resolver requires a registered listener, which needs full infrastructure
143
- // These tests verify the resolver exists; full permission testing is done via integration tests
144
- const callStrands = async (ctx) => {
145
- const syncResolver = driveSubgraph.resolvers.Sync?.strands;
146
- if (!syncResolver) {
147
- throw new Error("Sync.strands resolver not found");
148
- }
149
- return syncResolver(null, { listenerId: "test-listener", since: undefined }, ctx);
150
- };
151
- describe("Global Role Access", () => {
152
- it("should have strands resolver defined", () => {
153
- const syncResolver = driveSubgraph.resolvers.Sync?.strands;
154
- expect(syncResolver).toBeDefined();
155
- });
156
- // Note: Full strands permission tests require actual listener infrastructure
157
- // which is better tested via integration tests. Permission checks happen
158
- // before the listener lookup, so if listener is not found, permission passed.
159
- it("should pass permission check for global admin (fails on missing listener)", async () => {
160
- const ctx = createContext({ isAdmin: true, userAddress: "0xadmin" });
161
- // Permission passes, but fails on listener lookup (not a permission error)
162
- await expect(callStrands(ctx)).rejects.toThrow("Listener not found");
163
- expect(mockDocumentPermissionService.canReadDocument).not.toHaveBeenCalled();
164
- });
165
- });
166
- describe("Document Permission Access", () => {
167
- it("should return empty array when user has no read permission", async () => {
168
- vi.mocked(mockDocumentPermissionService.canReadDocument).mockResolvedValue(false);
169
- const ctx = createContext({ userAddress: "0xunpermitted" });
170
- const result = await callStrands(ctx);
171
- expect(result).toEqual([]);
172
- });
173
- it("should return empty array for unauthenticated user", async () => {
174
- const ctx = createContext({});
175
- const result = await callStrands(ctx);
176
- expect(result).toEqual([]);
177
- });
178
- });
179
- });
180
- describe("AUTH_ENABLED=false behavior", () => {
181
- it("should allow all access when all global roles return true", async () => {
182
- // When AUTH_ENABLED=false, isAdmin/isUser/isGuest all return true
183
- const ctx = createContext({
184
- isAdmin: true,
185
- isUser: true,
186
- isGuest: true,
187
- userAddress: "0xanyone",
188
- });
189
- const registerResult = await driveSubgraph.resolvers.Mutation?.registerPullResponderListener(null, { filter: { branch: ["main"], documentId: [] } }, ctx);
190
- expect(registerResult).toBeDefined();
191
- expect(mockDocumentPermissionService.canReadDocument).not.toHaveBeenCalled();
192
- });
193
- });
194
- });
195
- //# sourceMappingURL=drive-subgraph-permissions.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drive-subgraph-permissions.test.js","sourceRoot":"","sources":["../../test/drive-subgraph-permissions.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=drive.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drive.test.d.ts","sourceRoot":"","sources":["../../test/drive.test.ts"],"names":[],"mappings":""}
@@ -1,142 +0,0 @@
1
- import { DriveSubgraph } from "@powerhousedao/reactor-api";
2
- import { testSetupReactor } from "@powerhousedao/reactor-api/test";
3
- import { driveCreateDocument } from "document-drive";
4
- import { documentModelDocumentModelModule, } from "document-model";
5
- import { generateId } from "document-model/core";
6
- import { describe, expect, it, vi } from "vitest";
7
- describe("DriveSubgraph", () => {
8
- it("should be able to instantiate", async () => {
9
- const { reactor } = await testSetupReactor();
10
- const driveSubgraph = new DriveSubgraph({ reactor });
11
- expect(driveSubgraph).toBeInstanceOf(DriveSubgraph);
12
- });
13
- it("should return drive data", async () => {
14
- const { reactor } = await testSetupReactor();
15
- const reactorSpy = vi.spyOn(reactor, "getDrive");
16
- const driveId = generateId();
17
- const mockDriveData = {
18
- id: driveId,
19
- meta: {
20
- preferredEditor: "test-editor",
21
- },
22
- global: {
23
- name: "test-drive",
24
- icon: undefined,
25
- },
26
- };
27
- const createdDrive = await reactor.addDrive(mockDriveData);
28
- const driveSubgraph = new DriveSubgraph({ reactor });
29
- const context = {
30
- driveId,
31
- };
32
- const drive = await driveSubgraph.resolvers.Query?.drive(null, {}, context);
33
- expect(drive).toEqual({
34
- id: createdDrive.header.id,
35
- slug: createdDrive.header.slug,
36
- meta: createdDrive.header.meta,
37
- name: createdDrive.state.global.name,
38
- icon: createdDrive.state.global.icon ?? undefined,
39
- });
40
- expect(reactorSpy).toHaveBeenCalledWith(context.driveId);
41
- });
42
- it("should return drive data with slug", async () => {
43
- const { reactor } = await testSetupReactor();
44
- const getBySlugSpy = vi.spyOn(reactor, "getDriveBySlug");
45
- const getByIdSpy = vi.spyOn(reactor, "getDrive");
46
- const driveSubgraph = new DriveSubgraph({ reactor });
47
- const driveId = generateId();
48
- const createdDrive = await reactor.addDrive({
49
- id: driveId,
50
- slug: "test-drive",
51
- global: {
52
- name: "test-drive",
53
- icon: undefined,
54
- },
55
- });
56
- const context = {
57
- driveId: "test-drive",
58
- };
59
- const drive = await driveSubgraph.resolvers.Query?.drive(null, {}, context);
60
- expect(drive).toStrictEqual({
61
- id: createdDrive.header.id,
62
- slug: createdDrive.header.slug,
63
- meta: createdDrive.header.meta,
64
- name: createdDrive.state.global.name,
65
- icon: createdDrive.state.global.icon ?? undefined,
66
- });
67
- expect(getBySlugSpy).toHaveBeenCalledWith("test-drive");
68
- expect(getByIdSpy).toHaveBeenCalledWith(driveId);
69
- });
70
- it("should return documents data", async () => {
71
- const mockDocumentsData = ["doc1", "doc2"];
72
- const mockReactor = {
73
- getDrive: vi.fn(),
74
- getDocuments: vi.fn().mockResolvedValue(mockDocumentsData),
75
- getDocument: vi.fn(),
76
- getDocumentModelModules: vi.fn(),
77
- listeners: {
78
- setListener: vi.fn(),
79
- },
80
- getDriveIdBySlug: vi.fn().mockResolvedValue("test-drive-id"),
81
- };
82
- const mockSubgraphArgs = {
83
- reactor: mockReactor,
84
- };
85
- const driveSubgraph = new DriveSubgraph(mockSubgraphArgs);
86
- const context = {
87
- driveId: "test-drive-id",
88
- };
89
- const documents = await driveSubgraph.resolvers.Query?.documents(null, {}, context);
90
- expect(documents).toEqual(mockDocumentsData);
91
- expect(mockReactor.getDocuments).toHaveBeenCalledWith(context.driveId);
92
- });
93
- it("should return document data", async () => {
94
- const mockDocumentData = driveCreateDocument({});
95
- mockDocumentData.header.slug = "test-document-id";
96
- // {
97
- // id: "test-document-id",
98
- // documentType: "test-document-type",
99
- // revision: { global: 1 },
100
- // state: { global: { data: "test-data" } },
101
- // operations: { global: [] },
102
- // initialState: { state: { global: {} } },
103
- // };
104
- const mockReactor = {
105
- getDrive: vi.fn(),
106
- getDocuments: vi.fn().mockResolvedValue([mockDocumentData.header.id]),
107
- getDocument: vi.fn().mockResolvedValue(mockDocumentData),
108
- getDocumentModelModules: vi
109
- .fn()
110
- .mockReturnValue([
111
- documentModelDocumentModelModule,
112
- ]),
113
- listeners: {
114
- setListener: vi.fn(),
115
- },
116
- getDriveIdBySlug: vi.fn().mockResolvedValue(mockDocumentData.header.id),
117
- };
118
- const mockSubgraphArgs = {
119
- reactor: mockReactor,
120
- };
121
- const driveSubgraph = new DriveSubgraph(mockSubgraphArgs);
122
- const context = {
123
- driveId: mockDocumentData.header.id,
124
- };
125
- const document = await driveSubgraph.resolvers.Query?.document(null, { id: mockDocumentData.header.id }, context);
126
- console.log(document);
127
- expect(document).toMatchObject({
128
- ...mockDocumentData.header,
129
- // default
130
- state: mockDocumentData.state.global,
131
- initialState: mockDocumentData.initialState.global,
132
- stateJSON: mockDocumentData.state.global,
133
- operations: mockDocumentData.operations.global,
134
- __typename: "",
135
- // backward compatibility
136
- revision: mockDocumentData.header.revision.global || 0,
137
- id: mockDocumentData.header.id,
138
- });
139
- expect(mockReactor.getDocument).toHaveBeenCalledWith(mockDocumentData.header.id);
140
- });
141
- });
142
- //# sourceMappingURL=drive.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drive.test.js","sourceRoot":"","sources":["../../test/drive.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=identity-integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity-integration.test.d.ts","sourceRoot":"","sources":["../../test/identity-integration.test.ts"],"names":[],"mappings":""}