@powerhousedao/reactor-api 6.0.0-dev.14 → 6.0.0-dev.141
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.
- package/README.md +6 -0
- package/dist/codegen.js +1 -1
- package/dist/codegen.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/src/config.d.ts +1 -2
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +1 -5
- package/dist/src/config.js.map +1 -1
- package/dist/src/dev.d.ts +2 -0
- package/dist/src/dev.d.ts.map +1 -0
- package/dist/src/dev.js +51 -0
- package/dist/src/dev.js.map +1 -0
- package/dist/src/graphql/auth/resolvers.d.ts +17 -0
- package/dist/src/graphql/auth/resolvers.d.ts.map +1 -1
- package/dist/src/graphql/auth/resolvers.js +54 -0
- package/dist/src/graphql/auth/resolvers.js.map +1 -1
- package/dist/src/graphql/auth/schema.graphql +27 -5
- package/dist/src/graphql/auth/subgraph.d.ts +25 -0
- package/dist/src/graphql/auth/subgraph.d.ts.map +1 -1
- package/dist/src/graphql/auth/subgraph.js +46 -2
- package/dist/src/graphql/auth/subgraph.js.map +1 -1
- package/dist/src/graphql/base-subgraph.d.ts +11 -4
- package/dist/src/graphql/base-subgraph.d.ts.map +1 -1
- package/dist/src/graphql/base-subgraph.js +94 -2
- package/dist/src/graphql/base-subgraph.js.map +1 -1
- package/dist/src/graphql/document-model-subgraph.d.ts +104 -45
- package/dist/src/graphql/document-model-subgraph.d.ts.map +1 -1
- package/dist/src/graphql/document-model-subgraph.js +323 -91
- package/dist/src/graphql/document-model-subgraph.js.map +1 -1
- package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts +23 -0
- package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts.map +1 -0
- package/dist/src/graphql/gateway/adapter-gateway-apollo.js +156 -0
- package/dist/src/graphql/gateway/adapter-gateway-apollo.js.map +1 -0
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts +17 -0
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts.map +1 -0
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.js +154 -0
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.js.map +1 -0
- package/dist/src/graphql/gateway/adapter-http-express.d.ts +25 -0
- package/dist/src/graphql/gateway/adapter-http-express.d.ts.map +1 -0
- package/dist/src/graphql/gateway/adapter-http-express.js +163 -0
- package/dist/src/graphql/gateway/adapter-http-express.js.map +1 -0
- package/dist/src/graphql/gateway/adapter-http-fastify.d.ts +23 -0
- package/dist/src/graphql/gateway/adapter-http-fastify.d.ts.map +1 -0
- package/dist/src/graphql/gateway/adapter-http-fastify.js +228 -0
- package/dist/src/graphql/gateway/adapter-http-fastify.js.map +1 -0
- package/dist/src/graphql/gateway/auth-middleware.d.ts +7 -0
- package/dist/src/graphql/gateway/auth-middleware.d.ts.map +1 -0
- package/dist/src/graphql/gateway/auth-middleware.js +15 -0
- package/dist/src/graphql/gateway/auth-middleware.js.map +1 -0
- package/dist/src/graphql/gateway/factory.d.ts +11 -0
- package/dist/src/graphql/gateway/factory.d.ts.map +1 -0
- package/dist/src/graphql/gateway/factory.js +21 -0
- package/dist/src/graphql/gateway/factory.js.map +1 -0
- package/dist/src/graphql/gateway/types.d.ts +100 -0
- package/dist/src/graphql/gateway/types.d.ts.map +1 -0
- package/dist/src/{sync → graphql/gateway}/types.js.map +1 -1
- package/dist/src/graphql/graphql-manager.d.ts +30 -12
- package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
- package/dist/src/graphql/graphql-manager.js +282 -232
- package/dist/src/graphql/graphql-manager.js.map +1 -1
- package/dist/src/graphql/index.d.ts +5 -1
- package/dist/src/graphql/index.d.ts.map +1 -1
- package/dist/src/graphql/index.js +5 -1
- package/dist/src/graphql/index.js.map +1 -1
- package/dist/src/graphql/packages/index.d.ts +2 -0
- package/dist/src/graphql/packages/index.d.ts.map +1 -0
- package/dist/src/graphql/packages/index.js +2 -0
- package/dist/src/graphql/packages/index.js.map +1 -0
- package/dist/src/graphql/packages/resolvers.d.ts +31 -0
- package/dist/src/graphql/packages/resolvers.d.ts.map +1 -0
- package/dist/src/graphql/packages/resolvers.js +37 -0
- package/dist/src/graphql/packages/resolvers.js.map +1 -0
- package/dist/src/graphql/packages/schema.graphql +50 -0
- package/dist/src/graphql/packages/subgraph.d.ts +55 -0
- package/dist/src/graphql/packages/subgraph.d.ts.map +1 -0
- package/dist/src/graphql/packages/subgraph.js +73 -0
- package/dist/src/graphql/packages/subgraph.js.map +1 -0
- package/dist/src/graphql/playground.d.ts.map +1 -1
- package/dist/src/graphql/playground.js +19 -12
- package/dist/src/graphql/playground.js.map +1 -1
- package/dist/src/graphql/reactor/adapters.d.ts +10 -2
- package/dist/src/graphql/reactor/adapters.d.ts.map +1 -1
- package/dist/src/graphql/reactor/adapters.js +36 -1
- package/dist/src/graphql/reactor/adapters.js.map +1 -1
- package/dist/src/graphql/reactor/factory.d.ts +28 -7
- package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
- package/dist/src/graphql/reactor/factory.js +1 -1
- package/dist/src/graphql/reactor/factory.js.map +1 -1
- package/dist/src/graphql/reactor/gen/graphql.d.ts +363 -84
- package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
- package/dist/src/graphql/reactor/gen/graphql.js +247 -12
- package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
- package/dist/src/graphql/reactor/index.d.ts +1 -1
- package/dist/src/graphql/reactor/index.d.ts.map +1 -1
- package/dist/src/graphql/reactor/index.js +1 -1
- package/dist/src/graphql/reactor/index.js.map +1 -1
- package/dist/src/graphql/reactor/operations.graphql +193 -3
- package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +1 -1
- package/dist/src/graphql/reactor/requester.with-zod.js +114 -38
- package/dist/src/graphql/reactor/requester.with-zod.js.map +1 -1
- package/dist/src/graphql/reactor/resolvers.d.ts +90 -26
- package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
- package/dist/src/graphql/reactor/resolvers.js +258 -77
- package/dist/src/graphql/reactor/resolvers.js.map +1 -1
- package/dist/src/graphql/reactor/schema.graphql +78 -32
- package/dist/src/graphql/reactor/subgraph.d.ts +2 -31
- package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
- package/dist/src/graphql/reactor/subgraph.js +139 -213
- package/dist/src/graphql/reactor/subgraph.js.map +1 -1
- package/dist/src/graphql/reactor/validation.d.ts +266 -20
- package/dist/src/graphql/reactor/validation.d.ts.map +1 -1
- package/dist/src/graphql/reactor/validation.js +98 -4
- package/dist/src/graphql/reactor/validation.js.map +1 -1
- package/dist/src/graphql/sse.d.ts +35 -0
- package/dist/src/graphql/sse.d.ts.map +1 -0
- package/dist/src/graphql/sse.js +29 -0
- package/dist/src/graphql/sse.js.map +1 -0
- package/dist/src/graphql/system/index.d.ts +0 -1
- package/dist/src/graphql/system/index.d.ts.map +1 -1
- package/dist/src/graphql/system/index.js +0 -1
- package/dist/src/graphql/system/index.js.map +1 -1
- package/dist/src/graphql/types.d.ts +7 -8
- package/dist/src/graphql/types.d.ts.map +1 -1
- package/dist/src/graphql/utils.d.ts +3 -20
- package/dist/src/graphql/utils.d.ts.map +1 -1
- package/dist/src/graphql/utils.js +7 -35
- package/dist/src/graphql/utils.js.map +1 -1
- package/dist/src/migrations/002_add_document_protection.d.ts +4 -0
- package/dist/src/migrations/002_add_document_protection.d.ts.map +1 -0
- package/dist/src/migrations/002_add_document_protection.js +18 -0
- package/dist/src/migrations/002_add_document_protection.js.map +1 -0
- package/dist/src/migrations/index.d.ts.map +1 -1
- package/dist/src/migrations/index.js +2 -0
- package/dist/src/migrations/index.js.map +1 -1
- package/dist/src/packages/http-loader.d.ts +72 -0
- package/dist/src/packages/http-loader.d.ts.map +1 -0
- package/dist/src/packages/http-loader.js +195 -0
- package/dist/src/packages/http-loader.js.map +1 -0
- package/dist/src/packages/https-hooks.d.mts +37 -0
- package/dist/src/packages/https-hooks.d.mts.map +1 -0
- package/dist/src/packages/https-hooks.mjs +88 -0
- package/dist/src/packages/https-hooks.mjs.map +1 -0
- package/dist/src/packages/import-loader.d.ts +3 -6
- package/dist/src/packages/import-loader.d.ts.map +1 -1
- package/dist/src/packages/import-loader.js +3 -18
- package/dist/src/packages/import-loader.js.map +1 -1
- package/dist/src/packages/package-manager.d.ts +3 -4
- package/dist/src/packages/package-manager.d.ts.map +1 -1
- package/dist/src/packages/package-manager.js +2 -2
- package/dist/src/packages/package-manager.js.map +1 -1
- package/dist/src/packages/types.d.ts +7 -8
- package/dist/src/packages/types.d.ts.map +1 -1
- package/dist/src/packages/util.d.ts +4 -5
- package/dist/src/packages/util.d.ts.map +1 -1
- package/dist/src/packages/util.js +2 -2
- package/dist/src/packages/util.js.map +1 -1
- package/dist/src/packages/vite-loader.d.ts +11 -11
- package/dist/src/packages/vite-loader.d.ts.map +1 -1
- package/dist/src/packages/vite-loader.js +19 -21
- package/dist/src/packages/vite-loader.js.map +1 -1
- package/dist/src/server.d.ts +14 -32
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +159 -241
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/auth.service.d.ts +3 -18
- package/dist/src/services/auth.service.d.ts.map +1 -1
- package/dist/src/services/auth.service.js +38 -72
- package/dist/src/services/auth.service.js.map +1 -1
- package/dist/src/services/authorization.service.d.ts +70 -0
- package/dist/src/services/authorization.service.d.ts.map +1 -0
- package/dist/src/services/authorization.service.js +155 -0
- package/dist/src/services/authorization.service.js.map +1 -0
- package/dist/src/services/document-permission.service.d.ts +47 -7
- package/dist/src/services/document-permission.service.d.ts.map +1 -1
- package/dist/src/services/document-permission.service.js +162 -7
- package/dist/src/services/document-permission.service.js.map +1 -1
- package/dist/src/services/package-management.service.d.ts +32 -0
- package/dist/src/services/package-management.service.d.ts.map +1 -0
- package/dist/src/services/package-management.service.js +95 -0
- package/dist/src/services/package-management.service.js.map +1 -0
- package/dist/src/services/package-storage.d.ts +23 -0
- package/dist/src/services/package-storage.d.ts.map +1 -0
- package/dist/src/services/package-storage.js +19 -0
- package/dist/src/services/package-storage.js.map +1 -0
- package/dist/src/tracing.d.ts.map +1 -1
- package/dist/src/tracing.js +25 -1
- package/dist/src/tracing.js.map +1 -1
- package/dist/src/types.d.ts +13 -5
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/create-schema.d.ts +31 -6
- package/dist/src/utils/create-schema.d.ts.map +1 -1
- package/dist/src/utils/create-schema.js +446 -40
- package/dist/src/utils/create-schema.js.map +1 -1
- package/dist/src/utils/db.d.ts +8 -0
- package/dist/src/utils/db.d.ts.map +1 -1
- package/dist/src/utils/db.js.map +1 -1
- package/dist/test/auth-chain.test.d.ts +12 -0
- package/dist/test/auth-chain.test.d.ts.map +1 -0
- package/dist/test/auth-chain.test.js +157 -0
- package/dist/test/auth-chain.test.js.map +1 -0
- package/dist/test/auth.service.test.d.ts +10 -0
- package/dist/test/auth.service.test.d.ts.map +1 -0
- package/dist/test/auth.service.test.js +141 -0
- package/dist/test/auth.service.test.js.map +1 -0
- package/dist/test/authorization.service.test.d.ts +2 -0
- package/dist/test/authorization.service.test.d.ts.map +1 -0
- package/dist/test/authorization.service.test.js +252 -0
- package/dist/test/authorization.service.test.js.map +1 -0
- package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +2 -0
- package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +1 -0
- package/dist/test/connect-switchboard-reshuffle-convergence.test.js +204 -0
- package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +1 -0
- package/dist/test/connect-switchboard-sync.test.d.ts +2 -0
- package/dist/test/connect-switchboard-sync.test.d.ts.map +1 -0
- package/dist/test/connect-switchboard-sync.test.js +633 -0
- package/dist/test/connect-switchboard-sync.test.js.map +1 -0
- package/dist/test/document-drive-subgraph.test.d.ts +2 -0
- package/dist/test/document-drive-subgraph.test.d.ts.map +1 -0
- package/dist/test/document-drive-subgraph.test.js +244 -0
- package/dist/test/document-drive-subgraph.test.js.map +1 -0
- package/dist/test/document-model-subgraph-permissions.test.d.ts +2 -0
- package/dist/test/document-model-subgraph-permissions.test.d.ts.map +1 -0
- package/dist/test/document-model-subgraph-permissions.test.js +587 -0
- package/dist/test/document-model-subgraph-permissions.test.js.map +1 -0
- package/dist/test/drive-info-endpoint.test.d.ts +2 -0
- package/dist/test/drive-info-endpoint.test.d.ts.map +1 -0
- package/dist/test/drive-info-endpoint.test.js +123 -0
- package/dist/test/drive-info-endpoint.test.js.map +1 -0
- package/dist/test/fault-injection-sync.test.d.ts +2 -0
- package/dist/test/fault-injection-sync.test.d.ts.map +1 -0
- package/dist/test/fault-injection-sync.test.js +197 -0
- package/dist/test/fault-injection-sync.test.js.map +1 -0
- package/dist/test/gateway/adapter-gateway-apollo.test.d.ts +2 -0
- package/dist/test/gateway/adapter-gateway-apollo.test.d.ts.map +1 -0
- package/dist/test/gateway/adapter-gateway-apollo.test.js +206 -0
- package/dist/test/gateway/adapter-gateway-apollo.test.js.map +1 -0
- package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts +2 -0
- package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts.map +1 -0
- package/dist/test/gateway/adapter-gateway-mercurius.test.js +23 -0
- package/dist/test/gateway/adapter-gateway-mercurius.test.js.map +1 -0
- package/dist/test/gateway/adapter-http-express.test.d.ts +2 -0
- package/dist/test/gateway/adapter-http-express.test.d.ts.map +1 -0
- package/dist/test/gateway/adapter-http-express.test.js +17 -0
- package/dist/test/gateway/adapter-http-express.test.js.map +1 -0
- package/dist/test/gateway/adapter-http-fastify.test.d.ts +2 -0
- package/dist/test/gateway/adapter-http-fastify.test.d.ts.map +1 -0
- package/dist/test/gateway/adapter-http-fastify.test.js +17 -0
- package/dist/test/gateway/adapter-http-fastify.test.js.map +1 -0
- package/dist/test/gateway/auth-middleware.test.d.ts +8 -0
- package/dist/test/gateway/auth-middleware.test.d.ts.map +1 -0
- package/dist/test/gateway/auth-middleware.test.js +73 -0
- package/dist/test/gateway/auth-middleware.test.js.map +1 -0
- package/dist/test/gateway/gateway-adapter-contract.d.ts +30 -0
- package/dist/test/gateway/gateway-adapter-contract.d.ts.map +1 -0
- package/dist/test/gateway/gateway-adapter-contract.js +347 -0
- package/dist/test/gateway/gateway-adapter-contract.js.map +1 -0
- package/dist/test/gateway/http-adapter-contract.d.ts +30 -0
- package/dist/test/gateway/http-adapter-contract.d.ts.map +1 -0
- package/dist/test/gateway/http-adapter-contract.js +277 -0
- package/dist/test/gateway/http-adapter-contract.js.map +1 -0
- package/dist/test/graphql-manager.test.d.ts +12 -0
- package/dist/test/graphql-manager.test.d.ts.map +1 -0
- package/dist/test/graphql-manager.test.js +576 -0
- package/dist/test/graphql-manager.test.js.map +1 -0
- package/dist/test/index.d.ts +0 -1
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +0 -1
- package/dist/test/index.js.map +1 -1
- package/dist/test/permissions-integration.test.js +6 -20
- package/dist/test/permissions-integration.test.js.map +1 -1
- package/dist/test/push-backfill.test.d.ts +2 -0
- package/dist/test/push-backfill.test.d.ts.map +1 -0
- package/dist/test/push-backfill.test.js +299 -0
- package/dist/test/push-backfill.test.js.map +1 -0
- package/dist/test/reactor-adapters.test.js +3 -2
- package/dist/test/reactor-adapters.test.js.map +1 -1
- package/dist/test/reactor-client.test.js +172 -13
- package/dist/test/reactor-client.test.js.map +1 -1
- package/dist/test/reactor-resolvers.test.js +11 -13
- package/dist/test/reactor-resolvers.test.js.map +1 -1
- package/dist/test/reactor-subgraph-permissions.test.js +7 -36
- package/dist/test/reactor-subgraph-permissions.test.js.map +1 -1
- package/dist/test/subscriptions-sse.test.d.ts +2 -0
- package/dist/test/subscriptions-sse.test.d.ts.map +1 -0
- package/dist/test/subscriptions-sse.test.js +264 -0
- package/dist/test/subscriptions-sse.test.js.map +1 -0
- package/dist/test/subscriptions.test.js +2 -0
- package/dist/test/subscriptions.test.js.map +1 -1
- package/dist/test/utils/gql-resolver-bridge.d.ts +4 -1
- package/dist/test/utils/gql-resolver-bridge.d.ts.map +1 -1
- package/dist/test/utils/gql-resolver-bridge.js +36 -7
- package/dist/test/utils/gql-resolver-bridge.js.map +1 -1
- package/dist/test/utils.d.ts +1 -5
- package/dist/test/utils.d.ts.map +1 -1
- package/dist/test/utils.js +0 -10
- package/dist/test/utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +1 -0
- package/dist/vitest.config.js.map +1 -1
- package/package.json +64 -59
- package/dist/src/graphql/drive-subgraph.d.ts +0 -25
- package/dist/src/graphql/drive-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/drive-subgraph.js +0 -487
- package/dist/src/graphql/drive-subgraph.js.map +0 -1
- package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
- package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/system/system-subgraph.js +0 -130
- package/dist/src/graphql/system/system-subgraph.js.map +0 -1
- package/dist/src/sync/types.d.ts +0 -10
- package/dist/src/sync/types.d.ts.map +0 -1
- package/dist/src/sync/utils.d.ts +0 -7
- package/dist/src/sync/utils.d.ts.map +0 -1
- package/dist/src/sync/utils.js +0 -78
- package/dist/src/sync/utils.js.map +0 -1
- package/dist/src/utils/auth.d.ts +0 -3
- package/dist/src/utils/auth.d.ts.map +0 -1
- package/dist/src/utils/auth.js +0 -19
- package/dist/src/utils/auth.js.map +0 -1
- package/dist/test/benchmarks/load.bench.d.ts +0 -2
- package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
- package/dist/test/benchmarks/load.bench.js +0 -73
- package/dist/test/benchmarks/load.bench.js.map +0 -1
- package/dist/test/benchmarks/sync.bench.d.ts +0 -2
- package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
- package/dist/test/benchmarks/sync.bench.js +0 -119
- package/dist/test/benchmarks/sync.bench.js.map +0 -1
- package/dist/test/drive-handlers.d.ts +0 -4
- package/dist/test/drive-handlers.d.ts.map +0 -1
- package/dist/test/drive-handlers.js +0 -39
- package/dist/test/drive-handlers.js.map +0 -1
- package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
- package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
- package/dist/test/drive-subgraph-permissions.test.js +0 -195
- package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
- package/dist/test/drive.test.d.ts +0 -2
- package/dist/test/drive.test.d.ts.map +0 -1
- package/dist/test/drive.test.js +0 -142
- package/dist/test/drive.test.js.map +0 -1
- package/dist/test/identity-integration.test.d.ts +0 -2
- package/dist/test/identity-integration.test.d.ts.map +0 -1
- package/dist/test/identity-integration.test.js +0 -349
- package/dist/test/identity-integration.test.js.map +0 -1
- package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
- package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
- package/dist/test/pull-responder-transmitter.test.js +0 -220
- package/dist/test/pull-responder-transmitter.test.js.map +0 -1
- package/dist/test/push-transmitter.test.d.ts +0 -2
- package/dist/test/push-transmitter.test.d.ts.map +0 -1
- package/dist/test/push-transmitter.test.js +0 -179
- package/dist/test/push-transmitter.test.js.map +0 -1
- package/dist/test/system.test.d.ts +0 -2
- package/dist/test/system.test.d.ts.map +0 -1
- package/dist/test/system.test.js +0 -211
- package/dist/test/system.test.js.map +0 -1
- package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
- package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
- package/dist/test/three-reactor-gql-sync.test.js +0 -368
- package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
- package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
- package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
- package/dist/test/two-reactor-gql-sync.test.js +0 -348
- package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
- /package/dist/src/{sync → graphql/gateway}/types.js +0 -0
package/dist/src/server.js
CHANGED
|
@@ -1,44 +1,28 @@
|
|
|
1
1
|
import { PostgresAnalyticsStore } from "@powerhousedao/analytics-engine-pg";
|
|
2
2
|
import { getConfig } from "@powerhousedao/config/node";
|
|
3
3
|
import { setupMcpServer } from "@powerhousedao/reactor-mcp";
|
|
4
|
-
import devcert from "devcert";
|
|
5
|
-
import { childLogger, createRelationalDb, ProcessorManager, } from "document-drive";
|
|
6
|
-
import express from "express";
|
|
7
|
-
import fs from "node:fs";
|
|
8
|
-
import https from "node:https";
|
|
9
4
|
import path from "node:path";
|
|
10
5
|
import { WebSocketServer } from "ws";
|
|
11
6
|
// Import tracing - initializes OpenTelemetry and provides stub functions for backwards compatibility
|
|
12
|
-
import {
|
|
7
|
+
import { createRelationalDb, } from "@powerhousedao/shared/processors";
|
|
8
|
+
import { childLogger } from "document-model";
|
|
13
9
|
import { config, DefaultCoreSubgraphs } from "./config.js";
|
|
14
10
|
import { AuthSubgraph } from "./graphql/auth/subgraph.js";
|
|
15
11
|
import { GraphQLManager } from "./graphql/graphql-manager.js";
|
|
12
|
+
import { createAuthFetchMiddleware, } from "./graphql/gateway/auth-middleware.js";
|
|
13
|
+
import { createGatewayAdapter, createHttpAdapter, } from "./graphql/gateway/factory.js";
|
|
16
14
|
import { renderGraphqlPlayground } from "./graphql/playground.js";
|
|
17
15
|
import { ReactorSubgraph } from "./graphql/reactor/subgraph.js";
|
|
18
16
|
import { runMigrations } from "./migrations/index.js";
|
|
19
17
|
import { ImportPackageLoader } from "./packages/import-loader.js";
|
|
20
|
-
import {
|
|
18
|
+
import { PackageManager } from "./packages/package-manager.js";
|
|
21
19
|
import { AuthService } from "./services/auth.service.js";
|
|
20
|
+
import { AuthorizationService } from "./services/authorization.service.js";
|
|
22
21
|
import { DocumentPermissionService } from "./services/document-permission.service.js";
|
|
22
|
+
import { initTracing, isTracingEnabled, trace } from "./tracing.js";
|
|
23
23
|
import { getDbClient, initAnalyticsStoreSql, } from "./utils/db.js";
|
|
24
|
-
const
|
|
24
|
+
const defaultLogger = childLogger(["reactor-api", "server"]);
|
|
25
25
|
const DEFAULT_PORT = 4000;
|
|
26
|
-
/**
|
|
27
|
-
* Sets up the Express app with necessary routes
|
|
28
|
-
*/
|
|
29
|
-
function setupGraphQlExplorer(router) {
|
|
30
|
-
router.get("/explorer/:endpoint?", (req, res) => {
|
|
31
|
-
res.setHeader("Content-Type", "text/html");
|
|
32
|
-
const endpoint = req.params.endpoint !== undefined
|
|
33
|
-
? `/${req.params.endpoint}`
|
|
34
|
-
: "/graphql";
|
|
35
|
-
const { query } = req.query;
|
|
36
|
-
if (query && typeof query !== "string") {
|
|
37
|
-
throw new Error("Invalid query");
|
|
38
|
-
}
|
|
39
|
-
res.send(renderGraphqlPlayground(endpoint, query));
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
26
|
/**
|
|
43
27
|
* Initializes the database and analytics store
|
|
44
28
|
*/
|
|
@@ -56,17 +40,14 @@ async function initializeDatabaseAndAnalytics(dbPath) {
|
|
|
56
40
|
/**
|
|
57
41
|
* Sets up the subgraph manager and registers subgraphs
|
|
58
42
|
*/
|
|
59
|
-
async function setupGraphQLManager(
|
|
60
|
-
const graphqlManager = new GraphQLManager(config.basePath,
|
|
43
|
+
async function setupGraphQLManager(httpAdapter, authFetchMiddleware, httpServer, wsServer, client, relationalDb, analyticsStore, syncManager, subgraphs, logger, auth, documentPermissionService, enableDocumentModelSubgraphs, port, authorizationService) {
|
|
44
|
+
const graphqlManager = new GraphQLManager(config.basePath, httpServer, wsServer, client, relationalDb, analyticsStore, syncManager, logger, httpAdapter, createGatewayAdapter("apollo", logger), {
|
|
61
45
|
enabled: auth?.enabled ?? false,
|
|
62
|
-
guests: auth?.guests ?? [],
|
|
63
|
-
users: auth?.users ?? [],
|
|
64
46
|
admins: auth?.admins ?? [],
|
|
65
|
-
freeEntry: auth?.freeEntry ?? false,
|
|
66
47
|
}, documentPermissionService, {
|
|
67
48
|
enableDocumentModelSubgraphs,
|
|
68
|
-
}, port);
|
|
69
|
-
await graphqlManager.init(subgraphs.core);
|
|
49
|
+
}, port, authorizationService);
|
|
50
|
+
await graphqlManager.init(subgraphs.core, authFetchMiddleware);
|
|
70
51
|
for (const [, collection] of subgraphs.extended.entries()) {
|
|
71
52
|
for (const subgraph of collection) {
|
|
72
53
|
await graphqlManager.registerSubgraph(subgraph, "graphql");
|
|
@@ -78,10 +59,21 @@ async function setupGraphQLManager(app, httpServer, wsServer, reactor, client, r
|
|
|
78
59
|
/**
|
|
79
60
|
* Sets up event listeners for package manager changes
|
|
80
61
|
*/
|
|
81
|
-
function setupEventListeners(pkgManager,
|
|
82
|
-
pkgManager.onDocumentModelsChange(
|
|
83
|
-
|
|
84
|
-
|
|
62
|
+
function setupEventListeners(pkgManager, graphqlManager, reactorProcessorManager, module, documentModelRegistry) {
|
|
63
|
+
pkgManager.onDocumentModelsChange((packagedModels) => {
|
|
64
|
+
if (documentModelRegistry) {
|
|
65
|
+
const newModules = Object.values(packagedModels).flat();
|
|
66
|
+
const registeredModules = documentModelRegistry.getAllModules();
|
|
67
|
+
const registeredTypes = new Set(registeredModules.map((m) => m.documentModel.global.id));
|
|
68
|
+
for (const mod of newModules) {
|
|
69
|
+
const docType = mod.documentModel.global.id;
|
|
70
|
+
if (!registeredTypes.has(docType)) {
|
|
71
|
+
defaultLogger.info(`Registering new document model: ${docType}`);
|
|
72
|
+
documentModelRegistry.registerModules(mod);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
void graphqlManager.regenerateDocumentModelSubgraphs();
|
|
85
77
|
});
|
|
86
78
|
pkgManager.onSubgraphsChange(async (packagedSubgraphs) => {
|
|
87
79
|
for (const [, subgraphs] of packagedSubgraphs) {
|
|
@@ -93,46 +85,36 @@ function setupEventListeners(pkgManager, reactor, graphqlManager, processorManag
|
|
|
93
85
|
});
|
|
94
86
|
pkgManager.onProcessorsChange(async (processors) => {
|
|
95
87
|
for (const [packageName, fns] of processors) {
|
|
96
|
-
await
|
|
97
|
-
const factories = fns.map((fn) => fn(
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
88
|
+
await reactorProcessorManager.unregisterFactory(packageName);
|
|
89
|
+
const factories = fns.map((fn) => fn(module));
|
|
90
|
+
const validBuilders = factories.filter((factory) => factory !== null && typeof factory === "function");
|
|
91
|
+
if (!validBuilders.length) {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
await reactorProcessorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validBuilders.map(async (driveFactory) => {
|
|
95
|
+
try {
|
|
96
|
+
const result = await driveFactory(driveHeader);
|
|
97
|
+
return result;
|
|
98
|
+
}
|
|
99
|
+
catch (e) {
|
|
100
|
+
const logger = defaultLogger;
|
|
101
|
+
logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
}))).flat());
|
|
102
105
|
}
|
|
103
106
|
});
|
|
104
107
|
}
|
|
105
108
|
/**
|
|
106
109
|
* Starts the server (HTTP or HTTPS) and attaches WebSocket server
|
|
107
110
|
*/
|
|
108
|
-
async function startServer(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
cert: fs.readFileSync(path.join(currentDir, httpsOptions.certPath)),
|
|
116
|
-
}, app);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
try {
|
|
120
|
-
const { cert, key } = (await devcert.certificateFor("localhost"));
|
|
121
|
-
if (!cert || !key) {
|
|
122
|
-
throw new Error("Invalid certificate generated");
|
|
123
|
-
}
|
|
124
|
-
httpServer = https.createServer({ cert, key }, app);
|
|
125
|
-
}
|
|
126
|
-
catch (err) {
|
|
127
|
-
console.error("Failed to get HTTPS certificate:", err);
|
|
128
|
-
throw new Error("Failed to start HTTPS server");
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
httpServer.listen(port);
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
httpServer = app.listen(port);
|
|
135
|
-
}
|
|
111
|
+
async function startServer(httpAdapter, port, httpsOptions, logger) {
|
|
112
|
+
const tls = httpsOptions === true
|
|
113
|
+
? true
|
|
114
|
+
: typeof httpsOptions === "object"
|
|
115
|
+
? { keyPath: httpsOptions.keyPath, certPath: httpsOptions.certPath }
|
|
116
|
+
: undefined;
|
|
117
|
+
const httpServer = await httpAdapter.listen(port, tls);
|
|
136
118
|
const wsServer = new WebSocketServer({
|
|
137
119
|
server: httpServer,
|
|
138
120
|
path: "/graphql/subscriptions",
|
|
@@ -150,71 +132,68 @@ async function _setupCommonInfrastructure(options) {
|
|
|
150
132
|
await initTracing();
|
|
151
133
|
}
|
|
152
134
|
const port = options.port ?? DEFAULT_PORT;
|
|
153
|
-
const
|
|
135
|
+
const { adapter: httpAdapter } = createHttpAdapter("express");
|
|
154
136
|
// Setup auth configuration
|
|
155
137
|
let admins = [];
|
|
156
|
-
let users = [];
|
|
157
|
-
let guests = [];
|
|
158
138
|
let authEnabled = false;
|
|
159
|
-
let freeEntry = false;
|
|
160
139
|
if (options.configFile) {
|
|
161
140
|
const config = getConfig(options.configFile);
|
|
162
141
|
admins = config.auth?.admins?.map((a) => a.toLowerCase()) ?? [];
|
|
163
|
-
users = config.auth?.users?.map((u) => u.toLowerCase()) ?? [];
|
|
164
|
-
guests = config.auth?.guests?.map((g) => g.toLowerCase()) ?? [];
|
|
165
142
|
authEnabled = config.auth?.enabled ?? false;
|
|
166
|
-
freeEntry = config.auth?.freeEntry ?? false;
|
|
167
143
|
}
|
|
168
144
|
else if (options.auth) {
|
|
169
145
|
admins = options.auth?.admins?.map((a) => a.toLowerCase()) ?? [];
|
|
170
|
-
users = options.auth?.users?.map((u) => u.toLowerCase()) ?? [];
|
|
171
|
-
guests = options.auth?.guests?.map((g) => g.toLowerCase()) ?? [];
|
|
172
146
|
authEnabled = options.auth?.enabled ?? false;
|
|
173
|
-
freeEntry = options.auth?.freeEntry ?? false;
|
|
174
147
|
}
|
|
175
|
-
const { AUTH_ENABLED,
|
|
148
|
+
const { AUTH_ENABLED, ADMINS, DEFAULT_PROTECTION, DOCUMENT_PERMISSIONS_ENABLED, SKIP_CREDENTIAL_VERIFICATION, } = process.env;
|
|
176
149
|
if (AUTH_ENABLED !== undefined) {
|
|
177
150
|
authEnabled = AUTH_ENABLED === "true";
|
|
178
151
|
}
|
|
179
|
-
if (GUESTS !== undefined) {
|
|
180
|
-
guests = GUESTS.split(",").map((g) => g.toLowerCase());
|
|
181
|
-
}
|
|
182
|
-
if (USERS !== undefined) {
|
|
183
|
-
users = USERS.split(",").map((u) => u.toLowerCase());
|
|
184
|
-
}
|
|
185
152
|
if (ADMINS !== undefined) {
|
|
186
153
|
admins = ADMINS.split(",").map((a) => a.toLowerCase());
|
|
187
154
|
}
|
|
188
|
-
|
|
189
|
-
|
|
155
|
+
let defaultProtection = false;
|
|
156
|
+
if (DEFAULT_PROTECTION !== undefined) {
|
|
157
|
+
defaultProtection = DEFAULT_PROTECTION.toLowerCase() === "true";
|
|
158
|
+
}
|
|
159
|
+
// Warn about deprecated env vars
|
|
160
|
+
const { USERS, GUESTS, FREE_ENTRY } = process.env;
|
|
161
|
+
if (USERS || GUESTS || FREE_ENTRY) {
|
|
162
|
+
console.warn("[DEPRECATION WARNING] The USERS, GUESTS, and FREE_ENTRY environment variables are no longer supported. " +
|
|
163
|
+
"Access control is now managed per-document via the DocumentProtection system. " +
|
|
164
|
+
"Use DEFAULT_PROTECTION=true for strict mode, or manage protection per document via the GraphQL API. " +
|
|
165
|
+
"See the auth documentation for migration guidance.");
|
|
190
166
|
}
|
|
191
167
|
let skipCredentialVerification = false;
|
|
192
168
|
if (SKIP_CREDENTIAL_VERIFICATION !== undefined) {
|
|
193
169
|
skipCredentialVerification = SKIP_CREDENTIAL_VERIFICATION === "true";
|
|
194
170
|
}
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
171
|
+
const logger = options.logger ?? defaultLogger;
|
|
172
|
+
// Health check endpoint (registered directly on adapter, before auth)
|
|
173
|
+
httpAdapter.getRoute("/health", () => new Response("OK", { status: 200 }));
|
|
174
|
+
// Explorer route
|
|
175
|
+
const explorerPrefix = `${config.basePath}/explorer`;
|
|
176
|
+
httpAdapter.getRoute(`${explorerPrefix}/:endpoint?`, (request) => {
|
|
177
|
+
const url = new URL(request.url);
|
|
178
|
+
// Strip the prefix to find the optional :endpoint segment
|
|
179
|
+
const suffix = url.pathname.slice(explorerPrefix.length).replace(/^\//, "");
|
|
180
|
+
const endpoint = suffix ? `/${suffix}` : "/graphql";
|
|
181
|
+
const query = url.searchParams.get("query") ?? undefined;
|
|
182
|
+
return new Response(renderGraphqlPlayground(endpoint, query), {
|
|
183
|
+
headers: { "Content-Type": "text/html" },
|
|
184
|
+
});
|
|
206
185
|
});
|
|
207
|
-
//
|
|
186
|
+
// Create auth fetch middleware if auth is enabled
|
|
187
|
+
let authFetchMiddleware;
|
|
208
188
|
if (authEnabled) {
|
|
209
189
|
logger.info("Setting up Auth middleware");
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
190
|
+
const authService = new AuthService({
|
|
191
|
+
enabled: authEnabled,
|
|
192
|
+
admins,
|
|
193
|
+
skipCredentialVerification,
|
|
213
194
|
});
|
|
195
|
+
authFetchMiddleware = createAuthFetchMiddleware(authService);
|
|
214
196
|
}
|
|
215
|
-
const defaultRouter = express.Router();
|
|
216
|
-
setupGraphQlExplorer(defaultRouter);
|
|
217
|
-
app.use(config.basePath, defaultRouter);
|
|
218
197
|
// Initialize database and analytics store
|
|
219
198
|
const { relationalDb, analyticsStore } = await trace("reactor-api.init.database", { tags: { "resource.name": "database" } }, () => initializeDatabaseAndAnalytics(options.dbPath));
|
|
220
199
|
// Use provided document permission service, or create one if env var is set
|
|
@@ -224,12 +203,20 @@ async function _setupCommonInfrastructure(options) {
|
|
|
224
203
|
// Run document permission migrations
|
|
225
204
|
await runMigrations(db);
|
|
226
205
|
logger.info("Document permission migrations completed");
|
|
227
|
-
documentPermissionService = new DocumentPermissionService(db);
|
|
206
|
+
documentPermissionService = new DocumentPermissionService(db, { defaultProtection });
|
|
228
207
|
logger.info("Document permission service initialized");
|
|
229
208
|
}
|
|
209
|
+
// Create AuthorizationService when document permission service is available
|
|
210
|
+
let authorizationService;
|
|
211
|
+
if (documentPermissionService) {
|
|
212
|
+
authorizationService = new AuthorizationService(documentPermissionService, {
|
|
213
|
+
admins,
|
|
214
|
+
defaultProtection,
|
|
215
|
+
});
|
|
216
|
+
logger.info("Authorization service initialized");
|
|
217
|
+
}
|
|
230
218
|
// Initialize package manager
|
|
231
|
-
const
|
|
232
|
-
const packageLoader = options.packageLoader ?? new ImportPackageLoader({ legacyReactor });
|
|
219
|
+
const packageLoader = options.packageLoader ?? new ImportPackageLoader();
|
|
233
220
|
const loaders = [packageLoader];
|
|
234
221
|
const packages = new PackageManager(loaders, {
|
|
235
222
|
configFile: options.configFile,
|
|
@@ -237,117 +224,68 @@ async function _setupCommonInfrastructure(options) {
|
|
|
237
224
|
});
|
|
238
225
|
return {
|
|
239
226
|
port,
|
|
240
|
-
|
|
227
|
+
httpAdapter,
|
|
228
|
+
authFetchMiddleware,
|
|
241
229
|
auth: {
|
|
242
230
|
enabled: authEnabled,
|
|
243
|
-
guests,
|
|
244
|
-
users,
|
|
245
231
|
admins,
|
|
246
|
-
freeEntry,
|
|
247
232
|
},
|
|
248
233
|
relationalDb,
|
|
249
234
|
analyticsStore,
|
|
250
235
|
documentPermissionService,
|
|
236
|
+
authorizationService,
|
|
251
237
|
packages,
|
|
252
238
|
};
|
|
253
239
|
}
|
|
254
240
|
/**
|
|
255
241
|
* Private helper function containing common setup logic for API initialization
|
|
256
242
|
*/
|
|
257
|
-
async function _setupAPI(
|
|
258
|
-
const
|
|
243
|
+
async function _setupAPI(reactorClient, syncManager, reactorProcessorManager, httpAdapter, authFetchMiddleware, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, processorApp, authorizationService, documentModelRegistry) {
|
|
244
|
+
const hostModule = {
|
|
245
|
+
relationalDb,
|
|
246
|
+
analyticsStore,
|
|
247
|
+
processorApp,
|
|
248
|
+
config: options.processorConfig,
|
|
249
|
+
reactorClient,
|
|
250
|
+
};
|
|
259
251
|
const mcpServerEnabled = options.mcp ?? true;
|
|
252
|
+
const logger = options.logger ?? defaultLogger;
|
|
260
253
|
// initialize processors
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
config: options.processorConfig,
|
|
275
|
-
});
|
|
276
|
-
}
|
|
277
|
-
catch (e) {
|
|
278
|
-
logger.error(`Error initializing processor factory for package ${packageName}:`, e);
|
|
279
|
-
return null;
|
|
280
|
-
}
|
|
281
|
-
});
|
|
282
|
-
const validFactories = factories.filter((factory) => factory !== null && typeof factory === "function");
|
|
283
|
-
if (!validFactories.length) {
|
|
284
|
-
continue;
|
|
254
|
+
const configuredProcessorEntries = Object.entries(options.processors ?? {});
|
|
255
|
+
const processorEntries = [
|
|
256
|
+
...processors.entries(),
|
|
257
|
+
...configuredProcessorEntries,
|
|
258
|
+
];
|
|
259
|
+
for (const [packageName, fns] of processorEntries) {
|
|
260
|
+
const factories = fns.map((fn) => {
|
|
261
|
+
try {
|
|
262
|
+
return fn(hostModule);
|
|
263
|
+
}
|
|
264
|
+
catch (e) {
|
|
265
|
+
logger.error(`Error initializing processor factory for package ${packageName}:`, e);
|
|
266
|
+
return null;
|
|
285
267
|
}
|
|
286
|
-
await processorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validFactories.map(async (factory) => {
|
|
287
|
-
try {
|
|
288
|
-
return await factory(driveHeader);
|
|
289
|
-
}
|
|
290
|
-
catch (e) {
|
|
291
|
-
logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
|
|
292
|
-
return [];
|
|
293
|
-
}
|
|
294
|
-
}))).flat());
|
|
295
|
-
}
|
|
296
|
-
// hook up processor manager to drive added event
|
|
297
|
-
reactor.on("driveAdded", async (drive) => {
|
|
298
|
-
await processorManager.registerDrive(drive.header.id);
|
|
299
268
|
});
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
if (!reactorProcessorManager) {
|
|
304
|
-
throw new Error("ProcessorManager not available from ReactorModule");
|
|
269
|
+
const validFactories = factories.filter((factory) => factory !== null && typeof factory === "function");
|
|
270
|
+
if (!validFactories.length) {
|
|
271
|
+
continue;
|
|
305
272
|
}
|
|
306
|
-
//
|
|
307
|
-
// to
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
const factories = fns.map((fn) => {
|
|
314
|
-
try {
|
|
315
|
-
return fn({
|
|
316
|
-
analyticsStore: module.analyticsStore,
|
|
317
|
-
relationalDb: module.relationalDb,
|
|
318
|
-
config: options.processorConfig,
|
|
319
|
-
});
|
|
320
|
-
}
|
|
321
|
-
catch (e) {
|
|
322
|
-
logger.error(`Error initializing processor factory for package ${packageName}:`, e);
|
|
323
|
-
return null;
|
|
324
|
-
}
|
|
325
|
-
});
|
|
326
|
-
// Filter and cast to the reactor types
|
|
327
|
-
// When legacyReactor=false, PackageLoader loads processorFactory which
|
|
328
|
-
// returns factories implementing reactor's IProcessor interface
|
|
329
|
-
const validFactories = factories.filter((factory) => factory !== null && typeof factory === "function");
|
|
330
|
-
if (!validFactories.length) {
|
|
331
|
-
continue;
|
|
273
|
+
// Register with the reactor ProcessorManager
|
|
274
|
+
// Cast the results to ReactorProcessorRecord since the loaded factories
|
|
275
|
+
// implement the reactor interface
|
|
276
|
+
await reactorProcessorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validFactories.map(async (driveFactory) => {
|
|
277
|
+
try {
|
|
278
|
+
const result = await driveFactory(driveHeader);
|
|
279
|
+
return result;
|
|
332
280
|
}
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
const result = await factory(driveHeader);
|
|
339
|
-
return result;
|
|
340
|
-
}
|
|
341
|
-
catch (e) {
|
|
342
|
-
logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
|
|
343
|
-
return [];
|
|
344
|
-
}
|
|
345
|
-
}))).flat());
|
|
346
|
-
}
|
|
347
|
-
// No driveAdded event listener needed - ProcessorManager is a read model
|
|
281
|
+
catch (e) {
|
|
282
|
+
logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
|
|
283
|
+
return [];
|
|
284
|
+
}
|
|
285
|
+
}))).flat());
|
|
348
286
|
}
|
|
349
287
|
// Start the server
|
|
350
|
-
const { httpServer, wsServer } = await startServer(
|
|
288
|
+
const { httpServer, wsServer } = await startServer(httpAdapter, port, options.https, logger);
|
|
351
289
|
// set up subgraph manager
|
|
352
290
|
const coreSubgraphs = DefaultCoreSubgraphs.slice();
|
|
353
291
|
coreSubgraphs.push(ReactorSubgraph);
|
|
@@ -356,76 +294,56 @@ async function _setupAPI(reactor, reactorClient, syncManager, app, port, package
|
|
|
356
294
|
coreSubgraphs.push(AuthSubgraph);
|
|
357
295
|
logger.info("Auth subgraph registered (document permissions enabled)");
|
|
358
296
|
}
|
|
359
|
-
const graphqlManager = await setupGraphQLManager(
|
|
297
|
+
const graphqlManager = await setupGraphQLManager(httpAdapter, authFetchMiddleware, httpServer, wsServer, reactorClient, relationalDb, analyticsStore, syncManager, {
|
|
360
298
|
extended: subgraphs,
|
|
361
299
|
core: coreSubgraphs,
|
|
362
|
-
}, auth, documentPermissionService, options.enableDocumentModelSubgraphs, port);
|
|
300
|
+
}, logger.child(["graphql-manager"]), auth, documentPermissionService, options.enableDocumentModelSubgraphs, port, authorizationService);
|
|
363
301
|
// Set up event listeners
|
|
364
|
-
setupEventListeners(packages,
|
|
302
|
+
setupEventListeners(packages, graphqlManager, reactorProcessorManager, hostModule, documentModelRegistry);
|
|
365
303
|
if (mcpServerEnabled) {
|
|
366
|
-
await setupMcpServer(
|
|
304
|
+
await setupMcpServer({ client: reactorClient, syncManager }, httpAdapter);
|
|
367
305
|
logger.info(`MCP server available at http://localhost:${port}/mcp`);
|
|
368
306
|
}
|
|
369
307
|
return {
|
|
370
|
-
|
|
308
|
+
httpAdapter,
|
|
371
309
|
graphqlManager,
|
|
372
|
-
processorManager,
|
|
373
310
|
packages,
|
|
374
311
|
};
|
|
375
312
|
}
|
|
376
313
|
/**
|
|
377
|
-
*
|
|
378
|
-
*
|
|
379
|
-
*
|
|
380
|
-
* @param client - An already-initialized reactor client instance.
|
|
381
|
-
* @param options - Additional options for server configuration.
|
|
382
|
-
*
|
|
383
|
-
* @returns The API server components.
|
|
384
|
-
*/
|
|
385
|
-
export async function startAPI(driveServer, client, registry, syncManager, options) {
|
|
386
|
-
const { port, app, auth, relationalDb, analyticsStore, documentPermissionService, packages, } = await trace("reactor-api.setup.infrastructure", { tags: { "resource.name": "infrastructure" } }, () => _setupCommonInfrastructure(options));
|
|
387
|
-
const { documentModels, processors, subgraphs } = await trace("reactor-api.packages.init", { tags: { "resource.name": "packages" } }, () => packages.init());
|
|
388
|
-
// pass to legacy reactor
|
|
389
|
-
driveServer.setDocumentModelModules(getUniqueDocumentModels([
|
|
390
|
-
...driveServer.getDocumentModelModules(),
|
|
391
|
-
...documentModels,
|
|
392
|
-
]));
|
|
393
|
-
// pass to registry
|
|
394
|
-
registry.registerModules(...documentModels);
|
|
395
|
-
// startAPI always uses legacy reactor since it doesn't have ReactorClientModule
|
|
396
|
-
const legacyReactor = true;
|
|
397
|
-
return _setupAPI(driveServer, client, syncManager, app, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, legacyReactor, undefined);
|
|
398
|
-
}
|
|
399
|
-
/**
|
|
400
|
-
* Initializes and starts the API server using initializer functions.
|
|
401
|
-
* This function first loads packages to get document models, then calls the initializer functions
|
|
402
|
-
* to create the drive server and client instances with the appropriate dependencies.
|
|
314
|
+
* Initializes and starts the API server using an initializer function.
|
|
315
|
+
* This function first loads packages to get document models, then calls the initializer function
|
|
316
|
+
* to create the reactor client module with the appropriate dependencies.
|
|
403
317
|
*
|
|
404
|
-
* @param
|
|
405
|
-
* @param clientInitializer - Initializer function that creates the reactor client module with the drive server.
|
|
318
|
+
* @param clientInitializer - Initializer function that creates the reactor client module with document models.
|
|
406
319
|
* @param options - Additional options for server configuration.
|
|
407
320
|
*
|
|
408
|
-
* @returns The API server components along with the created
|
|
321
|
+
* @returns The API server components along with the created client instances.
|
|
409
322
|
*/
|
|
410
|
-
export async function initializeAndStartAPI(
|
|
411
|
-
const { port,
|
|
323
|
+
export async function initializeAndStartAPI(clientInitializer, options, processorApp) {
|
|
324
|
+
const { port, httpAdapter, authFetchMiddleware, auth, relationalDb, analyticsStore, documentPermissionService, authorizationService, packages, } = await trace("reactor-api.setup.infrastructure", { tags: { "resource.name": "infrastructure" } }, () => _setupCommonInfrastructure(options));
|
|
412
325
|
const { documentModels, processors, subgraphs } = await trace("reactor-api.packages.init", { tags: { "resource.name": "packages" } }, () => packages.init());
|
|
413
|
-
const
|
|
414
|
-
const reactorClientModule = await trace("reactor-api.reactor-client.init", { tags: { "resource.name": "reactor-client" } }, () => clientInitializer(reactor, documentModels));
|
|
326
|
+
const reactorClientModule = await trace("reactor-api.reactor-client.init", { tags: { "resource.name": "reactor-client" } }, () => clientInitializer(documentModels));
|
|
415
327
|
// Extract client and syncManager from the module
|
|
416
328
|
const reactorClient = reactorClientModule.client;
|
|
417
329
|
const syncManager = reactorClientModule.reactorModule?.syncModule?.syncManager;
|
|
418
330
|
if (!syncManager) {
|
|
419
331
|
throw new Error("SyncManager not available from ReactorClientModule");
|
|
420
332
|
}
|
|
421
|
-
const legacyReactor = options.legacyReactor ?? false;
|
|
422
333
|
const reactorProcessorManager = reactorClientModule.reactorModule?.processorManager;
|
|
423
|
-
|
|
334
|
+
if (!reactorProcessorManager) {
|
|
335
|
+
throw new Error("ProcessorManager not available from ReactorClientModule");
|
|
336
|
+
}
|
|
337
|
+
const documentModelRegistry = reactorClientModule.reactorModule?.documentModelRegistry;
|
|
338
|
+
if (!documentModelRegistry) {
|
|
339
|
+
throw new Error("DocumentModelRegistry not available from ReactorClientModule");
|
|
340
|
+
}
|
|
341
|
+
const api = await _setupAPI(reactorClient, syncManager, reactorProcessorManager, httpAdapter, authFetchMiddleware, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, processorApp, authorizationService, documentModelRegistry);
|
|
424
342
|
return {
|
|
425
343
|
...api,
|
|
426
|
-
driveServer: reactor,
|
|
427
344
|
client: reactorClient,
|
|
428
345
|
syncManager,
|
|
346
|
+
documentModelRegistry,
|
|
429
347
|
};
|
|
430
348
|
}
|
|
431
349
|
//# sourceMappingURL=server.js.map
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|