@powerhousedao/reactor-api 6.0.0-dev.20 → 6.0.0-dev.200

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 +2943 -0
  3. package/dist/index.d.mts.map +1 -0
  4. package/dist/index.mjs +6375 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/src/packages/https-hooks.d.mts +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-DEEhP99G.mjs +286 -0
  17. package/dist/utils-DEEhP99G.mjs.map +1 -0
  18. package/package.json +71 -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 -54
  73. package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
  74. package/dist/src/graphql/reactor/adapters.js +0 -236
  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 -1209
  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 -160
  102. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  103. package/dist/src/graphql/reactor/resolvers.js +0 -504
  104. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  105. package/dist/src/graphql/reactor/schema.graphql +0 -408
  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 -534
  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,534 +0,0 @@
1
- import { ConsoleLogger } from "@powerhousedao/reactor";
2
- import fs from "fs";
3
- import { GraphQLError } from "graphql";
4
- import { withFilter } from "graphql-subscriptions";
5
- import { gql } from "graphql-tag";
6
- import path from "path";
7
- import { fileURLToPath } from "url";
8
- import { BaseSubgraph } from "../base-subgraph.js";
9
- import { matchesJobFilter, matchesSearchFilter, toGqlDocumentChangeEvent, } from "./adapters.js";
10
- import { ensureGlobalDocumentSubscription, ensureJobSubscription, getPubSub, SUBSCRIPTION_TRIGGERS, } from "./pubsub.js";
11
- import * as resolvers from "./resolvers.js";
12
- const __filename = fileURLToPath(import.meta.url);
13
- const __dirname = path.dirname(__filename);
14
- export class ReactorSubgraph extends BaseSubgraph {
15
- // temp
16
- logger = new ConsoleLogger(["ReactorSubgraph"]);
17
- constructor(args) {
18
- super(args);
19
- this.logger.verbose(`constructor()`);
20
- }
21
- name = "r/:reactor";
22
- hasSubscriptions = true;
23
- /**
24
- * Check if user has global read access (admin, user, or guest)
25
- */
26
- hasGlobalReadAccess(ctx) {
27
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "");
28
- const isGlobalUser = ctx.isUser?.(ctx.user?.address ?? "");
29
- const isGlobalGuest = ctx.isGuest?.(ctx.user?.address ?? "") ||
30
- process.env.FREE_ENTRY === "true";
31
- return !!(isGlobalAdmin || isGlobalUser || isGlobalGuest);
32
- }
33
- /**
34
- * Check if user has global write access (admin or user, not guest)
35
- */
36
- hasGlobalWriteAccess(ctx) {
37
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "");
38
- const isGlobalUser = ctx.isUser?.(ctx.user?.address ?? "");
39
- return !!(isGlobalAdmin || isGlobalUser);
40
- }
41
- /**
42
- * Get the parent IDs function for hierarchical permission checks
43
- */
44
- getParentIdsFn() {
45
- return resolvers.createGetParentIdsFn(this.reactorClient);
46
- }
47
- /**
48
- * Check if user can read a document (with hierarchy)
49
- */
50
- async canReadDocument(documentId, ctx) {
51
- // Global access allows reading
52
- if (this.hasGlobalReadAccess(ctx)) {
53
- return true;
54
- }
55
- // Check document-level permissions with hierarchy
56
- if (this.documentPermissionService) {
57
- return this.documentPermissionService.canRead(documentId, ctx.user?.address, this.getParentIdsFn());
58
- }
59
- return false;
60
- }
61
- /**
62
- * Check if user can write to a document (with hierarchy)
63
- */
64
- async canWriteDocument(documentId, ctx) {
65
- // Global write access allows writing
66
- if (this.hasGlobalWriteAccess(ctx)) {
67
- return true;
68
- }
69
- // Check document-level permissions with hierarchy
70
- if (this.documentPermissionService) {
71
- return this.documentPermissionService.canWrite(documentId, ctx.user?.address, this.getParentIdsFn());
72
- }
73
- return false;
74
- }
75
- /**
76
- * Throw an error if user cannot read the document
77
- */
78
- async assertCanRead(documentId, ctx) {
79
- const canRead = await this.canReadDocument(documentId, ctx);
80
- if (!canRead) {
81
- throw new GraphQLError("Forbidden: insufficient permissions to read this document");
82
- }
83
- }
84
- /**
85
- * Throw an error if user cannot write to the document
86
- */
87
- async assertCanWrite(documentId, ctx) {
88
- const canWrite = await this.canWriteDocument(documentId, ctx);
89
- if (!canWrite) {
90
- throw new GraphQLError("Forbidden: insufficient permissions to write to this document");
91
- }
92
- }
93
- /**
94
- * Check if user can execute specific operations on a document.
95
- * Only checks operations that have restrictions set.
96
- * Throws an error if any operation is restricted and user lacks permission.
97
- */
98
- async assertCanExecuteOperations(documentId, actions, ctx) {
99
- // Skip if no permission service
100
- if (!this.documentPermissionService) {
101
- return;
102
- }
103
- // Global admins bypass operation-level restrictions
104
- if (ctx.isAdmin?.(ctx.user?.address ?? "")) {
105
- return;
106
- }
107
- for (const action of actions) {
108
- if (!action || typeof action !== "object") {
109
- continue;
110
- }
111
- const actionObj = action;
112
- const operationType = actionObj.type;
113
- if (typeof operationType !== "string") {
114
- continue;
115
- }
116
- // Check if this operation has any restrictions set
117
- const isRestricted = await this.documentPermissionService.isOperationRestricted(documentId, operationType);
118
- if (isRestricted) {
119
- // Operation is restricted, check if user has permission
120
- const canExecute = await this.documentPermissionService.canExecuteOperation(documentId, operationType, ctx.user?.address);
121
- if (!canExecute) {
122
- throw new GraphQLError(`Forbidden: insufficient permissions to execute operation "${operationType}" on this document`);
123
- }
124
- }
125
- }
126
- }
127
- // Load schema from file
128
- typeDefs = gql(fs.readFileSync(path.join(__dirname, "schema.graphql"), "utf-8"));
129
- resolvers = {
130
- Query: {
131
- documentModels: async (_parent, args) => {
132
- this.logger.debug("documentModels(@args)", args);
133
- try {
134
- return await resolvers.documentModels(this.reactorClient, args);
135
- }
136
- catch (error) {
137
- this.logger.error("Error in documentModels: @Error", error);
138
- throw error;
139
- }
140
- },
141
- document: async (_parent, args, ctx) => {
142
- this.logger.debug("document(@args)", args);
143
- try {
144
- // Resolve the document ID first
145
- const doc = await resolvers.document(this.reactorClient, args);
146
- if (doc) {
147
- await this.assertCanRead(doc.document.id, ctx);
148
- }
149
- return doc;
150
- }
151
- catch (error) {
152
- this.logger.error("Error in document: @Error", error);
153
- throw error;
154
- }
155
- },
156
- documentChildren: async (_parent, args, ctx) => {
157
- this.logger.debug("documentChildren(@args)", args);
158
- try {
159
- // First resolve the parent to get its ID and check permission
160
- const parent = await resolvers.document(this.reactorClient, {
161
- identifier: args.parentIdentifier,
162
- view: args.view,
163
- });
164
- if (parent) {
165
- await this.assertCanRead(parent.document.id, ctx);
166
- }
167
- return await resolvers.documentChildren(this.reactorClient, args);
168
- }
169
- catch (error) {
170
- this.logger.error("Error in documentChildren: @Error", error);
171
- throw error;
172
- }
173
- },
174
- documentParents: async (_parent, args, ctx) => {
175
- this.logger.debug("documentParents(@args)", args);
176
- try {
177
- // First resolve the child to get its ID and check permission
178
- const child = await resolvers.document(this.reactorClient, {
179
- identifier: args.childIdentifier,
180
- view: args.view,
181
- });
182
- if (child) {
183
- await this.assertCanRead(child.document.id, ctx);
184
- }
185
- return await resolvers.documentParents(this.reactorClient, args);
186
- }
187
- catch (error) {
188
- this.logger.error("Error in documentParents: @Error", error);
189
- throw error;
190
- }
191
- },
192
- findDocuments: async (_parent, args, ctx) => {
193
- this.logger.debug("findDocuments(@args)", args);
194
- try {
195
- const result = await resolvers.findDocuments(this.reactorClient, args);
196
- // Filter results to only include documents the user can read
197
- if (!this.hasGlobalReadAccess(ctx) &&
198
- this.documentPermissionService) {
199
- const filteredItems = [];
200
- for (const item of result.items) {
201
- const canRead = await this.canReadDocument(item.id, ctx);
202
- if (canRead) {
203
- filteredItems.push(item);
204
- }
205
- }
206
- return {
207
- ...result,
208
- items: filteredItems,
209
- totalCount: filteredItems.length,
210
- };
211
- }
212
- return result;
213
- }
214
- catch (error) {
215
- this.logger.error("Error in findDocuments: @Error", error);
216
- throw error;
217
- }
218
- },
219
- jobStatus: async (_parent, args) => {
220
- this.logger.debug("jobStatus(@args)", args);
221
- try {
222
- return await resolvers.jobStatus(this.reactorClient, args);
223
- }
224
- catch (error) {
225
- this.logger.error("Error in jobStatus: @Error", error);
226
- throw error;
227
- }
228
- },
229
- pollSyncEnvelopes: async (_parent, args) => {
230
- this.logger.debug("pollSyncEnvelopes(@args)", args);
231
- try {
232
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
233
- return await resolvers.pollSyncEnvelopes(this.syncManager, args);
234
- }
235
- catch (error) {
236
- this.logger.error("Error in pollSyncEnvelopes(@args): @Error", error);
237
- throw error;
238
- }
239
- },
240
- },
241
- Mutation: {
242
- createDocument: async (_parent, args, ctx) => {
243
- this.logger.debug("createDocument(@args)", args);
244
- try {
245
- // If creating under a parent, check write permission on parent
246
- if (args.parentIdentifier) {
247
- const parent = await resolvers.document(this.reactorClient, {
248
- identifier: args.parentIdentifier,
249
- });
250
- if (parent) {
251
- await this.assertCanWrite(parent.document.id, ctx);
252
- }
253
- }
254
- else if (!this.hasGlobalWriteAccess(ctx)) {
255
- throw new GraphQLError("Forbidden: insufficient permissions to create documents");
256
- }
257
- return await resolvers.createDocument(this.reactorClient, args);
258
- }
259
- catch (error) {
260
- this.logger.error("Error in createDocument(@args): @Error", error);
261
- throw error;
262
- }
263
- },
264
- createEmptyDocument: async (_parent, args, ctx) => {
265
- this.logger.debug("createEmptyDocument(@args)", args);
266
- try {
267
- // If creating under a parent, check write permission on parent
268
- if (args.parentIdentifier) {
269
- const parent = await resolvers.document(this.reactorClient, {
270
- identifier: args.parentIdentifier,
271
- });
272
- if (parent) {
273
- await this.assertCanWrite(parent.document.id, ctx);
274
- }
275
- }
276
- else if (!this.hasGlobalWriteAccess(ctx)) {
277
- throw new GraphQLError("Forbidden: insufficient permissions to create documents");
278
- }
279
- return await resolvers.createEmptyDocument(this.reactorClient, args);
280
- }
281
- catch (error) {
282
- this.logger.error("Error in createEmptyDocument(@args): @Error", error);
283
- throw error;
284
- }
285
- },
286
- mutateDocument: async (_parent, args, ctx) => {
287
- this.logger.debug("mutateDocument(@args)", args);
288
- try {
289
- // Resolve document and check write permission
290
- const doc = await resolvers.document(this.reactorClient, {
291
- identifier: args.documentIdentifier,
292
- view: args.view,
293
- });
294
- if (doc) {
295
- await this.assertCanWrite(doc.document.id, ctx);
296
- // Check operation-level permissions for each action
297
- await this.assertCanExecuteOperations(doc.document.id, args.actions, ctx);
298
- }
299
- return await resolvers.mutateDocument(this.reactorClient, args);
300
- }
301
- catch (error) {
302
- this.logger.error("Error in mutateDocument(@args): @Error", error);
303
- throw error;
304
- }
305
- },
306
- mutateDocumentAsync: async (_parent, args, ctx) => {
307
- this.logger.debug("mutateDocumentAsync(@args)", args);
308
- try {
309
- // Resolve document and check write permission
310
- const doc = await resolvers.document(this.reactorClient, {
311
- identifier: args.documentIdentifier,
312
- view: args.view,
313
- });
314
- if (doc) {
315
- await this.assertCanWrite(doc.document.id, ctx);
316
- // Check operation-level permissions for each action
317
- await this.assertCanExecuteOperations(doc.document.id, args.actions, ctx);
318
- }
319
- return await resolvers.mutateDocumentAsync(this.reactorClient, args);
320
- }
321
- catch (error) {
322
- this.logger.error("Error in mutateDocumentAsync(@args): @Error", error);
323
- throw error;
324
- }
325
- },
326
- renameDocument: async (_parent, args, ctx) => {
327
- this.logger.debug("renameDocument(@args)", args);
328
- try {
329
- // Resolve document and check write permission
330
- const doc = await resolvers.document(this.reactorClient, {
331
- identifier: args.documentIdentifier,
332
- });
333
- if (doc) {
334
- await this.assertCanWrite(doc.document.id, ctx);
335
- }
336
- return await resolvers.renameDocument(this.reactorClient, args);
337
- }
338
- catch (error) {
339
- this.logger.error("Error in renameDocument(@args): @Error", error);
340
- throw error;
341
- }
342
- },
343
- addChildren: async (_parent, args, ctx) => {
344
- this.logger.debug("addChildren(@args)", args);
345
- try {
346
- // Check write permission on parent
347
- const parent = await resolvers.document(this.reactorClient, {
348
- identifier: args.parentIdentifier,
349
- });
350
- if (parent) {
351
- await this.assertCanWrite(parent.document.id, ctx);
352
- }
353
- return await resolvers.addChildren(this.reactorClient, args);
354
- }
355
- catch (error) {
356
- this.logger.error("Error in addChildren(@args): @Error", error);
357
- throw error;
358
- }
359
- },
360
- removeChildren: async (_parent, args, ctx) => {
361
- this.logger.debug("removeChildren(@args)", args);
362
- try {
363
- // Check write permission on parent
364
- const parent = await resolvers.document(this.reactorClient, {
365
- identifier: args.parentIdentifier,
366
- });
367
- if (parent) {
368
- await this.assertCanWrite(parent.document.id, ctx);
369
- }
370
- return await resolvers.removeChildren(this.reactorClient, args);
371
- }
372
- catch (error) {
373
- this.logger.error("Error in removeChildren(@args): @Error", error);
374
- throw error;
375
- }
376
- },
377
- moveChildren: async (_parent, args, ctx) => {
378
- this.logger.debug("moveChildren(@args)", args);
379
- try {
380
- // Check write permission on both source and target parents
381
- const sourceParent = await resolvers.document(this.reactorClient, {
382
- identifier: args.sourceParentIdentifier,
383
- });
384
- if (sourceParent) {
385
- await this.assertCanWrite(sourceParent.document.id, ctx);
386
- }
387
- const targetParent = await resolvers.document(this.reactorClient, {
388
- identifier: args.targetParentIdentifier,
389
- });
390
- if (targetParent) {
391
- await this.assertCanWrite(targetParent.document.id, ctx);
392
- }
393
- return await resolvers.moveChildren(this.reactorClient, args);
394
- }
395
- catch (error) {
396
- this.logger.error("Error in moveChildren(@args): @Error @args", error, args);
397
- throw error;
398
- }
399
- },
400
- deleteDocument: async (_parent, args, ctx) => {
401
- this.logger.debug("deleteDocument(@args)", args);
402
- try {
403
- // Check write permission on document
404
- const doc = await resolvers.document(this.reactorClient, {
405
- identifier: args.identifier,
406
- });
407
- if (doc) {
408
- await this.assertCanWrite(doc.document.id, ctx);
409
- }
410
- return await resolvers.deleteDocument(this.reactorClient, args);
411
- }
412
- catch (error) {
413
- this.logger.error("Error in deleteDocument(@args): @Error", error);
414
- throw error;
415
- }
416
- },
417
- deleteDocuments: async (_parent, args, ctx) => {
418
- this.logger.debug("deleteDocuments(@args)", args);
419
- try {
420
- // Check write permission on each document
421
- for (const identifier of args.identifiers) {
422
- const doc = await resolvers.document(this.reactorClient, {
423
- identifier,
424
- });
425
- if (doc) {
426
- await this.assertCanWrite(doc.document.id, ctx);
427
- }
428
- }
429
- return await resolvers.deleteDocuments(this.reactorClient, args);
430
- }
431
- catch (error) {
432
- this.logger.error("Error in deleteDocuments(@args): @Error", error);
433
- throw error;
434
- }
435
- },
436
- touchChannel: async (_parent, args) => {
437
- this.logger.debug("touchChannel(@args)", args);
438
- try {
439
- return await resolvers.touchChannel(this.syncManager, args);
440
- }
441
- catch (error) {
442
- this.logger.error("Error in touchChannel(@args): @Error", error);
443
- throw error;
444
- }
445
- },
446
- pushSyncEnvelope: async (_parent, args) => {
447
- this.logger.debug("pushSyncEnvelope(@args)", args);
448
- try {
449
- // Convert readonly arrays to mutable arrays for the resolver
450
- const mutableArgs = {
451
- envelope: {
452
- type: args.envelope.type,
453
- channelMeta: { id: args.envelope.channelMeta.id },
454
- operations: args.envelope.operations
455
- ? args.envelope.operations.map((op) => ({
456
- operation: op.operation,
457
- context: {
458
- documentId: op.context.documentId,
459
- documentType: op.context.documentType,
460
- scope: op.context.scope,
461
- branch: op.context.branch,
462
- },
463
- }))
464
- : null,
465
- cursor: args.envelope.cursor
466
- ? {
467
- remoteName: args.envelope.cursor.remoteName,
468
- cursorOrdinal: args.envelope.cursor.cursorOrdinal,
469
- lastSyncedAtUtcMs: args.envelope.cursor.lastSyncedAtUtcMs,
470
- }
471
- : null,
472
- },
473
- };
474
- return await resolvers.pushSyncEnvelope(this.syncManager, mutableArgs);
475
- }
476
- catch (error) {
477
- this.logger.error("Error in pushSyncEnvelope(@args): @Error", error);
478
- throw error;
479
- }
480
- },
481
- },
482
- Subscription: {
483
- documentChanges: {
484
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
485
- subscribe: withFilter(
486
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
487
- (() => {
488
- this.logger.debug("documentChanges(@args) subscription started");
489
- ensureGlobalDocumentSubscription(this.reactorClient);
490
- return getPubSub().asyncIterableIterator(SUBSCRIPTION_TRIGGERS.DOCUMENT_CHANGES);
491
- }),
492
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
493
- ((payload, args) => {
494
- if (!payload) {
495
- return false;
496
- }
497
- const search = {
498
- type: args.search.type ?? undefined,
499
- parentId: args.search.parentId ?? undefined,
500
- };
501
- return matchesSearchFilter(payload.documentChanges, search);
502
- })),
503
- resolve: (payload) => {
504
- return toGqlDocumentChangeEvent(payload.documentChanges);
505
- },
506
- },
507
- jobChanges: {
508
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
509
- subscribe: withFilter(
510
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
511
- ((_parent, args) => {
512
- this.logger.debug("jobChanges(@args) subscription started", args);
513
- ensureJobSubscription(this.reactorClient, args.jobId);
514
- return getPubSub().asyncIterableIterator(SUBSCRIPTION_TRIGGERS.JOB_CHANGES);
515
- }),
516
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
517
- ((payload, args) => {
518
- if (!payload) {
519
- return false;
520
- }
521
- return matchesJobFilter(payload, args);
522
- })),
523
- resolve: (payload) => {
524
- return payload.jobChanges;
525
- },
526
- },
527
- },
528
- };
529
- onSetup() {
530
- this.logger.debug("Setting up ReactorSubgraph");
531
- return Promise.resolve();
532
- }
533
- }
534
- //# sourceMappingURL=subgraph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../../../src/graphql/reactor/subgraph.ts"],"names":[],"mappings":"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"}
@@ -1,102 +0,0 @@
1
- import { z } from "zod";
2
- export declare const JSONObjectDTO: z.ZodUnknown;
3
- export declare const DateTimeDTO: z.ZodUnion<readonly [z.ZodString, z.ZodDate]>;
4
- export declare const DocumentModelStateDTO: z.ZodObject<{
5
- id: z.ZodString;
6
- name: z.ZodString;
7
- namespace: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
- version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
- specification: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
10
- }, z.core.$strip>;
11
- export declare const DocumentModelResultPageDTO: z.ZodObject<{
12
- items: z.ZodArray<z.ZodObject<{
13
- id: z.ZodString;
14
- name: z.ZodString;
15
- namespace: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
- version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17
- specification: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
18
- }, z.core.$strip>>;
19
- totalCount: z.ZodNumber;
20
- hasNextPage: z.ZodBoolean;
21
- hasPreviousPage: z.ZodBoolean;
22
- cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
- }, z.core.$strip>;
24
- export declare const PHDocumentDTO: z.ZodObject<{
25
- id: z.ZodString;
26
- slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
- name: z.ZodString;
28
- documentType: z.ZodString;
29
- state: z.ZodUnknown;
30
- revision: z.ZodNumber;
31
- created: z.ZodUnion<readonly [z.ZodString, z.ZodDate]>;
32
- lastModified: z.ZodUnion<readonly [z.ZodString, z.ZodDate]>;
33
- parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
- }, z.core.$strip>;
35
- export declare const PHDocumentResultPageDTO: z.ZodObject<{
36
- items: z.ZodArray<z.ZodObject<{
37
- id: z.ZodString;
38
- slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
- name: z.ZodString;
40
- documentType: z.ZodString;
41
- state: z.ZodUnknown;
42
- revision: z.ZodNumber;
43
- created: z.ZodUnion<readonly [z.ZodString, z.ZodDate]>;
44
- lastModified: z.ZodUnion<readonly [z.ZodString, z.ZodDate]>;
45
- parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
46
- }, z.core.$strip>>;
47
- totalCount: z.ZodNumber;
48
- hasNextPage: z.ZodBoolean;
49
- hasPreviousPage: z.ZodBoolean;
50
- cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
51
- }, z.core.$strip>;
52
- export declare const DocumentWithChildrenDTO: z.ZodObject<{
53
- document: z.ZodObject<{
54
- id: z.ZodString;
55
- slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
- name: z.ZodString;
57
- documentType: z.ZodString;
58
- state: z.ZodUnknown;
59
- revision: z.ZodNumber;
60
- created: z.ZodUnion<readonly [z.ZodString, z.ZodDate]>;
61
- lastModified: z.ZodUnion<readonly [z.ZodString, z.ZodDate]>;
62
- parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
- }, z.core.$strip>;
64
- childIds: z.ZodArray<z.ZodString>;
65
- }, z.core.$strip>;
66
- export declare const MoveChildrenResultDTO: z.ZodObject<{
67
- source: z.ZodObject<{
68
- id: z.ZodString;
69
- slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
70
- name: z.ZodString;
71
- documentType: z.ZodString;
72
- state: z.ZodUnknown;
73
- revision: z.ZodNumber;
74
- created: z.ZodUnion<readonly [z.ZodString, z.ZodDate]>;
75
- lastModified: z.ZodUnion<readonly [z.ZodString, z.ZodDate]>;
76
- parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
77
- }, z.core.$strip>;
78
- target: z.ZodObject<{
79
- id: z.ZodString;
80
- slug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
81
- name: z.ZodString;
82
- documentType: z.ZodString;
83
- state: z.ZodUnknown;
84
- revision: z.ZodNumber;
85
- created: z.ZodUnion<readonly [z.ZodString, z.ZodDate]>;
86
- lastModified: z.ZodUnion<readonly [z.ZodString, z.ZodDate]>;
87
- parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
88
- }, z.core.$strip>;
89
- }, z.core.$strip>;
90
- export declare const JobInfoDTO: z.ZodObject<{
91
- id: z.ZodString;
92
- status: z.ZodString;
93
- result: z.ZodOptional<z.ZodNullable<z.ZodUnknown>>;
94
- error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
95
- createdAt: z.ZodUnion<readonly [z.ZodString, z.ZodDate]>;
96
- completedAt: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>>;
97
- }, z.core.$strip>;
98
- export declare const DocumentChangeContextDTO: z.ZodObject<{
99
- parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
100
- childId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
101
- }, z.core.$strip>;
102
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/graphql/reactor/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,aAAa,cAAc,CAAC;AACzC,eAAO,MAAM,WAAW,+CAAkC,CAAC;AAE3D,eAAO,MAAM,qBAAqB;;;;;;iBAQxB,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;iBAQ7B,CAAC;AAEX,eAAO,MAAM,aAAa;;;;;;;;;;iBAYhB,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;iBAQ1B,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;iBAK1B,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;iBAKxB,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;iBASb,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;iBAK3B,CAAC"}