@powerhousedao/reactor-api 6.0.0-dev.2 → 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 (318) 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 -65
  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 -46
  61. package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
  62. package/dist/src/graphql/graphql-manager.js +0 -416
  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 -1210
  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 -159
  102. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  103. package/dist/src/graphql/reactor/resolvers.js +0 -501
  104. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  105. package/dist/src/graphql/reactor/schema.graphql +0 -429
  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 -14
  159. package/dist/src/packages/import-loader.d.ts.map +0 -1
  160. package/dist/src/packages/import-loader.js +0 -52
  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 -35
  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 -26
  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 -23
  179. package/dist/src/packages/vite-loader.d.ts.map +0 -1
  180. package/dist/src/packages/vite-loader.js +0 -159
  181. package/dist/src/packages/vite-loader.js.map +0 -1
  182. package/dist/src/server.d.ts +0 -70
  183. package/dist/src/server.d.ts.map +0 -1
  184. package/dist/src/server.js +0 -367
  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 -275
  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/index.d.ts +0 -3
  223. package/dist/src/utils/index.d.ts.map +0 -1
  224. package/dist/src/utils/index.js +0 -3
  225. package/dist/src/utils/index.js.map +0 -1
  226. package/dist/test/benchmarks/load.bench.d.ts +0 -2
  227. package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
  228. package/dist/test/benchmarks/load.bench.js +0 -73
  229. package/dist/test/benchmarks/load.bench.js.map +0 -1
  230. package/dist/test/benchmarks/sync.bench.d.ts +0 -2
  231. package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
  232. package/dist/test/benchmarks/sync.bench.js +0 -119
  233. package/dist/test/benchmarks/sync.bench.js.map +0 -1
  234. package/dist/test/document-permission.service.test.d.ts +0 -2
  235. package/dist/test/document-permission.service.test.d.ts.map +0 -1
  236. package/dist/test/document-permission.service.test.js +0 -480
  237. package/dist/test/document-permission.service.test.js.map +0 -1
  238. package/dist/test/drive-handlers.d.ts +0 -4
  239. package/dist/test/drive-handlers.d.ts.map +0 -1
  240. package/dist/test/drive-handlers.js +0 -39
  241. package/dist/test/drive-handlers.js.map +0 -1
  242. package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
  243. package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
  244. package/dist/test/drive-subgraph-permissions.test.js +0 -195
  245. package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
  246. package/dist/test/drive.test.d.ts +0 -2
  247. package/dist/test/drive.test.d.ts.map +0 -1
  248. package/dist/test/drive.test.js +0 -142
  249. package/dist/test/drive.test.js.map +0 -1
  250. package/dist/test/identity-integration.test.d.ts +0 -2
  251. package/dist/test/identity-integration.test.d.ts.map +0 -1
  252. package/dist/test/identity-integration.test.js +0 -349
  253. package/dist/test/identity-integration.test.js.map +0 -1
  254. package/dist/test/index.d.ts +0 -3
  255. package/dist/test/index.d.ts.map +0 -1
  256. package/dist/test/index.js +0 -3
  257. package/dist/test/index.js.map +0 -1
  258. package/dist/test/permissions-integration.test.d.ts +0 -2
  259. package/dist/test/permissions-integration.test.d.ts.map +0 -1
  260. package/dist/test/permissions-integration.test.js +0 -421
  261. package/dist/test/permissions-integration.test.js.map +0 -1
  262. package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
  263. package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
  264. package/dist/test/pull-responder-transmitter.test.js +0 -220
  265. package/dist/test/pull-responder-transmitter.test.js.map +0 -1
  266. package/dist/test/push-transmitter.test.d.ts +0 -2
  267. package/dist/test/push-transmitter.test.d.ts.map +0 -1
  268. package/dist/test/push-transmitter.test.js +0 -179
  269. package/dist/test/push-transmitter.test.js.map +0 -1
  270. package/dist/test/reactor-adapters.test.d.ts +0 -2
  271. package/dist/test/reactor-adapters.test.d.ts.map +0 -1
  272. package/dist/test/reactor-adapters.test.js +0 -379
  273. package/dist/test/reactor-adapters.test.js.map +0 -1
  274. package/dist/test/reactor-client.test.d.ts +0 -2
  275. package/dist/test/reactor-client.test.d.ts.map +0 -1
  276. package/dist/test/reactor-client.test.js +0 -212
  277. package/dist/test/reactor-client.test.js.map +0 -1
  278. package/dist/test/reactor-resolvers.test.d.ts +0 -2
  279. package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
  280. package/dist/test/reactor-resolvers.test.js +0 -261
  281. package/dist/test/reactor-resolvers.test.js.map +0 -1
  282. package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
  283. package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
  284. package/dist/test/reactor-subgraph-permissions.test.js +0 -400
  285. package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
  286. package/dist/test/router.test.d.ts +0 -2
  287. package/dist/test/router.test.d.ts.map +0 -1
  288. package/dist/test/router.test.js +0 -38
  289. package/dist/test/router.test.js.map +0 -1
  290. package/dist/test/subscriptions.test.d.ts +0 -2
  291. package/dist/test/subscriptions.test.d.ts.map +0 -1
  292. package/dist/test/subscriptions.test.js +0 -246
  293. package/dist/test/subscriptions.test.js.map +0 -1
  294. package/dist/test/system.test.d.ts +0 -2
  295. package/dist/test/system.test.d.ts.map +0 -1
  296. package/dist/test/system.test.js +0 -211
  297. package/dist/test/system.test.js.map +0 -1
  298. package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
  299. package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
  300. package/dist/test/three-reactor-gql-sync.test.js +0 -368
  301. package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
  302. package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
  303. package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
  304. package/dist/test/two-reactor-gql-sync.test.js +0 -348
  305. package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
  306. package/dist/test/utils/gql-resolver-bridge.d.ts +0 -12
  307. package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
  308. package/dist/test/utils/gql-resolver-bridge.js +0 -60
  309. package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
  310. package/dist/test/utils.d.ts +0 -10
  311. package/dist/test/utils.d.ts.map +0 -1
  312. package/dist/test/utils.js +0 -23
  313. package/dist/test/utils.js.map +0 -1
  314. package/dist/tsconfig.tsbuildinfo +0 -1
  315. package/dist/vitest.config.d.ts +0 -3
  316. package/dist/vitest.config.d.ts.map +0 -1
  317. package/dist/vitest.config.js +0 -38
  318. package/dist/vitest.config.js.map +0 -1
@@ -1,7 +0,0 @@
1
- import type { IDocumentDriveServer, ListenerRevision, StrandUpdate } from "document-drive";
2
- import type { InternalStrandUpdate } from "@powerhousedao/reactor-api";
3
- export declare const processPushUpdate: (reactor: IDocumentDriveServer, strand: InternalStrandUpdate) => Promise<ListenerRevision>;
4
- export declare const processPushNewDocument: (reactor: IDocumentDriveServer, strand: InternalStrandUpdate) => Promise<ListenerRevision>;
5
- export declare const processAcknowledge: (reactor: IDocumentDriveServer, driveId: string, listenerId: string, revisions: ListenerRevision[]) => Promise<boolean>;
6
- export declare const processGetStrands: (reactor: IDocumentDriveServer, driveId: string, listenerId: string, since: string | undefined) => Promise<StrandUpdate[]>;
7
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/sync/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAEhB,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,eAAO,MAAM,iBAAiB,GAC5B,SAAS,oBAAoB,EAC7B,QAAQ,oBAAoB,KAC3B,OAAO,CAAC,gBAAgB,CA4B1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,SAAS,oBAAoB,EAC7B,QAAQ,oBAAoB,KAC3B,OAAO,CAAC,gBAAgB,CAuC1B,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,oBAAoB,EAC7B,SAAS,MAAM,EACf,YAAY,MAAM,EAClB,WAAW,gBAAgB,EAAE,KAC5B,OAAO,CAAC,OAAO,CAKjB,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,oBAAoB,EAC7B,SAAS,MAAM,EACf,YAAY,MAAM,EAClB,OAAO,MAAM,GAAG,SAAS,KACxB,OAAO,CAAC,YAAY,EAAE,CAKxB,CAAC"}
@@ -1,78 +0,0 @@
1
- import { operationsToRevision } from "document-drive";
2
- // processes a strand update and returns a listener revision
3
- export const processPushUpdate = async (reactor, strand) => {
4
- const existingDocuments = strand.driveId
5
- ? await reactor.getDocuments(strand.driveId)
6
- : [];
7
- const isNewDocument = !existingDocuments.includes(strand.documentId);
8
- if (isNewDocument) {
9
- const result = await processPushNewDocument(reactor, strand);
10
- if (result.status !== "SUCCESS" || strand.operations.length === 0) {
11
- return result;
12
- }
13
- }
14
- const result = await reactor.queueOperations(strand.documentId, strand.operations);
15
- return {
16
- revision: operationsToRevision(result.operations),
17
- branch: strand.branch,
18
- documentId: strand.documentId,
19
- documentType: strand.documentType,
20
- driveId: strand.driveId,
21
- scope: strand.scope,
22
- status: result.status,
23
- error: result.error?.message,
24
- };
25
- };
26
- export const processPushNewDocument = async (reactor, strand) => {
27
- const listenerRevision = {
28
- revision: 0,
29
- branch: strand.branch,
30
- documentId: strand.documentId,
31
- documentType: strand.documentType,
32
- driveId: strand.driveId,
33
- scope: strand.scope,
34
- };
35
- try {
36
- const result = await reactor.queueDocument({
37
- id: strand.documentId,
38
- documentType: strand.documentType,
39
- });
40
- return {
41
- ...listenerRevision,
42
- revision: operationsToRevision(result.operations),
43
- status: result.status,
44
- error: result.error?.message,
45
- };
46
- }
47
- catch (error) {
48
- if (error instanceof Error &&
49
- error.constructor.name === "DocumentAlreadyExistsError") {
50
- return {
51
- ...listenerRevision,
52
- status: "SUCCESS",
53
- };
54
- }
55
- else {
56
- return {
57
- ...listenerRevision,
58
- status: "ERROR",
59
- error: error instanceof Error ? error.message : "Unknown error",
60
- };
61
- }
62
- }
63
- };
64
- // processes an acknowledge request and returns a boolean
65
- export const processAcknowledge = async (reactor, driveId, listenerId, revisions) => {
66
- // todo: use listener manager
67
- const listener = reactor.listeners.getListenerState(driveId, listenerId);
68
- const transmitter = listener.listener.transmitter;
69
- return transmitter.processAcknowledge(driveId, listenerId, revisions);
70
- };
71
- // processes a get strands request and returns a list of strand updates
72
- export const processGetStrands = async (reactor, driveId, listenerId, since) => {
73
- // todo: use listener manager
74
- const listener = reactor.listeners.getListenerState(driveId, listenerId);
75
- const transmitter = listener.listener.transmitter;
76
- return transmitter.getStrands({ since });
77
- };
78
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/sync/utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare function initTracing(): Promise<void>;
2
- export declare function isTracingEnabled(): boolean;
3
- export declare function trace<T>(_name: string, _options: any, fn: () => Promise<T>): Promise<T>;
4
- //# sourceMappingURL=tracing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/tracing.ts"],"names":[],"mappings":"AAkIA,wBAAsB,WAAW,kBAGhC;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAID,wBAAsB,KAAK,CAAC,CAAC,EAC3B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,GAAG,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAEZ"}
@@ -1,122 +0,0 @@
1
- // OpenTelemetry Tracing Configuration for Reactor API
2
- // This file must be loaded before the application starts
3
- import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
4
- import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
5
- import { Resource } from "@opentelemetry/resources";
6
- import { NodeSDK } from "@opentelemetry/sdk-node";
7
- import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
8
- import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, } from "@opentelemetry/semantic-conventions";
9
- // Get configuration from environment
10
- const TEMPO_ENDPOINT = process.env.TEMPO_ENDPOINT ||
11
- "http://tempo.monitoring.svc.cluster.local:4318/v1/traces";
12
- const SERVICE_NAME = process.env.OTEL_SERVICE_NAME || "reactor-api";
13
- const SERVICE_VERSION = process.env.npm_package_version || "unknown";
14
- const TENANT_ID = process.env.TENANT_ID || "default";
15
- // Only enable tracing if explicitly enabled or in production
16
- const TRACING_ENABLED = process.env.ENABLE_TRACING === "true" ||
17
- process.env.NODE_ENV === "production";
18
- if (TRACING_ENABLED) {
19
- console.log(`Initializing OpenTelemetry tracing for ${SERVICE_NAME}...`);
20
- console.log(` Tempo endpoint: ${TEMPO_ENDPOINT}`);
21
- console.log(` Service: ${SERVICE_NAME}`);
22
- console.log(` Tenant: ${TENANT_ID}`);
23
- // Create OTLP trace exporter
24
- const traceExporter = new OTLPTraceExporter({
25
- url: TEMPO_ENDPOINT,
26
- headers: {},
27
- });
28
- // Configure resource with service information
29
- const resource = new Resource({
30
- [ATTR_SERVICE_NAME]: SERVICE_NAME,
31
- [ATTR_SERVICE_VERSION]: SERVICE_VERSION,
32
- "tenant.id": TENANT_ID,
33
- "deployment.environment": process.env.NODE_ENV || "development",
34
- });
35
- // Initialize OpenTelemetry SDK
36
- const sdk = new NodeSDK({
37
- resource,
38
- spanProcessors: [new BatchSpanProcessor(traceExporter)],
39
- instrumentations: [
40
- getNodeAutoInstrumentations({
41
- // Automatically instrument common libraries
42
- "@opentelemetry/instrumentation-http": {
43
- enabled: true,
44
- ignoreIncomingRequestHook: (req) => {
45
- // Don't trace health check endpoints
46
- return req.url === "/health" || req.url === "/ready";
47
- },
48
- // Enable peer service name detection for service graphs
49
- requireParentforIncomingSpans: false,
50
- requireParentforOutgoingSpans: false,
51
- // Add http.target to spans for better observability
52
- requestHook: (span, request) => {
53
- // Add custom attributes for service graph
54
- span.setAttribute("http.route", request.url || "");
55
- },
56
- responseHook: (span, response) => {
57
- // Add response attributes
58
- if (response.statusCode) {
59
- span.setAttribute("http.status_code", response.statusCode);
60
- }
61
- },
62
- },
63
- "@opentelemetry/instrumentation-express": {
64
- enabled: true,
65
- // Add route information to spans
66
- requestHook: (span, info) => {
67
- if (info.route) {
68
- span.setAttribute("http.route", info.route);
69
- }
70
- },
71
- },
72
- "@opentelemetry/instrumentation-graphql": {
73
- enabled: true,
74
- // Add GraphQL operation details for service graphs
75
- mergeItems: true,
76
- allowValues: true,
77
- },
78
- "@opentelemetry/instrumentation-pg": {
79
- enabled: true,
80
- // Add database peer service for service graphs
81
- enhancedDatabaseReporting: true,
82
- },
83
- "@opentelemetry/instrumentation-redis-4": {
84
- enabled: true,
85
- // Add Redis peer service for service graphs
86
- dbStatementSerializer: (cmdName, cmdArgs) => {
87
- return cmdName;
88
- },
89
- },
90
- }),
91
- ],
92
- });
93
- // Start the SDK
94
- sdk.start();
95
- console.log("✓ OpenTelemetry tracing initialized");
96
- // Gracefully shutdown on exit
97
- process.on("SIGTERM", () => {
98
- sdk
99
- .shutdown()
100
- .then(() => console.log("Tracing terminated"))
101
- .catch((error) => console.log("Error terminating tracing", error))
102
- .finally(() => process.exit(0));
103
- });
104
- }
105
- else {
106
- console.log("OpenTelemetry tracing disabled (set ENABLE_TRACING=true to enable)");
107
- }
108
- // Stub exports for backwards compatibility during migration
109
- // With OpenTelemetry auto-instrumentation, these are no longer needed
110
- export async function initTracing() {
111
- // Tracing is initialized automatically when this module is imported
112
- return;
113
- }
114
- export function isTracingEnabled() {
115
- return TRACING_ENABLED;
116
- }
117
- // Simplified trace function - OpenTelemetry auto-instruments everything
118
- // This is just a pass-through for backwards compatibility
119
- export async function trace(_name, _options, fn) {
120
- return fn();
121
- }
122
- //# sourceMappingURL=tracing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/tracing.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import type { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
2
- import type { GraphQLManager } from "@powerhousedao/reactor-api";
3
- import type { IProcessorHostModule, IProcessorManager, IRelationalDb, ProcessorFactory } from "document-drive";
4
- import type { Express } from "express";
5
- import type { IPackageManager } from "./packages/types.js";
6
- export type { IPackageLoader } from "./packages/types.js";
7
- export type API = {
8
- app: Express;
9
- graphqlManager: GraphQLManager;
10
- processorManager: IProcessorManager;
11
- packages: IPackageManager;
12
- };
13
- export type ReactorModule = {
14
- analyticsStore: IAnalyticsStore;
15
- relationalDb: IRelationalDb;
16
- };
17
- export type Processor = ((module: IProcessorHostModule) => ProcessorFactory)[];
18
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,GAAG,GAAG;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,EAAE,eAAe,CAAC;IAChC,YAAY,EAAE,aAAa,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,EAAE,CAAC"}
package/dist/src/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export { verifyAuthBearerToken } from "@renown/sdk";
2
- export declare function isAuthEnabledAndUserPartOfGroup(req: Express.Request, group: "admins" | "users" | "guests"): boolean;
3
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/utils/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,WAqBrC"}
@@ -1,19 +0,0 @@
1
- export { verifyAuthBearerToken } from "@renown/sdk";
2
- export function isAuthEnabledAndUserPartOfGroup(req, group) {
3
- if (req.auth_enabled) {
4
- return false;
5
- }
6
- const user = req.user;
7
- if (!user) {
8
- return false;
9
- }
10
- if (!user.address) {
11
- return false;
12
- }
13
- const groupList = req[group];
14
- if (!groupList) {
15
- return false;
16
- }
17
- return groupList.includes(user.address);
18
- }
19
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/utils/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,UAAU,+BAA+B,CAC7C,GAAoB,EACpB,KAAoC;IAEpC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { GraphQLResolverMap, GraphQLSchemaModule } from "@apollo/subgraph/dist/schema-helper/resolverMap.js";
2
- import type { Context } from "@powerhousedao/reactor-api";
3
- import { type IDocumentDriveServer } from "document-drive";
4
- import type { DocumentModelGlobalState } from "document-model";
5
- import { type DocumentNode } from "graphql";
6
- export declare const buildSubgraphSchemaModule: (documentDriveServer: IDocumentDriveServer, resolvers: GraphQLResolverMap<Context>, typeDefs: DocumentNode) => GraphQLSchemaModule;
7
- export declare const createSchema: (documentDriveServer: IDocumentDriveServer, resolvers: GraphQLResolverMap<Context>, typeDefs: DocumentNode) => import("graphql").GraphQLSchema;
8
- export declare function getDocumentModelSchemaName(documentModel: DocumentModelGlobalState): string;
9
- export declare const getDocumentModelTypeDefs: (documentDriveServer: Pick<IDocumentDriveServer, "getDocumentModelModules">, typeDefs: DocumentNode) => DocumentNode;
10
- export declare function generateDocumentModelSchemaLegacy(documentModel: DocumentModelGlobalState): DocumentNode;
11
- //# sourceMappingURL=create-schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-schema.d.ts","sourceRoot":"","sources":["../../../src/utils/create-schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,oDAAoD,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,SAAS,CAAC;AAiBzD,eAAO,MAAM,yBAAyB,GACpC,qBAAqB,oBAAoB,EACzC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EACtC,UAAU,YAAY,KACrB,mBAUF,CAAC;AACF,eAAO,MAAM,YAAY,GACvB,qBAAqB,oBAAoB,EACzC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EACtC,UAAU,YAAY,oCAKvB,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,wBAAwB,UAGxC;AAED,eAAO,MAAM,wBAAwB,GACnC,qBAAqB,IAAI,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,EAC1E,UAAU,YAAY,iBA4KvB,CAAC;AA+EF,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,wBAAwB,GACtC,YAAY,CA4Dd"}
@@ -1,275 +0,0 @@
1
- import { buildSubgraphSchema } from "@apollo/subgraph";
2
- import { typeDefs as scalarsTypeDefs } from "@powerhousedao/document-engineering/graphql";
3
- import { camelCase, pascalCase } from "change-case";
4
- import { childLogger } from "document-drive";
5
- import { Kind, print } from "graphql";
6
- import { gql } from "graphql-tag";
7
- import { GraphQLJSONObject } from "graphql-type-json";
8
- const logger = childLogger(["reactor-api", "create-schema"]);
9
- /**
10
- * Strip scalar definitions from a DocumentNode to avoid duplicates
11
- * when combining with other schemas that define the same scalars.
12
- */
13
- const stripScalarDefinitions = (doc) => {
14
- const filteredDefinitions = doc.definitions.filter((def) => def.kind !== Kind.SCALAR_TYPE_DEFINITION);
15
- return print({ kind: Kind.DOCUMENT, definitions: filteredDefinitions });
16
- };
17
- export const buildSubgraphSchemaModule = (documentDriveServer, resolvers, typeDefs) => {
18
- const newResolvers = {
19
- ...resolvers,
20
- JSONObject: GraphQLJSONObject,
21
- };
22
- return {
23
- typeDefs: getDocumentModelTypeDefs(documentDriveServer, typeDefs),
24
- resolvers: newResolvers,
25
- };
26
- };
27
- export const createSchema = (documentDriveServer, resolvers, typeDefs) => {
28
- return buildSubgraphSchema(buildSubgraphSchemaModule(documentDriveServer, resolvers, typeDefs));
29
- };
30
- export function getDocumentModelSchemaName(documentModel) {
31
- return pascalCase(documentModel.name.replaceAll("/", " "));
32
- }
33
- export const getDocumentModelTypeDefs = (documentDriveServer, typeDefs) => {
34
- const documentModels = documentDriveServer.getDocumentModelModules();
35
- let dmSchema = "";
36
- const addedDocumentModels = new Set();
37
- documentModels.forEach(({ documentModel }) => {
38
- const dmSchemaName = getDocumentModelSchemaName(documentModel.global);
39
- if (addedDocumentModels.has(dmSchemaName)) {
40
- logger.debug(`Skipping document model with duplicate name: ${dmSchemaName}`);
41
- return;
42
- }
43
- addedDocumentModels.add(dmSchemaName);
44
- let tmpDmSchema = `
45
- ${documentModel.global.specifications
46
- .map((specification) => specification.state.global.schema
47
- .replaceAll("scalar DateTime", "")
48
- .replaceAll(/input (.*?) {[\s\S]*?}/g, ""))
49
- .join("\n")};
50
-
51
- ${documentModel.global.specifications
52
- .map((specification) => specification.state.local.schema
53
- .replaceAll("scalar DateTime", "")
54
- .replaceAll(/input (.*?) {[\s\S]*?}/g, "")
55
- .replaceAll("type AccountSnapshotLocalState", "")
56
- .replaceAll("type BudgetStatementLocalState", "")
57
- .replaceAll("type ScopeFrameworkLocalState", ""))
58
- .join("\n")};
59
-
60
- \n`;
61
- const found = tmpDmSchema.match(/(type|enum|union|interface)\s+(\w+)\s/g);
62
- const trimmedFound = found?.map((f) => f
63
- .replaceAll("type ", "")
64
- .replaceAll("enum ", "")
65
- .replaceAll("union ", "")
66
- .replaceAll("interface ", "")
67
- .trim());
68
- trimmedFound?.forEach((f) => {
69
- // Create a regex that matches the type name with proper boundaries
70
- const typeRegex = new RegExp(
71
- // Match type references in various GraphQL contexts
72
- `(?<![_A-Za-z0-9])(${f})(?![_A-Za-z0-9])|` + // Basic type references
73
- `\\[(${f})\\]|` + // Array types without nullability
74
- `\\[(${f})!\\]|` + // Array of non-null types
75
- `\\[(${f})\\]!|` + // Non-null array of types
76
- `\\[(${f})!\\]!`, // Non-null array of non-null types
77
- "g");
78
- tmpDmSchema = tmpDmSchema.replace(typeRegex, (match, p1, p2, p3, p4, p5) => {
79
- // If it's an array type, preserve the brackets and ! while replacing the type name
80
- if (match.startsWith("[")) {
81
- return match.replace(p2 || p3 || p4 || p5, `${dmSchemaName}_${p2 || p3 || p4 || p5}`);
82
- }
83
- // Basic type reference
84
- return `${dmSchemaName}_${p1}`;
85
- });
86
- });
87
- dmSchema += tmpDmSchema;
88
- dmSchema += `
89
- type ${dmSchemaName} implements IDocument {
90
- id: String!
91
- name: String!
92
- documentType: String!
93
- operations(skip: Int, first: Int): [Operation!]!
94
- revision: Int!
95
- createdAtUtcIso: DateTime!
96
- lastModifiedAtUtcIso: DateTime!
97
- ${dmSchemaName !== "DocumentModel" ? `initialState: ${dmSchemaName}_${dmSchemaName}State!` : ""}
98
- ${dmSchemaName !== "DocumentModel" ? `state: ${dmSchemaName}_${dmSchemaName}State!` : ""}
99
- stateJSON: JSONObject
100
- }\n`;
101
- });
102
- // add the mutation and query types
103
- const schema = gql `
104
- scalar JSONObject
105
- ${scalarsTypeDefs.join("\n").replaceAll(";", "")}
106
-
107
- type PHOperationContext {
108
- signer: Signer
109
- }
110
-
111
- type Signer {
112
- user: SignerUser
113
- app: SignerApp
114
- signatures: [String!]!
115
- }
116
-
117
- type SignerUser {
118
- address: String!
119
- networkId: String!
120
- chainId: Int!
121
- }
122
-
123
- type SignerApp {
124
- name: String!
125
- key: String!
126
- }
127
-
128
- type Operation {
129
- id: String!
130
- type: String!
131
- index: Int!
132
- timestampUtcMs: DateTime!
133
- hash: String!
134
- skip: Int
135
- inputText: String
136
- error: String
137
- context: PHOperationContext
138
- }
139
-
140
- interface IDocument {
141
- id: String!
142
- name: String!
143
- documentType: String!
144
- revision: Int!
145
- createdAtUtcIso: DateTime!
146
- lastModifiedAtUtcIso: DateTime!
147
- operations(first: Int, skip: Int): [Operation!]!
148
- stateJSON: JSONObject
149
- }
150
- ${dmSchema.replaceAll(";", "")}
151
-
152
- type GqlDocument implements IDocument {
153
- id: String!
154
- name: String!
155
- documentType: String!
156
- revision: Int!
157
- createdAtUtcIso: DateTime!
158
- lastModifiedAtUtcIso: DateTime!
159
- operations(first: Int, skip: Int): [Operation!]!
160
- stateJSON: JSONObject
161
- }
162
-
163
- type DriveDocument implements IDocument {
164
- id: String!
165
- name: String!
166
- documentType: String!
167
- revision: Int!
168
- createdAtUtcIso: DateTime!
169
- lastModifiedAtUtcIso: DateTime!
170
- operations(first: Int, skip: Int): [Operation!]!
171
- stateJSON: JSONObject
172
- }
173
-
174
- ${stripScalarDefinitions(typeDefs)}
175
- `;
176
- return schema;
177
- };
178
- /**
179
- * Extract type names from a GraphQL schema.
180
- * @param {string} schema - GraphQL schema string
181
- * @returns {string[]} Array of type names
182
- */
183
- function extractTypeNames(schema) {
184
- const found = schema.match(/(type|enum|union|interface|input)\s+(\w+)\s/g);
185
- if (!found)
186
- return [];
187
- return found.map((f) => f
188
- .replaceAll("type ", "")
189
- .replaceAll("enum ", "")
190
- .replaceAll("union ", "")
191
- .replaceAll("interface ", "")
192
- .replaceAll("input ", "")
193
- .trim());
194
- }
195
- /**
196
- * Apply type prefixes to GraphQL schema to namespace types and avoid collisions.
197
- * Inlined from @powerhousedao/common/utils to avoid ES module import issues.
198
- * @param {string} schema - GraphQL schema string
199
- * @param {string} prefix - Prefix to apply to type names
200
- * @param {string[]} externalTypeNames - Type names from other schemas to also prefix
201
- * @returns {string} Schema with prefixed types
202
- */
203
- function applyGraphQLTypePrefixes(schema, prefix, externalTypeNames = []) {
204
- if (!schema || !schema.trim()) {
205
- return schema;
206
- }
207
- let processedSchema = schema;
208
- // Find types defined in this schema
209
- const localTypeNames = extractTypeNames(schema);
210
- // Combine with external type names (remove duplicates)
211
- const allTypeNames = [...new Set([...localTypeNames, ...externalTypeNames])];
212
- if (allTypeNames.length === 0) {
213
- return schema;
214
- }
215
- allTypeNames.forEach((typeName) => {
216
- const typeRegex = new RegExp(
217
- // Match type references in various GraphQL contexts
218
- `(?<![_A-Za-z0-9])(${typeName})(?![_A-Za-z0-9])|` +
219
- `\\[(${typeName})\\]|` +
220
- `\\[(${typeName})!\\]|` +
221
- `\\[(${typeName})\\]!|` +
222
- `\\[(${typeName})!\\]!`, "g");
223
- processedSchema = processedSchema.replace(typeRegex, (match, p1, p2, p3, p4, p5) => {
224
- if (match.startsWith("[")) {
225
- return match.replace((p2 || p3 || p4 || p5), `${prefix}_${p2 || p3 || p4 || p5}`);
226
- }
227
- // Basic type reference
228
- return `${prefix}_${p1}`;
229
- });
230
- });
231
- return processedSchema;
232
- }
233
- export function generateDocumentModelSchemaLegacy(documentModel) {
234
- const specification = documentModel.specifications.at(-1);
235
- const documentName = getDocumentModelSchemaName(documentModel);
236
- const stateSchema = specification?.state.global.schema;
237
- const stateTypeNames = extractTypeNames(stateSchema ?? "");
238
- return gql `
239
- """
240
- Queries: ${documentName} Document
241
- """
242
-
243
- type ${documentName}Queries {
244
- getDocument(docId: PHID!, driveId: PHID): ${documentName}
245
- getDocuments(driveId: String!): [${documentName}!]
246
- }
247
-
248
- type Query {
249
- ${documentName}: ${documentName}Queries
250
- }
251
-
252
- """
253
- Mutations: ${documentName}
254
- """
255
- type Mutation {
256
- ${documentName}_createDocument(name:String!, driveId:String): String
257
-
258
- ${specification?.modules
259
- .flatMap((module) => module.operations
260
- .filter((op) => op.name)
261
- .map((op) => `${documentName}_${camelCase(op.name)}(
262
- driveId: String, docId: PHID, input: ${documentName}_${pascalCase(op.name)}Input): Int`))
263
- .join("\n ") ?? ""}
264
- }
265
-
266
- ${specification?.modules
267
- .map((module) => `"""
268
- Module: ${pascalCase(module.name)}
269
- """
270
- ${module.operations
271
- .map((op) => applyGraphQLTypePrefixes(op.schema ?? "", documentName, stateTypeNames))
272
- .join("\n ")}`)
273
- .join("\n") ?? ""}`;
274
- }
275
- //# sourceMappingURL=create-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-schema.js","sourceRoot":"","sources":["../../../src/utils/create-schema.ts"],"names":[],"mappings":"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"}