@powerhousedao/reactor-api 6.0.0-staging.4 → 6.0.0

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 (338) hide show
  1. package/README.md +6 -0
  2. package/dist/index.d.mts +3085 -0
  3. package/dist/index.d.mts.map +1 -0
  4. package/dist/index.mjs +6720 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/src/packages/https-hooks.d.mts +39 -0
  7. package/dist/src/packages/https-hooks.d.mts.map +1 -0
  8. package/dist/src/packages/https-hooks.mjs +82 -0
  9. package/dist/src/packages/https-hooks.mjs.map +1 -0
  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 +145 -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-BFkbSO_H.mjs +296 -0
  17. package/dist/utils-BFkbSO_H.mjs.map +1 -0
  18. package/package.json +60 -42
  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 -14
  24. package/dist/index.d.ts.map +0 -1
  25. package/dist/index.js +0 -14
  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/graphql/analytics-subgraph.d.ts +0 -14
  32. package/dist/src/graphql/analytics-subgraph.d.ts.map +0 -1
  33. package/dist/src/graphql/analytics-subgraph.js +0 -26
  34. package/dist/src/graphql/analytics-subgraph.js.map +0 -1
  35. package/dist/src/graphql/auth/index.d.ts +0 -2
  36. package/dist/src/graphql/auth/index.d.ts.map +0 -1
  37. package/dist/src/graphql/auth/index.js +0 -2
  38. package/dist/src/graphql/auth/index.js.map +0 -1
  39. package/dist/src/graphql/auth/resolvers.d.ts +0 -149
  40. package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
  41. package/dist/src/graphql/auth/resolvers.js +0 -173
  42. package/dist/src/graphql/auth/resolvers.js.map +0 -1
  43. package/dist/src/graphql/auth/schema.graphql +0 -173
  44. package/dist/src/graphql/auth/subgraph.d.ts +0 -177
  45. package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
  46. package/dist/src/graphql/auth/subgraph.js +0 -340
  47. package/dist/src/graphql/auth/subgraph.js.map +0 -1
  48. package/dist/src/graphql/base-subgraph.d.ts +0 -20
  49. package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
  50. package/dist/src/graphql/base-subgraph.js +0 -34
  51. package/dist/src/graphql/base-subgraph.js.map +0 -1
  52. package/dist/src/graphql/document-model-subgraph.d.ts +0 -103
  53. package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
  54. package/dist/src/graphql/document-model-subgraph.js +0 -595
  55. package/dist/src/graphql/document-model-subgraph.js.map +0 -1
  56. package/dist/src/graphql/drive-subgraph.d.ts +0 -25
  57. package/dist/src/graphql/drive-subgraph.d.ts.map +0 -1
  58. package/dist/src/graphql/drive-subgraph.js +0 -488
  59. package/dist/src/graphql/drive-subgraph.js.map +0 -1
  60. package/dist/src/graphql/graphql-manager.d.ts +0 -52
  61. package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
  62. package/dist/src/graphql/graphql-manager.js +0 -491
  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/playground.d.ts +0 -2
  69. package/dist/src/graphql/playground.d.ts.map +0 -1
  70. package/dist/src/graphql/playground.js +0 -74
  71. package/dist/src/graphql/playground.js.map +0 -1
  72. package/dist/src/graphql/reactor/adapters.d.ts +0 -62
  73. package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
  74. package/dist/src/graphql/reactor/adapters.js +0 -270
  75. package/dist/src/graphql/reactor/adapters.js.map +0 -1
  76. package/dist/src/graphql/reactor/factory.d.ts +0 -95
  77. package/dist/src/graphql/reactor/factory.d.ts.map +0 -1
  78. package/dist/src/graphql/reactor/factory.js +0 -7
  79. package/dist/src/graphql/reactor/factory.js.map +0 -1
  80. package/dist/src/graphql/reactor/gen/graphql.d.ts +0 -1355
  81. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
  82. package/dist/src/graphql/reactor/gen/graphql.js +0 -615
  83. package/dist/src/graphql/reactor/gen/graphql.js.map +0 -1
  84. package/dist/src/graphql/reactor/index.d.ts +0 -4
  85. package/dist/src/graphql/reactor/index.d.ts.map +0 -1
  86. package/dist/src/graphql/reactor/index.js +0 -4
  87. package/dist/src/graphql/reactor/index.js.map +0 -1
  88. package/dist/src/graphql/reactor/operations.graphql +0 -336
  89. package/dist/src/graphql/reactor/pubsub.d.ts +0 -27
  90. package/dist/src/graphql/reactor/pubsub.d.ts.map +0 -1
  91. package/dist/src/graphql/reactor/pubsub.js +0 -93
  92. package/dist/src/graphql/reactor/pubsub.js.map +0 -1
  93. package/dist/src/graphql/reactor/requester.d.ts +0 -4
  94. package/dist/src/graphql/reactor/requester.d.ts.map +0 -1
  95. package/dist/src/graphql/reactor/requester.js +0 -22
  96. package/dist/src/graphql/reactor/requester.js.map +0 -1
  97. package/dist/src/graphql/reactor/requester.with-zod.d.ts +0 -4
  98. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +0 -1
  99. package/dist/src/graphql/reactor/requester.with-zod.js +0 -119
  100. package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
  101. package/dist/src/graphql/reactor/resolvers.d.ts +0 -211
  102. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  103. package/dist/src/graphql/reactor/resolvers.js +0 -595
  104. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  105. package/dist/src/graphql/reactor/schema.graphql +0 -469
  106. package/dist/src/graphql/reactor/subgraph.d.ts +0 -47
  107. package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
  108. package/dist/src/graphql/reactor/subgraph.js +0 -522
  109. package/dist/src/graphql/reactor/subgraph.js.map +0 -1
  110. package/dist/src/graphql/reactor/validation.d.ts +0 -120
  111. package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
  112. package/dist/src/graphql/reactor/validation.js +0 -87
  113. package/dist/src/graphql/reactor/validation.js.map +0 -1
  114. package/dist/src/graphql/system/env/getters.d.ts +0 -2
  115. package/dist/src/graphql/system/env/getters.d.ts.map +0 -1
  116. package/dist/src/graphql/system/env/getters.js +0 -4
  117. package/dist/src/graphql/system/env/getters.js.map +0 -1
  118. package/dist/src/graphql/system/env/index.d.ts +0 -2
  119. package/dist/src/graphql/system/env/index.d.ts.map +0 -1
  120. package/dist/src/graphql/system/env/index.js +0 -5
  121. package/dist/src/graphql/system/env/index.js.map +0 -1
  122. package/dist/src/graphql/system/index.d.ts +0 -2
  123. package/dist/src/graphql/system/index.d.ts.map +0 -1
  124. package/dist/src/graphql/system/index.js +0 -2
  125. package/dist/src/graphql/system/index.js.map +0 -1
  126. package/dist/src/graphql/system/types.d.ts +0 -2
  127. package/dist/src/graphql/system/types.d.ts.map +0 -1
  128. package/dist/src/graphql/system/types.js +0 -2
  129. package/dist/src/graphql/system/types.js.map +0 -1
  130. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
  131. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
  132. package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
  133. package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
  134. package/dist/src/graphql/types.d.ts +0 -103
  135. package/dist/src/graphql/types.d.ts.map +0 -1
  136. package/dist/src/graphql/types.js +0 -2
  137. package/dist/src/graphql/types.js.map +0 -1
  138. package/dist/src/graphql/utils.d.ts +0 -26
  139. package/dist/src/graphql/utils.d.ts.map +0 -1
  140. package/dist/src/graphql/utils.js +0 -104
  141. package/dist/src/graphql/utils.js.map +0 -1
  142. package/dist/src/graphql/websocket.d.ts +0 -3
  143. package/dist/src/graphql/websocket.d.ts.map +0 -1
  144. package/dist/src/graphql/websocket.js +0 -15
  145. package/dist/src/graphql/websocket.js.map +0 -1
  146. package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
  147. package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
  148. package/dist/src/migrations/001_create_document_permissions.js +0 -91
  149. package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
  150. package/dist/src/migrations/index.d.ts +0 -10
  151. package/dist/src/migrations/index.d.ts.map +0 -1
  152. package/dist/src/migrations/index.js +0 -56
  153. package/dist/src/migrations/index.js.map +0 -1
  154. package/dist/src/packages/import-loader.d.ts +0 -16
  155. package/dist/src/packages/import-loader.d.ts.map +0 -1
  156. package/dist/src/packages/import-loader.js +0 -61
  157. package/dist/src/packages/import-loader.js.map +0 -1
  158. package/dist/src/packages/import-resolver.d.ts +0 -5
  159. package/dist/src/packages/import-resolver.d.ts.map +0 -1
  160. package/dist/src/packages/import-resolver.js +0 -127
  161. package/dist/src/packages/import-resolver.js.map +0 -1
  162. package/dist/src/packages/package-manager.d.ts +0 -34
  163. package/dist/src/packages/package-manager.d.ts.map +0 -1
  164. package/dist/src/packages/package-manager.js +0 -213
  165. package/dist/src/packages/package-manager.js.map +0 -1
  166. package/dist/src/packages/types.d.ts +0 -40
  167. package/dist/src/packages/types.d.ts.map +0 -1
  168. package/dist/src/packages/types.js +0 -2
  169. package/dist/src/packages/types.js.map +0 -1
  170. package/dist/src/packages/util.d.ts +0 -27
  171. package/dist/src/packages/util.d.ts.map +0 -1
  172. package/dist/src/packages/util.js +0 -97
  173. package/dist/src/packages/util.js.map +0 -1
  174. package/dist/src/packages/vite-loader.d.ts +0 -25
  175. package/dist/src/packages/vite-loader.d.ts.map +0 -1
  176. package/dist/src/packages/vite-loader.js +0 -182
  177. package/dist/src/packages/vite-loader.js.map +0 -1
  178. package/dist/src/server.d.ts +0 -80
  179. package/dist/src/server.d.ts.map +0 -1
  180. package/dist/src/server.js +0 -427
  181. package/dist/src/server.js.map +0 -1
  182. package/dist/src/services/auth.service.d.ts +0 -68
  183. package/dist/src/services/auth.service.d.ts.map +0 -1
  184. package/dist/src/services/auth.service.js +0 -190
  185. package/dist/src/services/auth.service.js.map +0 -1
  186. package/dist/src/services/document-permission.service.d.ts +0 -201
  187. package/dist/src/services/document-permission.service.d.ts.map +0 -1
  188. package/dist/src/services/document-permission.service.js +0 -636
  189. package/dist/src/services/document-permission.service.js.map +0 -1
  190. package/dist/src/sync/types.d.ts +0 -10
  191. package/dist/src/sync/types.d.ts.map +0 -1
  192. package/dist/src/sync/types.js +0 -2
  193. package/dist/src/sync/types.js.map +0 -1
  194. package/dist/src/sync/utils.d.ts +0 -7
  195. package/dist/src/sync/utils.d.ts.map +0 -1
  196. package/dist/src/sync/utils.js +0 -78
  197. package/dist/src/sync/utils.js.map +0 -1
  198. package/dist/src/tracing.d.ts +0 -4
  199. package/dist/src/tracing.d.ts.map +0 -1
  200. package/dist/src/tracing.js +0 -122
  201. package/dist/src/tracing.js.map +0 -1
  202. package/dist/src/types.d.ts +0 -18
  203. package/dist/src/types.d.ts.map +0 -1
  204. package/dist/src/types.js +0 -2
  205. package/dist/src/types.js.map +0 -1
  206. package/dist/src/utils/auth.d.ts +0 -3
  207. package/dist/src/utils/auth.d.ts.map +0 -1
  208. package/dist/src/utils/auth.js +0 -19
  209. package/dist/src/utils/auth.js.map +0 -1
  210. package/dist/src/utils/create-schema.d.ts +0 -31
  211. package/dist/src/utils/create-schema.d.ts.map +0 -1
  212. package/dist/src/utils/create-schema.js +0 -548
  213. package/dist/src/utils/create-schema.js.map +0 -1
  214. package/dist/src/utils/db.d.ts +0 -74
  215. package/dist/src/utils/db.d.ts.map +0 -1
  216. package/dist/src/utils/db.js +0 -101
  217. package/dist/src/utils/db.js.map +0 -1
  218. package/dist/src/utils/drive-url.d.ts +0 -2
  219. package/dist/src/utils/drive-url.d.ts.map +0 -1
  220. package/dist/src/utils/drive-url.js +0 -3
  221. package/dist/src/utils/drive-url.js.map +0 -1
  222. package/dist/src/utils/index.d.ts +0 -4
  223. package/dist/src/utils/index.d.ts.map +0 -1
  224. package/dist/src/utils/index.js +0 -4
  225. package/dist/src/utils/index.js.map +0 -1
  226. package/dist/test/benchmarks/load.bench.d.ts +0 -2
  227. package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
  228. package/dist/test/benchmarks/load.bench.js +0 -73
  229. package/dist/test/benchmarks/load.bench.js.map +0 -1
  230. package/dist/test/benchmarks/sync.bench.d.ts +0 -2
  231. package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
  232. package/dist/test/benchmarks/sync.bench.js +0 -119
  233. package/dist/test/benchmarks/sync.bench.js.map +0 -1
  234. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +0 -2
  235. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +0 -1
  236. package/dist/test/connect-switchboard-reshuffle-convergence.test.js +0 -203
  237. package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +0 -1
  238. package/dist/test/connect-switchboard-sync.test.d.ts +0 -2
  239. package/dist/test/connect-switchboard-sync.test.d.ts.map +0 -1
  240. package/dist/test/connect-switchboard-sync.test.js +0 -581
  241. package/dist/test/connect-switchboard-sync.test.js.map +0 -1
  242. package/dist/test/document-drive-subgraph.test.d.ts +0 -2
  243. package/dist/test/document-drive-subgraph.test.d.ts.map +0 -1
  244. package/dist/test/document-drive-subgraph.test.js +0 -186
  245. package/dist/test/document-drive-subgraph.test.js.map +0 -1
  246. package/dist/test/document-model-subgraph-legacy-permissions.test.d.ts +0 -2
  247. package/dist/test/document-model-subgraph-legacy-permissions.test.d.ts.map +0 -1
  248. package/dist/test/document-model-subgraph-legacy-permissions.test.js +0 -518
  249. package/dist/test/document-model-subgraph-legacy-permissions.test.js.map +0 -1
  250. package/dist/test/document-model-subgraph-permissions.test.d.ts +0 -2
  251. package/dist/test/document-model-subgraph-permissions.test.d.ts.map +0 -1
  252. package/dist/test/document-model-subgraph-permissions.test.js +0 -635
  253. package/dist/test/document-model-subgraph-permissions.test.js.map +0 -1
  254. package/dist/test/document-model-subgraph.test.d.ts +0 -2
  255. package/dist/test/document-model-subgraph.test.d.ts.map +0 -1
  256. package/dist/test/document-model-subgraph.test.js +0 -441
  257. package/dist/test/document-model-subgraph.test.js.map +0 -1
  258. package/dist/test/document-permission.service.test.d.ts +0 -2
  259. package/dist/test/document-permission.service.test.d.ts.map +0 -1
  260. package/dist/test/document-permission.service.test.js +0 -480
  261. package/dist/test/document-permission.service.test.js.map +0 -1
  262. package/dist/test/drive-handlers.d.ts +0 -4
  263. package/dist/test/drive-handlers.d.ts.map +0 -1
  264. package/dist/test/drive-handlers.js +0 -39
  265. package/dist/test/drive-handlers.js.map +0 -1
  266. package/dist/test/drive-info-endpoint.test.d.ts +0 -2
  267. package/dist/test/drive-info-endpoint.test.d.ts.map +0 -1
  268. package/dist/test/drive-info-endpoint.test.js +0 -123
  269. package/dist/test/drive-info-endpoint.test.js.map +0 -1
  270. package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
  271. package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
  272. package/dist/test/drive-subgraph-permissions.test.js +0 -195
  273. package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
  274. package/dist/test/drive.test.d.ts +0 -2
  275. package/dist/test/drive.test.d.ts.map +0 -1
  276. package/dist/test/drive.test.js +0 -142
  277. package/dist/test/drive.test.js.map +0 -1
  278. package/dist/test/identity-integration.test.d.ts +0 -2
  279. package/dist/test/identity-integration.test.d.ts.map +0 -1
  280. package/dist/test/identity-integration.test.js +0 -349
  281. package/dist/test/identity-integration.test.js.map +0 -1
  282. package/dist/test/index.d.ts +0 -3
  283. package/dist/test/index.d.ts.map +0 -1
  284. package/dist/test/index.js +0 -3
  285. package/dist/test/index.js.map +0 -1
  286. package/dist/test/permissions-integration.test.d.ts +0 -2
  287. package/dist/test/permissions-integration.test.d.ts.map +0 -1
  288. package/dist/test/permissions-integration.test.js +0 -421
  289. package/dist/test/permissions-integration.test.js.map +0 -1
  290. package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
  291. package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
  292. package/dist/test/pull-responder-transmitter.test.js +0 -220
  293. package/dist/test/pull-responder-transmitter.test.js.map +0 -1
  294. package/dist/test/push-backfill.test.d.ts +0 -2
  295. package/dist/test/push-backfill.test.d.ts.map +0 -1
  296. package/dist/test/push-backfill.test.js +0 -298
  297. package/dist/test/push-backfill.test.js.map +0 -1
  298. package/dist/test/push-transmitter.test.d.ts +0 -2
  299. package/dist/test/push-transmitter.test.d.ts.map +0 -1
  300. package/dist/test/push-transmitter.test.js +0 -179
  301. package/dist/test/push-transmitter.test.js.map +0 -1
  302. package/dist/test/reactor-adapters.test.d.ts +0 -2
  303. package/dist/test/reactor-adapters.test.d.ts.map +0 -1
  304. package/dist/test/reactor-adapters.test.js +0 -379
  305. package/dist/test/reactor-adapters.test.js.map +0 -1
  306. package/dist/test/reactor-client.test.d.ts +0 -2
  307. package/dist/test/reactor-client.test.d.ts.map +0 -1
  308. package/dist/test/reactor-client.test.js +0 -212
  309. package/dist/test/reactor-client.test.js.map +0 -1
  310. package/dist/test/reactor-resolvers.test.d.ts +0 -2
  311. package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
  312. package/dist/test/reactor-resolvers.test.js +0 -258
  313. package/dist/test/reactor-resolvers.test.js.map +0 -1
  314. package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
  315. package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
  316. package/dist/test/reactor-subgraph-permissions.test.js +0 -397
  317. package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
  318. package/dist/test/router.test.d.ts +0 -2
  319. package/dist/test/router.test.d.ts.map +0 -1
  320. package/dist/test/router.test.js +0 -38
  321. package/dist/test/router.test.js.map +0 -1
  322. package/dist/test/subscriptions.test.d.ts +0 -2
  323. package/dist/test/subscriptions.test.d.ts.map +0 -1
  324. package/dist/test/subscriptions.test.js +0 -248
  325. package/dist/test/subscriptions.test.js.map +0 -1
  326. package/dist/test/utils/gql-resolver-bridge.d.ts +0 -15
  327. package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
  328. package/dist/test/utils/gql-resolver-bridge.js +0 -89
  329. package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
  330. package/dist/test/utils.d.ts +0 -10
  331. package/dist/test/utils.d.ts.map +0 -1
  332. package/dist/test/utils.js +0 -23
  333. package/dist/test/utils.js.map +0 -1
  334. package/dist/tsconfig.tsbuildinfo +0 -1
  335. package/dist/vitest.config.d.ts +0 -3
  336. package/dist/vitest.config.d.ts.map +0 -1
  337. package/dist/vitest.config.js +0 -38
  338. package/dist/vitest.config.js.map +0 -1
@@ -1,488 +0,0 @@
1
- import { pascalCase } from "change-case";
2
- import { childLogger, PullResponderTransmitter, responseForDocument, responseForDrive, } from "document-drive";
3
- import { generateId } from "document-model/core";
4
- import { GraphQLError } from "graphql";
5
- import { gql } from "graphql-tag";
6
- import { processAcknowledge, processGetStrands, processPushUpdate, } from "../sync/utils.js";
7
- import { BaseSubgraph } from "./base-subgraph.js";
8
- import { buildGraphQlDriveDocument, IDocumentGraphql } from "./utils.js";
9
- const driveKindTypeNames = {
10
- file: "DocumentDrive_FileNode",
11
- folder: "DocumentDrive_FolderNode",
12
- };
13
- export const DocumentDriveResolvers = {
14
- DocumentDrive_Node: {
15
- __resolveType: (obj) => {
16
- return obj.documentType
17
- ? driveKindTypeNames.file
18
- : driveKindTypeNames.folder;
19
- },
20
- },
21
- DocumentDrive: {
22
- operations: IDocumentGraphql.resolvers.IDocument.operations,
23
- },
24
- };
25
- export class DriveSubgraph extends BaseSubgraph {
26
- logger = childLogger([
27
- "DriveSubgraph",
28
- Math.floor(Math.random() * 999).toString(),
29
- ]);
30
- constructor(args) {
31
- super(args);
32
- this.logger.verbose(`constructor()`);
33
- }
34
- // Note: This GQL declaration depends on the document drive subgraph already
35
- // being registered. If the document drive subgraph is not registered, this
36
- // will throw an error as it relies on those types.
37
- name = "d/:drive";
38
- typeDefs = gql `
39
- type DriveMeta {
40
- preferredEditor: String
41
- }
42
-
43
- extend type DocumentDrive_DocumentDriveState {
44
- meta: DriveMeta
45
- }
46
- extend type DocumentDrive {
47
- meta: DriveMeta
48
- slug: String!
49
- }
50
-
51
- type Query {
52
- system: System
53
- drive: DriveInfo
54
- driveDocument: DocumentDrive
55
- document(id: String!): DriveDocument
56
- documents: [String!]!
57
- }
58
-
59
- type Mutation {
60
- registerPullResponderListener(
61
- filter: InputListenerFilter!
62
- listenerId: String
63
- ): DocumentDrive_Listener
64
- pushUpdates(strands: [InputStrandUpdate!]): [ListenerRevision!]!
65
- acknowledge(
66
- listenerId: String!
67
- revisions: [ListenerRevisionInput]
68
- ): Boolean
69
- }
70
-
71
- input InputOperationSignerUser {
72
- address: String!
73
- networkId: String!
74
- chainId: Int!
75
- }
76
-
77
- type OperationSignerUser {
78
- address: String!
79
- networkId: String!
80
- chainId: Int!
81
- }
82
-
83
- input InputOperationSignerApp {
84
- name: String!
85
- key: String!
86
- }
87
-
88
- type OperationSignerApp {
89
- name: String!
90
- key: String!
91
- }
92
-
93
- type OperationSigner {
94
- app: OperationSignerApp
95
- user: OperationSignerUser
96
- signatures: [[String!]]!
97
- }
98
-
99
- input InputOperationSigner {
100
- app: InputOperationSignerApp
101
- user: InputOperationSignerUser
102
- signatures: [[String!]]!
103
- }
104
-
105
- type OperationContext {
106
- signer: OperationSigner
107
- }
108
-
109
- input InputOperationContext {
110
- signer: InputOperationSigner
111
- }
112
-
113
- input InputOperationUpdate {
114
- index: Int!
115
- skip: Int
116
- type: String!
117
- id: String!
118
- actionId: String!
119
- input: String!
120
- hash: String!
121
- timestampUtcMs: String!
122
- error: String
123
- context: InputOperationContext
124
- }
125
-
126
- type OperationUpdate {
127
- index: Int!
128
- skip: Int
129
- type: String!
130
- id: String!
131
- actionId: String!
132
- input: String!
133
- hash: String!
134
- timestampUtcMs: String!
135
- error: String
136
- context: OperationContext
137
- }
138
-
139
- type StrandUpdate {
140
- driveId: String!
141
- documentId: String!
142
- documentType: String!
143
- scope: String!
144
- branch: String!
145
- operations: [OperationUpdate!]!
146
- }
147
-
148
- input InputStrandUpdate {
149
- driveId: String!
150
- documentId: String!
151
- documentType: String!
152
- scope: String!
153
- branch: String!
154
- operations: [InputOperationUpdate!]!
155
- }
156
-
157
- input InputListenerFilter {
158
- documentType: [String!]
159
- documentId: [String!]
160
- scope: [String!]
161
- branch: [String!]
162
- }
163
-
164
- enum UpdateStatus {
165
- SUCCESS
166
- MISSING
167
- CONFLICT
168
- ERROR
169
- }
170
-
171
- input ListenerRevisionInput {
172
- driveId: String!
173
- documentId: String!
174
- documentType: String!
175
- scope: String!
176
- branch: String!
177
- status: UpdateStatus!
178
- revision: Int!
179
- }
180
-
181
- type ListenerRevision {
182
- driveId: String!
183
- documentId: String!
184
- documentType: String!
185
- scope: String!
186
- branch: String!
187
- status: UpdateStatus!
188
- revision: Int!
189
- error: String
190
- }
191
-
192
- type System {
193
- sync: Sync
194
- }
195
-
196
- type Sync {
197
- strands(listenerId: ID!, since: String): [StrandUpdate!]!
198
- }
199
-
200
- type DriveInfo {
201
- id: String!
202
- name: String!
203
- slug: String!
204
- meta: DriveMeta
205
- icon: String
206
- }
207
- `;
208
- async getDriveIdBySlugOrId(slugOrId) {
209
- try {
210
- return await this.reactor.getDriveIdBySlug(slugOrId);
211
- }
212
- catch {
213
- const drive = await this.reactor.getDrive(slugOrId);
214
- return drive.header.id;
215
- }
216
- }
217
- async getDriveBySlugOrId(slugOrId) {
218
- try {
219
- return await this.reactor.getDriveBySlug(slugOrId);
220
- }
221
- catch {
222
- const drive = await this.reactor.getDrive(slugOrId);
223
- return drive;
224
- }
225
- }
226
- resolvers = {
227
- Asset: {
228
- __resolveType: (obj) => {
229
- return obj.type;
230
- },
231
- },
232
- Node: {
233
- __resolveType: (obj) => {
234
- return obj.documentType
235
- ? driveKindTypeNames.file
236
- : driveKindTypeNames.folder;
237
- },
238
- },
239
- Operation: {
240
- type: (operation) => "type" in operation ? operation.type : operation.action.type,
241
- id: (operation) => operation.id,
242
- },
243
- DriveDocument: {
244
- operations: IDocumentGraphql.resolvers.IDocument.operations,
245
- },
246
- ...DocumentDriveResolvers,
247
- Query: {
248
- drive: async (_, args, ctx) => {
249
- this.logger.verbose(`drive()`, JSON.stringify(args));
250
- if (!ctx.driveId)
251
- throw new Error("Drive ID is required");
252
- const drive = await this.getDriveBySlugOrId(ctx.driveId);
253
- return responseForDrive(drive);
254
- },
255
- driveDocument: async (_, args, ctx) => {
256
- this.logger.verbose(`driveDocument()`, JSON.stringify(args));
257
- if (!ctx.driveId)
258
- throw new Error("Drive ID is required");
259
- const drive = await this.getDriveBySlugOrId(ctx.driveId);
260
- ctx.document = drive;
261
- return buildGraphQlDriveDocument(drive);
262
- },
263
- documents: async (_, args, ctx) => {
264
- this.logger.verbose(`documents(drive: ${ctx.driveId})`, args);
265
- if (!ctx.driveId)
266
- throw new Error("Drive ID is required");
267
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
268
- const documents = await this.reactor.getDocuments(driveId);
269
- return documents;
270
- },
271
- document: async (_, { id }, ctx) => {
272
- this.logger.verbose(`document(drive: ${ctx.driveId}, id: ${id})`);
273
- if (!ctx.driveId)
274
- throw new Error("Drive ID is required");
275
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
276
- if (id !== driveId) {
277
- const driveDocuments = await this.reactor.getDocuments(driveId);
278
- if (!driveDocuments.includes(id)) {
279
- throw new GraphQLError("Document is not part of this drive");
280
- }
281
- }
282
- const document = await this.reactor.getDocument(id);
283
- const dms = this.reactor.getDocumentModelModules();
284
- const dm = dms.find(({ documentModel }) => documentModel.global.id === document.header.documentType);
285
- let node;
286
- const driveDocument = await this.reactor.getDrive(driveId);
287
- if (driveDocument?.state?.global?.nodes) {
288
- node = driveDocument.state.global.nodes.find((node) => node.id === id);
289
- }
290
- // eslint-disable-next-line
291
- const globalState = document.state.global;
292
- if (!globalState)
293
- throw new Error("Document was found with no global state");
294
- const typeName = pascalCase((dm?.documentModel.global.name || "").replaceAll("/", " "));
295
- ctx.document = document;
296
- return responseForDocument(document, typeName, node?.name);
297
- },
298
- system: () => ({ sync: {} }),
299
- },
300
- Mutation: {
301
- registerPullResponderListener: async (_, { filter, listenerId }, ctx) => {
302
- this.logger.verbose(`registerPullResponderListener(drive: ${ctx.driveId})`, filter);
303
- if (!ctx.driveId) {
304
- throw new Error("Drive ID is required");
305
- }
306
- const reactorDriveId = await this.getDriveIdBySlugOrId(ctx.driveId);
307
- // Check global roles first
308
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "");
309
- const isGlobalUser = ctx.isUser?.(ctx.user?.address ?? "");
310
- const isGlobalGuest = ctx.isGuest?.(ctx.user?.address ?? "") ||
311
- process.env.FREE_ENTRY === "true";
312
- // If user has a global role, allow access
313
- const hasGlobalAccess = isGlobalAdmin || isGlobalUser || isGlobalGuest;
314
- // If no global access, check document-level permissions
315
- if (!hasGlobalAccess && this.documentPermissionService) {
316
- const canRead = await this.documentPermissionService.canReadDocument(reactorDriveId, ctx.user?.address);
317
- if (!canRead) {
318
- this.logger.warn(`registerPullResponderListener rejected: user ${ctx.user?.address ?? "anonymous"} lacks read permission for drive ${reactorDriveId}`);
319
- throw new GraphQLError("Forbidden: insufficient permissions to read from this drive");
320
- }
321
- }
322
- else if (!hasGlobalAccess) {
323
- throw new GraphQLError("Forbidden");
324
- }
325
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
326
- // Create the listener and transmitter
327
- const uuid = listenerId ?? generateId();
328
- const listener = {
329
- driveId: driveId,
330
- listenerId: uuid,
331
- block: false,
332
- filter,
333
- system: false,
334
- label: `Pullresponder #${uuid}`,
335
- callInfo: {
336
- data: "",
337
- name: "PullResponder",
338
- transmitterType: "PullResponder",
339
- },
340
- };
341
- // TODO: circular reference
342
- // TODO: once we have DI, remove this and pass around
343
- const listenerManager = this.reactor.listeners;
344
- listener.transmitter = new PullResponderTransmitter(listener, listenerManager);
345
- // set the listener on the manager directly (bypassing operations)
346
- try {
347
- await listenerManager.setListener(driveId, listener);
348
- }
349
- catch (error) {
350
- this.logger.error(`Failed to register ephemeral listener: ${error}`);
351
- throw new Error(`Listener couldn't be registered: ${error}`);
352
- }
353
- // for backwards compatibility: return everything but the transmitter
354
- return {
355
- driveId: listener.driveId,
356
- listenerId: listener.listenerId,
357
- label: listener.label,
358
- block: listener.block,
359
- system: listener.system,
360
- filter: listener.filter,
361
- callInfo: listener.callInfo,
362
- };
363
- },
364
- pushUpdates: async (_, { strands: strandsGql }, ctx) => {
365
- if (!ctx.driveId)
366
- throw new Error("Drive ID is required");
367
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
368
- this.logger.verbose(`pushUpdates(drive: slug:${ctx.driveId} id:${driveId})`, strandsGql);
369
- // Check global roles first (write requires admin or user, not guest)
370
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "");
371
- const isGlobalUser = ctx.isUser?.(ctx.user?.address ?? "");
372
- // If user has global write access, allow
373
- const hasGlobalWriteAccess = isGlobalAdmin || isGlobalUser;
374
- // If no global write access, check document-level permissions
375
- if (!hasGlobalWriteAccess && this.documentPermissionService) {
376
- const canWrite = await this.documentPermissionService.canWriteDocument(driveId, ctx.user?.address);
377
- if (!canWrite) {
378
- this.logger.warn(`pushUpdates rejected: user ${ctx.user?.address ?? "anonymous"} lacks write permission for drive ${driveId}`);
379
- throw new GraphQLError("Forbidden: insufficient permissions to write to this drive");
380
- }
381
- }
382
- else if (!hasGlobalWriteAccess) {
383
- throw new GraphQLError("Forbidden");
384
- }
385
- // translate data types
386
- const strands = strandsGql.map((strandGql) => {
387
- return {
388
- operations: strandGql.operations.map((op) => ({
389
- index: op.index,
390
- skip: op.skip ?? 0,
391
- timestampUtcMs: op.timestampUtcMs,
392
- hash: op.hash,
393
- id: op.id,
394
- // Map GraphQL context to Action.context (only signer is defined in schema)
395
- action: {
396
- id: op.actionId,
397
- type: op.type,
398
- timestampUtcMs: op.timestampUtcMs,
399
- scope: strandGql.scope,
400
- input: JSON.parse(op.input),
401
- context: op.context,
402
- },
403
- })),
404
- documentId: strandGql.documentId,
405
- documentType: strandGql.documentType,
406
- driveId: strandGql.driveId,
407
- scope: strandGql.scope,
408
- branch: strandGql.branch,
409
- };
410
- });
411
- // return a list of listener revisions
412
- return await Promise.all(strands.map((strand) => processPushUpdate(this.reactor, strand)));
413
- },
414
- acknowledge: async (_, { listenerId, revisions, }, ctx) => {
415
- if (!listenerId || !revisions)
416
- return false;
417
- if (!ctx.driveId)
418
- throw new Error("Drive ID is required");
419
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
420
- this.logger.verbose(`acknowledge(drive: ${ctx.driveId}/${driveId}, listenerId: ${listenerId})`, revisions);
421
- // translate data types
422
- const validEntries = revisions
423
- .filter((r) => r !== null)
424
- .map((e) => ({
425
- driveId: e.driveId,
426
- documentId: e.documentId,
427
- documentType: e.documentType,
428
- scope: e.scope,
429
- branch: e.branch,
430
- revision: e.revision,
431
- status: e.status,
432
- }));
433
- // return a boolean indicating if the acknowledge was successful
434
- return await processAcknowledge(this.reactor, driveId, listenerId, validEntries);
435
- },
436
- },
437
- System: {},
438
- Sync: {
439
- strands: async (_, { listenerId, since, }, ctx) => {
440
- if (!ctx.driveId)
441
- throw new Error("Drive ID is required");
442
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
443
- this.logger.verbose(`strands(drive: ${ctx.driveId}/${driveId}, listenerId: ${listenerId}, since:${since})`);
444
- // Check global roles first
445
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "");
446
- const isGlobalUser = ctx.isUser?.(ctx.user?.address ?? "");
447
- const isGlobalGuest = ctx.isGuest?.(ctx.user?.address ?? "") ||
448
- process.env.FREE_ENTRY === "true";
449
- // If user has a global role, allow access
450
- const hasGlobalAccess = isGlobalAdmin || isGlobalUser || isGlobalGuest;
451
- // If no global access, check document-level permissions
452
- if (!hasGlobalAccess && this.documentPermissionService) {
453
- const canRead = await this.documentPermissionService.canReadDocument(driveId, ctx.user?.address);
454
- if (!canRead) {
455
- this.logger.warn(`strands filtered: user ${ctx.user?.address ?? "anonymous"} lacks read permission for drive ${driveId}`);
456
- return []; // Return empty for drives without permission
457
- }
458
- }
459
- else if (!hasGlobalAccess) {
460
- return []; // Return empty if no access
461
- }
462
- // get the requested strand updates
463
- const strands = await processGetStrands(this.reactor, driveId, listenerId, since);
464
- // translate data types
465
- return strands.map((update) => ({
466
- driveId: update.driveId,
467
- documentId: update.documentId,
468
- documentType: update.documentType,
469
- scope: update.scope,
470
- branch: update.branch,
471
- operations: update.operations.map((op) => ({
472
- index: op.index,
473
- skip: op.skip,
474
- // no extra name field; GraphQL schema exposes `type`
475
- input: JSON.stringify(op.input),
476
- hash: op.hash,
477
- timestampUtcMs: op.timestampUtcMs,
478
- type: op.type,
479
- context: op.context,
480
- id: op.id,
481
- actionId: op.actionId,
482
- })),
483
- }));
484
- },
485
- },
486
- };
487
- }
488
- //# sourceMappingURL=drive-subgraph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drive-subgraph.js","sourceRoot":"","sources":["../../../src/graphql/drive-subgraph.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- import type { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
2
- import type { IReactorClient, ISyncManager } from "@powerhousedao/reactor";
3
- import type { ISubgraph, SubgraphClass } from "@powerhousedao/reactor-api";
4
- import type { IDocumentDriveServer, ILogger, IRelationalDbLegacy } from "document-drive";
5
- import type express from "express";
6
- import type http from "node:http";
7
- import type { WebSocketServer } from "ws";
8
- import type { AuthConfig } from "../services/auth.service.js";
9
- import type { DocumentPermissionService } from "../services/document-permission.service.js";
10
- export type GraphqlManagerFeatureFlags = {
11
- enableDocumentModelSubgraphs?: boolean;
12
- useNewDocumentModelSubgraph?: boolean;
13
- };
14
- export declare class GraphQLManager {
15
- #private;
16
- private readonly path;
17
- private readonly app;
18
- private readonly httpServer;
19
- private readonly wsServer;
20
- private readonly reactor;
21
- private readonly reactorClient;
22
- private readonly relationalDb;
23
- private readonly analyticsStore;
24
- private readonly syncManager;
25
- private readonly logger;
26
- private readonly authConfig?;
27
- private readonly documentPermissionService?;
28
- private readonly featureFlags;
29
- private readonly port;
30
- private initialized;
31
- private router;
32
- private coreSubgraphsMap;
33
- private contextFields;
34
- private readonly subgraphs;
35
- private authService;
36
- private coreApolloServer;
37
- private readonly subgraphServers;
38
- private readonly subgraphHandlers;
39
- private readonly subgraphWsDisposers;
40
- private gatewayOptions;
41
- private readonly apolloLogger;
42
- constructor(path: string, app: express.Express, httpServer: http.Server, wsServer: WebSocketServer, reactor: IDocumentDriveServer, reactorClient: IReactorClient, relationalDb: IRelationalDbLegacy, analyticsStore: IAnalyticsStore, syncManager: ISyncManager, logger: ILogger, authConfig?: AuthConfig | undefined, documentPermissionService?: DocumentPermissionService | undefined, featureFlags?: GraphqlManagerFeatureFlags, port?: number);
43
- init(coreSubgraphs: SubgraphClass[]): Promise<void>;
44
- registerSubgraph(subgraph: SubgraphClass, supergraph?: string, core?: boolean): Promise<ISubgraph>;
45
- updateRouter: (immediate?: boolean) => Promise<void>;
46
- private _updateRouter;
47
- getAdditionalContextFields: () => Record<string, any>;
48
- setAdditionalContextFields(fields: Record<string, any>): void;
49
- setSupergraph(supergraph: string, subgraphs: ISubgraph[]): Promise<void>;
50
- shutdown(): Promise<void>;
51
- }
52
- //# sourceMappingURL=graphql-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql-manager.d.ts","sourceRoot":"","sources":["../../../src/graphql/graphql-manager.ts"],"names":[],"mappings":"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"}