@powerhousedao/reactor-api 6.0.0-dev.15 → 6.0.0-dev.151

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 (367) 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 -3
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +4 -3
  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-gateway-mercurius.d.ts +17 -0
  38. package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts.map +1 -0
  39. package/dist/src/graphql/gateway/adapter-gateway-mercurius.js +154 -0
  40. package/dist/src/graphql/gateway/adapter-gateway-mercurius.js.map +1 -0
  41. package/dist/src/graphql/gateway/adapter-http-express.d.ts +25 -0
  42. package/dist/src/graphql/gateway/adapter-http-express.d.ts.map +1 -0
  43. package/dist/src/graphql/gateway/adapter-http-express.js +163 -0
  44. package/dist/src/graphql/gateway/adapter-http-express.js.map +1 -0
  45. package/dist/src/graphql/gateway/adapter-http-fastify.d.ts +23 -0
  46. package/dist/src/graphql/gateway/adapter-http-fastify.d.ts.map +1 -0
  47. package/dist/src/graphql/gateway/adapter-http-fastify.js +228 -0
  48. package/dist/src/graphql/gateway/adapter-http-fastify.js.map +1 -0
  49. package/dist/src/graphql/gateway/auth-middleware.d.ts +7 -0
  50. package/dist/src/graphql/gateway/auth-middleware.d.ts.map +1 -0
  51. package/dist/src/graphql/gateway/auth-middleware.js +15 -0
  52. package/dist/src/graphql/gateway/auth-middleware.js.map +1 -0
  53. package/dist/src/graphql/gateway/factory.d.ts +11 -0
  54. package/dist/src/graphql/gateway/factory.d.ts.map +1 -0
  55. package/dist/src/graphql/gateway/factory.js +21 -0
  56. package/dist/src/graphql/gateway/factory.js.map +1 -0
  57. package/dist/src/graphql/gateway/types.d.ts +100 -0
  58. package/dist/src/graphql/gateway/types.d.ts.map +1 -0
  59. package/dist/src/{sync → graphql/gateway}/types.js.map +1 -1
  60. package/dist/src/graphql/graphql-manager.d.ts +30 -12
  61. package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
  62. package/dist/src/graphql/graphql-manager.js +282 -232
  63. package/dist/src/graphql/graphql-manager.js.map +1 -1
  64. package/dist/src/graphql/index.d.ts +5 -1
  65. package/dist/src/graphql/index.d.ts.map +1 -1
  66. package/dist/src/graphql/index.js +5 -1
  67. package/dist/src/graphql/index.js.map +1 -1
  68. package/dist/src/graphql/packages/index.d.ts +2 -0
  69. package/dist/src/graphql/packages/index.d.ts.map +1 -0
  70. package/dist/src/graphql/packages/index.js +2 -0
  71. package/dist/src/graphql/packages/index.js.map +1 -0
  72. package/dist/src/graphql/packages/resolvers.d.ts +31 -0
  73. package/dist/src/graphql/packages/resolvers.d.ts.map +1 -0
  74. package/dist/src/graphql/packages/resolvers.js +37 -0
  75. package/dist/src/graphql/packages/resolvers.js.map +1 -0
  76. package/dist/src/graphql/packages/schema.graphql +50 -0
  77. package/dist/src/graphql/packages/subgraph.d.ts +55 -0
  78. package/dist/src/graphql/packages/subgraph.d.ts.map +1 -0
  79. package/dist/src/graphql/packages/subgraph.js +73 -0
  80. package/dist/src/graphql/packages/subgraph.js.map +1 -0
  81. package/dist/src/graphql/playground.d.ts.map +1 -1
  82. package/dist/src/graphql/playground.js +19 -12
  83. package/dist/src/graphql/playground.js.map +1 -1
  84. package/dist/src/graphql/reactor/adapters.d.ts +10 -2
  85. package/dist/src/graphql/reactor/adapters.d.ts.map +1 -1
  86. package/dist/src/graphql/reactor/adapters.js +36 -1
  87. package/dist/src/graphql/reactor/adapters.js.map +1 -1
  88. package/dist/src/graphql/reactor/factory.d.ts +28 -7
  89. package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
  90. package/dist/src/graphql/reactor/factory.js +1 -1
  91. package/dist/src/graphql/reactor/factory.js.map +1 -1
  92. package/dist/src/graphql/reactor/gen/graphql.d.ts +363 -84
  93. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
  94. package/dist/src/graphql/reactor/gen/graphql.js +247 -12
  95. package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
  96. package/dist/src/graphql/reactor/index.d.ts +1 -1
  97. package/dist/src/graphql/reactor/index.d.ts.map +1 -1
  98. package/dist/src/graphql/reactor/index.js +1 -1
  99. package/dist/src/graphql/reactor/index.js.map +1 -1
  100. package/dist/src/graphql/reactor/operations.graphql +193 -3
  101. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +1 -1
  102. package/dist/src/graphql/reactor/requester.with-zod.js +114 -38
  103. package/dist/src/graphql/reactor/requester.with-zod.js.map +1 -1
  104. package/dist/src/graphql/reactor/resolvers.d.ts +90 -26
  105. package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
  106. package/dist/src/graphql/reactor/resolvers.js +258 -77
  107. package/dist/src/graphql/reactor/resolvers.js.map +1 -1
  108. package/dist/src/graphql/reactor/schema.graphql +78 -32
  109. package/dist/src/graphql/reactor/subgraph.d.ts +2 -31
  110. package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
  111. package/dist/src/graphql/reactor/subgraph.js +139 -213
  112. package/dist/src/graphql/reactor/subgraph.js.map +1 -1
  113. package/dist/src/graphql/reactor/validation.d.ts +266 -20
  114. package/dist/src/graphql/reactor/validation.d.ts.map +1 -1
  115. package/dist/src/graphql/reactor/validation.js +98 -4
  116. package/dist/src/graphql/reactor/validation.js.map +1 -1
  117. package/dist/src/graphql/sse.d.ts +35 -0
  118. package/dist/src/graphql/sse.d.ts.map +1 -0
  119. package/dist/src/graphql/sse.js +29 -0
  120. package/dist/src/graphql/sse.js.map +1 -0
  121. package/dist/src/graphql/system/index.d.ts +0 -1
  122. package/dist/src/graphql/system/index.d.ts.map +1 -1
  123. package/dist/src/graphql/system/index.js +0 -1
  124. package/dist/src/graphql/system/index.js.map +1 -1
  125. package/dist/src/graphql/types.d.ts +7 -8
  126. package/dist/src/graphql/types.d.ts.map +1 -1
  127. package/dist/src/graphql/utils.d.ts +3 -20
  128. package/dist/src/graphql/utils.d.ts.map +1 -1
  129. package/dist/src/graphql/utils.js +7 -35
  130. package/dist/src/graphql/utils.js.map +1 -1
  131. package/dist/src/migrations/002_add_document_protection.d.ts +4 -0
  132. package/dist/src/migrations/002_add_document_protection.d.ts.map +1 -0
  133. package/dist/src/migrations/002_add_document_protection.js +18 -0
  134. package/dist/src/migrations/002_add_document_protection.js.map +1 -0
  135. package/dist/src/migrations/index.d.ts.map +1 -1
  136. package/dist/src/migrations/index.js +2 -0
  137. package/dist/src/migrations/index.js.map +1 -1
  138. package/dist/src/packages/http-loader.d.ts +59 -0
  139. package/dist/src/packages/http-loader.d.ts.map +1 -0
  140. package/dist/src/packages/http-loader.js +203 -0
  141. package/dist/src/packages/http-loader.js.map +1 -0
  142. package/dist/src/packages/https-hooks.d.mts +37 -0
  143. package/dist/src/packages/https-hooks.d.mts.map +1 -0
  144. package/dist/src/packages/https-hooks.mjs +95 -0
  145. package/dist/src/packages/https-hooks.mjs.map +1 -0
  146. package/dist/src/packages/import-loader.d.ts +4 -6
  147. package/dist/src/packages/import-loader.d.ts.map +1 -1
  148. package/dist/src/packages/import-loader.js +4 -18
  149. package/dist/src/packages/import-loader.js.map +1 -1
  150. package/dist/src/packages/package-manager.d.ts +3 -4
  151. package/dist/src/packages/package-manager.d.ts.map +1 -1
  152. package/dist/src/packages/package-manager.js +10 -7
  153. package/dist/src/packages/package-manager.js.map +1 -1
  154. package/dist/src/packages/types.d.ts +8 -8
  155. package/dist/src/packages/types.d.ts.map +1 -1
  156. package/dist/src/packages/util.d.ts +4 -5
  157. package/dist/src/packages/util.d.ts.map +1 -1
  158. package/dist/src/packages/util.js +2 -14
  159. package/dist/src/packages/util.js.map +1 -1
  160. package/dist/src/packages/vite-loader.d.ts +12 -11
  161. package/dist/src/packages/vite-loader.d.ts.map +1 -1
  162. package/dist/src/packages/vite-loader.js +20 -21
  163. package/dist/src/packages/vite-loader.js.map +1 -1
  164. package/dist/src/server.d.ts +15 -33
  165. package/dist/src/server.d.ts.map +1 -1
  166. package/dist/src/server.js +164 -244
  167. package/dist/src/server.js.map +1 -1
  168. package/dist/src/services/auth.service.d.ts +3 -18
  169. package/dist/src/services/auth.service.d.ts.map +1 -1
  170. package/dist/src/services/auth.service.js +38 -72
  171. package/dist/src/services/auth.service.js.map +1 -1
  172. package/dist/src/services/authorization.service.d.ts +70 -0
  173. package/dist/src/services/authorization.service.d.ts.map +1 -0
  174. package/dist/src/services/authorization.service.js +155 -0
  175. package/dist/src/services/authorization.service.js.map +1 -0
  176. package/dist/src/services/document-permission.service.d.ts +47 -7
  177. package/dist/src/services/document-permission.service.d.ts.map +1 -1
  178. package/dist/src/services/document-permission.service.js +162 -7
  179. package/dist/src/services/document-permission.service.js.map +1 -1
  180. package/dist/src/services/package-management.service.d.ts +32 -0
  181. package/dist/src/services/package-management.service.d.ts.map +1 -0
  182. package/dist/src/services/package-management.service.js +95 -0
  183. package/dist/src/services/package-management.service.js.map +1 -0
  184. package/dist/src/services/package-storage.d.ts +23 -0
  185. package/dist/src/services/package-storage.d.ts.map +1 -0
  186. package/dist/src/services/package-storage.js +19 -0
  187. package/dist/src/services/package-storage.js.map +1 -0
  188. package/dist/src/tracing.d.ts.map +1 -1
  189. package/dist/src/tracing.js +25 -1
  190. package/dist/src/tracing.js.map +1 -1
  191. package/dist/src/types.d.ts +13 -5
  192. package/dist/src/types.d.ts.map +1 -1
  193. package/dist/src/utils/create-schema.d.ts +31 -6
  194. package/dist/src/utils/create-schema.d.ts.map +1 -1
  195. package/dist/src/utils/create-schema.js +446 -40
  196. package/dist/src/utils/create-schema.js.map +1 -1
  197. package/dist/src/utils/db.d.ts +8 -0
  198. package/dist/src/utils/db.d.ts.map +1 -1
  199. package/dist/src/utils/db.js.map +1 -1
  200. package/dist/test/auth-chain.test.d.ts +12 -0
  201. package/dist/test/auth-chain.test.d.ts.map +1 -0
  202. package/dist/test/auth-chain.test.js +157 -0
  203. package/dist/test/auth-chain.test.js.map +1 -0
  204. package/dist/test/auth.service.test.d.ts +10 -0
  205. package/dist/test/auth.service.test.d.ts.map +1 -0
  206. package/dist/test/auth.service.test.js +141 -0
  207. package/dist/test/auth.service.test.js.map +1 -0
  208. package/dist/test/authorization.service.test.d.ts +2 -0
  209. package/dist/test/authorization.service.test.d.ts.map +1 -0
  210. package/dist/test/authorization.service.test.js +252 -0
  211. package/dist/test/authorization.service.test.js.map +1 -0
  212. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +2 -0
  213. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +1 -0
  214. package/dist/test/connect-switchboard-reshuffle-convergence.test.js +204 -0
  215. package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +1 -0
  216. package/dist/test/connect-switchboard-sync.test.d.ts +2 -0
  217. package/dist/test/connect-switchboard-sync.test.d.ts.map +1 -0
  218. package/dist/test/connect-switchboard-sync.test.js +633 -0
  219. package/dist/test/connect-switchboard-sync.test.js.map +1 -0
  220. package/dist/test/document-drive-subgraph.test.d.ts +2 -0
  221. package/dist/test/document-drive-subgraph.test.d.ts.map +1 -0
  222. package/dist/test/document-drive-subgraph.test.js +244 -0
  223. package/dist/test/document-drive-subgraph.test.js.map +1 -0
  224. package/dist/test/document-model-subgraph-permissions.test.d.ts +2 -0
  225. package/dist/test/document-model-subgraph-permissions.test.d.ts.map +1 -0
  226. package/dist/test/document-model-subgraph-permissions.test.js +587 -0
  227. package/dist/test/document-model-subgraph-permissions.test.js.map +1 -0
  228. package/dist/test/drive-info-endpoint.test.d.ts +2 -0
  229. package/dist/test/drive-info-endpoint.test.d.ts.map +1 -0
  230. package/dist/test/drive-info-endpoint.test.js +123 -0
  231. package/dist/test/drive-info-endpoint.test.js.map +1 -0
  232. package/dist/test/fault-injection-sync.test.d.ts +2 -0
  233. package/dist/test/fault-injection-sync.test.d.ts.map +1 -0
  234. package/dist/test/fault-injection-sync.test.js +197 -0
  235. package/dist/test/fault-injection-sync.test.js.map +1 -0
  236. package/dist/test/gateway/adapter-gateway-apollo.test.d.ts +2 -0
  237. package/dist/test/gateway/adapter-gateway-apollo.test.d.ts.map +1 -0
  238. package/dist/test/gateway/adapter-gateway-apollo.test.js +206 -0
  239. package/dist/test/gateway/adapter-gateway-apollo.test.js.map +1 -0
  240. package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts +2 -0
  241. package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts.map +1 -0
  242. package/dist/test/gateway/adapter-gateway-mercurius.test.js +23 -0
  243. package/dist/test/gateway/adapter-gateway-mercurius.test.js.map +1 -0
  244. package/dist/test/gateway/adapter-http-express.test.d.ts +2 -0
  245. package/dist/test/gateway/adapter-http-express.test.d.ts.map +1 -0
  246. package/dist/test/gateway/adapter-http-express.test.js +17 -0
  247. package/dist/test/gateway/adapter-http-express.test.js.map +1 -0
  248. package/dist/test/gateway/adapter-http-fastify.test.d.ts +2 -0
  249. package/dist/test/gateway/adapter-http-fastify.test.d.ts.map +1 -0
  250. package/dist/test/gateway/adapter-http-fastify.test.js +17 -0
  251. package/dist/test/gateway/adapter-http-fastify.test.js.map +1 -0
  252. package/dist/test/gateway/auth-middleware.test.d.ts +8 -0
  253. package/dist/test/gateway/auth-middleware.test.d.ts.map +1 -0
  254. package/dist/test/gateway/auth-middleware.test.js +73 -0
  255. package/dist/test/gateway/auth-middleware.test.js.map +1 -0
  256. package/dist/test/gateway/gateway-adapter-contract.d.ts +30 -0
  257. package/dist/test/gateway/gateway-adapter-contract.d.ts.map +1 -0
  258. package/dist/test/gateway/gateway-adapter-contract.js +347 -0
  259. package/dist/test/gateway/gateway-adapter-contract.js.map +1 -0
  260. package/dist/test/gateway/http-adapter-contract.d.ts +30 -0
  261. package/dist/test/gateway/http-adapter-contract.d.ts.map +1 -0
  262. package/dist/test/gateway/http-adapter-contract.js +277 -0
  263. package/dist/test/gateway/http-adapter-contract.js.map +1 -0
  264. package/dist/test/graphql-manager.test.d.ts +12 -0
  265. package/dist/test/graphql-manager.test.d.ts.map +1 -0
  266. package/dist/test/graphql-manager.test.js +576 -0
  267. package/dist/test/graphql-manager.test.js.map +1 -0
  268. package/dist/test/index.d.ts +0 -1
  269. package/dist/test/index.d.ts.map +1 -1
  270. package/dist/test/index.js +0 -1
  271. package/dist/test/index.js.map +1 -1
  272. package/dist/test/permissions-integration.test.js +6 -20
  273. package/dist/test/permissions-integration.test.js.map +1 -1
  274. package/dist/test/push-backfill.test.d.ts +2 -0
  275. package/dist/test/push-backfill.test.d.ts.map +1 -0
  276. package/dist/test/push-backfill.test.js +299 -0
  277. package/dist/test/push-backfill.test.js.map +1 -0
  278. package/dist/test/reactor-adapters.test.js +3 -2
  279. package/dist/test/reactor-adapters.test.js.map +1 -1
  280. package/dist/test/reactor-client.test.js +172 -13
  281. package/dist/test/reactor-client.test.js.map +1 -1
  282. package/dist/test/reactor-resolvers.test.js +11 -13
  283. package/dist/test/reactor-resolvers.test.js.map +1 -1
  284. package/dist/test/reactor-subgraph-permissions.test.js +7 -36
  285. package/dist/test/reactor-subgraph-permissions.test.js.map +1 -1
  286. package/dist/test/subscriptions-sse.test.d.ts +2 -0
  287. package/dist/test/subscriptions-sse.test.d.ts.map +1 -0
  288. package/dist/test/subscriptions-sse.test.js +264 -0
  289. package/dist/test/subscriptions-sse.test.js.map +1 -0
  290. package/dist/test/subscriptions.test.js +2 -0
  291. package/dist/test/subscriptions.test.js.map +1 -1
  292. package/dist/test/utils/gql-resolver-bridge.d.ts +4 -1
  293. package/dist/test/utils/gql-resolver-bridge.d.ts.map +1 -1
  294. package/dist/test/utils/gql-resolver-bridge.js +36 -7
  295. package/dist/test/utils/gql-resolver-bridge.js.map +1 -1
  296. package/dist/test/utils.d.ts +1 -5
  297. package/dist/test/utils.d.ts.map +1 -1
  298. package/dist/test/utils.js +0 -10
  299. package/dist/test/utils.js.map +1 -1
  300. package/dist/tsconfig.tsbuildinfo +1 -1
  301. package/dist/vitest.config.d.ts.map +1 -1
  302. package/dist/vitest.config.js +1 -0
  303. package/dist/vitest.config.js.map +1 -1
  304. package/package.json +64 -59
  305. package/dist/src/graphql/drive-subgraph.d.ts +0 -25
  306. package/dist/src/graphql/drive-subgraph.d.ts.map +0 -1
  307. package/dist/src/graphql/drive-subgraph.js +0 -487
  308. package/dist/src/graphql/drive-subgraph.js.map +0 -1
  309. package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
  310. package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
  311. package/dist/src/graphql/system/system-subgraph.js +0 -130
  312. package/dist/src/graphql/system/system-subgraph.js.map +0 -1
  313. package/dist/src/sync/types.d.ts +0 -10
  314. package/dist/src/sync/types.d.ts.map +0 -1
  315. package/dist/src/sync/utils.d.ts +0 -7
  316. package/dist/src/sync/utils.d.ts.map +0 -1
  317. package/dist/src/sync/utils.js +0 -78
  318. package/dist/src/sync/utils.js.map +0 -1
  319. package/dist/src/utils/auth.d.ts +0 -3
  320. package/dist/src/utils/auth.d.ts.map +0 -1
  321. package/dist/src/utils/auth.js +0 -19
  322. package/dist/src/utils/auth.js.map +0 -1
  323. package/dist/test/benchmarks/load.bench.d.ts +0 -2
  324. package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
  325. package/dist/test/benchmarks/load.bench.js +0 -73
  326. package/dist/test/benchmarks/load.bench.js.map +0 -1
  327. package/dist/test/benchmarks/sync.bench.d.ts +0 -2
  328. package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
  329. package/dist/test/benchmarks/sync.bench.js +0 -119
  330. package/dist/test/benchmarks/sync.bench.js.map +0 -1
  331. package/dist/test/drive-handlers.d.ts +0 -4
  332. package/dist/test/drive-handlers.d.ts.map +0 -1
  333. package/dist/test/drive-handlers.js +0 -39
  334. package/dist/test/drive-handlers.js.map +0 -1
  335. package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
  336. package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
  337. package/dist/test/drive-subgraph-permissions.test.js +0 -195
  338. package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
  339. package/dist/test/drive.test.d.ts +0 -2
  340. package/dist/test/drive.test.d.ts.map +0 -1
  341. package/dist/test/drive.test.js +0 -142
  342. package/dist/test/drive.test.js.map +0 -1
  343. package/dist/test/identity-integration.test.d.ts +0 -2
  344. package/dist/test/identity-integration.test.d.ts.map +0 -1
  345. package/dist/test/identity-integration.test.js +0 -349
  346. package/dist/test/identity-integration.test.js.map +0 -1
  347. package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
  348. package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
  349. package/dist/test/pull-responder-transmitter.test.js +0 -220
  350. package/dist/test/pull-responder-transmitter.test.js.map +0 -1
  351. package/dist/test/push-transmitter.test.d.ts +0 -2
  352. package/dist/test/push-transmitter.test.d.ts.map +0 -1
  353. package/dist/test/push-transmitter.test.js +0 -179
  354. package/dist/test/push-transmitter.test.js.map +0 -1
  355. package/dist/test/system.test.d.ts +0 -2
  356. package/dist/test/system.test.d.ts.map +0 -1
  357. package/dist/test/system.test.js +0 -211
  358. package/dist/test/system.test.js.map +0 -1
  359. package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
  360. package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
  361. package/dist/test/three-reactor-gql-sync.test.js +0 -368
  362. package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
  363. package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
  364. package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
  365. package/dist/test/two-reactor-gql-sync.test.js +0 -348
  366. package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
  367. /package/dist/src/{sync → graphql/gateway}/types.js +0 -0
@@ -1,26 +1,9 @@
1
- import type { Context, GqlDocument, GqlDriveDocument, GqlOperation, SubgraphClass } from "@powerhousedao/reactor-api";
2
- import type { DocumentDriveDocument } from "document-drive";
3
- import type { Operation, PHDocument } from "document-model";
1
+ import type { GqlDocument, GqlDriveDocument, GqlOperation, SubgraphClass } from "@powerhousedao/reactor-api";
2
+ import type { DocumentDriveDocument } from "@powerhousedao/shared/document-drive";
3
+ import type { Operation, PHDocument } from "@powerhousedao/shared/document-model";
4
4
  export declare function isSubgraphClass(candidate: unknown): candidate is SubgraphClass;
5
5
  export declare function buildGraphqlOperations(operations: Operation[], skip: number, first: number): GqlOperation[];
6
6
  export declare function buildGraphqlOperation(operation: Operation): GqlOperation;
7
7
  export declare function buildGraphQlDocument(doc: PHDocument): GqlDocument;
8
8
  export declare function buildGraphQlDriveDocument(doc: DocumentDriveDocument): GqlDriveDocument;
9
- export declare const IDocumentGraphql: {
10
- graphql: string;
11
- Query: {
12
- document: (parent: unknown, args: {
13
- id: string;
14
- }, ctx: Context) => Promise<GqlDocument>;
15
- };
16
- resolvers: {
17
- IDocument: {
18
- __resolveType: (obj: GqlDocument, ctx: Context) => string;
19
- operations: (obj: unknown, { skip, first }: {
20
- skip?: number;
21
- first?: number;
22
- }, ctx: Context) => GqlOperation[];
23
- };
24
- };
25
- };
26
9
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/graphql/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5D,wBAAgB,eAAe,CAC7B,SAAS,EAAE,OAAO,GACjB,SAAS,IAAI,aAAa,CAW5B;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,SAAS,EAAE,EACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,YAAY,EAAE,CAEhB;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CA0BxE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,CAgBjE;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,qBAAqB,GACzB,gBAAgB,CAWlB;AAED,eAAO,MAAM,gBAAgB;;;2BAIf,OAAO,QACT;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,OACf,OAAO,KACX,OAAO,CAAC,WAAW,CAAC;;;;iCAQA,WAAW,OAAO,OAAO;8BAYvC,OAAO,mBACc;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,OACtD,OAAO;;;CAWnB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/graphql/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACX,MAAM,sCAAsC,CAAC;AAG9C,wBAAgB,eAAe,CAC7B,SAAS,EAAE,OAAO,GACjB,SAAS,IAAI,aAAa,CAW5B;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,SAAS,EAAE,EACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,YAAY,EAAE,CAEhB;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CA0BxE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,CAmBjE;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,qBAAqB,GACzB,gBAAgB,CAWlB"}
@@ -1,4 +1,3 @@
1
- import { getDocumentModelSchemaName } from "../utils/create-schema.js";
2
1
  import { BaseSubgraph } from "./base-subgraph.js";
3
2
  export function isSubgraphClass(candidate) {
4
3
  if (typeof candidate !== "function")
@@ -39,8 +38,12 @@ export function buildGraphqlOperation(operation) {
39
38
  };
40
39
  }
41
40
  export function buildGraphQlDocument(doc) {
42
- const state = "global" in doc.state ? doc.state.global : {};
43
- const initialState = "global" in doc.initialState ? doc.initialState.global : {};
41
+ // Return full state with all scopes (auth, document, global, local)
42
+ // This matches the ReactorSubgraph pattern in adapters.ts
43
+ const state = doc.state;
44
+ const initialState = doc.initialState;
45
+ // For stateJSON, use global state for backward compatibility
46
+ const globalState = "global" in doc.state ? doc.state.global : {};
44
47
  return {
45
48
  id: doc.header.id,
46
49
  name: doc.header.name,
@@ -49,7 +52,7 @@ export function buildGraphQlDocument(doc) {
49
52
  createdAtUtcIso: doc.header.createdAtUtcIso,
50
53
  lastModifiedAtUtcIso: doc.header.lastModifiedAtUtcIso,
51
54
  operations: [],
52
- stateJSON: state,
55
+ stateJSON: globalState,
53
56
  state,
54
57
  initialState,
55
58
  };
@@ -66,35 +69,4 @@ export function buildGraphQlDriveDocument(doc) {
66
69
  initialState: doc.state.global,
67
70
  };
68
71
  }
69
- export const IDocumentGraphql = {
70
- graphql: "document(id: String!): IDocument",
71
- Query: {
72
- document: async (parent, args, ctx) => {
73
- const doc = await ctx.driveServer.getDocument(args.id);
74
- ctx.document = doc;
75
- return buildGraphQlDocument(doc);
76
- },
77
- },
78
- resolvers: {
79
- IDocument: {
80
- __resolveType: (obj, ctx) => {
81
- if (obj.__typename) {
82
- return obj.__typename;
83
- }
84
- const modules = ctx.driveServer.getDocumentModelModules();
85
- const module = modules.find((module) => module.documentModel.global.id === obj.documentType);
86
- if (!module)
87
- return "GqlDocument";
88
- return getDocumentModelSchemaName(module.documentModel.global);
89
- },
90
- operations: (obj, { skip = 0, first = 10 }, ctx) => {
91
- const documentOperations = ctx.document?.operations;
92
- const operations = documentOperations && "global" in documentOperations
93
- ? documentOperations.global
94
- : [];
95
- return buildGraphqlOperations(operations, skip, first);
96
- },
97
- },
98
- },
99
- };
100
72
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/graphql/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/graphql/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Kysely } from "kysely";
2
+ export declare function up(db: Kysely<unknown>): Promise<void>;
3
+ export declare function down(db: Kysely<unknown>): Promise<void>;
4
+ //# sourceMappingURL=002_add_document_protection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"002_add_document_protection.d.ts","sourceRoot":"","sources":["../../../src/migrations/002_add_document_protection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,wBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB3D;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D"}
@@ -0,0 +1,18 @@
1
+ import { sql } from "kysely";
2
+ export async function up(db) {
3
+ await sql `
4
+ CREATE TABLE IF NOT EXISTS "DocumentProtection" (
5
+ "documentId" VARCHAR(255) PRIMARY KEY,
6
+ "protected" BOOLEAN NOT NULL DEFAULT false,
7
+ "ownerAddress" VARCHAR(255),
8
+ "createdAt" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
9
+ "updatedAt" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
10
+ )
11
+ `.execute(db);
12
+ await sql `CREATE INDEX IF NOT EXISTS "documentprotection_owneraddress_index" ON "DocumentProtection" ("ownerAddress")`.execute(db);
13
+ await sql `CREATE INDEX IF NOT EXISTS "documentprotection_protected_index" ON "DocumentProtection" ("protected")`.execute(db);
14
+ }
15
+ export async function down(db) {
16
+ await sql `DROP TABLE IF EXISTS "DocumentProtection"`.execute(db);
17
+ }
18
+ //# sourceMappingURL=002_add_document_protection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"002_add_document_protection.js","sourceRoot":"","sources":["../../../src/migrations/002_add_document_protection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,EAAmB;IAC1C,MAAM,GAAG,CAAA;;;;;;;;GAQR,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEd,MAAM,GAAG,CAAA,6GAA6G,CAAC,OAAO,CAC5H,EAAE,CACH,CAAC;IACF,MAAM,GAAG,CAAA,uGAAuG,CAAC,OAAO,CACtH,EAAE,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAmB;IAC5C,MAAM,GAAG,CAAA,2CAA2C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACnE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,EAGZ,MAAM,QAAQ,CAAC;AAchB;;GAEG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,EAGZ,MAAM,QAAQ,CAAC;AAgBhB;;GAEG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1E"}
@@ -1,5 +1,6 @@
1
1
  import { Migrator, } from "kysely";
2
2
  import * as migration001 from "./001_create_document_permissions.js";
3
+ import * as migration002 from "./002_add_document_protection.js";
3
4
  /**
4
5
  * Custom migration provider that loads migrations from imported modules
5
6
  */
@@ -7,6 +8,7 @@ class StaticMigrationProvider {
7
8
  async getMigrations() {
8
9
  return {
9
10
  "001_create_document_permissions": migration001,
11
+ "002_add_document_protection": migration002,
10
12
  };
11
13
  }
12
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GAIT,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AAErE;;GAEG;AACH,MAAM,uBAAuB;IAC3B,KAAK,CAAC,aAAa;QACjB,OAAO;YACL,iCAAiC,EAAE,YAAY;SAChD,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAmB;IACrD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;QAC5B,EAAE;QACF,QAAQ,EAAE,IAAI,uBAAuB,EAAE;KACxC,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAC;IAE5D,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAmB;IACzD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;QAC5B,EAAE;QACF,QAAQ,EAAE,IAAI,uBAAuB,EAAE;KACxC,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAExD,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CACT,cAAc,MAAM,CAAC,aAAa,gCAAgC,CACnE,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GAIT,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AACrE,OAAO,KAAK,YAAY,MAAM,kCAAkC,CAAC;AAEjE;;GAEG;AACH,MAAM,uBAAuB;IAC3B,KAAK,CAAC,aAAa;QACjB,OAAO;YACL,iCAAiC,EAAE,YAAY;YAC/C,6BAA6B,EAAE,YAAY;SAC5C,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAmB;IACrD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;QAC5B,EAAE;QACF,QAAQ,EAAE,IAAI,uBAAuB,EAAE;KACxC,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAC;IAE5D,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAmB;IACzD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;QAC5B,EAAE;QACF,QAAQ,EAAE,IAAI,uBAAuB,EAAE;KACxC,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAExD,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CACT,cAAc,MAAM,CAAC,aAAa,gCAAgC,CACnE,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type { IDocumentModelLoader } from "@powerhousedao/reactor";
2
+ import type { SubgraphClass } from "@powerhousedao/reactor-api";
3
+ import type { DocumentModelModule } from "@powerhousedao/shared/document-model";
4
+ import type { IPackageLoader, ProcessorFactoryBuilder } from "../types.js";
5
+ export interface HttpPackageLoaderOptions {
6
+ registryUrl: string;
7
+ }
8
+ export interface HttpPackageLoaderLogger {
9
+ info: (msg: string) => void;
10
+ error: (msg: string, err: unknown) => void;
11
+ }
12
+ /**
13
+ * Loads document models, subgraphs, and processors from an HTTP registry.
14
+ * Uses Node.js module loader hooks to import directly from HTTP URLs.
15
+ *
16
+ * IMPORTANT: Requires https-hooks to be registered before use:
17
+ * import { register } from "node:module";
18
+ * register("@powerhousedao/reactor-api/https-hooks", import.meta.url);
19
+ */
20
+ export declare class HttpPackageLoader implements IPackageLoader {
21
+ private readonly registryUrl;
22
+ private readonly logger;
23
+ readonly name = "HttpPackageLoader";
24
+ readonly documentModelLoader: HttpDocumentModelLoader;
25
+ constructor(options: HttpPackageLoaderOptions);
26
+ /**
27
+ * Load document models from a package in the HTTP registry.
28
+ * Imports directly from HTTP URL using Node.js loader hooks.
29
+ */
30
+ /**
31
+ * Parse a package specifier like "@scope/pkg@tag" into name and optional tag.
32
+ */
33
+ private parsePackageSpec;
34
+ loadDocumentModels(packageSpec: string): Promise<DocumentModelModule[]>;
35
+ loadSubgraphs(packageSpec: string): Promise<SubgraphClass[]>;
36
+ loadProcessors(packageSpec: string): Promise<ProcessorFactoryBuilder | null>;
37
+ /**
38
+ * Load document models from multiple packages.
39
+ * Continues loading even if some packages fail.
40
+ */
41
+ loadPackages(packageNames: string[], logger?: HttpPackageLoaderLogger): Promise<DocumentModelModule[]>;
42
+ private isValidPackageName;
43
+ }
44
+ export declare class HttpDocumentModelLoader implements IDocumentModelLoader {
45
+ private readonly loader;
46
+ private readonly logger;
47
+ private readonly documentTypeCache;
48
+ private readonly packageModulesCache;
49
+ private onModelLoaded?;
50
+ constructor(loader: HttpPackageLoader);
51
+ setOnModelLoaded(callback: (model: DocumentModelModule) => void): void;
52
+ clearCache(): void;
53
+ load(documentType: string): Promise<DocumentModelModule>;
54
+ private findPackageByDocumentType;
55
+ getLoadedPackages(): string[];
56
+ getPackageModules(packageName: string): DocumentModelModule[] | undefined;
57
+ removeFromCache(packageName: string): void;
58
+ }
59
+ //# sourceMappingURL=http-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-loader.d.ts","sourceRoot":"","sources":["../../../src/packages/http-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3E,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAaD;;;;;;;GAOG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IAEtE,QAAQ,CAAC,IAAI,uBAAuB;IAEpC,QAAQ,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;gBAE1C,OAAO,EAAE,wBAAwB;IAO7C;;;OAGG;IACH;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBlB,kBAAkB,CACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA4B3B,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAwB5D,cAAc,CAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAqB1C;;;OAGG;IACG,YAAY,CAChB,YAAY,EAAE,MAAM,EAAE,EACtB,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAwBjC,OAAO,CAAC,kBAAkB;CAK3B;AAED,qBAAa,uBAAwB,YAAW,oBAAoB;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGpB;IAGH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAG/D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAGhC;IAEJ,OAAO,CAAC,aAAa,CAAC,CAAuC;gBAEjD,MAAM,EAAE,iBAAiB;IAIrC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GAAG,IAAI;IAItE,UAAU,IAAI,IAAI;IAKZ,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAoChD,yBAAyB;IAiCvC,iBAAiB,IAAI,MAAM,EAAE;IAI7B,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,EAAE,GAAG,SAAS;IAIzE,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAQ3C"}
@@ -0,0 +1,203 @@
1
+ import { childLogger } from "document-model";
2
+ /**
3
+ * Loads document models, subgraphs, and processors from an HTTP registry.
4
+ * Uses Node.js module loader hooks to import directly from HTTP URLs.
5
+ *
6
+ * IMPORTANT: Requires https-hooks to be registered before use:
7
+ * import { register } from "node:module";
8
+ * register("@powerhousedao/reactor-api/https-hooks", import.meta.url);
9
+ */
10
+ export class HttpPackageLoader {
11
+ registryUrl;
12
+ logger = childLogger(["reactor-api", "http-loader"]);
13
+ name = "HttpPackageLoader";
14
+ documentModelLoader;
15
+ constructor(options) {
16
+ this.registryUrl = options.registryUrl.endsWith("/")
17
+ ? options.registryUrl
18
+ : `${options.registryUrl}/`;
19
+ this.documentModelLoader = new HttpDocumentModelLoader(this);
20
+ }
21
+ /**
22
+ * Load document models from a package in the HTTP registry.
23
+ * Imports directly from HTTP URL using Node.js loader hooks.
24
+ */
25
+ /**
26
+ * Parse a package specifier like "@scope/pkg@tag" into name and optional tag.
27
+ */
28
+ parsePackageSpec(spec) {
29
+ if (spec.startsWith("@")) {
30
+ const lastAt = spec.lastIndexOf("@");
31
+ if (lastAt > 0 && lastAt !== spec.indexOf("@")) {
32
+ return { name: spec.slice(0, lastAt), tag: spec.slice(lastAt + 1) };
33
+ }
34
+ return { name: spec, tag: undefined };
35
+ }
36
+ const atIndex = spec.indexOf("@");
37
+ if (atIndex > 0) {
38
+ return { name: spec.slice(0, atIndex), tag: spec.slice(atIndex + 1) };
39
+ }
40
+ return { name: spec, tag: undefined };
41
+ }
42
+ async loadDocumentModels(packageSpec) {
43
+ const { name: packageName } = this.parsePackageSpec(packageSpec);
44
+ if (!this.isValidPackageName(packageName)) {
45
+ throw new Error(`Invalid package name: ${packageName}`);
46
+ }
47
+ // Pass the full spec (with tag) to the CDN — the registry resolves it
48
+ const url = `${this.registryUrl}-/cdn/${packageSpec}/node/document-models/index.mjs`;
49
+ this.logger.verbose(`Importing document-models from: ${url}`);
50
+ // Direct import from HTTP URL - hooks handle the fetch
51
+ const module = (await import(url));
52
+ const models = Object.values(module).filter((m) => m !== null &&
53
+ typeof m === "object" &&
54
+ "documentModel" in m &&
55
+ m.documentModel !== null);
56
+ this.logger.verbose(`Loaded ${models.length} document models from ${packageName}`);
57
+ return models;
58
+ }
59
+ async loadSubgraphs(packageSpec) {
60
+ const { name: packageName } = this.parsePackageSpec(packageSpec);
61
+ if (!this.isValidPackageName(packageName)) {
62
+ throw new Error(`Invalid package name: ${packageName}`);
63
+ }
64
+ const url = `${this.registryUrl}-/cdn/${packageSpec}/node/subgraphs/index.mjs`;
65
+ this.logger.verbose(`Importing subgraphs from: ${url}`);
66
+ const module = (await import(url));
67
+ const subgraphs = new Array();
68
+ for (const [key, value] of Object.entries(module)) {
69
+ const subgraph = value[key];
70
+ if (subgraph && typeof subgraph === "function") {
71
+ subgraphs.push(subgraph);
72
+ }
73
+ }
74
+ this.logger.verbose(`Loaded ${subgraphs.length} subgraphs from ${packageName}`);
75
+ return subgraphs;
76
+ }
77
+ async loadProcessors(packageSpec) {
78
+ const { name: packageName } = this.parsePackageSpec(packageSpec);
79
+ if (!this.isValidPackageName(packageName)) {
80
+ throw new Error(`Invalid package name: ${packageName}`);
81
+ }
82
+ const url = `${this.registryUrl}-/cdn/${packageSpec}/node/processors/index.mjs`;
83
+ this.logger.verbose(`Importing processors from: ${url}`);
84
+ const module = (await import(url));
85
+ const factory = module.processorFactory;
86
+ if (factory && typeof factory === "function") {
87
+ this.logger.verbose(`Loaded processor factory from ${packageName}`);
88
+ return factory;
89
+ }
90
+ this.logger.verbose(`No processor factory found in ${packageName}`);
91
+ return null;
92
+ }
93
+ /**
94
+ * Load document models from multiple packages.
95
+ * Continues loading even if some packages fail.
96
+ */
97
+ async loadPackages(packageNames, logger) {
98
+ const allModels = [];
99
+ for (const pkgName of packageNames) {
100
+ const trimmedName = pkgName.trim();
101
+ if (!trimmedName)
102
+ continue;
103
+ try {
104
+ const models = await this.loadDocumentModels(trimmedName);
105
+ allModels.push(...models);
106
+ const logMsg = `Loaded ${models.length} document models from ${trimmedName}`;
107
+ logger?.info(logMsg);
108
+ this.logger.info(logMsg);
109
+ }
110
+ catch (error) {
111
+ const errMsg = `Failed to load package ${trimmedName}`;
112
+ logger?.error(errMsg, error);
113
+ this.logger.error(errMsg, error);
114
+ // Continue with other packages - don't fail startup
115
+ }
116
+ }
117
+ return allModels;
118
+ }
119
+ isValidPackageName(name) {
120
+ // npm package name pattern: optional scope + package name
121
+ const pattern = /^(@[a-z0-9][-a-z0-9._]*\/)?[a-z0-9][-a-z0-9._]*$/i;
122
+ return pattern.test(name) && !name.includes("..") && name.length <= 214;
123
+ }
124
+ }
125
+ export class HttpDocumentModelLoader {
126
+ loader;
127
+ logger = childLogger([
128
+ "reactor-api",
129
+ "http-document-model-loader",
130
+ ]);
131
+ // Cache: documentType -> packageName
132
+ documentTypeCache = new Map();
133
+ // Cache: packageName -> DocumentModelModule[]
134
+ packageModulesCache = new Map();
135
+ onModelLoaded;
136
+ constructor(loader) {
137
+ this.loader = loader;
138
+ }
139
+ setOnModelLoaded(callback) {
140
+ this.onModelLoaded = callback;
141
+ }
142
+ clearCache() {
143
+ this.documentTypeCache.clear();
144
+ this.packageModulesCache.clear();
145
+ }
146
+ async load(documentType) {
147
+ const packageName = await this.findPackageByDocumentType(documentType);
148
+ let models;
149
+ const cachedModels = this.packageModulesCache.get(packageName);
150
+ if (cachedModels) {
151
+ models = cachedModels;
152
+ }
153
+ else {
154
+ models = await this.loader.loadDocumentModels(packageName);
155
+ this.packageModulesCache.set(packageName, models);
156
+ }
157
+ const model = models.find((m) => m.documentModel.global.id === documentType);
158
+ if (!model) {
159
+ const availableTypes = models.map((m) => m.documentModel.global.id);
160
+ throw new Error(`Document model ${documentType} not found in package ${packageName}. ` +
161
+ `Available types: ${availableTypes.join(", ")}`);
162
+ }
163
+ this.logger.info(`Loaded document model "${documentType}" from package "${packageName}"`);
164
+ if (this.onModelLoaded) {
165
+ this.onModelLoaded(model);
166
+ }
167
+ return model;
168
+ }
169
+ async findPackageByDocumentType(documentType) {
170
+ const cached = this.documentTypeCache.get(documentType);
171
+ if (cached) {
172
+ return cached;
173
+ }
174
+ const encodedType = encodeURIComponent(documentType);
175
+ const url = `${this.loader["registryUrl"]}packages/by-document-type?type=${encodedType}`;
176
+ const response = await fetch(url);
177
+ if (!response.ok) {
178
+ throw new Error(`Registry query failed for document type ${documentType}: ${response.status} ${response.statusText}`);
179
+ }
180
+ const packageNames = (await response.json());
181
+ if (packageNames.length === 0) {
182
+ throw new Error(`No package found containing document type: ${documentType}`);
183
+ }
184
+ const packageName = packageNames.sort((a, b) => a.localeCompare(b))[0];
185
+ this.documentTypeCache.set(documentType, packageName);
186
+ return packageName;
187
+ }
188
+ getLoadedPackages() {
189
+ return Array.from(this.packageModulesCache.keys());
190
+ }
191
+ getPackageModules(packageName) {
192
+ return this.packageModulesCache.get(packageName);
193
+ }
194
+ removeFromCache(packageName) {
195
+ this.packageModulesCache.delete(packageName);
196
+ for (const [docType, pkg] of this.documentTypeCache) {
197
+ if (pkg === packageName) {
198
+ this.documentTypeCache.delete(docType);
199
+ }
200
+ }
201
+ }
202
+ }
203
+ //# sourceMappingURL=http-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-loader.js","sourceRoot":"","sources":["../../../src/packages/http-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Node.js module loader hooks that enable importing from HTTP/HTTPS URLs.
3
+ * See: https://nodejs.org/docs/latest-v24.x/api/module.html#import-from-https
4
+ */
5
+ type ResolveContext = {
6
+ parentURL?: string;
7
+ conditions?: string[];
8
+ };
9
+ type ResolveResult = {
10
+ url: string;
11
+ shortCircuit?: boolean;
12
+ format?: string;
13
+ };
14
+ type NextResolve = (specifier: string, context: ResolveContext) => Promise<ResolveResult>;
15
+ type LoadContext = {
16
+ format?: string;
17
+ };
18
+ type LoadResult = {
19
+ format: string;
20
+ shortCircuit?: boolean;
21
+ source: string;
22
+ };
23
+ type NextLoad = (url: string, context: LoadContext) => Promise<LoadResult>;
24
+ /**
25
+ * Resolve hook: resolves relative specifiers against HTTP/HTTPS parent URLs.
26
+ */
27
+ export declare function resolve(specifier: string, context: ResolveContext, nextResolve: NextResolve): Promise<ResolveResult>;
28
+ /**
29
+ * Load hook: fetches module source from HTTP/HTTPS URLs.
30
+ */
31
+ export declare function load(url: string, context: LoadContext, nextLoad: NextLoad): Promise<LoadResult>;
32
+ /**
33
+ * Path to this hooks file for use with node:module register()
34
+ */
35
+ export declare const httpsHooksPath: string;
36
+ export {};
37
+ //# sourceMappingURL=https-hooks.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"https-hooks.d.mts","sourceRoot":"","sources":["../../../src/packages/https-hooks.mts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,KAAK,cAAc,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AACpE,KAAK,aAAa,GAAG;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,KAAK,WAAW,GAAG,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACvC,KAAK,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7E,KAAK,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3E;;GAEG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,aAAa,CAAC,CAiCxB;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,UAAU,CAAC,CAuBrB;AAgDD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAwB,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { get as httpGet } from "node:http";
2
+ import { get } from "node:https";
3
+ /**
4
+ * Resolve hook: resolves relative specifiers against HTTP/HTTPS parent URLs.
5
+ */
6
+ export async function resolve(specifier, context, nextResolve) {
7
+ const { parentURL } = context;
8
+ // If the specifier is already an HTTP(S) URL, resolve it directly
9
+ if (specifier.startsWith("https://") || specifier.startsWith("http://")) {
10
+ return { url: specifier, shortCircuit: true, format: "module" };
11
+ }
12
+ // If the parent is an HTTP(S) URL and specifier is relative, resolve against it.
13
+ // Only handle relative specifiers (./ or ../), not bare package specifiers.
14
+ if (parentURL &&
15
+ (parentURL.startsWith("https://") || parentURL.startsWith("http://")) &&
16
+ (specifier.startsWith("./") || specifier.startsWith("../"))) {
17
+ const resolved = new URL(specifier, parentURL).href;
18
+ return { url: resolved, shortCircuit: true, format: "module" };
19
+ }
20
+ // For bare specifiers (e.g. "document-model") imported from HTTP modules,
21
+ // Node's default resolver fails because it can't find node_modules from an HTTP parent.
22
+ // Fall back to resolving from the process's working directory instead.
23
+ if (parentURL &&
24
+ (parentURL.startsWith("https://") || parentURL.startsWith("http://"))) {
25
+ const { pathToFileURL } = await import("node:url");
26
+ const localParent = pathToFileURL(process.cwd() + "/").href;
27
+ return nextResolve(specifier, { ...context, parentURL: localParent });
28
+ }
29
+ // Let Node.js handle all other specifiers
30
+ return nextResolve(specifier, context);
31
+ }
32
+ /**
33
+ * Load hook: fetches module source from HTTP/HTTPS URLs.
34
+ */
35
+ export async function load(url, context, nextLoad) {
36
+ // Handle HTTPS URLs
37
+ if (url.startsWith("https://")) {
38
+ const source = await fetchModule(url, get);
39
+ return {
40
+ format: "module",
41
+ shortCircuit: true,
42
+ source: patchCreateRequire(source),
43
+ };
44
+ }
45
+ // Handle HTTP URLs (for local development)
46
+ if (url.startsWith("http://")) {
47
+ const source = await fetchModule(url, httpGet);
48
+ return {
49
+ format: "module",
50
+ shortCircuit: true,
51
+ source: patchCreateRequire(source),
52
+ };
53
+ }
54
+ // Let Node.js handle all other URLs
55
+ return nextLoad(url, context);
56
+ }
57
+ /**
58
+ * Rewrite `createRequire(import.meta.url)` in HTTP-loaded modules so that
59
+ * `createRequire` receives a local file URL instead of an HTTP URL it cannot handle.
60
+ */
61
+ function patchCreateRequire(source) {
62
+ return source.replace(/createRequire\(import\.meta\.url\)/g, `createRequire(new URL("file://" + process.cwd() + "/"))`);
63
+ }
64
+ function fetchModule(url, getter) {
65
+ return new Promise((resolve, reject) => {
66
+ getter(url, (res) => {
67
+ // Handle redirects
68
+ if (res.statusCode &&
69
+ res.statusCode >= 300 &&
70
+ res.statusCode < 400 &&
71
+ res.headers.location) {
72
+ const redirectUrl = res.headers.location;
73
+ const redirectGetter = redirectUrl.startsWith("https://")
74
+ ? get
75
+ : httpGet;
76
+ fetchModule(redirectUrl, redirectGetter).then(resolve).catch(reject);
77
+ return;
78
+ }
79
+ if (res.statusCode && res.statusCode >= 400) {
80
+ reject(new Error(`Failed to fetch ${url}: ${res.statusCode}`));
81
+ return;
82
+ }
83
+ let data = "";
84
+ res.setEncoding("utf8");
85
+ res.on("data", (chunk) => (data += chunk));
86
+ res.on("end", () => resolve(data));
87
+ res.on("error", reject);
88
+ }).on("error", reject);
89
+ });
90
+ }
91
+ /**
92
+ * Path to this hooks file for use with node:module register()
93
+ */
94
+ export const httpsHooksPath = import.meta.url;
95
+ //# sourceMappingURL=https-hooks.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"https-hooks.mjs","sourceRoot":"","sources":["../../../src/packages/https-hooks.mts"],"names":[],"mappings":"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"}
@@ -1,16 +1,14 @@
1
1
  import type { SubgraphClass } from "@powerhousedao/reactor-api";
2
- import type { IProcessorHostModule, ProcessorFactory } from "document-drive";
3
- import type { DocumentModelModule } from "document-model";
4
- import type { IPackageLoader, IPackageLoaderOptions } from "../types.js";
2
+ import type { DocumentModelModule } from "@powerhousedao/shared/document-model";
3
+ import type { IPackageLoader, ProcessorFactoryBuilder } from "../types.js";
5
4
  /**
6
5
  * This class is used to load packages using the import keyword.
7
6
  */
8
7
  export declare class ImportPackageLoader implements IPackageLoader {
9
8
  private readonly logger;
10
- private readonly legacyReactor;
11
- constructor(options?: IPackageLoaderOptions);
9
+ readonly name = "ImportPackageLoader";
12
10
  loadDocumentModels(identifier: string): Promise<DocumentModelModule[]>;
13
11
  loadSubgraphs(identifier: string): Promise<SubgraphClass[]>;
14
- loadProcessors(identifier: string): Promise<((module: IProcessorHostModule) => ProcessorFactory) | null>;
12
+ loadProcessors(identifier: string): Promise<ProcessorFactoryBuilder | null>;
15
13
  }
16
14
  //# sourceMappingURL=import-loader.d.ts.map