@powerhousedao/reactor-api 6.0.0-dev.153 → 6.0.0-dev.155
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/dist/index.d.mts +2948 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +6353 -0
- package/dist/index.mjs.map +1 -0
- package/dist/src/packages/vite-loader.mjs +142 -0
- package/dist/src/packages/vite-loader.mjs.map +1 -0
- package/dist/types-Do4QTfT3.d.mts +37 -0
- package/dist/types-Do4QTfT3.d.mts.map +1 -0
- package/dist/utils-DEEhP99G.mjs +286 -0
- package/dist/utils-DEEhP99G.mjs.map +1 -0
- package/dist/vite-loader.d.mts +29 -0
- package/dist/vite-loader.d.mts.map +1 -0
- package/package.json +17 -25
- package/dist/codegen.d.ts +0 -4
- package/dist/codegen.d.ts.map +0 -1
- package/dist/codegen.js +0 -38
- package/dist/codegen.js.map +0 -1
- package/dist/index.d.ts +0 -15
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -15
- package/dist/index.js.map +0 -1
- package/dist/src/config.d.ts +0 -6
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -6
- package/dist/src/config.js.map +0 -1
- package/dist/src/dev.d.ts +0 -2
- package/dist/src/dev.d.ts.map +0 -1
- package/dist/src/dev.js +0 -51
- package/dist/src/dev.js.map +0 -1
- package/dist/src/graphql/analytics-subgraph.d.ts +0 -14
- package/dist/src/graphql/analytics-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/analytics-subgraph.js +0 -26
- package/dist/src/graphql/analytics-subgraph.js.map +0 -1
- package/dist/src/graphql/auth/index.d.ts +0 -2
- package/dist/src/graphql/auth/index.d.ts.map +0 -1
- package/dist/src/graphql/auth/index.js +0 -2
- package/dist/src/graphql/auth/index.js.map +0 -1
- package/dist/src/graphql/auth/resolvers.d.ts +0 -166
- package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
- package/dist/src/graphql/auth/resolvers.js +0 -227
- package/dist/src/graphql/auth/resolvers.js.map +0 -1
- package/dist/src/graphql/auth/schema.graphql +0 -195
- package/dist/src/graphql/auth/subgraph.d.ts +0 -202
- package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
- package/dist/src/graphql/auth/subgraph.js +0 -384
- package/dist/src/graphql/auth/subgraph.js.map +0 -1
- package/dist/src/graphql/base-subgraph.d.ts +0 -27
- package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/base-subgraph.js +0 -126
- package/dist/src/graphql/base-subgraph.js.map +0 -1
- package/dist/src/graphql/document-model-subgraph.d.ts +0 -110
- package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/document-model-subgraph.js +0 -336
- package/dist/src/graphql/document-model-subgraph.js.map +0 -1
- package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts +0 -23
- package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts.map +0 -1
- package/dist/src/graphql/gateway/adapter-gateway-apollo.js +0 -156
- package/dist/src/graphql/gateway/adapter-gateway-apollo.js.map +0 -1
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts +0 -17
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts.map +0 -1
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.js +0 -154
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.js.map +0 -1
- package/dist/src/graphql/gateway/adapter-http-express.d.ts +0 -25
- package/dist/src/graphql/gateway/adapter-http-express.d.ts.map +0 -1
- package/dist/src/graphql/gateway/adapter-http-express.js +0 -163
- package/dist/src/graphql/gateway/adapter-http-express.js.map +0 -1
- package/dist/src/graphql/gateway/adapter-http-fastify.d.ts +0 -23
- package/dist/src/graphql/gateway/adapter-http-fastify.d.ts.map +0 -1
- package/dist/src/graphql/gateway/adapter-http-fastify.js +0 -228
- package/dist/src/graphql/gateway/adapter-http-fastify.js.map +0 -1
- package/dist/src/graphql/gateway/auth-middleware.d.ts +0 -7
- package/dist/src/graphql/gateway/auth-middleware.d.ts.map +0 -1
- package/dist/src/graphql/gateway/auth-middleware.js +0 -15
- package/dist/src/graphql/gateway/auth-middleware.js.map +0 -1
- package/dist/src/graphql/gateway/factory.d.ts +0 -11
- package/dist/src/graphql/gateway/factory.d.ts.map +0 -1
- package/dist/src/graphql/gateway/factory.js +0 -21
- package/dist/src/graphql/gateway/factory.js.map +0 -1
- package/dist/src/graphql/gateway/types.d.ts +0 -100
- package/dist/src/graphql/gateway/types.d.ts.map +0 -1
- package/dist/src/graphql/gateway/types.js +0 -2
- package/dist/src/graphql/gateway/types.js.map +0 -1
- package/dist/src/graphql/graphql-manager.d.ts +0 -65
- package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
- package/dist/src/graphql/graphql-manager.js +0 -483
- package/dist/src/graphql/graphql-manager.js.map +0 -1
- package/dist/src/graphql/index.d.ts +0 -13
- package/dist/src/graphql/index.d.ts.map +0 -1
- package/dist/src/graphql/index.js +0 -13
- package/dist/src/graphql/index.js.map +0 -1
- package/dist/src/graphql/packages/index.d.ts +0 -2
- package/dist/src/graphql/packages/index.d.ts.map +0 -1
- package/dist/src/graphql/packages/index.js +0 -2
- package/dist/src/graphql/packages/index.js.map +0 -1
- package/dist/src/graphql/packages/resolvers.d.ts +0 -31
- package/dist/src/graphql/packages/resolvers.d.ts.map +0 -1
- package/dist/src/graphql/packages/resolvers.js +0 -37
- package/dist/src/graphql/packages/resolvers.js.map +0 -1
- package/dist/src/graphql/packages/schema.graphql +0 -50
- package/dist/src/graphql/packages/subgraph.d.ts +0 -55
- package/dist/src/graphql/packages/subgraph.d.ts.map +0 -1
- package/dist/src/graphql/packages/subgraph.js +0 -73
- package/dist/src/graphql/packages/subgraph.js.map +0 -1
- package/dist/src/graphql/playground.d.ts +0 -2
- package/dist/src/graphql/playground.d.ts.map +0 -1
- package/dist/src/graphql/playground.js +0 -81
- package/dist/src/graphql/playground.js.map +0 -1
- package/dist/src/graphql/reactor/adapters.d.ts +0 -62
- package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
- package/dist/src/graphql/reactor/adapters.js +0 -271
- package/dist/src/graphql/reactor/adapters.js.map +0 -1
- package/dist/src/graphql/reactor/factory.d.ts +0 -105
- package/dist/src/graphql/reactor/factory.d.ts.map +0 -1
- package/dist/src/graphql/reactor/factory.js +0 -7
- package/dist/src/graphql/reactor/factory.js.map +0 -1
- package/dist/src/graphql/reactor/gen/graphql.d.ts +0 -1489
- package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
- package/dist/src/graphql/reactor/gen/graphql.js +0 -731
- package/dist/src/graphql/reactor/gen/graphql.js.map +0 -1
- package/dist/src/graphql/reactor/index.d.ts +0 -4
- package/dist/src/graphql/reactor/index.d.ts.map +0 -1
- package/dist/src/graphql/reactor/index.js +0 -4
- package/dist/src/graphql/reactor/index.js.map +0 -1
- package/dist/src/graphql/reactor/operations.graphql +0 -443
- package/dist/src/graphql/reactor/pubsub.d.ts +0 -27
- package/dist/src/graphql/reactor/pubsub.d.ts.map +0 -1
- package/dist/src/graphql/reactor/pubsub.js +0 -93
- package/dist/src/graphql/reactor/pubsub.js.map +0 -1
- package/dist/src/graphql/reactor/requester.d.ts +0 -4
- package/dist/src/graphql/reactor/requester.d.ts.map +0 -1
- package/dist/src/graphql/reactor/requester.js +0 -22
- package/dist/src/graphql/reactor/requester.js.map +0 -1
- package/dist/src/graphql/reactor/requester.with-zod.d.ts +0 -4
- package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +0 -1
- package/dist/src/graphql/reactor/requester.with-zod.js +0 -129
- package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
- package/dist/src/graphql/reactor/resolvers.d.ts +0 -223
- package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
- package/dist/src/graphql/reactor/resolvers.js +0 -682
- package/dist/src/graphql/reactor/resolvers.js.map +0 -1
- package/dist/src/graphql/reactor/schema.graphql +0 -475
- package/dist/src/graphql/reactor/subgraph.d.ts +0 -18
- package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
- package/dist/src/graphql/reactor/subgraph.js +0 -460
- package/dist/src/graphql/reactor/subgraph.js.map +0 -1
- package/dist/src/graphql/reactor/validation.d.ts +0 -348
- package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
- package/dist/src/graphql/reactor/validation.js +0 -167
- package/dist/src/graphql/reactor/validation.js.map +0 -1
- package/dist/src/graphql/sse.d.ts +0 -35
- package/dist/src/graphql/sse.d.ts.map +0 -1
- package/dist/src/graphql/sse.js +0 -29
- package/dist/src/graphql/sse.js.map +0 -1
- package/dist/src/graphql/system/env/getters.d.ts +0 -2
- package/dist/src/graphql/system/env/getters.d.ts.map +0 -1
- package/dist/src/graphql/system/env/getters.js +0 -4
- package/dist/src/graphql/system/env/getters.js.map +0 -1
- package/dist/src/graphql/system/env/index.d.ts +0 -2
- package/dist/src/graphql/system/env/index.d.ts.map +0 -1
- package/dist/src/graphql/system/env/index.js +0 -5
- package/dist/src/graphql/system/env/index.js.map +0 -1
- package/dist/src/graphql/system/index.d.ts +0 -2
- package/dist/src/graphql/system/index.d.ts.map +0 -1
- package/dist/src/graphql/system/index.js +0 -2
- package/dist/src/graphql/system/index.js.map +0 -1
- package/dist/src/graphql/system/types.d.ts +0 -2
- package/dist/src/graphql/system/types.d.ts.map +0 -1
- package/dist/src/graphql/system/types.js +0 -2
- package/dist/src/graphql/system/types.js.map +0 -1
- package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
- package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
- package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
- package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
- package/dist/src/graphql/types.d.ts +0 -102
- package/dist/src/graphql/types.d.ts.map +0 -1
- package/dist/src/graphql/types.js +0 -2
- package/dist/src/graphql/types.js.map +0 -1
- package/dist/src/graphql/utils.d.ts +0 -9
- package/dist/src/graphql/utils.d.ts.map +0 -1
- package/dist/src/graphql/utils.js +0 -72
- package/dist/src/graphql/utils.js.map +0 -1
- package/dist/src/graphql/websocket.d.ts +0 -3
- package/dist/src/graphql/websocket.d.ts.map +0 -1
- package/dist/src/graphql/websocket.js +0 -15
- package/dist/src/graphql/websocket.js.map +0 -1
- package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
- package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
- package/dist/src/migrations/001_create_document_permissions.js +0 -91
- package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
- package/dist/src/migrations/002_add_document_protection.d.ts +0 -4
- package/dist/src/migrations/002_add_document_protection.d.ts.map +0 -1
- package/dist/src/migrations/002_add_document_protection.js +0 -18
- package/dist/src/migrations/002_add_document_protection.js.map +0 -1
- package/dist/src/migrations/index.d.ts +0 -10
- package/dist/src/migrations/index.d.ts.map +0 -1
- package/dist/src/migrations/index.js +0 -58
- package/dist/src/migrations/index.js.map +0 -1
- package/dist/src/packages/http-loader.d.ts +0 -59
- package/dist/src/packages/http-loader.d.ts.map +0 -1
- package/dist/src/packages/http-loader.js +0 -203
- package/dist/src/packages/http-loader.js.map +0 -1
- package/dist/src/packages/https-hooks.d.mts +0 -37
- package/dist/src/packages/https-hooks.d.mts.map +0 -1
- package/dist/src/packages/https-hooks.mjs +0 -95
- package/dist/src/packages/https-hooks.mjs.map +0 -1
- package/dist/src/packages/import-loader.d.ts +0 -14
- package/dist/src/packages/import-loader.d.ts.map +0 -1
- package/dist/src/packages/import-loader.js +0 -47
- package/dist/src/packages/import-loader.js.map +0 -1
- package/dist/src/packages/import-resolver.d.ts +0 -5
- package/dist/src/packages/import-resolver.d.ts.map +0 -1
- package/dist/src/packages/import-resolver.js +0 -127
- package/dist/src/packages/import-resolver.js.map +0 -1
- package/dist/src/packages/package-manager.d.ts +0 -33
- package/dist/src/packages/package-manager.d.ts.map +0 -1
- package/dist/src/packages/package-manager.js +0 -216
- package/dist/src/packages/package-manager.js.map +0 -1
- package/dist/src/packages/types.d.ts +0 -39
- package/dist/src/packages/types.d.ts.map +0 -1
- package/dist/src/packages/types.js +0 -2
- package/dist/src/packages/types.js.map +0 -1
- package/dist/src/packages/util.d.ts +0 -26
- package/dist/src/packages/util.d.ts.map +0 -1
- package/dist/src/packages/util.js +0 -85
- package/dist/src/packages/util.js.map +0 -1
- package/dist/src/packages/vite-loader.d.ts +0 -25
- package/dist/src/packages/vite-loader.d.ts.map +0 -1
- package/dist/src/packages/vite-loader.js +0 -171
- package/dist/src/packages/vite-loader.js.map +0 -1
- package/dist/src/server.d.ts +0 -55
- package/dist/src/server.d.ts.map +0 -1
- package/dist/src/server.js +0 -351
- package/dist/src/server.js.map +0 -1
- package/dist/src/services/auth.service.d.ts +0 -53
- package/dist/src/services/auth.service.d.ts.map +0 -1
- package/dist/src/services/auth.service.js +0 -165
- package/dist/src/services/auth.service.js.map +0 -1
- package/dist/src/services/authorization.service.d.ts +0 -70
- package/dist/src/services/authorization.service.d.ts.map +0 -1
- package/dist/src/services/authorization.service.js +0 -155
- package/dist/src/services/authorization.service.js.map +0 -1
- package/dist/src/services/document-permission.service.d.ts +0 -241
- package/dist/src/services/document-permission.service.d.ts.map +0 -1
- package/dist/src/services/document-permission.service.js +0 -791
- package/dist/src/services/document-permission.service.js.map +0 -1
- package/dist/src/services/package-management.service.d.ts +0 -32
- package/dist/src/services/package-management.service.d.ts.map +0 -1
- package/dist/src/services/package-management.service.js +0 -95
- package/dist/src/services/package-management.service.js.map +0 -1
- package/dist/src/services/package-storage.d.ts +0 -23
- package/dist/src/services/package-storage.d.ts.map +0 -1
- package/dist/src/services/package-storage.js +0 -19
- package/dist/src/services/package-storage.js.map +0 -1
- package/dist/src/tracing.d.ts +0 -4
- package/dist/src/tracing.d.ts.map +0 -1
- package/dist/src/tracing.js +0 -146
- package/dist/src/tracing.js.map +0 -1
- package/dist/src/types.d.ts +0 -26
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -2
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils/create-schema.d.ts +0 -36
- package/dist/src/utils/create-schema.d.ts.map +0 -1
- package/dist/src/utils/create-schema.js +0 -728
- package/dist/src/utils/create-schema.js.map +0 -1
- package/dist/src/utils/db.d.ts +0 -82
- package/dist/src/utils/db.d.ts.map +0 -1
- package/dist/src/utils/db.js +0 -101
- package/dist/src/utils/db.js.map +0 -1
- package/dist/src/utils/drive-url.d.ts +0 -2
- package/dist/src/utils/drive-url.d.ts.map +0 -1
- package/dist/src/utils/drive-url.js +0 -3
- package/dist/src/utils/drive-url.js.map +0 -1
- package/dist/src/utils/index.d.ts +0 -4
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/index.js +0 -4
- package/dist/src/utils/index.js.map +0 -1
- package/dist/test/auth-chain.test.d.ts +0 -12
- package/dist/test/auth-chain.test.d.ts.map +0 -1
- package/dist/test/auth-chain.test.js +0 -157
- package/dist/test/auth-chain.test.js.map +0 -1
- package/dist/test/auth.service.test.d.ts +0 -10
- package/dist/test/auth.service.test.d.ts.map +0 -1
- package/dist/test/auth.service.test.js +0 -141
- package/dist/test/auth.service.test.js.map +0 -1
- package/dist/test/authorization.service.test.d.ts +0 -2
- package/dist/test/authorization.service.test.d.ts.map +0 -1
- package/dist/test/authorization.service.test.js +0 -252
- package/dist/test/authorization.service.test.js.map +0 -1
- package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +0 -2
- package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +0 -1
- package/dist/test/connect-switchboard-reshuffle-convergence.test.js +0 -204
- package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +0 -1
- package/dist/test/connect-switchboard-sync.test.d.ts +0 -2
- package/dist/test/connect-switchboard-sync.test.d.ts.map +0 -1
- package/dist/test/connect-switchboard-sync.test.js +0 -633
- package/dist/test/connect-switchboard-sync.test.js.map +0 -1
- package/dist/test/document-drive-subgraph.test.d.ts +0 -2
- package/dist/test/document-drive-subgraph.test.d.ts.map +0 -1
- package/dist/test/document-drive-subgraph.test.js +0 -244
- package/dist/test/document-drive-subgraph.test.js.map +0 -1
- package/dist/test/document-model-subgraph-permissions.test.d.ts +0 -2
- package/dist/test/document-model-subgraph-permissions.test.d.ts.map +0 -1
- package/dist/test/document-model-subgraph-permissions.test.js +0 -587
- package/dist/test/document-model-subgraph-permissions.test.js.map +0 -1
- package/dist/test/document-permission.service.test.d.ts +0 -2
- package/dist/test/document-permission.service.test.d.ts.map +0 -1
- package/dist/test/document-permission.service.test.js +0 -480
- package/dist/test/document-permission.service.test.js.map +0 -1
- package/dist/test/drive-info-endpoint.test.d.ts +0 -2
- package/dist/test/drive-info-endpoint.test.d.ts.map +0 -1
- package/dist/test/drive-info-endpoint.test.js +0 -123
- package/dist/test/drive-info-endpoint.test.js.map +0 -1
- package/dist/test/fault-injection-sync.test.d.ts +0 -2
- package/dist/test/fault-injection-sync.test.d.ts.map +0 -1
- package/dist/test/fault-injection-sync.test.js +0 -197
- package/dist/test/fault-injection-sync.test.js.map +0 -1
- package/dist/test/gateway/adapter-gateway-apollo.test.d.ts +0 -2
- package/dist/test/gateway/adapter-gateway-apollo.test.d.ts.map +0 -1
- package/dist/test/gateway/adapter-gateway-apollo.test.js +0 -206
- package/dist/test/gateway/adapter-gateway-apollo.test.js.map +0 -1
- package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts +0 -2
- package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts.map +0 -1
- package/dist/test/gateway/adapter-gateway-mercurius.test.js +0 -23
- package/dist/test/gateway/adapter-gateway-mercurius.test.js.map +0 -1
- package/dist/test/gateway/adapter-http-express.test.d.ts +0 -2
- package/dist/test/gateway/adapter-http-express.test.d.ts.map +0 -1
- package/dist/test/gateway/adapter-http-express.test.js +0 -17
- package/dist/test/gateway/adapter-http-express.test.js.map +0 -1
- package/dist/test/gateway/adapter-http-fastify.test.d.ts +0 -2
- package/dist/test/gateway/adapter-http-fastify.test.d.ts.map +0 -1
- package/dist/test/gateway/adapter-http-fastify.test.js +0 -17
- package/dist/test/gateway/adapter-http-fastify.test.js.map +0 -1
- package/dist/test/gateway/auth-middleware.test.d.ts +0 -8
- package/dist/test/gateway/auth-middleware.test.d.ts.map +0 -1
- package/dist/test/gateway/auth-middleware.test.js +0 -73
- package/dist/test/gateway/auth-middleware.test.js.map +0 -1
- package/dist/test/gateway/gateway-adapter-contract.d.ts +0 -30
- package/dist/test/gateway/gateway-adapter-contract.d.ts.map +0 -1
- package/dist/test/gateway/gateway-adapter-contract.js +0 -347
- package/dist/test/gateway/gateway-adapter-contract.js.map +0 -1
- package/dist/test/gateway/http-adapter-contract.d.ts +0 -30
- package/dist/test/gateway/http-adapter-contract.d.ts.map +0 -1
- package/dist/test/gateway/http-adapter-contract.js +0 -277
- package/dist/test/gateway/http-adapter-contract.js.map +0 -1
- package/dist/test/graphql-manager.test.d.ts +0 -12
- package/dist/test/graphql-manager.test.d.ts.map +0 -1
- package/dist/test/graphql-manager.test.js +0 -576
- package/dist/test/graphql-manager.test.js.map +0 -1
- package/dist/test/index.d.ts +0 -2
- package/dist/test/index.d.ts.map +0 -1
- package/dist/test/index.js +0 -2
- package/dist/test/index.js.map +0 -1
- package/dist/test/permissions-integration.test.d.ts +0 -2
- package/dist/test/permissions-integration.test.d.ts.map +0 -1
- package/dist/test/permissions-integration.test.js +0 -407
- package/dist/test/permissions-integration.test.js.map +0 -1
- package/dist/test/push-backfill.test.d.ts +0 -2
- package/dist/test/push-backfill.test.d.ts.map +0 -1
- package/dist/test/push-backfill.test.js +0 -299
- package/dist/test/push-backfill.test.js.map +0 -1
- package/dist/test/reactor-adapters.test.d.ts +0 -2
- package/dist/test/reactor-adapters.test.d.ts.map +0 -1
- package/dist/test/reactor-adapters.test.js +0 -380
- package/dist/test/reactor-adapters.test.js.map +0 -1
- package/dist/test/reactor-client.test.d.ts +0 -2
- package/dist/test/reactor-client.test.d.ts.map +0 -1
- package/dist/test/reactor-client.test.js +0 -371
- package/dist/test/reactor-client.test.js.map +0 -1
- package/dist/test/reactor-resolvers.test.d.ts +0 -2
- package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
- package/dist/test/reactor-resolvers.test.js +0 -259
- package/dist/test/reactor-resolvers.test.js.map +0 -1
- package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
- package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
- package/dist/test/reactor-subgraph-permissions.test.js +0 -371
- package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
- package/dist/test/router.test.d.ts +0 -2
- package/dist/test/router.test.d.ts.map +0 -1
- package/dist/test/router.test.js +0 -38
- package/dist/test/router.test.js.map +0 -1
- package/dist/test/subscriptions-sse.test.d.ts +0 -2
- package/dist/test/subscriptions-sse.test.d.ts.map +0 -1
- package/dist/test/subscriptions-sse.test.js +0 -264
- package/dist/test/subscriptions-sse.test.js.map +0 -1
- package/dist/test/subscriptions.test.d.ts +0 -2
- package/dist/test/subscriptions.test.d.ts.map +0 -1
- package/dist/test/subscriptions.test.js +0 -248
- package/dist/test/subscriptions.test.js.map +0 -1
- package/dist/test/utils/gql-resolver-bridge.d.ts +0 -15
- package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
- package/dist/test/utils/gql-resolver-bridge.js +0 -89
- package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
- package/dist/test/utils.d.ts +0 -6
- package/dist/test/utils.d.ts.map +0 -1
- package/dist/test/utils.js +0 -13
- package/dist/test/utils.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -39
- package/dist/vitest.config.js.map +0 -1
package/dist/src/server.d.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import type { PGlite } from "@electric-sql/pglite";
|
|
2
|
-
import type { IDocumentModelRegistry, IReactorClient, ISyncManager, ReactorClientModule } from "@powerhousedao/reactor";
|
|
3
|
-
import type { DocumentModelModule } from "@powerhousedao/shared/document-model";
|
|
4
|
-
import type { Pool } from "pg";
|
|
5
|
-
import { type ProcessorApp } from "@powerhousedao/shared/processors";
|
|
6
|
-
import { type ILogger } from "document-model";
|
|
7
|
-
import { DocumentPermissionService } from "./services/document-permission.service.js";
|
|
8
|
-
import type { API, IPackageLoader, ProcessorFactoryBuilder } from "./types.js";
|
|
9
|
-
type Options = {
|
|
10
|
-
port?: number;
|
|
11
|
-
dbPath: string | undefined;
|
|
12
|
-
client?: PGlite | typeof Pool | undefined;
|
|
13
|
-
configFile?: string;
|
|
14
|
-
packages?: string[];
|
|
15
|
-
auth?: {
|
|
16
|
-
enabled: boolean;
|
|
17
|
-
admins: string[];
|
|
18
|
-
};
|
|
19
|
-
https?: {
|
|
20
|
-
keyPath: string;
|
|
21
|
-
certPath: string;
|
|
22
|
-
} | boolean | undefined;
|
|
23
|
-
packageLoaders?: IPackageLoader[];
|
|
24
|
-
processors?: Record<string, ProcessorInitializer[]>;
|
|
25
|
-
mcp?: boolean;
|
|
26
|
-
processorConfig?: Map<string, unknown>;
|
|
27
|
-
/**
|
|
28
|
-
* Document permission service instance.
|
|
29
|
-
* When provided, the Auth subgraph is registered and document permission
|
|
30
|
-
* checks are enforced on document operations.
|
|
31
|
-
* If not provided, can be auto-created by setting DOCUMENT_PERMISSIONS_ENABLED=true
|
|
32
|
-
* environment variable.
|
|
33
|
-
*/
|
|
34
|
-
documentPermissionService?: DocumentPermissionService;
|
|
35
|
-
enableDocumentModelSubgraphs?: boolean;
|
|
36
|
-
logger?: ILogger;
|
|
37
|
-
};
|
|
38
|
-
type ProcessorInitializer = ProcessorFactoryBuilder;
|
|
39
|
-
/**
|
|
40
|
-
* Initializes and starts the API server using an initializer function.
|
|
41
|
-
* This function first loads packages to get document models, then calls the initializer function
|
|
42
|
-
* to create the reactor client module with the appropriate dependencies.
|
|
43
|
-
*
|
|
44
|
-
* @param clientInitializer - Initializer function that creates the reactor client module with document models.
|
|
45
|
-
* @param options - Additional options for server configuration.
|
|
46
|
-
*
|
|
47
|
-
* @returns The API server components along with the created client instances.
|
|
48
|
-
*/
|
|
49
|
-
export declare function initializeAndStartAPI(clientInitializer: (documentModels: DocumentModelModule[]) => Promise<ReactorClientModule>, options: Options, processorApp: ProcessorApp): Promise<API & {
|
|
50
|
-
client: IReactorClient;
|
|
51
|
-
syncManager: ISyncManager;
|
|
52
|
-
documentModelRegistry: IDocumentModelRegistry;
|
|
53
|
-
}>;
|
|
54
|
-
export {};
|
|
55
|
-
//# sourceMappingURL=server.d.ts.map
|
package/dist/src/server.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EAEd,YAAY,EACZ,mBAAmB,EAEpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAGhF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAG/B,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAqB3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,OAAO,KAAK,EACV,GAAG,EACH,cAAc,EAGd,uBAAuB,EACxB,MAAM,YAAY,CAAC;AASpB,KAAK,OAAO,GAAG;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EACF;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD,OAAO,GACP,SAAS,CAAC;IACd,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACpD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,oBAAoB,GAAG,uBAAuB,CAAC;AAggBpD;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,iBAAiB,EAAE,CACjB,cAAc,EAAE,mBAAmB,EAAE,KAClC,OAAO,CAAC,mBAAmB,CAAC,EACjC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,GACzB,OAAO,CACR,GAAG,GAAG;IACJ,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,YAAY,CAAC;IAC1B,qBAAqB,EAAE,sBAAsB,CAAC;CAC/C,CACF,CA8EA"}
|
package/dist/src/server.js
DELETED
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
import { PostgresAnalyticsStore } from "@powerhousedao/analytics-engine-pg";
|
|
2
|
-
import { getConfig } from "@powerhousedao/config/node";
|
|
3
|
-
import { setupMcpServer } from "@powerhousedao/reactor-mcp";
|
|
4
|
-
import { WebSocketServer } from "ws";
|
|
5
|
-
// Import tracing - initializes OpenTelemetry and provides stub functions for backwards compatibility
|
|
6
|
-
import { createRelationalDb, } from "@powerhousedao/shared/processors";
|
|
7
|
-
import { childLogger } from "document-model";
|
|
8
|
-
import { config, DefaultCoreSubgraphs } from "./config.js";
|
|
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";
|
|
12
|
-
import { GraphQLManager } from "./graphql/graphql-manager.js";
|
|
13
|
-
import { renderGraphqlPlayground } from "./graphql/playground.js";
|
|
14
|
-
import { ReactorSubgraph } from "./graphql/reactor/subgraph.js";
|
|
15
|
-
import { runMigrations } from "./migrations/index.js";
|
|
16
|
-
import { ImportPackageLoader } from "./packages/import-loader.js";
|
|
17
|
-
import { PackageManager } from "./packages/package-manager.js";
|
|
18
|
-
import { AuthService } from "./services/auth.service.js";
|
|
19
|
-
import { AuthorizationService } from "./services/authorization.service.js";
|
|
20
|
-
import { DocumentPermissionService } from "./services/document-permission.service.js";
|
|
21
|
-
import { initTracing, isTracingEnabled, trace } from "./tracing.js";
|
|
22
|
-
import { getDbClient, initAnalyticsStoreSql, } from "./utils/db.js";
|
|
23
|
-
const defaultLogger = childLogger(["reactor-api", "server"]);
|
|
24
|
-
const DEFAULT_PORT = 4000;
|
|
25
|
-
/**
|
|
26
|
-
* Initializes the database and analytics store
|
|
27
|
-
*/
|
|
28
|
-
async function initializeDatabaseAndAnalytics(dbPath) {
|
|
29
|
-
const { db, knex } = getDbClient(dbPath);
|
|
30
|
-
const relationalDb = createRelationalDb(db);
|
|
31
|
-
const analyticsStore = new PostgresAnalyticsStore({
|
|
32
|
-
knex,
|
|
33
|
-
});
|
|
34
|
-
for (const sql of initAnalyticsStoreSql) {
|
|
35
|
-
await knex.raw(sql);
|
|
36
|
-
}
|
|
37
|
-
return { relationalDb, analyticsStore };
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Sets up the subgraph manager and registers subgraphs
|
|
41
|
-
*/
|
|
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), {
|
|
44
|
-
enabled: auth?.enabled ?? false,
|
|
45
|
-
admins: auth?.admins ?? [],
|
|
46
|
-
}, documentPermissionService, {
|
|
47
|
-
enableDocumentModelSubgraphs,
|
|
48
|
-
}, port, authorizationService);
|
|
49
|
-
await graphqlManager.init(subgraphs.core, authFetchMiddleware);
|
|
50
|
-
for (const [, collection] of subgraphs.extended.entries()) {
|
|
51
|
-
for (const subgraph of collection) {
|
|
52
|
-
await graphqlManager.registerSubgraph(subgraph, "graphql");
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
await graphqlManager.updateRouter();
|
|
56
|
-
return graphqlManager;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Sets up event listeners for package manager changes
|
|
60
|
-
*/
|
|
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();
|
|
76
|
-
});
|
|
77
|
-
pkgManager.onSubgraphsChange(async (packagedSubgraphs) => {
|
|
78
|
-
for (const [, subgraphs] of packagedSubgraphs) {
|
|
79
|
-
for (const subgraph of subgraphs) {
|
|
80
|
-
await graphqlManager.registerSubgraph(subgraph, "graphql");
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
await graphqlManager.updateRouter();
|
|
84
|
-
});
|
|
85
|
-
pkgManager.onProcessorsChange(async (processors) => {
|
|
86
|
-
for (const [packageName, fns] of processors) {
|
|
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());
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Starts the server (HTTP or HTTPS) and attaches WebSocket server
|
|
109
|
-
*/
|
|
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);
|
|
117
|
-
const wsServer = new WebSocketServer({
|
|
118
|
-
server: httpServer,
|
|
119
|
-
path: "/graphql/subscriptions",
|
|
120
|
-
});
|
|
121
|
-
logger.info("WebSocket server available at /graphql/subscriptions");
|
|
122
|
-
return { httpServer, wsServer };
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Private helper function that sets up common infrastructure before API initialization.
|
|
126
|
-
* This includes auth configuration, database setup, and package manager initialization.
|
|
127
|
-
*/
|
|
128
|
-
async function _setupCommonInfrastructure(options) {
|
|
129
|
-
// Initialize OpenTelemetry tracing
|
|
130
|
-
if (isTracingEnabled()) {
|
|
131
|
-
await initTracing();
|
|
132
|
-
}
|
|
133
|
-
const port = options.port ?? DEFAULT_PORT;
|
|
134
|
-
const { adapter: httpAdapter } = createHttpAdapter("express");
|
|
135
|
-
// Setup auth configuration
|
|
136
|
-
let admins = [];
|
|
137
|
-
let authEnabled = false;
|
|
138
|
-
if (options.configFile) {
|
|
139
|
-
const config = getConfig(options.configFile);
|
|
140
|
-
admins = config.auth?.admins?.map((a) => a.toLowerCase()) ?? [];
|
|
141
|
-
authEnabled = config.auth?.enabled ?? false;
|
|
142
|
-
}
|
|
143
|
-
else if (options.auth) {
|
|
144
|
-
admins = options.auth?.admins?.map((a) => a.toLowerCase()) ?? [];
|
|
145
|
-
authEnabled = options.auth?.enabled ?? false;
|
|
146
|
-
}
|
|
147
|
-
const { AUTH_ENABLED, ADMINS, DEFAULT_PROTECTION, DOCUMENT_PERMISSIONS_ENABLED, SKIP_CREDENTIAL_VERIFICATION, } = process.env;
|
|
148
|
-
if (AUTH_ENABLED !== undefined) {
|
|
149
|
-
authEnabled = AUTH_ENABLED === "true";
|
|
150
|
-
}
|
|
151
|
-
if (ADMINS !== undefined) {
|
|
152
|
-
admins = ADMINS.split(",").map((a) => a.toLowerCase());
|
|
153
|
-
}
|
|
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.");
|
|
165
|
-
}
|
|
166
|
-
let skipCredentialVerification = false;
|
|
167
|
-
if (SKIP_CREDENTIAL_VERIFICATION !== undefined) {
|
|
168
|
-
skipCredentialVerification = SKIP_CREDENTIAL_VERIFICATION === "true";
|
|
169
|
-
}
|
|
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
|
-
});
|
|
184
|
-
});
|
|
185
|
-
// Create auth fetch middleware if auth is enabled
|
|
186
|
-
let authFetchMiddleware;
|
|
187
|
-
if (authEnabled) {
|
|
188
|
-
logger.info("Setting up Auth middleware");
|
|
189
|
-
const authService = new AuthService({
|
|
190
|
-
enabled: authEnabled,
|
|
191
|
-
admins,
|
|
192
|
-
skipCredentialVerification,
|
|
193
|
-
});
|
|
194
|
-
authFetchMiddleware = createAuthFetchMiddleware(authService);
|
|
195
|
-
}
|
|
196
|
-
// Initialize database and analytics store
|
|
197
|
-
const { relationalDb, analyticsStore } = await trace("reactor-api.init.database", { tags: { "resource.name": "database" } }, () => initializeDatabaseAndAnalytics(options.dbPath));
|
|
198
|
-
// Use provided document permission service, or create one if env var is set
|
|
199
|
-
let documentPermissionService = options.documentPermissionService;
|
|
200
|
-
if (!documentPermissionService && DOCUMENT_PERMISSIONS_ENABLED === "true") {
|
|
201
|
-
const { db } = getDbClient(options.dbPath);
|
|
202
|
-
// Run document permission migrations
|
|
203
|
-
await runMigrations(db);
|
|
204
|
-
logger.info("Document permission migrations completed");
|
|
205
|
-
documentPermissionService = new DocumentPermissionService(db, { defaultProtection });
|
|
206
|
-
logger.info("Document permission service initialized");
|
|
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
|
-
}
|
|
217
|
-
// Initialize package manager
|
|
218
|
-
const loaders = options.packageLoaders ?? [
|
|
219
|
-
new ImportPackageLoader(),
|
|
220
|
-
];
|
|
221
|
-
const packages = new PackageManager(loaders, {
|
|
222
|
-
configFile: options.configFile,
|
|
223
|
-
packages: options.packages ?? [],
|
|
224
|
-
});
|
|
225
|
-
return {
|
|
226
|
-
port,
|
|
227
|
-
httpAdapter,
|
|
228
|
-
authFetchMiddleware,
|
|
229
|
-
auth: {
|
|
230
|
-
enabled: authEnabled,
|
|
231
|
-
admins,
|
|
232
|
-
},
|
|
233
|
-
relationalDb,
|
|
234
|
-
analyticsStore,
|
|
235
|
-
documentPermissionService,
|
|
236
|
-
authorizationService,
|
|
237
|
-
packages,
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Private helper function containing common setup logic for API initialization
|
|
242
|
-
*/
|
|
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
|
-
};
|
|
251
|
-
const mcpServerEnabled = options.mcp ?? true;
|
|
252
|
-
const logger = options.logger ?? defaultLogger;
|
|
253
|
-
// initialize processors
|
|
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);
|
|
263
|
-
}
|
|
264
|
-
catch (e) {
|
|
265
|
-
logger.error(`Error initializing processor factory for package ${packageName}:`, e);
|
|
266
|
-
return null;
|
|
267
|
-
}
|
|
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;
|
|
274
|
-
}
|
|
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());
|
|
288
|
-
}
|
|
289
|
-
// Start the server
|
|
290
|
-
const { httpServer, wsServer } = await startServer(httpAdapter, port, options.https, logger);
|
|
291
|
-
// set up subgraph manager
|
|
292
|
-
const coreSubgraphs = DefaultCoreSubgraphs.slice();
|
|
293
|
-
coreSubgraphs.push(ReactorSubgraph);
|
|
294
|
-
// Register Auth subgraph when document permission service is available
|
|
295
|
-
if (documentPermissionService) {
|
|
296
|
-
coreSubgraphs.push(AuthSubgraph);
|
|
297
|
-
logger.info("Auth subgraph registered (document permissions enabled)");
|
|
298
|
-
}
|
|
299
|
-
const graphqlManager = await setupGraphQLManager(httpAdapter, authFetchMiddleware, httpServer, wsServer, reactorClient, relationalDb, analyticsStore, syncManager, {
|
|
300
|
-
extended: subgraphs,
|
|
301
|
-
core: coreSubgraphs,
|
|
302
|
-
}, logger.child(["graphql-manager"]), auth, documentPermissionService, options.enableDocumentModelSubgraphs, port, authorizationService);
|
|
303
|
-
// Set up event listeners
|
|
304
|
-
setupEventListeners(packages, graphqlManager, reactorProcessorManager, hostModule, documentModelRegistry);
|
|
305
|
-
if (mcpServerEnabled) {
|
|
306
|
-
await setupMcpServer({ client: reactorClient, syncManager }, httpAdapter);
|
|
307
|
-
logger.info(`MCP server available at http://localhost:${port}/mcp`);
|
|
308
|
-
}
|
|
309
|
-
return {
|
|
310
|
-
httpAdapter,
|
|
311
|
-
graphqlManager,
|
|
312
|
-
packages,
|
|
313
|
-
};
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
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.
|
|
319
|
-
*
|
|
320
|
-
* @param clientInitializer - Initializer function that creates the reactor client module with document models.
|
|
321
|
-
* @param options - Additional options for server configuration.
|
|
322
|
-
*
|
|
323
|
-
* @returns The API server components along with the created client instances.
|
|
324
|
-
*/
|
|
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));
|
|
327
|
-
const { documentModels, processors, subgraphs } = await trace("reactor-api.packages.init", { tags: { "resource.name": "packages" } }, () => packages.init());
|
|
328
|
-
const reactorClientModule = await trace("reactor-api.reactor-client.init", { tags: { "resource.name": "reactor-client" } }, () => clientInitializer(documentModels));
|
|
329
|
-
// Extract client and syncManager from the module
|
|
330
|
-
const reactorClient = reactorClientModule.client;
|
|
331
|
-
const syncManager = reactorClientModule.reactorModule?.syncModule?.syncManager;
|
|
332
|
-
if (!syncManager) {
|
|
333
|
-
throw new Error("SyncManager not available from ReactorClientModule");
|
|
334
|
-
}
|
|
335
|
-
const reactorProcessorManager = reactorClientModule.reactorModule?.processorManager;
|
|
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);
|
|
344
|
-
return {
|
|
345
|
-
...api,
|
|
346
|
-
client: reactorClient,
|
|
347
|
-
syncManager,
|
|
348
|
-
documentModelRegistry,
|
|
349
|
-
};
|
|
350
|
-
}
|
|
351
|
-
//# sourceMappingURL=server.js.map
|
package/dist/src/server.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
export interface AuthConfig {
|
|
2
|
-
enabled: boolean;
|
|
3
|
-
admins: string[];
|
|
4
|
-
cacheTtl?: number;
|
|
5
|
-
skipCredentialVerification?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export interface User {
|
|
8
|
-
address: string;
|
|
9
|
-
chainId: number;
|
|
10
|
-
networkId: string;
|
|
11
|
-
}
|
|
12
|
-
export interface AuthContext {
|
|
13
|
-
user?: User;
|
|
14
|
-
admins: string[];
|
|
15
|
-
auth_enabled: boolean;
|
|
16
|
-
}
|
|
17
|
-
export declare class AuthService {
|
|
18
|
-
private readonly config;
|
|
19
|
-
constructor(config: AuthConfig);
|
|
20
|
-
authenticateRequest(request: globalThis.Request): Promise<AuthContext | globalThis.Response>;
|
|
21
|
-
authenticateWebSocketConnection(connectionParams: Record<string, unknown>): Promise<User | null>;
|
|
22
|
-
/**
|
|
23
|
-
* Verify the auth bearer token
|
|
24
|
-
*/
|
|
25
|
-
private verifyToken;
|
|
26
|
-
/**
|
|
27
|
-
* Extract user information from verification result
|
|
28
|
-
*/
|
|
29
|
-
private extractUserFromVerification;
|
|
30
|
-
/**
|
|
31
|
-
* Get additional context fields for GraphQL
|
|
32
|
-
*/
|
|
33
|
-
getAdditionalContextFields(): {
|
|
34
|
-
isAdmin: (address: string) => boolean;
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Get user context for GraphQL
|
|
38
|
-
*/
|
|
39
|
-
getUserContext(user?: User): {
|
|
40
|
-
user?: undefined;
|
|
41
|
-
} | {
|
|
42
|
-
user: {
|
|
43
|
-
address: string;
|
|
44
|
-
chainId: number;
|
|
45
|
-
networkId: string;
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Verify that the credential still exists on the Renown API
|
|
50
|
-
*/
|
|
51
|
-
private verifyCredentialExists;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=auth.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../src/services/auth.service.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBAExB,MAAM,EAAE,UAAU;IAIxB,mBAAmB,CACvB,OAAO,EAAE,UAAU,CAAC,OAAO,GAC1B,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;IAsDvC,+BAA+B,CACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IA4CvB;;OAEG;YACW,WAAW;IAIzB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAqBnC;;OAEG;IACH,0BAA0B;2BAQH,MAAM;;IAM7B;;OAEG;IACH,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI;;;;;;;;;IAY1B;;OAEG;YACW,sBAAsB;CAgCrC"}
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import { verifyAuthBearerToken, } from "@renown/sdk";
|
|
2
|
-
export class AuthService {
|
|
3
|
-
config;
|
|
4
|
-
constructor(config) {
|
|
5
|
-
this.config = config;
|
|
6
|
-
}
|
|
7
|
-
async authenticateRequest(request) {
|
|
8
|
-
if (!this.config.enabled) {
|
|
9
|
-
return { user: undefined, admins: [], auth_enabled: false };
|
|
10
|
-
}
|
|
11
|
-
const method = request.method;
|
|
12
|
-
if (method === "OPTIONS" || method === "GET") {
|
|
13
|
-
return {
|
|
14
|
-
user: undefined,
|
|
15
|
-
admins: this.config.admins,
|
|
16
|
-
auth_enabled: true,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
const token = request.headers.get("authorization")?.split(" ")[1];
|
|
20
|
-
if (!token) {
|
|
21
|
-
return {
|
|
22
|
-
user: undefined,
|
|
23
|
-
admins: this.config.admins,
|
|
24
|
-
auth_enabled: true,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
try {
|
|
28
|
-
const verified = await this.verifyToken(token);
|
|
29
|
-
if (!verified) {
|
|
30
|
-
return new Response(JSON.stringify({ error: "Verification failed" }), {
|
|
31
|
-
status: 401,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
const user = this.extractUserFromVerification(verified);
|
|
35
|
-
if (!user) {
|
|
36
|
-
return new Response(JSON.stringify({ error: "Missing credentials" }), {
|
|
37
|
-
status: 401,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
if (!this.config.skipCredentialVerification) {
|
|
41
|
-
const credentialExists = await this.verifyCredentialExists(user.address, user.chainId, verified.issuer);
|
|
42
|
-
if (!credentialExists) {
|
|
43
|
-
return new Response(JSON.stringify({ error: "Credentials no longer valid" }), { status: 401 });
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return { user, admins: this.config.admins, auth_enabled: true };
|
|
47
|
-
}
|
|
48
|
-
catch {
|
|
49
|
-
return new Response(JSON.stringify({ error: "Authentication failed" }), {
|
|
50
|
-
status: 401,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
async authenticateWebSocketConnection(connectionParams) {
|
|
55
|
-
if (!this.config.enabled) {
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
58
|
-
const authHeader = connectionParams.authorization;
|
|
59
|
-
if (!authHeader) {
|
|
60
|
-
throw new Error("Missing authorization in connection parameters");
|
|
61
|
-
}
|
|
62
|
-
const token = authHeader.split(" ")[1];
|
|
63
|
-
if (!token) {
|
|
64
|
-
throw new Error("Invalid authorization format");
|
|
65
|
-
}
|
|
66
|
-
const verified = await this.verifyToken(token);
|
|
67
|
-
if (!verified) {
|
|
68
|
-
throw new Error("Token verification failed");
|
|
69
|
-
}
|
|
70
|
-
const user = this.extractUserFromVerification(verified);
|
|
71
|
-
if (!user) {
|
|
72
|
-
throw new Error("Invalid credentials");
|
|
73
|
-
}
|
|
74
|
-
// Verify that the credentials still exist on the Renown API
|
|
75
|
-
// This can be skipped via config (useful for testing or when Renown API is unavailable)
|
|
76
|
-
if (!this.config.skipCredentialVerification) {
|
|
77
|
-
const credentialExists = await this.verifyCredentialExists(user.address, user.chainId, verified.issuer);
|
|
78
|
-
if (!credentialExists) {
|
|
79
|
-
throw new Error("Credentials no longer valid");
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
// Note: We no longer block based on global allowed lists.
|
|
83
|
-
// Authorization is handled at the resolver level based on document permissions.
|
|
84
|
-
return user;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Verify the auth bearer token
|
|
88
|
-
*/
|
|
89
|
-
async verifyToken(token) {
|
|
90
|
-
return await verifyAuthBearerToken(token);
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Extract user information from verification result
|
|
94
|
-
*/
|
|
95
|
-
extractUserFromVerification(verified) {
|
|
96
|
-
try {
|
|
97
|
-
const { address, chainId, networkId } = verified.verifiableCredential.credentialSubject;
|
|
98
|
-
if (!address || !chainId || !networkId) {
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
return {
|
|
102
|
-
address,
|
|
103
|
-
chainId,
|
|
104
|
-
networkId,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
catch {
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Get additional context fields for GraphQL
|
|
113
|
-
*/
|
|
114
|
-
getAdditionalContextFields() {
|
|
115
|
-
if (!this.config.enabled) {
|
|
116
|
-
return {
|
|
117
|
-
isAdmin: () => true,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
return {
|
|
121
|
-
isAdmin: (address) => this.config.enabled &&
|
|
122
|
-
this.config.admins?.includes(address.toLowerCase()),
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Get user context for GraphQL
|
|
127
|
-
*/
|
|
128
|
-
getUserContext(user) {
|
|
129
|
-
if (!user)
|
|
130
|
-
return {};
|
|
131
|
-
return {
|
|
132
|
-
user: {
|
|
133
|
-
address: user.address.toLowerCase(),
|
|
134
|
-
chainId: user.chainId,
|
|
135
|
-
networkId: user.networkId,
|
|
136
|
-
},
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Verify that the credential still exists on the Renown API
|
|
141
|
-
*/
|
|
142
|
-
async verifyCredentialExists(address, chainId, appId) {
|
|
143
|
-
const url = `https://www.renown.id/api/auth/credential?address=${address}&chainId=${chainId}&connectId=${appId}&appId=${appId}`;
|
|
144
|
-
try {
|
|
145
|
-
const response = await fetch(url, {
|
|
146
|
-
method: "GET",
|
|
147
|
-
});
|
|
148
|
-
const body = (await response.json());
|
|
149
|
-
const credential = body.credential;
|
|
150
|
-
const appIdVerfied = credential.credentialSubject.id;
|
|
151
|
-
const addressVerfied = credential.issuer.id.split(":")[4];
|
|
152
|
-
const chainIdVerfied = credential.issuer.id.split(":")[3];
|
|
153
|
-
if (response.status !== 200) {
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
return (appIdVerfied === appId &&
|
|
157
|
-
addressVerfied.toLocaleLowerCase() === address.toLocaleLowerCase() &&
|
|
158
|
-
chainIdVerfied === chainId.toString());
|
|
159
|
-
}
|
|
160
|
-
catch {
|
|
161
|
-
return false;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
//# sourceMappingURL=auth.service.js.map
|