@powerhousedao/reactor-api 6.0.0-dev.23 → 6.0.0-dev.230

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 (326) hide show
  1. package/README.md +6 -0
  2. package/dist/index.d.mts +3039 -0
  3. package/dist/index.d.mts.map +1 -0
  4. package/dist/index.mjs +6691 -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 +79 -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 +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-CHCRSWig.mjs +286 -0
  17. package/dist/utils-CHCRSWig.mjs.map +1 -0
  18. package/package.json +75 -64
  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 -7
  28. package/dist/src/config.d.ts.map +0 -1
  29. package/dist/src/config.js +0 -10
  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 -51
  53. package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
  54. package/dist/src/graphql/document-model-subgraph.js +0 -104
  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 -487
  59. package/dist/src/graphql/drive-subgraph.js.map +0 -1
  60. package/dist/src/graphql/graphql-manager.d.ts +0 -47
  61. package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
  62. package/dist/src/graphql/graphql-manager.js +0 -433
  63. package/dist/src/graphql/graphql-manager.js.map +0 -1
  64. package/dist/src/graphql/index.d.ts +0 -9
  65. package/dist/src/graphql/index.d.ts.map +0 -1
  66. package/dist/src/graphql/index.js +0 -9
  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 -84
  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 -1242
  81. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
  82. package/dist/src/graphql/reactor/gen/graphql.js +0 -496
  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 -253
  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 -53
  100. package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
  101. package/dist/src/graphql/reactor/resolvers.d.ts +0 -175
  102. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  103. package/dist/src/graphql/reactor/resolvers.js +0 -526
  104. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  105. package/dist/src/graphql/reactor/schema.graphql +0 -432
  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 -555
  109. package/dist/src/graphql/reactor/subgraph.js.map +0 -1
  110. package/dist/src/graphql/reactor/validation.d.ts +0 -102
  111. package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
  112. package/dist/src/graphql/reactor/validation.js +0 -73
  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 -3
  123. package/dist/src/graphql/system/index.d.ts.map +0 -1
  124. package/dist/src/graphql/system/index.js +0 -3
  125. package/dist/src/graphql/system/index.js.map +0 -1
  126. package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
  127. package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
  128. package/dist/src/graphql/system/system-subgraph.js +0 -130
  129. package/dist/src/graphql/system/system-subgraph.js.map +0 -1
  130. package/dist/src/graphql/system/types.d.ts +0 -2
  131. package/dist/src/graphql/system/types.d.ts.map +0 -1
  132. package/dist/src/graphql/system/types.js +0 -2
  133. package/dist/src/graphql/system/types.js.map +0 -1
  134. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
  135. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
  136. package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
  137. package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
  138. package/dist/src/graphql/types.d.ts +0 -103
  139. package/dist/src/graphql/types.d.ts.map +0 -1
  140. package/dist/src/graphql/types.js +0 -2
  141. package/dist/src/graphql/types.js.map +0 -1
  142. package/dist/src/graphql/utils.d.ts +0 -26
  143. package/dist/src/graphql/utils.d.ts.map +0 -1
  144. package/dist/src/graphql/utils.js +0 -100
  145. package/dist/src/graphql/utils.js.map +0 -1
  146. package/dist/src/graphql/websocket.d.ts +0 -3
  147. package/dist/src/graphql/websocket.d.ts.map +0 -1
  148. package/dist/src/graphql/websocket.js +0 -15
  149. package/dist/src/graphql/websocket.js.map +0 -1
  150. package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
  151. package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
  152. package/dist/src/migrations/001_create_document_permissions.js +0 -91
  153. package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
  154. package/dist/src/migrations/index.d.ts +0 -10
  155. package/dist/src/migrations/index.d.ts.map +0 -1
  156. package/dist/src/migrations/index.js +0 -56
  157. package/dist/src/migrations/index.js.map +0 -1
  158. package/dist/src/packages/import-loader.d.ts +0 -16
  159. package/dist/src/packages/import-loader.d.ts.map +0 -1
  160. package/dist/src/packages/import-loader.js +0 -61
  161. package/dist/src/packages/import-loader.js.map +0 -1
  162. package/dist/src/packages/import-resolver.d.ts +0 -5
  163. package/dist/src/packages/import-resolver.d.ts.map +0 -1
  164. package/dist/src/packages/import-resolver.js +0 -127
  165. package/dist/src/packages/import-resolver.js.map +0 -1
  166. package/dist/src/packages/package-manager.d.ts +0 -34
  167. package/dist/src/packages/package-manager.d.ts.map +0 -1
  168. package/dist/src/packages/package-manager.js +0 -213
  169. package/dist/src/packages/package-manager.js.map +0 -1
  170. package/dist/src/packages/types.d.ts +0 -39
  171. package/dist/src/packages/types.d.ts.map +0 -1
  172. package/dist/src/packages/types.js +0 -2
  173. package/dist/src/packages/types.js.map +0 -1
  174. package/dist/src/packages/util.d.ts +0 -27
  175. package/dist/src/packages/util.d.ts.map +0 -1
  176. package/dist/src/packages/util.js +0 -97
  177. package/dist/src/packages/util.js.map +0 -1
  178. package/dist/src/packages/vite-loader.d.ts +0 -24
  179. package/dist/src/packages/vite-loader.d.ts.map +0 -1
  180. package/dist/src/packages/vite-loader.js +0 -172
  181. package/dist/src/packages/vite-loader.js.map +0 -1
  182. package/dist/src/server.d.ts +0 -73
  183. package/dist/src/server.d.ts.map +0 -1
  184. package/dist/src/server.js +0 -431
  185. package/dist/src/server.js.map +0 -1
  186. package/dist/src/services/auth.service.d.ts +0 -68
  187. package/dist/src/services/auth.service.d.ts.map +0 -1
  188. package/dist/src/services/auth.service.js +0 -199
  189. package/dist/src/services/auth.service.js.map +0 -1
  190. package/dist/src/services/document-permission.service.d.ts +0 -201
  191. package/dist/src/services/document-permission.service.d.ts.map +0 -1
  192. package/dist/src/services/document-permission.service.js +0 -636
  193. package/dist/src/services/document-permission.service.js.map +0 -1
  194. package/dist/src/sync/types.d.ts +0 -10
  195. package/dist/src/sync/types.d.ts.map +0 -1
  196. package/dist/src/sync/types.js +0 -2
  197. package/dist/src/sync/types.js.map +0 -1
  198. package/dist/src/sync/utils.d.ts +0 -7
  199. package/dist/src/sync/utils.d.ts.map +0 -1
  200. package/dist/src/sync/utils.js +0 -78
  201. package/dist/src/sync/utils.js.map +0 -1
  202. package/dist/src/tracing.d.ts +0 -4
  203. package/dist/src/tracing.d.ts.map +0 -1
  204. package/dist/src/tracing.js +0 -122
  205. package/dist/src/tracing.js.map +0 -1
  206. package/dist/src/types.d.ts +0 -18
  207. package/dist/src/types.d.ts.map +0 -1
  208. package/dist/src/types.js +0 -2
  209. package/dist/src/types.js.map +0 -1
  210. package/dist/src/utils/auth.d.ts +0 -3
  211. package/dist/src/utils/auth.d.ts.map +0 -1
  212. package/dist/src/utils/auth.js +0 -19
  213. package/dist/src/utils/auth.js.map +0 -1
  214. package/dist/src/utils/create-schema.d.ts +0 -11
  215. package/dist/src/utils/create-schema.d.ts.map +0 -1
  216. package/dist/src/utils/create-schema.js +0 -322
  217. package/dist/src/utils/create-schema.js.map +0 -1
  218. package/dist/src/utils/db.d.ts +0 -74
  219. package/dist/src/utils/db.d.ts.map +0 -1
  220. package/dist/src/utils/db.js +0 -101
  221. package/dist/src/utils/db.js.map +0 -1
  222. package/dist/src/utils/drive-url.d.ts +0 -2
  223. package/dist/src/utils/drive-url.d.ts.map +0 -1
  224. package/dist/src/utils/drive-url.js +0 -3
  225. package/dist/src/utils/drive-url.js.map +0 -1
  226. package/dist/src/utils/index.d.ts +0 -4
  227. package/dist/src/utils/index.d.ts.map +0 -1
  228. package/dist/src/utils/index.js +0 -4
  229. package/dist/src/utils/index.js.map +0 -1
  230. package/dist/test/benchmarks/load.bench.d.ts +0 -2
  231. package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
  232. package/dist/test/benchmarks/load.bench.js +0 -73
  233. package/dist/test/benchmarks/load.bench.js.map +0 -1
  234. package/dist/test/benchmarks/sync.bench.d.ts +0 -2
  235. package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
  236. package/dist/test/benchmarks/sync.bench.js +0 -119
  237. package/dist/test/benchmarks/sync.bench.js.map +0 -1
  238. package/dist/test/document-permission.service.test.d.ts +0 -2
  239. package/dist/test/document-permission.service.test.d.ts.map +0 -1
  240. package/dist/test/document-permission.service.test.js +0 -480
  241. package/dist/test/document-permission.service.test.js.map +0 -1
  242. package/dist/test/drive-handlers.d.ts +0 -4
  243. package/dist/test/drive-handlers.d.ts.map +0 -1
  244. package/dist/test/drive-handlers.js +0 -39
  245. package/dist/test/drive-handlers.js.map +0 -1
  246. package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
  247. package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
  248. package/dist/test/drive-subgraph-permissions.test.js +0 -195
  249. package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
  250. package/dist/test/drive.test.d.ts +0 -2
  251. package/dist/test/drive.test.d.ts.map +0 -1
  252. package/dist/test/drive.test.js +0 -142
  253. package/dist/test/drive.test.js.map +0 -1
  254. package/dist/test/identity-integration.test.d.ts +0 -2
  255. package/dist/test/identity-integration.test.d.ts.map +0 -1
  256. package/dist/test/identity-integration.test.js +0 -349
  257. package/dist/test/identity-integration.test.js.map +0 -1
  258. package/dist/test/index.d.ts +0 -3
  259. package/dist/test/index.d.ts.map +0 -1
  260. package/dist/test/index.js +0 -3
  261. package/dist/test/index.js.map +0 -1
  262. package/dist/test/permissions-integration.test.d.ts +0 -2
  263. package/dist/test/permissions-integration.test.d.ts.map +0 -1
  264. package/dist/test/permissions-integration.test.js +0 -421
  265. package/dist/test/permissions-integration.test.js.map +0 -1
  266. package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
  267. package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
  268. package/dist/test/pull-responder-transmitter.test.js +0 -220
  269. package/dist/test/pull-responder-transmitter.test.js.map +0 -1
  270. package/dist/test/push-transmitter.test.d.ts +0 -2
  271. package/dist/test/push-transmitter.test.d.ts.map +0 -1
  272. package/dist/test/push-transmitter.test.js +0 -179
  273. package/dist/test/push-transmitter.test.js.map +0 -1
  274. package/dist/test/reactor-adapters.test.d.ts +0 -2
  275. package/dist/test/reactor-adapters.test.d.ts.map +0 -1
  276. package/dist/test/reactor-adapters.test.js +0 -379
  277. package/dist/test/reactor-adapters.test.js.map +0 -1
  278. package/dist/test/reactor-client.test.d.ts +0 -2
  279. package/dist/test/reactor-client.test.d.ts.map +0 -1
  280. package/dist/test/reactor-client.test.js +0 -212
  281. package/dist/test/reactor-client.test.js.map +0 -1
  282. package/dist/test/reactor-resolvers.test.d.ts +0 -2
  283. package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
  284. package/dist/test/reactor-resolvers.test.js +0 -261
  285. package/dist/test/reactor-resolvers.test.js.map +0 -1
  286. package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
  287. package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
  288. package/dist/test/reactor-subgraph-permissions.test.js +0 -400
  289. package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
  290. package/dist/test/router.test.d.ts +0 -2
  291. package/dist/test/router.test.d.ts.map +0 -1
  292. package/dist/test/router.test.js +0 -38
  293. package/dist/test/router.test.js.map +0 -1
  294. package/dist/test/subscriptions.test.d.ts +0 -2
  295. package/dist/test/subscriptions.test.d.ts.map +0 -1
  296. package/dist/test/subscriptions.test.js +0 -246
  297. package/dist/test/subscriptions.test.js.map +0 -1
  298. package/dist/test/system.test.d.ts +0 -2
  299. package/dist/test/system.test.d.ts.map +0 -1
  300. package/dist/test/system.test.js +0 -211
  301. package/dist/test/system.test.js.map +0 -1
  302. package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
  303. package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
  304. package/dist/test/three-reactor-gql-sync.test.js +0 -368
  305. package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
  306. package/dist/test/two-reactor-gql-catchup-duplicate.test.d.ts +0 -2
  307. package/dist/test/two-reactor-gql-catchup-duplicate.test.d.ts.map +0 -1
  308. package/dist/test/two-reactor-gql-catchup-duplicate.test.js +0 -264
  309. package/dist/test/two-reactor-gql-catchup-duplicate.test.js.map +0 -1
  310. package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
  311. package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
  312. package/dist/test/two-reactor-gql-sync.test.js +0 -348
  313. package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
  314. package/dist/test/utils/gql-resolver-bridge.d.ts +0 -12
  315. package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
  316. package/dist/test/utils/gql-resolver-bridge.js +0 -60
  317. package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
  318. package/dist/test/utils.d.ts +0 -10
  319. package/dist/test/utils.d.ts.map +0 -1
  320. package/dist/test/utils.js +0 -23
  321. package/dist/test/utils.js.map +0 -1
  322. package/dist/tsconfig.tsbuildinfo +0 -1
  323. package/dist/vitest.config.d.ts +0 -3
  324. package/dist/vitest.config.d.ts.map +0 -1
  325. package/dist/vitest.config.js +0 -38
  326. package/dist/vitest.config.js.map +0 -1
@@ -1,487 +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
- return responseForDocument(document, typeName, node?.name);
296
- },
297
- system: () => ({ sync: {} }),
298
- },
299
- Mutation: {
300
- registerPullResponderListener: async (_, { filter, listenerId }, ctx) => {
301
- this.logger.verbose(`registerPullResponderListener(drive: ${ctx.driveId})`, filter);
302
- if (!ctx.driveId) {
303
- throw new Error("Drive ID is required");
304
- }
305
- const reactorDriveId = await this.getDriveIdBySlugOrId(ctx.driveId);
306
- // Check global roles first
307
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "");
308
- const isGlobalUser = ctx.isUser?.(ctx.user?.address ?? "");
309
- const isGlobalGuest = ctx.isGuest?.(ctx.user?.address ?? "") ||
310
- process.env.FREE_ENTRY === "true";
311
- // If user has a global role, allow access
312
- const hasGlobalAccess = isGlobalAdmin || isGlobalUser || isGlobalGuest;
313
- // If no global access, check document-level permissions
314
- if (!hasGlobalAccess && this.documentPermissionService) {
315
- const canRead = await this.documentPermissionService.canReadDocument(reactorDriveId, ctx.user?.address);
316
- if (!canRead) {
317
- this.logger.warn(`registerPullResponderListener rejected: user ${ctx.user?.address ?? "anonymous"} lacks read permission for drive ${reactorDriveId}`);
318
- throw new GraphQLError("Forbidden: insufficient permissions to read from this drive");
319
- }
320
- }
321
- else if (!hasGlobalAccess) {
322
- throw new GraphQLError("Forbidden");
323
- }
324
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
325
- // Create the listener and transmitter
326
- const uuid = listenerId ?? generateId();
327
- const listener = {
328
- driveId: driveId,
329
- listenerId: uuid,
330
- block: false,
331
- filter,
332
- system: false,
333
- label: `Pullresponder #${uuid}`,
334
- callInfo: {
335
- data: "",
336
- name: "PullResponder",
337
- transmitterType: "PullResponder",
338
- },
339
- };
340
- // TODO: circular reference
341
- // TODO: once we have DI, remove this and pass around
342
- const listenerManager = this.reactor.listeners;
343
- listener.transmitter = new PullResponderTransmitter(listener, listenerManager);
344
- // set the listener on the manager directly (bypassing operations)
345
- try {
346
- await listenerManager.setListener(driveId, listener);
347
- }
348
- catch (error) {
349
- this.logger.error(`Failed to register ephemeral listener: ${error}`);
350
- throw new Error(`Listener couldn't be registered: ${error}`);
351
- }
352
- // for backwards compatibility: return everything but the transmitter
353
- return {
354
- driveId: listener.driveId,
355
- listenerId: listener.listenerId,
356
- label: listener.label,
357
- block: listener.block,
358
- system: listener.system,
359
- filter: listener.filter,
360
- callInfo: listener.callInfo,
361
- };
362
- },
363
- pushUpdates: async (_, { strands: strandsGql }, ctx) => {
364
- if (!ctx.driveId)
365
- throw new Error("Drive ID is required");
366
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
367
- this.logger.verbose(`pushUpdates(drive: slug:${ctx.driveId} id:${driveId})`, strandsGql);
368
- // Check global roles first (write requires admin or user, not guest)
369
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "");
370
- const isGlobalUser = ctx.isUser?.(ctx.user?.address ?? "");
371
- // If user has global write access, allow
372
- const hasGlobalWriteAccess = isGlobalAdmin || isGlobalUser;
373
- // If no global write access, check document-level permissions
374
- if (!hasGlobalWriteAccess && this.documentPermissionService) {
375
- const canWrite = await this.documentPermissionService.canWriteDocument(driveId, ctx.user?.address);
376
- if (!canWrite) {
377
- this.logger.warn(`pushUpdates rejected: user ${ctx.user?.address ?? "anonymous"} lacks write permission for drive ${driveId}`);
378
- throw new GraphQLError("Forbidden: insufficient permissions to write to this drive");
379
- }
380
- }
381
- else if (!hasGlobalWriteAccess) {
382
- throw new GraphQLError("Forbidden");
383
- }
384
- // translate data types
385
- const strands = strandsGql.map((strandGql) => {
386
- return {
387
- operations: strandGql.operations.map((op) => ({
388
- index: op.index,
389
- skip: op.skip ?? 0,
390
- timestampUtcMs: op.timestampUtcMs,
391
- hash: op.hash,
392
- id: op.id,
393
- // Map GraphQL context to Action.context (only signer is defined in schema)
394
- action: {
395
- id: op.actionId,
396
- type: op.type,
397
- timestampUtcMs: op.timestampUtcMs,
398
- scope: strandGql.scope,
399
- input: JSON.parse(op.input),
400
- context: op.context,
401
- },
402
- })),
403
- documentId: strandGql.documentId,
404
- documentType: strandGql.documentType,
405
- driveId: strandGql.driveId,
406
- scope: strandGql.scope,
407
- branch: strandGql.branch,
408
- };
409
- });
410
- // return a list of listener revisions
411
- return await Promise.all(strands.map((strand) => processPushUpdate(this.reactor, strand)));
412
- },
413
- acknowledge: async (_, { listenerId, revisions, }, ctx) => {
414
- if (!listenerId || !revisions)
415
- return false;
416
- if (!ctx.driveId)
417
- throw new Error("Drive ID is required");
418
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
419
- this.logger.verbose(`acknowledge(drive: ${ctx.driveId}/${driveId}, listenerId: ${listenerId})`, revisions);
420
- // translate data types
421
- const validEntries = revisions
422
- .filter((r) => r !== null)
423
- .map((e) => ({
424
- driveId: e.driveId,
425
- documentId: e.documentId,
426
- documentType: e.documentType,
427
- scope: e.scope,
428
- branch: e.branch,
429
- revision: e.revision,
430
- status: e.status,
431
- }));
432
- // return a boolean indicating if the acknowledge was successful
433
- return await processAcknowledge(this.reactor, driveId, listenerId, validEntries);
434
- },
435
- },
436
- System: {},
437
- Sync: {
438
- strands: async (_, { listenerId, since, }, ctx) => {
439
- if (!ctx.driveId)
440
- throw new Error("Drive ID is required");
441
- const driveId = await this.getDriveIdBySlugOrId(ctx.driveId);
442
- this.logger.verbose(`strands(drive: ${ctx.driveId}/${driveId}, listenerId: ${listenerId}, since:${since})`);
443
- // Check global roles first
444
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "");
445
- const isGlobalUser = ctx.isUser?.(ctx.user?.address ?? "");
446
- const isGlobalGuest = ctx.isGuest?.(ctx.user?.address ?? "") ||
447
- process.env.FREE_ENTRY === "true";
448
- // If user has a global role, allow access
449
- const hasGlobalAccess = isGlobalAdmin || isGlobalUser || isGlobalGuest;
450
- // If no global access, check document-level permissions
451
- if (!hasGlobalAccess && this.documentPermissionService) {
452
- const canRead = await this.documentPermissionService.canReadDocument(driveId, ctx.user?.address);
453
- if (!canRead) {
454
- this.logger.warn(`strands filtered: user ${ctx.user?.address ?? "anonymous"} lacks read permission for drive ${driveId}`);
455
- return []; // Return empty for drives without permission
456
- }
457
- }
458
- else if (!hasGlobalAccess) {
459
- return []; // Return empty if no access
460
- }
461
- // get the requested strand updates
462
- const strands = await processGetStrands(this.reactor, driveId, listenerId, since);
463
- // translate data types
464
- return strands.map((update) => ({
465
- driveId: update.driveId,
466
- documentId: update.documentId,
467
- documentType: update.documentType,
468
- scope: update.scope,
469
- branch: update.branch,
470
- operations: update.operations.map((op) => ({
471
- index: op.index,
472
- skip: op.skip,
473
- // no extra name field; GraphQL schema exposes `type`
474
- input: JSON.stringify(op.input),
475
- hash: op.hash,
476
- timestampUtcMs: op.timestampUtcMs,
477
- type: op.type,
478
- context: op.context,
479
- id: op.id,
480
- actionId: op.actionId,
481
- })),
482
- }));
483
- },
484
- },
485
- };
486
- }
487
- //# 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,47 +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, IRelationalDb } 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
- };
13
- export declare class GraphQLManager {
14
- #private;
15
- private readonly path;
16
- private readonly app;
17
- private readonly httpServer;
18
- private readonly wsServer;
19
- private readonly reactor;
20
- private readonly reactorClient;
21
- private readonly relationalDb;
22
- private readonly analyticsStore;
23
- private readonly syncManager;
24
- private readonly authConfig?;
25
- private readonly documentPermissionService?;
26
- private readonly featureFlags;
27
- private readonly port;
28
- private initialized;
29
- private coreRouter;
30
- private coreSubgraphsMap;
31
- private reactorRouter;
32
- private contextFields;
33
- private readonly subgraphs;
34
- private authService;
35
- private readonly logger;
36
- private readonly apolloLogger;
37
- constructor(path: string, app: express.Express, httpServer: http.Server, wsServer: WebSocketServer, reactor: IDocumentDriveServer, reactorClient: IReactorClient, relationalDb: IRelationalDb, analyticsStore: IAnalyticsStore, syncManager: ISyncManager, authConfig?: AuthConfig | undefined, documentPermissionService?: DocumentPermissionService | undefined, featureFlags?: GraphqlManagerFeatureFlags, port?: number);
38
- init(coreSubgraphs: SubgraphClass[]): Promise<void>;
39
- registerSubgraph(subgraph: SubgraphClass, supergraph?: string, core?: boolean): Promise<ISubgraph>;
40
- updateRouter: (immediate?: boolean) => Promise<void>;
41
- private _updateRouter;
42
- getAdditionalContextFields: () => Record<string, any>;
43
- setAdditionalContextFields(fields: Record<string, any>): void;
44
- setSupergraph(supergraph: string, subgraphs: ISubgraph[]): Promise<void>;
45
- shutdown(): Promise<void>;
46
- }
47
- //# 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":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAEV,SAAS,EACT,aAAa,EACd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG1E,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AA8C5F,MAAM,MAAM,0BAA0B,GAAG;IACvC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC,CAAC;AAEF,qBAAa,cAAc;;IAkBvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IA7BvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,WAAW,CAA4B;IAE/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmD;IAE1E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAI1B;gBAGgB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,UAAU,EAAE,IAAI,CAAC,MAAM,EACvB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,cAAc,EAC7B,YAAY,EAAE,aAAa,EAC3B,cAAc,EAAE,eAAe,EAC/B,WAAW,EAAE,YAAY,EACzB,UAAU,CAAC,EAAE,UAAU,YAAA,EACvB,yBAAyB,CAAC,EAAE,yBAAyB,YAAA,EACrD,YAAY,GAAE,0BAAgD,EAC9D,IAAI,GAAE,MAAa;IAUhC,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE;IA6LnC,gBAAgB,CACpB,QAAQ,EAAE,aAAa,EACvB,UAAU,SAAK,EACf,IAAI,UAAQ;IAgBd,YAAY,yCAAiD;YAE/C,aAAa;IAiB3B,0BAA0B,4BAExB;IAEF,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA+BtD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE;IAWlD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAmMhC"}