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

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,11 +1,21 @@
1
1
  import { buildSubgraphSchema } from "@apollo/subgraph";
2
2
  import { typeDefs as scalarsTypeDefs } from "@powerhousedao/document-engineering/graphql";
3
3
  import { camelCase, pascalCase } from "change-case";
4
- import { childLogger } from "document-drive";
5
- import { Kind, print } from "graphql";
4
+ import { childLogger } from "document-model";
5
+ import { Kind, parse, print } from "graphql";
6
6
  import { gql } from "graphql-tag";
7
7
  import { GraphQLJSONObject } from "graphql-type-json";
8
8
  const logger = childLogger(["reactor-api", "create-schema"]);
9
+ /**
10
+ * Revision type - matches the definition in reactor/schema.graphql.
11
+ * Used by PHDocument and document mutation results.
12
+ */
13
+ const RevisionType = `
14
+ type Revision {
15
+ scope: String!
16
+ revision: Int!
17
+ }
18
+ `;
9
19
  /**
10
20
  * Strip scalar definitions from a DocumentNode to avoid duplicates
11
21
  * when combining with other schemas that define the same scalars.
@@ -14,24 +24,31 @@ const stripScalarDefinitions = (doc) => {
14
24
  const filteredDefinitions = doc.definitions.filter((def) => def.kind !== Kind.SCALAR_TYPE_DEFINITION);
15
25
  return print({ kind: Kind.DOCUMENT, definitions: filteredDefinitions });
16
26
  };
17
- export const buildSubgraphSchemaModule = (documentDriveServer, resolvers, typeDefs) => {
27
+ export const buildSubgraphSchemaModule = (documentModels, resolvers, typeDefs) => {
18
28
  const newResolvers = {
19
29
  ...resolvers,
20
30
  JSONObject: GraphQLJSONObject,
21
31
  };
22
32
  return {
23
- typeDefs: getDocumentModelTypeDefs(documentDriveServer, typeDefs),
33
+ typeDefs: getDocumentModelTypeDefs(documentModels, typeDefs),
24
34
  resolvers: newResolvers,
25
35
  };
26
36
  };
27
- export const createSchema = (documentDriveServer, resolvers, typeDefs) => {
28
- return buildSubgraphSchema(buildSubgraphSchemaModule(documentDriveServer, resolvers, typeDefs));
37
+ export const createSchema = (documentModels, resolvers, typeDefs) => {
38
+ return buildSubgraphSchema(buildSubgraphSchemaModule(documentModels, resolvers, typeDefs));
39
+ };
40
+ /**
41
+ * Create a merged GraphQL schema from multiple subgraph modules.
42
+ * Uses buildSubgraphSchema's array overload to combine type definitions
43
+ * and resolvers from multiple subgraphs into a single executable schema.
44
+ */
45
+ export const createMergedSchema = (modules) => {
46
+ return buildSubgraphSchema(modules);
29
47
  };
30
48
  export function getDocumentModelSchemaName(documentModel) {
31
49
  return pascalCase(documentModel.name.replaceAll("/", " "));
32
50
  }
33
- export const getDocumentModelTypeDefs = (documentDriveServer, typeDefs) => {
34
- const documentModels = documentDriveServer.getDocumentModelModules();
51
+ export const getDocumentModelTypeDefs = (documentModels, typeDefs) => {
35
52
  let dmSchema = "";
36
53
  const addedDocumentModels = new Set();
37
54
  documentModels.forEach(({ documentModel }) => {
@@ -41,29 +58,31 @@ export const getDocumentModelTypeDefs = (documentDriveServer, typeDefs) => {
41
58
  return;
42
59
  }
43
60
  addedDocumentModels.add(dmSchemaName);
61
+ // Use only the latest specification to avoid duplicate type definitions
62
+ // when a document model has multiple versions (e.g. v1, v2).
63
+ const latestSpec = documentModel.global.specifications.at(-1);
64
+ const globalSchema = latestSpec?.state.global.schema ?? "";
65
+ const localSchema = latestSpec?.state.local.schema ?? "";
44
66
  let tmpDmSchema = `
45
- ${documentModel.global.specifications
46
- .map((specification) => specification.state.global.schema
67
+ ${globalSchema
47
68
  .replaceAll("scalar DateTime", "")
48
- .replaceAll(/input (.*?) {[\s\S]*?}/g, ""))
49
- .join("\n")};
50
-
51
- ${documentModel.global.specifications
52
- .map((specification) => specification.state.local.schema
69
+ .replaceAll(/input (.*?) {[\s\S]*?}/g, "")};
70
+
71
+ ${localSchema
53
72
  .replaceAll("scalar DateTime", "")
54
73
  .replaceAll(/input (.*?) {[\s\S]*?}/g, "")
55
74
  .replaceAll("type AccountSnapshotLocalState", "")
56
75
  .replaceAll("type BudgetStatementLocalState", "")
57
- .replaceAll("type ScopeFrameworkLocalState", ""))
58
- .join("\n")};
76
+ .replaceAll("type ScopeFrameworkLocalState", "")};
59
77
 
60
78
  \n`;
61
- const found = tmpDmSchema.match(/(type|enum|union|interface)\s+(\w+)\s/g);
79
+ const found = tmpDmSchema.match(/(type|enum|union|interface)\s+(\w+)[\s{]/g);
62
80
  const trimmedFound = found?.map((f) => f
63
81
  .replaceAll("type ", "")
64
82
  .replaceAll("enum ", "")
65
83
  .replaceAll("union ", "")
66
84
  .replaceAll("interface ", "")
85
+ .replaceAll("{", "")
67
86
  .trim());
68
87
  trimmedFound?.forEach((f) => {
69
88
  // Create a regex that matches the type name with proper boundaries
@@ -215,6 +234,126 @@ function extractInputTypeDefinitions(schema, excludeTypeNames = new Set()) {
215
234
  return "";
216
235
  return matches.join("\n\n");
217
236
  }
237
+ /**
238
+ * Extract the root state type name from a scope's GraphQL schema.
239
+ * Uses the naming convention: {DocumentName}State for global,
240
+ * {DocumentName}{PascalScope}State for other scopes (e.g., DocumentDriveLocalState).
241
+ * Falls back to the last ObjectTypeDefinition (root types are conventionally last).
242
+ */
243
+ function extractRootTypeName(schema, documentName, scopeName) {
244
+ try {
245
+ const ast = parse(schema);
246
+ // Try conventions:
247
+ // 1. {DocumentName}State for global, {DocumentName}{Scope}State otherwise
248
+ // 2. {DocumentName}GlobalState (DocumentModel uses this variant)
249
+ const scopeSuffix = scopeName === "global" ? "" : pascalCase(scopeName);
250
+ const candidates = [
251
+ `${documentName}${scopeSuffix}State`,
252
+ `${documentName}${pascalCase(scopeName)}State`,
253
+ ];
254
+ let lastObjectType = null;
255
+ for (const def of ast.definitions) {
256
+ if (def.kind === Kind.OBJECT_TYPE_DEFINITION) {
257
+ if (candidates.includes(def.name.value)) {
258
+ return def.name.value;
259
+ }
260
+ lastObjectType = def.name.value;
261
+ }
262
+ }
263
+ // Fallback: last object type (root state types are defined last by convention)
264
+ return lastObjectType;
265
+ }
266
+ catch {
267
+ // ignore parse errors
268
+ }
269
+ return null;
270
+ }
271
+ /**
272
+ * Convert a GraphQL output type AST node to an optional input type string.
273
+ * Strips non-null markers and converts object type references to Input suffix.
274
+ */
275
+ function convertTypeNodeToInput(typeNode, objectNames, unionNames, interfaceNames) {
276
+ if (typeNode.kind === Kind.NON_NULL_TYPE && typeNode.type) {
277
+ return convertTypeNodeToInput(typeNode.type, objectNames, unionNames, interfaceNames);
278
+ }
279
+ if (typeNode.kind === Kind.LIST_TYPE && typeNode.type) {
280
+ const inner = convertTypeNodeToInput(typeNode.type, objectNames, unionNames, interfaceNames);
281
+ return `[${inner}]`;
282
+ }
283
+ if (typeNode.kind === Kind.NAMED_TYPE && typeNode.name) {
284
+ const name = typeNode.name.value;
285
+ if (objectNames.has(name))
286
+ return `${name}Input`;
287
+ if (unionNames.has(name) || interfaceNames.has(name))
288
+ return "JSONObject";
289
+ return name;
290
+ }
291
+ return "JSONObject";
292
+ }
293
+ /**
294
+ * Generate GraphQL input type definitions from a state schema string.
295
+ * Converts output type definitions to input types with all fields optional.
296
+ * - Object type references get Input suffix
297
+ * - Union/interface references become JSONObject
298
+ * - Enums and scalars remain unchanged
299
+ */
300
+ function generateStateInputTypes(stateSchema, excludeTypeNames) {
301
+ if (!stateSchema || !stateSchema.trim())
302
+ return "";
303
+ let ast;
304
+ try {
305
+ ast = parse(stateSchema);
306
+ }
307
+ catch {
308
+ return "";
309
+ }
310
+ const enumNames = new Set();
311
+ const unionNames = new Set();
312
+ const interfaceNames = new Set();
313
+ const objectNames = new Set();
314
+ const existingInputNames = new Set();
315
+ for (const def of ast.definitions) {
316
+ switch (def.kind) {
317
+ case Kind.ENUM_TYPE_DEFINITION:
318
+ enumNames.add(def.name.value);
319
+ break;
320
+ case Kind.UNION_TYPE_DEFINITION:
321
+ unionNames.add(def.name.value);
322
+ break;
323
+ case Kind.INTERFACE_TYPE_DEFINITION:
324
+ interfaceNames.add(def.name.value);
325
+ break;
326
+ case Kind.OBJECT_TYPE_DEFINITION:
327
+ objectNames.add(def.name.value);
328
+ break;
329
+ case Kind.INPUT_OBJECT_TYPE_DEFINITION:
330
+ existingInputNames.add(def.name.value);
331
+ break;
332
+ }
333
+ }
334
+ const inputTypes = [];
335
+ for (const def of ast.definitions) {
336
+ if (def.kind !== Kind.OBJECT_TYPE_DEFINITION)
337
+ continue;
338
+ // Skip if an input type with the same name already exists in the schema
339
+ // or in operation schemas (to avoid duplicates with moduleSchemas)
340
+ const inputName = `${def.name.value}Input`;
341
+ if (existingInputNames.has(inputName))
342
+ continue;
343
+ if (excludeTypeNames?.has(inputName))
344
+ continue;
345
+ const fields = def.fields ?? [];
346
+ if (fields.length === 0)
347
+ continue;
348
+ const inputFields = fields.map((field) => {
349
+ const fieldName = field.name.value;
350
+ const fieldType = convertTypeNodeToInput(field.type, objectNames, unionNames, interfaceNames);
351
+ return ` ${fieldName}: ${fieldType}`;
352
+ });
353
+ inputTypes.push(`input ${def.name.value}Input {\n${inputFields.join("\n")}\n}`);
354
+ }
355
+ return inputTypes.join("\n\n");
356
+ }
218
357
  /**
219
358
  * Apply type prefixes to GraphQL schema to namespace types and avoid collisions.
220
359
  * Inlined from @powerhousedao/common/utils to avoid ES module import issues.
@@ -253,11 +392,22 @@ function applyGraphQLTypePrefixes(schema, prefix, externalTypeNames = []) {
253
392
  });
254
393
  return processedSchema;
255
394
  }
256
- export function generateDocumentModelSchemaLegacy(documentModel) {
395
+ /**
396
+ * Generate a GraphQL schema for a document model.
397
+ *
398
+ * @param documentModel - The document model global state
399
+ * @param options - Schema generation options
400
+ * @returns GraphQL DocumentNode
401
+ */
402
+ export function generateDocumentModelSchema(documentModel, options = {}) {
403
+ const { useNewApi = false } = options;
257
404
  const specification = documentModel.specifications.at(-1);
258
405
  const documentName = getDocumentModelSchemaName(documentModel);
259
- const stateSchema = specification?.state.global.schema;
260
- const stateTypeNames = extractTypeNames(stateSchema ?? "");
406
+ const globalStateSchema = specification?.state.global.schema;
407
+ const localStateSchema = specification?.state.local.schema;
408
+ const globalStateTypeNames = extractTypeNames(globalStateSchema ?? "");
409
+ const localStateTypeNames = extractTypeNames(localStateSchema ?? "");
410
+ const stateTypeNames = [...globalStateTypeNames, ...localStateTypeNames];
261
411
  // Collect ALL type names from all operations' schemas
262
412
  const allOperationTypeNames = specification?.modules.flatMap((module) => module.operations.flatMap((op) => extractTypeNames(op.schema ?? ""))) ?? [];
263
413
  // Combine state types and all operation types for prefixing
@@ -267,8 +417,44 @@ export function generateDocumentModelSchemaLegacy(documentModel) {
267
417
  // Extract input type definitions from state schema, excluding operation-specific inputs
268
418
  // (those are already defined in op.schema)
269
419
  const operationInputTypeNames = new Set(allOperationTypeNames);
270
- const stateInputTypes = extractInputTypeDefinitions(stateSchema ?? "", operationInputTypeNames);
420
+ const stateInputTypes = extractInputTypeDefinitions(globalStateSchema ?? "", operationInputTypeNames);
271
421
  const prefixedStateInputTypes = applyGraphQLTypePrefixes(stateInputTypes, documentName, allTypeNames);
422
+ // Helper to check if schema has actual GraphQL type definitions
423
+ const hasValidSchema = (schema) => !!(schema && /\b(input|type|enum|union|interface)\s+\w+/.test(schema));
424
+ // Process state schema types (remove input types, clean up, and prefix)
425
+ const stateSchemaTypes = globalStateSchema
426
+ ? applyGraphQLTypePrefixes(globalStateSchema
427
+ .replaceAll("scalar DateTime", "")
428
+ .replaceAll(/input (.*?) {[\s\S]*?}/g, ""), documentName, allTypeNames)
429
+ : "";
430
+ if (useNewApi) {
431
+ // New API: flat queries, typed state, async mutations
432
+ return generateNewApiSchema(documentName, specification, stateSchemaTypes, prefixedStateInputTypes, allTypeNames, hasValidSchema);
433
+ }
434
+ // Legacy API
435
+ return generateLegacyApiSchema(documentName, specification, prefixedStateInputTypes, allTypeNames, hasValidSchema);
436
+ }
437
+ /**
438
+ * Generate legacy API schema with nested queries
439
+ */
440
+ function generateLegacyApiSchema(documentName, specification, prefixedStateInputTypes, allTypeNames, hasValidSchema) {
441
+ const createDocumentMutation = `${documentName}_createDocument(name:String!, driveId:String): String`;
442
+ const operationMutations = specification?.modules
443
+ .flatMap((module) => module.operations
444
+ .filter((op) => op.name && hasValidSchema(op.schema))
445
+ .map((op) => `${documentName}_${camelCase(op.name)}(
446
+ driveId: String, docId: PHID, input: ${documentName}_${pascalCase(op.name)}Input): Int`))
447
+ .join("\n ") ?? "";
448
+ const moduleSchemas = specification?.modules
449
+ .filter((module) => module.operations.some((op) => hasValidSchema(op.schema)))
450
+ .map((module) => `"""
451
+ Module: ${pascalCase(module.name)}
452
+ """
453
+ ${module.operations
454
+ .filter((op) => hasValidSchema(op.schema))
455
+ .map((op) => applyGraphQLTypePrefixes(op.schema ?? "", documentName, allTypeNames))
456
+ .join("\n ")}`)
457
+ .join("\n") ?? "";
272
458
  return gql `
273
459
  """
274
460
  Queries: ${documentName} Document
@@ -287,34 +473,256 @@ export function generateDocumentModelSchemaLegacy(documentModel) {
287
473
  Mutations: ${documentName}
288
474
  """
289
475
  type Mutation {
290
- ${documentName}_createDocument(name:String!, driveId:String): String
476
+ ${createDocumentMutation}
291
477
 
292
- ${specification?.modules
293
- .flatMap((module) => module.operations
294
- .filter((op) => op.name)
295
- .map((op) => `${documentName}_${camelCase(op.name)}(
296
- driveId: String, docId: PHID, input: ${documentName}_${pascalCase(op.name)}Input): Int`))
297
- .join("\n ") ?? ""}
478
+ ${operationMutations}
298
479
  }
299
480
 
300
- ${prefixedStateInputTypes ? `"""
481
+ ${prefixedStateInputTypes
482
+ ? `"""
301
483
  Input Types from State Schema
302
484
  """
303
- ${prefixedStateInputTypes}` : ""}
304
-
305
- ${(() => {
306
- // Helper to check if schema has actual GraphQL type definitions
307
- const hasValidSchema = (schema) => schema && /\b(input|type|enum|union|interface)\s+\w+/.test(schema);
308
- return (specification?.modules
309
- .filter((module) => module.operations.some((op) => hasValidSchema(op.schema)))
310
- .map((module) => `"""
485
+ ${prefixedStateInputTypes}`
486
+ : ""}
487
+
488
+ ${moduleSchemas}`;
489
+ }
490
+ /**
491
+ * Generate new API schema with flat queries, typed state, and async mutations.
492
+ * Note: State schema types are NOT included here because they are already defined
493
+ * in getDocumentModelTypeDefs() which is used during schema composition.
494
+ * Including them here would cause duplicate type definitions.
495
+ */
496
+ function generateNewApiSchema(documentName, specification, _stateSchemaTypes, prefixedStateInputTypes, allTypeNames, hasValidSchema) {
497
+ // Use full state type for all document models
498
+ const stateType = `${documentName}_FullState!`;
499
+ // Shared base types for document state structure (same for all document types)
500
+ const sharedBaseTypes = `
501
+ """Hash configuration for document state"""
502
+ type ${documentName}_PHHashConfig {
503
+ algorithm: String!
504
+ encoding: String!
505
+ }
506
+
507
+ """Document scope state (same for all document types)"""
508
+ type ${documentName}_PHDocumentScopeState {
509
+ version: Int!
510
+ hash: ${documentName}_PHHashConfig!
511
+ isDeleted: Boolean
512
+ deletedAtUtcIso: String
513
+ deletedBy: String
514
+ deletionReason: String
515
+ }
516
+ `;
517
+ // Full state type with all scopes (auth, document, global, local)
518
+ // Note: DocumentModel uses different naming convention (GlobalState suffix instead of State)
519
+ // For local state, check if the specification defines a local state type
520
+ const localSchema = specification?.state.local.schema ?? "";
521
+ const hasLocalStateType = localSchema.includes(`type ${documentName}LocalState`);
522
+ const globalStateType = documentName === "DocumentModel"
523
+ ? `${documentName}_${documentName}GlobalState!`
524
+ : `${documentName}_${documentName}State!`;
525
+ const localStateType = !hasLocalStateType
526
+ ? "JSONObject!"
527
+ : `${documentName}_${documentName}LocalState!`;
528
+ const fullStateType = `
529
+ """Full state with all scopes for ${documentName}"""
530
+ type ${documentName}_FullState {
531
+ auth: JSONObject!
532
+ document: ${documentName}_PHDocumentScopeState!
533
+ global: ${globalStateType}
534
+ local: ${localStateType}
535
+ }
536
+ `;
537
+ // Common input types - use extend to avoid conflicts with other subgraphs
538
+ const commonInputTypes = `
539
+ input ${documentName}_ViewFilterInput {
540
+ branch: String
541
+ scopes: [String!]
542
+ }
543
+
544
+ input ${documentName}_PagingInput {
545
+ limit: Int
546
+ offset: Int
547
+ cursor: String
548
+ }
549
+
550
+ input ${documentName}_SearchFilterInput {
551
+ parentId: String
552
+ identifiers: [String!]
553
+ }
554
+ `;
555
+ // Revision type - imported from shared-schema.ts for consistency with ReactorSubgraph
556
+ // Must be defined in each subgraph for Apollo Federation
557
+ const revisionType = RevisionType;
558
+ // Result types with typed state (or JSONObject for DocumentModel)
559
+ // The state type (${documentName}_${documentName}State) is defined in getDocumentModelTypeDefs()
560
+ // Uses revisionsList with shared Revision type to match ReactorSubgraph pattern
561
+ const resultTypes = `
562
+ """
563
+ Mutation result type for ${documentName} operations with typed state.
564
+ Matches ReactorSubgraph PHDocument pattern with revisionsList.
565
+ """
566
+ type ${documentName}MutationResult {
567
+ id: String!
568
+ slug: String
569
+ preferredEditor: String
570
+ name: String!
571
+ documentType: String!
572
+ state: ${stateType}
573
+ revisionsList: [Revision!]!
574
+ createdAtUtcIso: DateTime!
575
+ lastModifiedAtUtcIso: DateTime!
576
+ }
577
+
578
+ """
579
+ Document with children for ${documentName}
580
+ """
581
+ type ${documentName}_DocumentWithChildren {
582
+ document: ${documentName}MutationResult!
583
+ childIds: [String!]!
584
+ }
585
+
586
+ """
587
+ Paginated result type for ${documentName} documents
588
+ """
589
+ type ${documentName}_DocumentResultPage {
590
+ items: [${documentName}MutationResult!]!
591
+ totalCount: Int!
592
+ hasNextPage: Boolean!
593
+ hasPreviousPage: Boolean!
594
+ cursor: String
595
+ }
596
+ `;
597
+ // Queries nested under ${documentName} namespace
598
+ const queries = `
599
+ type ${documentName}Queries {
600
+ """Get a specific ${documentName} document by identifier"""
601
+ document(identifier: String!, view: ${documentName}_ViewFilterInput): ${documentName}_DocumentWithChildren
602
+
603
+ """Get all ${documentName} documents (paged)"""
604
+ ${documentName}_documents(paging: ${documentName}_PagingInput): ${documentName}_DocumentResultPage!
605
+
606
+ """Find ${documentName} documents by search criteria"""
607
+ findDocuments(search: ${documentName}_SearchFilterInput!, view: ${documentName}_ViewFilterInput, paging: ${documentName}_PagingInput): ${documentName}_DocumentResultPage!
608
+
609
+ """Get children of a ${documentName} document"""
610
+ documentChildren(parentIdentifier: String!, view: ${documentName}_ViewFilterInput, paging: ${documentName}_PagingInput): ${documentName}_DocumentResultPage!
611
+
612
+ """Get parents of a ${documentName} document"""
613
+ documentParents(childIdentifier: String!, view: ${documentName}_ViewFilterInput, paging: ${documentName}_PagingInput): ${documentName}_DocumentResultPage!
614
+ }
615
+ `;
616
+ // Generate initial state input types for each scope
617
+ let initialStateInputSchema = "";
618
+ if (specification) {
619
+ const scopeFields = [];
620
+ const generatedInputTypeParts = [];
621
+ for (const [scopeName, scopeState] of Object.entries(specification.state)) {
622
+ const schema = scopeState.schema ?? "";
623
+ if (hasValidSchema(schema)) {
624
+ const rootTypeName = extractRootTypeName(schema, documentName, scopeName);
625
+ if (!rootTypeName) {
626
+ scopeFields.push(` ${scopeName}: JSONObject`);
627
+ continue;
628
+ }
629
+ const scopeInputTypes = generateStateInputTypes(schema, new Set(allTypeNames));
630
+ if (!scopeInputTypes) {
631
+ scopeFields.push(` ${scopeName}: JSONObject`);
632
+ continue;
633
+ }
634
+ const prefixedScopeInputTypes = applyGraphQLTypePrefixes(scopeInputTypes, documentName, allTypeNames);
635
+ scopeFields.push(` ${scopeName}: ${documentName}_${rootTypeName}Input`);
636
+ generatedInputTypeParts.push(prefixedScopeInputTypes);
637
+ }
638
+ else {
639
+ scopeFields.push(` ${scopeName}: JSONObject`);
640
+ }
641
+ }
642
+ if (scopeFields.length > 0) {
643
+ const inputTypeDefs = generatedInputTypeParts.join("\n\n");
644
+ const wrapper = `input ${documentName}_InitialStateInput {\n${scopeFields.join("\n")}\n}`;
645
+ initialStateInputSchema = inputTypeDefs
646
+ ? `${inputTypeDefs}\n\n${wrapper}`
647
+ : wrapper;
648
+ }
649
+ }
650
+ // Mutations nested under ${documentName} namespace
651
+ const createDocumentMutation = initialStateInputSchema
652
+ ? `createDocument(name: String!, parentIdentifier: String, slug: String, preferredEditor: String, initialState: ${documentName}_InitialStateInput): ${documentName}MutationResult!`
653
+ : `createDocument(name: String!, parentIdentifier: String, preferredEditor: String): ${documentName}MutationResult!`;
654
+ const createEmptyDocumentMutation = `createEmptyDocument(parentIdentifier: String): ${documentName}MutationResult!`;
655
+ const operationMutations = specification?.modules
656
+ .flatMap((module) => module.operations
657
+ .filter((op) => op.name && hasValidSchema(op.schema))
658
+ .flatMap((op) => [
659
+ // Sync mutation
660
+ `${camelCase(op.name)}(docId: PHID!, input: ${documentName}_${pascalCase(op.name)}Input!): ${documentName}MutationResult!`,
661
+ // Async mutation
662
+ `${camelCase(op.name)}Async(docId: PHID!, input: ${documentName}_${pascalCase(op.name)}Input!): String!`,
663
+ ]))
664
+ .join("\n ") ?? "";
665
+ const moduleSchemas = specification?.modules
666
+ .filter((module) => module.operations.some((op) => hasValidSchema(op.schema)))
667
+ .map((module) => `"""
311
668
  Module: ${pascalCase(module.name)}
312
669
  """
313
670
  ${module.operations
314
- .filter((op) => hasValidSchema(op.schema))
315
- .map((op) => applyGraphQLTypePrefixes(op.schema ?? "", documentName, allTypeNames))
316
- .join("\n ")}`)
317
- .join("\n") ?? "");
318
- })()}`;
671
+ .filter((op) => hasValidSchema(op.schema))
672
+ .map((op) => applyGraphQLTypePrefixes(op.schema ?? "", documentName, allTypeNames))
673
+ .join("\n ")}`)
674
+ .join("\n") ?? "";
675
+ return gql `
676
+ scalar DateTime
677
+ scalar JSONObject
678
+
679
+ ${revisionType}
680
+
681
+ ${sharedBaseTypes}
682
+
683
+ ${fullStateType}
684
+
685
+ ${commonInputTypes}
686
+
687
+ ${resultTypes}
688
+
689
+ """
690
+ Queries: ${documentName} Document
691
+ """
692
+ ${queries}
693
+
694
+ """
695
+ Mutations: ${documentName}
696
+ """
697
+ type ${documentName}Mutations {
698
+ ${createDocumentMutation}
699
+ ${createEmptyDocumentMutation}
700
+
701
+ ${operationMutations}
702
+ }
703
+
704
+ type Query {
705
+ ${documentName}: ${documentName}Queries!
706
+ }
707
+
708
+ type Mutation {
709
+ ${documentName}: ${documentName}Mutations!
710
+ }
711
+
712
+ ${prefixedStateInputTypes
713
+ ? `"""
714
+ Input Types from State Schema
715
+ """
716
+ ${prefixedStateInputTypes}`
717
+ : ""}
718
+
719
+ ${initialStateInputSchema
720
+ ? `"""
721
+ Input Types for Initial State
722
+ """
723
+ ${initialStateInputSchema}`
724
+ : ""}
725
+
726
+ ${moduleSchemas}`;
319
727
  }
320
728
  //# sourceMappingURL=create-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-schema.js","sourceRoot":"","sources":["../../../src/utils/create-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-schema.js","sourceRoot":"","sources":["../../../src/utils/create-schema.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,13 @@ export type DocumentPermissionLevel = "READ" | "WRITE" | "ADMIN";
10
10
  /**
11
11
  * Database schema for document permissions
12
12
  */
13
+ export interface DocumentProtectionTable {
14
+ documentId: string;
15
+ protected: boolean;
16
+ ownerAddress: string | null;
17
+ createdAt: Date;
18
+ updatedAt: Date;
19
+ }
13
20
  export interface DocumentPermissionDatabase {
14
21
  DocumentPermission: DocumentPermissionTable;
15
22
  Group: GroupTable;
@@ -17,6 +24,7 @@ export interface DocumentPermissionDatabase {
17
24
  DocumentGroupPermission: DocumentGroupPermissionTable;
18
25
  OperationUserPermission: OperationUserPermissionTable;
19
26
  OperationGroupPermission: OperationGroupPermissionTable;
27
+ DocumentProtection: DocumentProtectionTable;
20
28
  }
21
29
  export interface DocumentPermissionTable {
22
30
  id: Generated<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/utils/db.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhD;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;IAC1B,uBAAuB,EAAE,4BAA4B,CAAC;IACtD,uBAAuB,EAAE,4BAA4B,CAAC;IACtD,wBAAwB,EAAE,6BAA6B,CAAC;CACzD;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,uBAAuB,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,uBAAuB,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,KAAK,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAYtB,wBAAgB,WAAW,CAAC,gBAAgB,GAAE,MAAM,GAAG,SAAqB,GAAG;IAC7E,EAAE,EAAE,EAAE,CAAC;IACP,IAAI,EAAE,IAAI,CAAC;CACZ,CA6BA;AAED,eAAO,MAAM,qBAAqB,UA2DjC,CAAC"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/utils/db.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhD;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;IAC1B,uBAAuB,EAAE,4BAA4B,CAAC;IACtD,uBAAuB,EAAE,4BAA4B,CAAC;IACtD,wBAAwB,EAAE,6BAA6B,CAAC;IACxD,kBAAkB,EAAE,uBAAuB,CAAC;CAC7C;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,uBAAuB,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,uBAAuB,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,KAAK,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAYtB,wBAAgB,WAAW,CAAC,gBAAgB,GAAE,MAAM,GAAG,SAAqB,GAAG;IAC7E,EAAE,EAAE,EAAE,CAAC;IACP,IAAI,EAAE,IAAI,CAAC;CACZ,CA6BA;AAED,eAAO,MAAM,qBAAqB,UA2DjC,CAAC"}