@powerhousedao/reactor-api 6.0.0-dev.15 → 6.0.0-dev.150
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 +59 -0
- package/dist/src/packages/http-loader.d.ts.map +1 -0
- package/dist/src/packages/http-loader.js +203 -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 +95 -0
- package/dist/src/packages/https-hooks.mjs.map +1 -0
- package/dist/src/packages/import-loader.d.ts +4 -6
- package/dist/src/packages/import-loader.d.ts.map +1 -1
- package/dist/src/packages/import-loader.js +4 -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 +10 -7
- package/dist/src/packages/package-manager.js.map +1 -1
- package/dist/src/packages/types.d.ts +8 -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 -14
- package/dist/src/packages/util.js.map +1 -1
- package/dist/src/packages/vite-loader.d.ts +12 -11
- package/dist/src/packages/vite-loader.d.ts.map +1 -1
- package/dist/src/packages/vite-loader.js +20 -21
- package/dist/src/packages/vite-loader.js.map +1 -1
- package/dist/src/server.d.ts +15 -33
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +164 -244
- 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,27 @@
|
|
|
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
|
-
import path from "node:path";
|
|
10
4
|
import { WebSocketServer } from "ws";
|
|
11
5
|
// Import tracing - initializes OpenTelemetry and provides stub functions for backwards compatibility
|
|
12
|
-
import {
|
|
6
|
+
import { createRelationalDb, } from "@powerhousedao/shared/processors";
|
|
7
|
+
import { childLogger } from "document-model";
|
|
13
8
|
import { config, DefaultCoreSubgraphs } from "./config.js";
|
|
14
9
|
import { AuthSubgraph } from "./graphql/auth/subgraph.js";
|
|
10
|
+
import { createAuthFetchMiddleware, } from "./graphql/gateway/auth-middleware.js";
|
|
11
|
+
import { createGatewayAdapter, createHttpAdapter, } from "./graphql/gateway/factory.js";
|
|
15
12
|
import { GraphQLManager } from "./graphql/graphql-manager.js";
|
|
16
13
|
import { renderGraphqlPlayground } from "./graphql/playground.js";
|
|
17
14
|
import { ReactorSubgraph } from "./graphql/reactor/subgraph.js";
|
|
18
15
|
import { runMigrations } from "./migrations/index.js";
|
|
19
16
|
import { ImportPackageLoader } from "./packages/import-loader.js";
|
|
20
|
-
import {
|
|
17
|
+
import { PackageManager } from "./packages/package-manager.js";
|
|
21
18
|
import { AuthService } from "./services/auth.service.js";
|
|
19
|
+
import { AuthorizationService } from "./services/authorization.service.js";
|
|
22
20
|
import { DocumentPermissionService } from "./services/document-permission.service.js";
|
|
21
|
+
import { initTracing, isTracingEnabled, trace } from "./tracing.js";
|
|
23
22
|
import { getDbClient, initAnalyticsStoreSql, } from "./utils/db.js";
|
|
24
|
-
const
|
|
23
|
+
const defaultLogger = childLogger(["reactor-api", "server"]);
|
|
25
24
|
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
25
|
/**
|
|
43
26
|
* Initializes the database and analytics store
|
|
44
27
|
*/
|
|
@@ -56,17 +39,14 @@ async function initializeDatabaseAndAnalytics(dbPath) {
|
|
|
56
39
|
/**
|
|
57
40
|
* Sets up the subgraph manager and registers subgraphs
|
|
58
41
|
*/
|
|
59
|
-
async function setupGraphQLManager(
|
|
60
|
-
const graphqlManager = new GraphQLManager(config.basePath,
|
|
42
|
+
async function setupGraphQLManager(httpAdapter, authFetchMiddleware, httpServer, wsServer, client, relationalDb, analyticsStore, syncManager, subgraphs, logger, auth, documentPermissionService, enableDocumentModelSubgraphs, port, authorizationService) {
|
|
43
|
+
const graphqlManager = new GraphQLManager(config.basePath, httpServer, wsServer, client, relationalDb, analyticsStore, syncManager, logger, httpAdapter, createGatewayAdapter("apollo", logger), {
|
|
61
44
|
enabled: auth?.enabled ?? false,
|
|
62
|
-
guests: auth?.guests ?? [],
|
|
63
|
-
users: auth?.users ?? [],
|
|
64
45
|
admins: auth?.admins ?? [],
|
|
65
|
-
freeEntry: auth?.freeEntry ?? false,
|
|
66
46
|
}, documentPermissionService, {
|
|
67
47
|
enableDocumentModelSubgraphs,
|
|
68
|
-
}, port);
|
|
69
|
-
await graphqlManager.init(subgraphs.core);
|
|
48
|
+
}, port, authorizationService);
|
|
49
|
+
await graphqlManager.init(subgraphs.core, authFetchMiddleware);
|
|
70
50
|
for (const [, collection] of subgraphs.extended.entries()) {
|
|
71
51
|
for (const subgraph of collection) {
|
|
72
52
|
await graphqlManager.registerSubgraph(subgraph, "graphql");
|
|
@@ -78,10 +58,21 @@ async function setupGraphQLManager(app, httpServer, wsServer, reactor, client, r
|
|
|
78
58
|
/**
|
|
79
59
|
* Sets up event listeners for package manager changes
|
|
80
60
|
*/
|
|
81
|
-
function setupEventListeners(pkgManager,
|
|
82
|
-
pkgManager.onDocumentModelsChange(
|
|
83
|
-
|
|
84
|
-
|
|
61
|
+
function setupEventListeners(pkgManager, graphqlManager, reactorProcessorManager, module, documentModelRegistry) {
|
|
62
|
+
pkgManager.onDocumentModelsChange((packagedModels) => {
|
|
63
|
+
if (documentModelRegistry) {
|
|
64
|
+
const newModules = Object.values(packagedModels).flat();
|
|
65
|
+
const registeredModules = documentModelRegistry.getAllModules();
|
|
66
|
+
const registeredTypes = new Set(registeredModules.map((m) => m.documentModel.global.id));
|
|
67
|
+
for (const mod of newModules) {
|
|
68
|
+
const docType = mod.documentModel.global.id;
|
|
69
|
+
if (!registeredTypes.has(docType)) {
|
|
70
|
+
defaultLogger.info(`Registering new document model: ${docType}`);
|
|
71
|
+
documentModelRegistry.registerModules(mod);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
void graphqlManager.regenerateDocumentModelSubgraphs();
|
|
85
76
|
});
|
|
86
77
|
pkgManager.onSubgraphsChange(async (packagedSubgraphs) => {
|
|
87
78
|
for (const [, subgraphs] of packagedSubgraphs) {
|
|
@@ -93,46 +84,36 @@ function setupEventListeners(pkgManager, reactor, graphqlManager, processorManag
|
|
|
93
84
|
});
|
|
94
85
|
pkgManager.onProcessorsChange(async (processors) => {
|
|
95
86
|
for (const [packageName, fns] of processors) {
|
|
96
|
-
await
|
|
97
|
-
const factories = fns.map((fn) => fn(
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
87
|
+
await reactorProcessorManager.unregisterFactory(packageName);
|
|
88
|
+
const factories = fns.map((fn) => fn(module));
|
|
89
|
+
const validBuilders = factories.filter((factory) => factory !== null && typeof factory === "function");
|
|
90
|
+
if (!validBuilders.length) {
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
await reactorProcessorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validBuilders.map(async (driveFactory) => {
|
|
94
|
+
try {
|
|
95
|
+
const result = await driveFactory(driveHeader);
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
const logger = defaultLogger;
|
|
100
|
+
logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
|
|
101
|
+
return [];
|
|
102
|
+
}
|
|
103
|
+
}))).flat());
|
|
102
104
|
}
|
|
103
105
|
});
|
|
104
106
|
}
|
|
105
107
|
/**
|
|
106
108
|
* Starts the server (HTTP or HTTPS) and attaches WebSocket server
|
|
107
109
|
*/
|
|
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
|
-
}
|
|
110
|
+
async function startServer(httpAdapter, port, httpsOptions, logger) {
|
|
111
|
+
const tls = httpsOptions === true
|
|
112
|
+
? true
|
|
113
|
+
: typeof httpsOptions === "object"
|
|
114
|
+
? { keyPath: httpsOptions.keyPath, certPath: httpsOptions.certPath }
|
|
115
|
+
: undefined;
|
|
116
|
+
const httpServer = await httpAdapter.listen(port, tls);
|
|
136
117
|
const wsServer = new WebSocketServer({
|
|
137
118
|
server: httpServer,
|
|
138
119
|
path: "/graphql/subscriptions",
|
|
@@ -150,71 +131,68 @@ async function _setupCommonInfrastructure(options) {
|
|
|
150
131
|
await initTracing();
|
|
151
132
|
}
|
|
152
133
|
const port = options.port ?? DEFAULT_PORT;
|
|
153
|
-
const
|
|
134
|
+
const { adapter: httpAdapter } = createHttpAdapter("express");
|
|
154
135
|
// Setup auth configuration
|
|
155
136
|
let admins = [];
|
|
156
|
-
let users = [];
|
|
157
|
-
let guests = [];
|
|
158
137
|
let authEnabled = false;
|
|
159
|
-
let freeEntry = false;
|
|
160
138
|
if (options.configFile) {
|
|
161
139
|
const config = getConfig(options.configFile);
|
|
162
140
|
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
141
|
authEnabled = config.auth?.enabled ?? false;
|
|
166
|
-
freeEntry = config.auth?.freeEntry ?? false;
|
|
167
142
|
}
|
|
168
143
|
else if (options.auth) {
|
|
169
144
|
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
145
|
authEnabled = options.auth?.enabled ?? false;
|
|
173
|
-
freeEntry = options.auth?.freeEntry ?? false;
|
|
174
146
|
}
|
|
175
|
-
const { AUTH_ENABLED,
|
|
147
|
+
const { AUTH_ENABLED, ADMINS, DEFAULT_PROTECTION, DOCUMENT_PERMISSIONS_ENABLED, SKIP_CREDENTIAL_VERIFICATION, } = process.env;
|
|
176
148
|
if (AUTH_ENABLED !== undefined) {
|
|
177
149
|
authEnabled = AUTH_ENABLED === "true";
|
|
178
150
|
}
|
|
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
151
|
if (ADMINS !== undefined) {
|
|
186
152
|
admins = ADMINS.split(",").map((a) => a.toLowerCase());
|
|
187
153
|
}
|
|
188
|
-
|
|
189
|
-
|
|
154
|
+
let defaultProtection = false;
|
|
155
|
+
if (DEFAULT_PROTECTION !== undefined) {
|
|
156
|
+
defaultProtection = DEFAULT_PROTECTION.toLowerCase() === "true";
|
|
157
|
+
}
|
|
158
|
+
// Warn about deprecated env vars
|
|
159
|
+
const { USERS, GUESTS, FREE_ENTRY } = process.env;
|
|
160
|
+
if (USERS || GUESTS || FREE_ENTRY) {
|
|
161
|
+
console.warn("[DEPRECATION WARNING] The USERS, GUESTS, and FREE_ENTRY environment variables are no longer supported. " +
|
|
162
|
+
"Access control is now managed per-document via the DocumentProtection system. " +
|
|
163
|
+
"Use DEFAULT_PROTECTION=true for strict mode, or manage protection per document via the GraphQL API. " +
|
|
164
|
+
"See the auth documentation for migration guidance.");
|
|
190
165
|
}
|
|
191
166
|
let skipCredentialVerification = false;
|
|
192
167
|
if (SKIP_CREDENTIAL_VERIFICATION !== undefined) {
|
|
193
168
|
skipCredentialVerification = SKIP_CREDENTIAL_VERIFICATION === "true";
|
|
194
169
|
}
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
170
|
+
const logger = options.logger ?? defaultLogger;
|
|
171
|
+
// Health check endpoint (registered directly on adapter, before auth)
|
|
172
|
+
httpAdapter.getRoute("/health", () => new Response("OK", { status: 200 }));
|
|
173
|
+
// Explorer route
|
|
174
|
+
const explorerPrefix = `${config.basePath}/explorer`;
|
|
175
|
+
httpAdapter.getRoute(`${explorerPrefix}/:endpoint?`, (request) => {
|
|
176
|
+
const url = new URL(request.url);
|
|
177
|
+
// Strip the prefix to find the optional :endpoint segment
|
|
178
|
+
const suffix = url.pathname.slice(explorerPrefix.length).replace(/^\//, "");
|
|
179
|
+
const endpoint = suffix ? `/${suffix}` : "/graphql";
|
|
180
|
+
const query = url.searchParams.get("query") ?? undefined;
|
|
181
|
+
return new Response(renderGraphqlPlayground(endpoint, query), {
|
|
182
|
+
headers: { "Content-Type": "text/html" },
|
|
183
|
+
});
|
|
206
184
|
});
|
|
207
|
-
//
|
|
185
|
+
// Create auth fetch middleware if auth is enabled
|
|
186
|
+
let authFetchMiddleware;
|
|
208
187
|
if (authEnabled) {
|
|
209
188
|
logger.info("Setting up Auth middleware");
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
189
|
+
const authService = new AuthService({
|
|
190
|
+
enabled: authEnabled,
|
|
191
|
+
admins,
|
|
192
|
+
skipCredentialVerification,
|
|
213
193
|
});
|
|
194
|
+
authFetchMiddleware = createAuthFetchMiddleware(authService);
|
|
214
195
|
}
|
|
215
|
-
const defaultRouter = express.Router();
|
|
216
|
-
setupGraphQlExplorer(defaultRouter);
|
|
217
|
-
app.use(config.basePath, defaultRouter);
|
|
218
196
|
// Initialize database and analytics store
|
|
219
197
|
const { relationalDb, analyticsStore } = await trace("reactor-api.init.database", { tags: { "resource.name": "database" } }, () => initializeDatabaseAndAnalytics(options.dbPath));
|
|
220
198
|
// Use provided document permission service, or create one if env var is set
|
|
@@ -224,130 +202,92 @@ async function _setupCommonInfrastructure(options) {
|
|
|
224
202
|
// Run document permission migrations
|
|
225
203
|
await runMigrations(db);
|
|
226
204
|
logger.info("Document permission migrations completed");
|
|
227
|
-
documentPermissionService = new DocumentPermissionService(db);
|
|
205
|
+
documentPermissionService = new DocumentPermissionService(db, { defaultProtection });
|
|
228
206
|
logger.info("Document permission service initialized");
|
|
229
207
|
}
|
|
208
|
+
// Create AuthorizationService when document permission service is available
|
|
209
|
+
let authorizationService;
|
|
210
|
+
if (documentPermissionService) {
|
|
211
|
+
authorizationService = new AuthorizationService(documentPermissionService, {
|
|
212
|
+
admins,
|
|
213
|
+
defaultProtection,
|
|
214
|
+
});
|
|
215
|
+
logger.info("Authorization service initialized");
|
|
216
|
+
}
|
|
230
217
|
// Initialize package manager
|
|
231
|
-
const
|
|
232
|
-
|
|
233
|
-
|
|
218
|
+
const loaders = options.packageLoaders ?? [
|
|
219
|
+
new ImportPackageLoader(),
|
|
220
|
+
];
|
|
234
221
|
const packages = new PackageManager(loaders, {
|
|
235
222
|
configFile: options.configFile,
|
|
236
223
|
packages: options.packages ?? [],
|
|
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
|
-
try {
|
|
271
|
-
return fn({
|
|
272
|
-
analyticsStore: module.analyticsStore,
|
|
273
|
-
relationalDb: module.relationalDb,
|
|
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 = await Promise.allSettled(fns.map(async (fn) => {
|
|
261
|
+
try {
|
|
262
|
+
return fn(hostModule);
|
|
285
263
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
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
|
-
});
|
|
300
|
-
}
|
|
301
|
-
else {
|
|
302
|
-
// NEW REACTOR PATH - use ProcessorManager from ReactorModule
|
|
303
|
-
if (!reactorProcessorManager) {
|
|
304
|
-
throw new Error("ProcessorManager not available from ReactorModule");
|
|
305
|
-
}
|
|
306
|
-
// Create a wrapper that adapts the legacy-style ProcessorManager interface
|
|
307
|
-
// to track processors for the API response
|
|
308
|
-
processorManager = new ProcessorManager(reactor.listeners, reactor);
|
|
309
|
-
for (const [packageName, fns] of [
|
|
310
|
-
...processors.entries(),
|
|
311
|
-
...Object.entries(options.processors ?? {}),
|
|
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;
|
|
264
|
+
catch (e) {
|
|
265
|
+
logger.error(`Error initializing processor factory for package ${packageName}:`, e);
|
|
266
|
+
return null;
|
|
332
267
|
}
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
return result;
|
|
340
|
-
}
|
|
341
|
-
catch (e) {
|
|
342
|
-
logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
|
|
343
|
-
return [];
|
|
344
|
-
}
|
|
345
|
-
}))).flat());
|
|
268
|
+
}));
|
|
269
|
+
const validFactories = factories.filter((factory) => factory.status === "fulfilled" &&
|
|
270
|
+
factory.value !== null &&
|
|
271
|
+
typeof factory.value === "function");
|
|
272
|
+
if (!validFactories.length) {
|
|
273
|
+
continue;
|
|
346
274
|
}
|
|
347
|
-
//
|
|
275
|
+
// Register with the reactor ProcessorManager
|
|
276
|
+
// Cast the results to ReactorProcessorRecord since the loaded factories
|
|
277
|
+
// implement the reactor interface
|
|
278
|
+
await reactorProcessorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validFactories.map(async ({ value: driveFactory }) => {
|
|
279
|
+
try {
|
|
280
|
+
const result = await driveFactory(driveHeader);
|
|
281
|
+
return result;
|
|
282
|
+
}
|
|
283
|
+
catch (e) {
|
|
284
|
+
logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
|
|
285
|
+
return [];
|
|
286
|
+
}
|
|
287
|
+
}))).flat());
|
|
348
288
|
}
|
|
349
289
|
// Start the server
|
|
350
|
-
const { httpServer, wsServer } = await startServer(
|
|
290
|
+
const { httpServer, wsServer } = await startServer(httpAdapter, port, options.https, logger);
|
|
351
291
|
// set up subgraph manager
|
|
352
292
|
const coreSubgraphs = DefaultCoreSubgraphs.slice();
|
|
353
293
|
coreSubgraphs.push(ReactorSubgraph);
|
|
@@ -356,76 +296,56 @@ async function _setupAPI(reactor, reactorClient, syncManager, app, port, package
|
|
|
356
296
|
coreSubgraphs.push(AuthSubgraph);
|
|
357
297
|
logger.info("Auth subgraph registered (document permissions enabled)");
|
|
358
298
|
}
|
|
359
|
-
const graphqlManager = await setupGraphQLManager(
|
|
299
|
+
const graphqlManager = await setupGraphQLManager(httpAdapter, authFetchMiddleware, httpServer, wsServer, reactorClient, relationalDb, analyticsStore, syncManager, {
|
|
360
300
|
extended: subgraphs,
|
|
361
301
|
core: coreSubgraphs,
|
|
362
|
-
}, auth, documentPermissionService, options.enableDocumentModelSubgraphs, port);
|
|
302
|
+
}, logger.child(["graphql-manager"]), auth, documentPermissionService, options.enableDocumentModelSubgraphs, port, authorizationService);
|
|
363
303
|
// Set up event listeners
|
|
364
|
-
setupEventListeners(packages,
|
|
304
|
+
setupEventListeners(packages, graphqlManager, reactorProcessorManager, hostModule, documentModelRegistry);
|
|
365
305
|
if (mcpServerEnabled) {
|
|
366
|
-
await setupMcpServer(
|
|
306
|
+
await setupMcpServer({ client: reactorClient, syncManager }, httpAdapter);
|
|
367
307
|
logger.info(`MCP server available at http://localhost:${port}/mcp`);
|
|
368
308
|
}
|
|
369
309
|
return {
|
|
370
|
-
|
|
310
|
+
httpAdapter,
|
|
371
311
|
graphqlManager,
|
|
372
|
-
processorManager,
|
|
373
312
|
packages,
|
|
374
313
|
};
|
|
375
314
|
}
|
|
376
315
|
/**
|
|
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.
|
|
316
|
+
* Initializes and starts the API server using an initializer function.
|
|
317
|
+
* This function first loads packages to get document models, then calls the initializer function
|
|
318
|
+
* to create the reactor client module with the appropriate dependencies.
|
|
403
319
|
*
|
|
404
|
-
* @param
|
|
405
|
-
* @param clientInitializer - Initializer function that creates the reactor client module with the drive server.
|
|
320
|
+
* @param clientInitializer - Initializer function that creates the reactor client module with document models.
|
|
406
321
|
* @param options - Additional options for server configuration.
|
|
407
322
|
*
|
|
408
|
-
* @returns The API server components along with the created
|
|
323
|
+
* @returns The API server components along with the created client instances.
|
|
409
324
|
*/
|
|
410
|
-
export async function initializeAndStartAPI(
|
|
411
|
-
const { port,
|
|
325
|
+
export async function initializeAndStartAPI(clientInitializer, options, processorApp) {
|
|
326
|
+
const { port, httpAdapter, authFetchMiddleware, auth, relationalDb, analyticsStore, documentPermissionService, authorizationService, packages, } = await trace("reactor-api.setup.infrastructure", { tags: { "resource.name": "infrastructure" } }, () => _setupCommonInfrastructure(options));
|
|
412
327
|
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));
|
|
328
|
+
const reactorClientModule = await trace("reactor-api.reactor-client.init", { tags: { "resource.name": "reactor-client" } }, () => clientInitializer(documentModels));
|
|
415
329
|
// Extract client and syncManager from the module
|
|
416
330
|
const reactorClient = reactorClientModule.client;
|
|
417
331
|
const syncManager = reactorClientModule.reactorModule?.syncModule?.syncManager;
|
|
418
332
|
if (!syncManager) {
|
|
419
333
|
throw new Error("SyncManager not available from ReactorClientModule");
|
|
420
334
|
}
|
|
421
|
-
const legacyReactor = options.legacyReactor ?? false;
|
|
422
335
|
const reactorProcessorManager = reactorClientModule.reactorModule?.processorManager;
|
|
423
|
-
|
|
336
|
+
if (!reactorProcessorManager) {
|
|
337
|
+
throw new Error("ProcessorManager not available from ReactorClientModule");
|
|
338
|
+
}
|
|
339
|
+
const documentModelRegistry = reactorClientModule.reactorModule?.documentModelRegistry;
|
|
340
|
+
if (!documentModelRegistry) {
|
|
341
|
+
throw new Error("DocumentModelRegistry not available from ReactorClientModule");
|
|
342
|
+
}
|
|
343
|
+
const api = await _setupAPI(reactorClient, syncManager, reactorProcessorManager, httpAdapter, authFetchMiddleware, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, processorApp, authorizationService, documentModelRegistry);
|
|
424
344
|
return {
|
|
425
345
|
...api,
|
|
426
|
-
driveServer: reactor,
|
|
427
346
|
client: reactorClient,
|
|
428
347
|
syncManager,
|
|
348
|
+
documentModelRegistry,
|
|
429
349
|
};
|
|
430
350
|
}
|
|
431
351
|
//# 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":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AASvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAK5D,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AACrC,qGAAqG;AACrG,OAAO,EACL,kBAAkB,GAInB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAgB,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,yBAAyB,GAE1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAQpE,OAAO,EACL,WAAW,EACX,qBAAqB,GAEtB,MAAM,eAAe,CAAC;AAEvB,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAqC7D,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B;;GAEG;AACH,KAAK,UAAU,8BAA8B,CAC3C,MAA0B;IAK1B,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,kBAAkB,CAAU,EAAE,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAI,sBAAsB,CAAC;QAChD,IAAI;KACL,CAAC,CAAC;IAEH,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAChC,WAAyB,EACzB,mBAAoD,EACpD,UAAuB,EACvB,QAAyB,EACzB,MAAsB,EACtB,YAA2B,EAC3B,cAA+B,EAC/B,WAAyB,EACzB,SAGC,EACD,MAAe,EACf,IAGC,EACD,yBAAqD,EACrD,4BAAsC,EACtC,IAAa,EACb,oBAA2C;IAE3C,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,MAAM,CAAC,QAAQ,EACf,UAAU,EACV,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,cAAc,EACd,WAAW,EACX,MAAM,EACN,WAAW,EACX,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,EACtC;QACE,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK;QAC/B,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE;KAC3B,EACD,yBAAyB,EACzB;QACE,4BAA4B;KAC7B,EACD,IAAI,EACJ,oBAAoB,CACrB,CAAC;IAEF,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAE/D,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC;IAEpC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,UAA0B,EAC1B,cAA8B,EAC9B,uBAAiD,EACjD,MAA4B,EAC5B,qBAA8C;IAE9C,UAAU,CAAC,sBAAsB,CAAC,CAAC,cAAc,EAAE,EAAE;QACnD,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;YACxD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,aAAa,EAAE,CAAC;YAChE,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CACxD,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAClC,aAAa,CAAC,IAAI,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;oBACjE,qBAAqB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,cAAc,CAAC,gCAAgC,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE;QACvD,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC9C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACjD,KAAK,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;YAC5C,MAAM,uBAAuB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAE7D,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YAE9C,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CACpC,CAAC,OAAO,EAAoC,EAAE,CAC5C,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,UAAU,CACpD,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YAED,MAAM,uBAAuB,CAAC,eAAe,CAC3C,WAAW,EACX,KAAK,EAAE,WAAW,EAAE,EAAE,CACpB,CACE,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;gBACvC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;oBAC/C,OAAO,MAA6C,CAAC;gBACvD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,MAAM,GAAG,aAAa,CAAC;oBAC7B,MAAM,CAAC,KAAK,CACV,sCAAsC,WAAW,CAAC,EAAE,GAAG,EACvD,CAAC,CACF,CAAC;oBACF,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CACH,CACF,CAAC,IAAI,EAAE,CACX,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CACxB,WAAyB,EACzB,IAAY,EACZ,YAA8B,EAC9B,MAAe;IAEf,MAAM,GAAG,GACP,YAAY,KAAK,IAAI;QACnB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,YAAY,KAAK,QAAQ;YAChC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE;YACpE,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;QACnC,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,wBAAwB;KAC/B,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IAEpE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,0BAA0B,CAAC,OAAgB;IAcxD,mCAAmC;IACnC,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACvB,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC;IAC1C,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAE9D,2BAA2B;IAC3B,IAAI,MAAM,GAAa,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAChE,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC;IAC9C,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACjE,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC;IAC/C,CAAC;IACD,MAAM,EACJ,YAAY,EACZ,MAAM,EACN,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,GAC7B,GAAG,OAAO,CAAC,GAAG,CAAC;IAChB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,WAAW,GAAG,YAAY,KAAK,MAAM,CAAC;IACxC,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,iBAAiB,GAAG,kBAAkB,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;IAClE,CAAC;IAED,iCAAiC;IACjC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAClD,IAAI,KAAK,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CACV,yGAAyG;YACvG,gFAAgF;YAChF,sGAAsG;YACtG,oDAAoD,CACvD,CAAC;IACJ,CAAC;IAED,IAAI,0BAA0B,GAAG,KAAK,CAAC;IACvC,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;QAC/C,0BAA0B,GAAG,4BAA4B,KAAK,MAAM,CAAC;IACvE,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC;IAE/C,sEAAsE;IACtE,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAE3E,iBAAiB;IACjB,MAAM,cAAc,GAAG,GAAG,MAAM,CAAC,QAAQ,WAAW,CAAC;IACrD,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;QAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,0DAA0D;QAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QACpD,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;QACzD,OAAO,IAAI,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;YAC5D,OAAO,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE;SACzC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAClD,IAAI,mBAAoD,CAAC;IACzD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;YAClC,OAAO,EAAE,WAAW;YACpB,MAAM;YACN,0BAA0B;SAC3B,CAAC,CAAC;QACH,mBAAmB,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED,0CAA0C;IAC1C,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,MAAM,KAAK,CAClD,2BAA2B,EAC3B,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,EACzC,GAAG,EAAE,CAAC,8BAA8B,CAAC,OAAO,CAAC,MAAM,CAAC,CACrD,CAAC;IAEF,4EAA4E;IAC5E,IAAI,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAClE,IAAI,CAAC,yBAAyB,IAAI,4BAA4B,KAAK,MAAM,EAAE,CAAC;QAC1E,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,qCAAqC;QACrC,MAAM,aAAa,CAAC,EAAqB,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACxD,yBAAyB,GAAG,IAAI,yBAAyB,CACvD,EAAwC,EACxC,EAAE,iBAAiB,EAAE,CACtB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAED,4EAA4E;IAC5E,IAAI,oBAAsD,CAAC;IAC3D,IAAI,yBAAyB,EAAE,CAAC;QAC9B,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,yBAAyB,EAAE;YACzE,MAAM;YACN,iBAAiB;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;IAED,6BAA6B;IAC7B,MAAM,OAAO,GAAqB,OAAO,CAAC,cAAc,IAAI;QAC1D,IAAI,mBAAmB,EAAE;KAC1B,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE;QAC3C,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;KACjC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI;QACJ,WAAW;QACX,mBAAmB;QACnB,IAAI,EAAE;YACJ,OAAO,EAAE,WAAW;YACpB,MAAM;SACP;QACD,YAAY;QACZ,cAAc;QACd,yBAAyB;QACzB,oBAAoB;QACpB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CACtB,aAA6B,EAC7B,WAAyB,EACzB,uBAAiD,EACjD,WAAyB,EACzB,mBAAoD,EACpD,IAAY,EACZ,QAAwB,EACxB,YAA2B,EAC3B,cAA+B,EAC/B,yBAAgE,EAChE,UAAkC,EAClC,SAAuC,EACvC,OAAgB,EAChB,IAGC,EACD,YAA0B,EAC1B,oBAA2C,EAC3C,qBAA8C;IAE9C,MAAM,UAAU,GAAyB;QACvC,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,MAAM,EAAE,OAAO,CAAC,eAAe;QAC/B,aAAa;KACd,CAAC;IACF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;IAE7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC;IAE/C,wBAAwB;IACxB,MAAM,0BAA0B,GAAG,MAAM,CAAC,OAAO,CAC/C,OAAO,CAAC,UAAU,IAAI,EAAE,CACa,CAAC;IAExC,MAAM,gBAAgB,GAAG;QACvB,GAAG,UAAU,CAAC,OAAO,EAAE;QACvB,GAAG,0BAA0B;KACQ,CAAC;IAExC,KAAK,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,CACxC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACnB,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CACV,oDAAoD,WAAW,GAAG,EAClE,CAAC,CACF,CAAC;gBAEF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CACrC,CAAC,OAAO,EAA4D,EAAE,CACpE,OAAO,CAAC,MAAM,KAAK,WAAW;YAC9B,OAAO,CAAC,KAAK,KAAK,IAAI;YACtB,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,CACtC,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,6CAA6C;QAC7C,wEAAwE;QACxE,kCAAkC;QAClC,MAAM,uBAAuB,CAAC,eAAe,CAC3C,WAAW,EACX,KAAK,EAAE,WAAW,EAAE,EAAE,CACpB,CACE,MAAM,OAAO,CAAC,GAAG,CACf,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE;YACnD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC/C,OAAO,MAA6C,CAAC;YACvD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CACV,sCAAsC,WAAW,CAAC,EAAE,GAAG,EACvD,CAAC,CACF,CAAC;gBAEF,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CACH,CACF,CAAC,IAAI,EAAE,CACX,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAChD,WAAW,EACX,IAAI,EACJ,OAAO,CAAC,KAAK,EACb,MAAM,CACP,CAAC;IAEF,0BAA0B;IAC1B,MAAM,aAAa,GAAoB,oBAAoB,CAAC,KAAK,EAAE,CAAC;IACpE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEpC,uEAAuE;IACvE,IAAI,yBAAyB,EAAE,CAAC;QAC9B,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAC9C,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX;QACE,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,aAAa;KACpB,EACD,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC,EACjC,IAAI,EACJ,yBAAyB,EACzB,OAAO,CAAC,4BAA4B,EACpC,IAAI,EACJ,oBAAoB,CACrB,CAAC;IAEF,yBAAyB;IACzB,mBAAmB,CACjB,QAAQ,EACR,cAAc,EACd,uBAAuB,EACvB,UAAU,EACV,qBAAqB,CACtB,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,4CAA4C,IAAI,MAAM,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACL,WAAW;QACX,cAAc;QACd,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,iBAEiC,EACjC,OAAgB,EAChB,YAA0B;IAQ1B,MAAM,EACJ,IAAI,EACJ,WAAW,EACX,mBAAmB,EACnB,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,yBAAyB,EACzB,oBAAoB,EACpB,QAAQ,GACT,GAAG,MAAM,KAAK,CACb,kCAAkC,EAClC,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,gBAAgB,EAAE,EAAE,EAC/C,GAAG,EAAE,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAC1C,CAAC;IAEF,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,KAAK,CAC3D,2BAA2B,EAC3B,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,EACzC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CACtB,CAAC;IAEF,MAAM,mBAAmB,GAAG,MAAM,KAAK,CACrC,iCAAiC,EACjC,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,gBAAgB,EAAE,EAAE,EAC/C,GAAG,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,CACxC,CAAC;IAEF,iDAAiD;IACjD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAEjD,MAAM,WAAW,GACf,mBAAmB,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC;IAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,uBAAuB,GAC3B,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACtD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,qBAAqB,GACzB,mBAAmB,CAAC,aAAa,EAAE,qBAAqB,CAAC;IAC3D,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,SAAS,CACzB,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,WAAW,EACX,mBAAmB,EACnB,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,yBAAyB,EACzB,UAAU,EACV,SAAS,EACT,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,CACtB,CAAC;IAEF,OAAO;QACL,GAAG,GAAG;QACN,MAAM,EAAE,aAAa;QACrB,WAAW;QACX,qBAAqB;KACtB,CAAC;AACJ,CAAC"}
|