@powerhousedao/reactor-api 6.0.0-dev.22 → 6.0.0-dev.221
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/index.d.mts +3037 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +6687 -0
- package/dist/index.mjs.map +1 -0
- package/dist/src/packages/https-hooks.d.mts +39 -0
- package/dist/src/packages/https-hooks.d.mts.map +1 -0
- package/dist/src/packages/https-hooks.mjs +79 -0
- package/dist/src/packages/https-hooks.mjs.map +1 -0
- package/dist/src/packages/vite-loader.d.mts +29 -0
- package/dist/src/packages/vite-loader.d.mts.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-CVrD_vPF.mjs +287 -0
- package/dist/utils-CVrD_vPF.mjs.map +1 -0
- package/package.json +71 -63
- 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 -14
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -14
- package/dist/index.js.map +0 -1
- package/dist/src/config.d.ts +0 -7
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -10
- package/dist/src/config.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 -149
- package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
- package/dist/src/graphql/auth/resolvers.js +0 -173
- package/dist/src/graphql/auth/resolvers.js.map +0 -1
- package/dist/src/graphql/auth/schema.graphql +0 -173
- package/dist/src/graphql/auth/subgraph.d.ts +0 -177
- package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
- package/dist/src/graphql/auth/subgraph.js +0 -340
- package/dist/src/graphql/auth/subgraph.js.map +0 -1
- package/dist/src/graphql/base-subgraph.d.ts +0 -20
- package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/base-subgraph.js +0 -34
- package/dist/src/graphql/base-subgraph.js.map +0 -1
- package/dist/src/graphql/document-model-subgraph.d.ts +0 -51
- package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/document-model-subgraph.js +0 -104
- package/dist/src/graphql/document-model-subgraph.js.map +0 -1
- 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/graphql-manager.d.ts +0 -47
- package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
- package/dist/src/graphql/graphql-manager.js +0 -433
- package/dist/src/graphql/graphql-manager.js.map +0 -1
- package/dist/src/graphql/index.d.ts +0 -9
- package/dist/src/graphql/index.d.ts.map +0 -1
- package/dist/src/graphql/index.js +0 -9
- package/dist/src/graphql/index.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 -74
- 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 -270
- package/dist/src/graphql/reactor/adapters.js.map +0 -1
- package/dist/src/graphql/reactor/factory.d.ts +0 -84
- 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 -1242
- package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
- package/dist/src/graphql/reactor/gen/graphql.js +0 -496
- 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 -253
- 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 -53
- package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
- package/dist/src/graphql/reactor/resolvers.d.ts +0 -175
- package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
- package/dist/src/graphql/reactor/resolvers.js +0 -526
- package/dist/src/graphql/reactor/resolvers.js.map +0 -1
- package/dist/src/graphql/reactor/schema.graphql +0 -432
- package/dist/src/graphql/reactor/subgraph.d.ts +0 -47
- package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
- package/dist/src/graphql/reactor/subgraph.js +0 -555
- package/dist/src/graphql/reactor/subgraph.js.map +0 -1
- package/dist/src/graphql/reactor/validation.d.ts +0 -102
- package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
- package/dist/src/graphql/reactor/validation.js +0 -73
- package/dist/src/graphql/reactor/validation.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 -3
- package/dist/src/graphql/system/index.d.ts.map +0 -1
- package/dist/src/graphql/system/index.js +0 -3
- package/dist/src/graphql/system/index.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/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 -103
- 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 -26
- package/dist/src/graphql/utils.d.ts.map +0 -1
- package/dist/src/graphql/utils.js +0 -100
- 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/index.d.ts +0 -10
- package/dist/src/migrations/index.d.ts.map +0 -1
- package/dist/src/migrations/index.js +0 -56
- package/dist/src/migrations/index.js.map +0 -1
- package/dist/src/packages/import-loader.d.ts +0 -16
- package/dist/src/packages/import-loader.d.ts.map +0 -1
- package/dist/src/packages/import-loader.js +0 -61
- 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 -34
- package/dist/src/packages/package-manager.d.ts.map +0 -1
- package/dist/src/packages/package-manager.js +0 -213
- 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 -27
- package/dist/src/packages/util.d.ts.map +0 -1
- package/dist/src/packages/util.js +0 -97
- package/dist/src/packages/util.js.map +0 -1
- package/dist/src/packages/vite-loader.d.ts +0 -24
- package/dist/src/packages/vite-loader.d.ts.map +0 -1
- package/dist/src/packages/vite-loader.js +0 -172
- package/dist/src/packages/vite-loader.js.map +0 -1
- package/dist/src/server.d.ts +0 -73
- package/dist/src/server.d.ts.map +0 -1
- package/dist/src/server.js +0 -431
- package/dist/src/server.js.map +0 -1
- package/dist/src/services/auth.service.d.ts +0 -68
- package/dist/src/services/auth.service.d.ts.map +0 -1
- package/dist/src/services/auth.service.js +0 -199
- package/dist/src/services/auth.service.js.map +0 -1
- package/dist/src/services/document-permission.service.d.ts +0 -201
- package/dist/src/services/document-permission.service.d.ts.map +0 -1
- package/dist/src/services/document-permission.service.js +0 -636
- package/dist/src/services/document-permission.service.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/types.js +0 -2
- package/dist/src/sync/types.js.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/tracing.d.ts +0 -4
- package/dist/src/tracing.d.ts.map +0 -1
- package/dist/src/tracing.js +0 -122
- package/dist/src/tracing.js.map +0 -1
- package/dist/src/types.d.ts +0 -18
- 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/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/src/utils/create-schema.d.ts +0 -11
- package/dist/src/utils/create-schema.d.ts.map +0 -1
- package/dist/src/utils/create-schema.js +0 -322
- package/dist/src/utils/create-schema.js.map +0 -1
- package/dist/src/utils/db.d.ts +0 -74
- 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/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/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-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/index.d.ts +0 -3
- package/dist/test/index.d.ts.map +0 -1
- package/dist/test/index.js +0 -3
- 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 -421
- package/dist/test/permissions-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/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 -379
- 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 -212
- 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 -261
- 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 -400
- 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.test.d.ts +0 -2
- package/dist/test/subscriptions.test.d.ts.map +0 -1
- package/dist/test/subscriptions.test.js +0 -246
- package/dist/test/subscriptions.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-catchup-duplicate.test.d.ts +0 -2
- package/dist/test/two-reactor-gql-catchup-duplicate.test.d.ts.map +0 -1
- package/dist/test/two-reactor-gql-catchup-duplicate.test.js +0 -264
- package/dist/test/two-reactor-gql-catchup-duplicate.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/test/utils/gql-resolver-bridge.d.ts +0 -12
- package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
- package/dist/test/utils/gql-resolver-bridge.js +0 -60
- package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
- package/dist/test/utils.d.ts +0 -10
- package/dist/test/utils.d.ts.map +0 -1
- package/dist/test/utils.js +0 -23
- 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 -38
- package/dist/vitest.config.js.map +0 -1
package/dist/src/server.d.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import type { PGlite } from "@electric-sql/pglite";
|
|
2
|
-
import type { IDocumentModelRegistry, IReactorClient, ISyncManager, ReactorClientModule } from "@powerhousedao/reactor";
|
|
3
|
-
import type { IDocumentDriveServer } from "document-drive";
|
|
4
|
-
import type { DocumentModelModule } from "document-model";
|
|
5
|
-
import type { Express } from "express";
|
|
6
|
-
import type { Pool } from "pg";
|
|
7
|
-
import { DocumentPermissionService } from "./services/document-permission.service.js";
|
|
8
|
-
import type { API, IPackageLoader, Processor } from "./types.js";
|
|
9
|
-
type Options = {
|
|
10
|
-
express?: Express;
|
|
11
|
-
port?: number;
|
|
12
|
-
dbPath: string | undefined;
|
|
13
|
-
client?: PGlite | typeof Pool | undefined;
|
|
14
|
-
configFile?: string;
|
|
15
|
-
packages?: string[];
|
|
16
|
-
auth?: {
|
|
17
|
-
enabled: boolean;
|
|
18
|
-
guests: string[];
|
|
19
|
-
users: string[];
|
|
20
|
-
admins: string[];
|
|
21
|
-
freeEntry: boolean;
|
|
22
|
-
};
|
|
23
|
-
https?: {
|
|
24
|
-
keyPath: string;
|
|
25
|
-
certPath: string;
|
|
26
|
-
} | boolean | undefined;
|
|
27
|
-
packageLoader?: IPackageLoader;
|
|
28
|
-
processors?: Record<string, Processor>;
|
|
29
|
-
mcp?: boolean;
|
|
30
|
-
processorConfig?: Map<string, unknown>;
|
|
31
|
-
/**
|
|
32
|
-
* Document permission service instance.
|
|
33
|
-
* When provided, the Auth subgraph is registered and document permission
|
|
34
|
-
* checks are enforced on document operations.
|
|
35
|
-
* If not provided, can be auto-created by setting DOCUMENT_PERMISSIONS_ENABLED=true
|
|
36
|
-
* environment variable.
|
|
37
|
-
*/
|
|
38
|
-
documentPermissionService?: DocumentPermissionService;
|
|
39
|
-
enableDocumentModelSubgraphs?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* When true, uses the legacy ProcessorManager from document-drive and hooks up
|
|
42
|
-
* the driveAdded event. When false (default), uses ProcessorManager from ReactorModule.
|
|
43
|
-
*/
|
|
44
|
-
legacyReactor?: boolean;
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* Starts the API server with pre-initialized drive server and client instances.
|
|
48
|
-
*
|
|
49
|
-
* @param driveServer - An already-initialized document drive server instance.
|
|
50
|
-
* @param client - An already-initialized reactor client instance.
|
|
51
|
-
* @param options - Additional options for server configuration.
|
|
52
|
-
*
|
|
53
|
-
* @returns The API server components.
|
|
54
|
-
*/
|
|
55
|
-
export declare function startAPI(driveServer: IDocumentDriveServer, client: IReactorClient, registry: IDocumentModelRegistry, syncManager: ISyncManager, options: Options): Promise<API>;
|
|
56
|
-
/**
|
|
57
|
-
* Initializes and starts the API server using initializer functions.
|
|
58
|
-
* This function first loads packages to get document models, then calls the initializer functions
|
|
59
|
-
* to create the drive server and client instances with the appropriate dependencies.
|
|
60
|
-
*
|
|
61
|
-
* @param driveServerInitializer - Initializer function that creates the document drive server with document models.
|
|
62
|
-
* @param clientInitializer - Initializer function that creates the reactor client module with the drive server.
|
|
63
|
-
* @param options - Additional options for server configuration.
|
|
64
|
-
*
|
|
65
|
-
* @returns The API server components along with the created drive server and client instances.
|
|
66
|
-
*/
|
|
67
|
-
export declare function initializeAndStartAPI(driveServerInitializer: (documentModelModules: DocumentModelModule[]) => Promise<IDocumentDriveServer>, clientInitializer: (driveServer: IDocumentDriveServer, documentModels: DocumentModelModule[]) => Promise<ReactorClientModule>, options: Options): Promise<API & {
|
|
68
|
-
driveServer: IDocumentDriveServer;
|
|
69
|
-
client: IReactorClient;
|
|
70
|
-
syncManager: ISyncManager;
|
|
71
|
-
}>;
|
|
72
|
-
export {};
|
|
73
|
-
//# 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,EAEtB,cAAc,EACd,YAAY,EAEZ,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAEV,oBAAoB,EAKrB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAQvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAkB/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AASjE,KAAK,OAAO,GAAG;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,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;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EACF;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD,OAAO,GACP,SAAS,CAAC;IACd,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,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;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAmkBF;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,oBAAoB,EACjC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,sBAAsB,EAChC,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,GAAG,CAAC,CAoDd;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,sBAAsB,EAAE,CACtB,oBAAoB,EAAE,mBAAmB,EAAE,KACxC,OAAO,CAAC,oBAAoB,CAAC,EAClC,iBAAiB,EAAE,CACjB,WAAW,EAAE,oBAAoB,EACjC,cAAc,EAAE,mBAAmB,EAAE,KAClC,OAAO,CAAC,mBAAmB,CAAC,EACjC,OAAO,EAAE,OAAO,GACf,OAAO,CACR,GAAG,GAAG;IACJ,WAAW,EAAE,oBAAoB,CAAC;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,YAAY,CAAC;CAC3B,CACF,CAqEA"}
|
package/dist/src/server.js
DELETED
|
@@ -1,431 +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 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
|
-
import { WebSocketServer } from "ws";
|
|
11
|
-
// Import tracing - initializes OpenTelemetry and provides stub functions for backwards compatibility
|
|
12
|
-
import { initTracing, isTracingEnabled, trace } from "./tracing.js";
|
|
13
|
-
import { config, DefaultCoreSubgraphs } from "./config.js";
|
|
14
|
-
import { AuthSubgraph } from "./graphql/auth/subgraph.js";
|
|
15
|
-
import { GraphQLManager } from "./graphql/graphql-manager.js";
|
|
16
|
-
import { renderGraphqlPlayground } from "./graphql/playground.js";
|
|
17
|
-
import { ReactorSubgraph } from "./graphql/reactor/subgraph.js";
|
|
18
|
-
import { runMigrations } from "./migrations/index.js";
|
|
19
|
-
import { ImportPackageLoader } from "./packages/import-loader.js";
|
|
20
|
-
import { getUniqueDocumentModels, PackageManager, } from "./packages/package-manager.js";
|
|
21
|
-
import { AuthService } from "./services/auth.service.js";
|
|
22
|
-
import { DocumentPermissionService } from "./services/document-permission.service.js";
|
|
23
|
-
import { getDbClient, initAnalyticsStoreSql, } from "./utils/db.js";
|
|
24
|
-
const logger = childLogger(["reactor-api", "server"]);
|
|
25
|
-
const DEFAULT_PORT = 4000;
|
|
26
|
-
/**
|
|
27
|
-
* Sets up the Express app with necessary routes
|
|
28
|
-
*/
|
|
29
|
-
function setupGraphQlExplorer(router) {
|
|
30
|
-
router.get("/explorer/:endpoint?", (req, res) => {
|
|
31
|
-
res.setHeader("Content-Type", "text/html");
|
|
32
|
-
const endpoint = req.params.endpoint !== undefined
|
|
33
|
-
? `/${req.params.endpoint}`
|
|
34
|
-
: "/graphql";
|
|
35
|
-
const { query } = req.query;
|
|
36
|
-
if (query && typeof query !== "string") {
|
|
37
|
-
throw new Error("Invalid query");
|
|
38
|
-
}
|
|
39
|
-
res.send(renderGraphqlPlayground(endpoint, query));
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Initializes the database and analytics store
|
|
44
|
-
*/
|
|
45
|
-
async function initializeDatabaseAndAnalytics(dbPath) {
|
|
46
|
-
const { db, knex } = getDbClient(dbPath);
|
|
47
|
-
const relationalDb = createRelationalDb(db);
|
|
48
|
-
const analyticsStore = new PostgresAnalyticsStore({
|
|
49
|
-
knex,
|
|
50
|
-
});
|
|
51
|
-
for (const sql of initAnalyticsStoreSql) {
|
|
52
|
-
await knex.raw(sql);
|
|
53
|
-
}
|
|
54
|
-
return { relationalDb, analyticsStore };
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Sets up the subgraph manager and registers subgraphs
|
|
58
|
-
*/
|
|
59
|
-
async function setupGraphQLManager(app, httpServer, wsServer, reactor, client, relationalDb, analyticsStore, syncManager, subgraphs, auth, documentPermissionService, enableDocumentModelSubgraphs, port) {
|
|
60
|
-
const graphqlManager = new GraphQLManager(config.basePath, app, httpServer, wsServer, reactor, client, relationalDb, analyticsStore, syncManager, {
|
|
61
|
-
enabled: auth?.enabled ?? false,
|
|
62
|
-
guests: auth?.guests ?? [],
|
|
63
|
-
users: auth?.users ?? [],
|
|
64
|
-
admins: auth?.admins ?? [],
|
|
65
|
-
freeEntry: auth?.freeEntry ?? false,
|
|
66
|
-
}, documentPermissionService, {
|
|
67
|
-
enableDocumentModelSubgraphs,
|
|
68
|
-
}, port);
|
|
69
|
-
await graphqlManager.init(subgraphs.core);
|
|
70
|
-
for (const [, collection] of subgraphs.extended.entries()) {
|
|
71
|
-
for (const subgraph of collection) {
|
|
72
|
-
await graphqlManager.registerSubgraph(subgraph, "graphql");
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
await graphqlManager.updateRouter();
|
|
76
|
-
return graphqlManager;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Sets up event listeners for package manager changes
|
|
80
|
-
*/
|
|
81
|
-
function setupEventListeners(pkgManager, reactor, graphqlManager, processorManager, module) {
|
|
82
|
-
pkgManager.onDocumentModelsChange(async (documentModels) => {
|
|
83
|
-
reactor.setDocumentModelModules(Object.values(documentModels).flat());
|
|
84
|
-
await graphqlManager.updateRouter();
|
|
85
|
-
});
|
|
86
|
-
pkgManager.onSubgraphsChange(async (packagedSubgraphs) => {
|
|
87
|
-
for (const [, subgraphs] of packagedSubgraphs) {
|
|
88
|
-
for (const subgraph of subgraphs) {
|
|
89
|
-
await graphqlManager.registerSubgraph(subgraph, "graphql");
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
await graphqlManager.updateRouter();
|
|
93
|
-
});
|
|
94
|
-
pkgManager.onProcessorsChange(async (processors) => {
|
|
95
|
-
for (const [packageName, fns] of processors) {
|
|
96
|
-
await processorManager.unregisterFactory(packageName);
|
|
97
|
-
const factories = fns.map((fn) => fn({
|
|
98
|
-
analyticsStore: module.analyticsStore,
|
|
99
|
-
relationalDb: module.relationalDb,
|
|
100
|
-
}));
|
|
101
|
-
await processorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(factories.map((factory) => Promise.resolve(factory(driveHeader))))).flat());
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Starts the server (HTTP or HTTPS) and attaches WebSocket server
|
|
107
|
-
*/
|
|
108
|
-
async function startServer(app, port, httpsOptions) {
|
|
109
|
-
let httpServer;
|
|
110
|
-
if (httpsOptions) {
|
|
111
|
-
const currentDir = process.cwd();
|
|
112
|
-
if (typeof httpsOptions === "object") {
|
|
113
|
-
httpServer = https.createServer({
|
|
114
|
-
key: fs.readFileSync(path.join(currentDir, httpsOptions.keyPath)),
|
|
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
|
-
}
|
|
136
|
-
const wsServer = new WebSocketServer({
|
|
137
|
-
server: httpServer,
|
|
138
|
-
path: "/graphql/subscriptions",
|
|
139
|
-
});
|
|
140
|
-
logger.info("WebSocket server available at /graphql/subscriptions");
|
|
141
|
-
return { httpServer, wsServer };
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Private helper function that sets up common infrastructure before API initialization.
|
|
145
|
-
* This includes auth configuration, database setup, and package manager initialization.
|
|
146
|
-
*/
|
|
147
|
-
async function _setupCommonInfrastructure(options) {
|
|
148
|
-
// Initialize OpenTelemetry tracing
|
|
149
|
-
if (isTracingEnabled()) {
|
|
150
|
-
await initTracing();
|
|
151
|
-
}
|
|
152
|
-
const port = options.port ?? DEFAULT_PORT;
|
|
153
|
-
const app = options.express ?? express();
|
|
154
|
-
// Setup auth configuration
|
|
155
|
-
let admins = [];
|
|
156
|
-
let users = [];
|
|
157
|
-
let guests = [];
|
|
158
|
-
let authEnabled = false;
|
|
159
|
-
let freeEntry = false;
|
|
160
|
-
if (options.configFile) {
|
|
161
|
-
const config = getConfig(options.configFile);
|
|
162
|
-
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
|
-
authEnabled = config.auth?.enabled ?? false;
|
|
166
|
-
freeEntry = config.auth?.freeEntry ?? false;
|
|
167
|
-
}
|
|
168
|
-
else if (options.auth) {
|
|
169
|
-
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
|
-
authEnabled = options.auth?.enabled ?? false;
|
|
173
|
-
freeEntry = options.auth?.freeEntry ?? false;
|
|
174
|
-
}
|
|
175
|
-
const { AUTH_ENABLED, GUESTS, USERS, ADMINS, FREE_ENTRY, DOCUMENT_PERMISSIONS_ENABLED, SKIP_CREDENTIAL_VERIFICATION, } = process.env;
|
|
176
|
-
if (AUTH_ENABLED !== undefined) {
|
|
177
|
-
authEnabled = AUTH_ENABLED === "true";
|
|
178
|
-
}
|
|
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
|
-
if (ADMINS !== undefined) {
|
|
186
|
-
admins = ADMINS.split(",").map((a) => a.toLowerCase());
|
|
187
|
-
}
|
|
188
|
-
if (FREE_ENTRY !== undefined) {
|
|
189
|
-
freeEntry = FREE_ENTRY === "true";
|
|
190
|
-
}
|
|
191
|
-
let skipCredentialVerification = false;
|
|
192
|
-
if (SKIP_CREDENTIAL_VERIFICATION !== undefined) {
|
|
193
|
-
skipCredentialVerification = SKIP_CREDENTIAL_VERIFICATION === "true";
|
|
194
|
-
}
|
|
195
|
-
const authService = new AuthService({
|
|
196
|
-
enabled: authEnabled,
|
|
197
|
-
guests,
|
|
198
|
-
users,
|
|
199
|
-
admins,
|
|
200
|
-
freeEntry,
|
|
201
|
-
skipCredentialVerification,
|
|
202
|
-
});
|
|
203
|
-
// Health check endpoint (before auth middleware)
|
|
204
|
-
app.get("/health", (_req, res) => {
|
|
205
|
-
res.status(200).send("OK");
|
|
206
|
-
});
|
|
207
|
-
// add auth middleware if auth is enabled
|
|
208
|
-
if (authEnabled) {
|
|
209
|
-
logger.info("Setting up Auth middleware");
|
|
210
|
-
// Apply auth middleware to all routes including GraphQL
|
|
211
|
-
app.use((req, res, next) => {
|
|
212
|
-
authService.authenticate(req, res, next);
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
const defaultRouter = express.Router();
|
|
216
|
-
setupGraphQlExplorer(defaultRouter);
|
|
217
|
-
app.use(config.basePath, defaultRouter);
|
|
218
|
-
// Initialize database and analytics store
|
|
219
|
-
const { relationalDb, analyticsStore } = await trace("reactor-api.init.database", { tags: { "resource.name": "database" } }, () => initializeDatabaseAndAnalytics(options.dbPath));
|
|
220
|
-
// Use provided document permission service, or create one if env var is set
|
|
221
|
-
let documentPermissionService = options.documentPermissionService;
|
|
222
|
-
if (!documentPermissionService && DOCUMENT_PERMISSIONS_ENABLED === "true") {
|
|
223
|
-
const { db } = getDbClient(options.dbPath);
|
|
224
|
-
// Run document permission migrations
|
|
225
|
-
await runMigrations(db);
|
|
226
|
-
logger.info("Document permission migrations completed");
|
|
227
|
-
documentPermissionService = new DocumentPermissionService(db);
|
|
228
|
-
logger.info("Document permission service initialized");
|
|
229
|
-
}
|
|
230
|
-
// Initialize package manager
|
|
231
|
-
const legacyReactor = options.legacyReactor ?? false;
|
|
232
|
-
const packageLoader = options.packageLoader ?? new ImportPackageLoader({ legacyReactor });
|
|
233
|
-
const loaders = [packageLoader];
|
|
234
|
-
const packages = new PackageManager(loaders, {
|
|
235
|
-
configFile: options.configFile,
|
|
236
|
-
packages: options.packages ?? [],
|
|
237
|
-
});
|
|
238
|
-
return {
|
|
239
|
-
port,
|
|
240
|
-
app,
|
|
241
|
-
auth: {
|
|
242
|
-
enabled: authEnabled,
|
|
243
|
-
guests,
|
|
244
|
-
users,
|
|
245
|
-
admins,
|
|
246
|
-
freeEntry,
|
|
247
|
-
},
|
|
248
|
-
relationalDb,
|
|
249
|
-
analyticsStore,
|
|
250
|
-
documentPermissionService,
|
|
251
|
-
packages,
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Private helper function containing common setup logic for API initialization
|
|
256
|
-
*/
|
|
257
|
-
async function _setupAPI(reactor, reactorClient, syncManager, app, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, legacyReactor, reactorProcessorManager) {
|
|
258
|
-
const module = { relationalDb, analyticsStore };
|
|
259
|
-
const mcpServerEnabled = options.mcp ?? true;
|
|
260
|
-
// initialize processors
|
|
261
|
-
let processorManager;
|
|
262
|
-
if (legacyReactor) {
|
|
263
|
-
// LEGACY PATH - use document-drive ProcessorManager
|
|
264
|
-
processorManager = new ProcessorManager(reactor.listeners, reactor);
|
|
265
|
-
for (const [packageName, fns] of [
|
|
266
|
-
...processors.entries(),
|
|
267
|
-
...Object.entries(options.processors ?? {}),
|
|
268
|
-
]) {
|
|
269
|
-
const factories = fns.map((fn) => {
|
|
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;
|
|
285
|
-
}
|
|
286
|
-
await processorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validFactories.map(async (factory) => {
|
|
287
|
-
try {
|
|
288
|
-
return await factory(driveHeader);
|
|
289
|
-
}
|
|
290
|
-
catch (e) {
|
|
291
|
-
logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
|
|
292
|
-
return [];
|
|
293
|
-
}
|
|
294
|
-
}))).flat());
|
|
295
|
-
}
|
|
296
|
-
// hook up processor manager to drive added event
|
|
297
|
-
reactor.on("driveAdded", async (drive) => {
|
|
298
|
-
await processorManager.registerDrive(drive.header.id);
|
|
299
|
-
});
|
|
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;
|
|
332
|
-
}
|
|
333
|
-
// Register with the new reactor ProcessorManager
|
|
334
|
-
// Cast the results to ReactorProcessorRecord since the loaded factories
|
|
335
|
-
// implement the new reactor interface when legacyReactor=false
|
|
336
|
-
await reactorProcessorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validFactories.map(async (factory) => {
|
|
337
|
-
try {
|
|
338
|
-
const result = await factory(driveHeader);
|
|
339
|
-
return result;
|
|
340
|
-
}
|
|
341
|
-
catch (e) {
|
|
342
|
-
logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
|
|
343
|
-
return [];
|
|
344
|
-
}
|
|
345
|
-
}))).flat());
|
|
346
|
-
}
|
|
347
|
-
// No driveAdded event listener needed - ProcessorManager is a read model
|
|
348
|
-
}
|
|
349
|
-
// Start the server
|
|
350
|
-
const { httpServer, wsServer } = await startServer(app, port, options.https);
|
|
351
|
-
// set up subgraph manager
|
|
352
|
-
const coreSubgraphs = DefaultCoreSubgraphs.slice();
|
|
353
|
-
coreSubgraphs.push(ReactorSubgraph);
|
|
354
|
-
// Register Auth subgraph when document permission service is available
|
|
355
|
-
if (documentPermissionService) {
|
|
356
|
-
coreSubgraphs.push(AuthSubgraph);
|
|
357
|
-
logger.info("Auth subgraph registered (document permissions enabled)");
|
|
358
|
-
}
|
|
359
|
-
const graphqlManager = await setupGraphQLManager(app, httpServer, wsServer, reactor, reactorClient, relationalDb, analyticsStore, syncManager, {
|
|
360
|
-
extended: subgraphs,
|
|
361
|
-
core: coreSubgraphs,
|
|
362
|
-
}, auth, documentPermissionService, options.enableDocumentModelSubgraphs, port);
|
|
363
|
-
// Set up event listeners
|
|
364
|
-
setupEventListeners(packages, reactor, graphqlManager, processorManager, module);
|
|
365
|
-
if (mcpServerEnabled) {
|
|
366
|
-
await setupMcpServer(reactor, app);
|
|
367
|
-
logger.info(`MCP server available at http://localhost:${port}/mcp`);
|
|
368
|
-
}
|
|
369
|
-
return {
|
|
370
|
-
app,
|
|
371
|
-
graphqlManager,
|
|
372
|
-
processorManager,
|
|
373
|
-
packages,
|
|
374
|
-
};
|
|
375
|
-
}
|
|
376
|
-
/**
|
|
377
|
-
* Starts the API server with pre-initialized drive server and client instances.
|
|
378
|
-
*
|
|
379
|
-
* @param driveServer - An already-initialized document drive server instance.
|
|
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.
|
|
403
|
-
*
|
|
404
|
-
* @param driveServerInitializer - Initializer function that creates the document drive server with document models.
|
|
405
|
-
* @param clientInitializer - Initializer function that creates the reactor client module with the drive server.
|
|
406
|
-
* @param options - Additional options for server configuration.
|
|
407
|
-
*
|
|
408
|
-
* @returns The API server components along with the created drive server and client instances.
|
|
409
|
-
*/
|
|
410
|
-
export async function initializeAndStartAPI(driveServerInitializer, clientInitializer, options) {
|
|
411
|
-
const { port, app, auth, relationalDb, analyticsStore, documentPermissionService, packages, } = await trace("reactor-api.setup.infrastructure", { tags: { "resource.name": "infrastructure" } }, () => _setupCommonInfrastructure(options));
|
|
412
|
-
const { documentModels, processors, subgraphs } = await trace("reactor-api.packages.init", { tags: { "resource.name": "packages" } }, () => packages.init());
|
|
413
|
-
const reactor = await trace("reactor-api.drive-server.init", { tags: { "resource.name": "drive-server" } }, () => driveServerInitializer(documentModels));
|
|
414
|
-
const reactorClientModule = await trace("reactor-api.reactor-client.init", { tags: { "resource.name": "reactor-client" } }, () => clientInitializer(reactor, documentModels));
|
|
415
|
-
// Extract client and syncManager from the module
|
|
416
|
-
const reactorClient = reactorClientModule.client;
|
|
417
|
-
const syncManager = reactorClientModule.reactorModule?.syncModule?.syncManager;
|
|
418
|
-
if (!syncManager) {
|
|
419
|
-
throw new Error("SyncManager not available from ReactorClientModule");
|
|
420
|
-
}
|
|
421
|
-
const legacyReactor = options.legacyReactor ?? false;
|
|
422
|
-
const reactorProcessorManager = reactorClientModule.reactorModule?.processorManager;
|
|
423
|
-
const api = await _setupAPI(reactor, reactorClient, syncManager, app, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, legacyReactor, reactorProcessorManager);
|
|
424
|
-
return {
|
|
425
|
-
...api,
|
|
426
|
-
driveServer: reactor,
|
|
427
|
-
client: reactorClient,
|
|
428
|
-
syncManager,
|
|
429
|
-
};
|
|
430
|
-
}
|
|
431
|
-
//# 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":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AASvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,OAAO,MAAM,SAAS,CAAC;AAS9B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AACrC,qGAAqG;AACrG,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,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,EACL,uBAAuB,EACvB,cAAc,GACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,OAAO,EACL,WAAW,EACX,qBAAqB,GAEtB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AA2CtD,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B;;GAEG;AACH,SAAS,oBAAoB,CAAC,MAAsB;IAClD,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC3C,MAAM,QAAQ,GACZ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS;YAC/B,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC3B,CAAC,CAAC,UAAU,CAAC;QAEjB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAC5B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;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,GAAY,EACZ,UAAuB,EACvB,QAAyB,EACzB,OAA6B,EAC7B,MAAsB,EACtB,YAA2B,EAC3B,cAA+B,EAC/B,WAAyB,EACzB,SAGC,EACD,IAMC,EACD,yBAAqD,EACrD,4BAAsC,EACtC,IAAa;IAEb,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,MAAM,CAAC,QAAQ,EACf,GAAG,EACH,UAAU,EACV,QAAQ,EACR,OAAO,EACP,MAAM,EACN,YAAY,EACZ,cAAc,EACd,WAAW,EACX;QACE,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK;QAC/B,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE;QAC1B,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE;QAC1B,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,KAAK;KACpC,EACD,yBAAyB,EACzB;QACE,4BAA4B;KAC7B,EACD,IAAI,CACL,CAAC;IAEF,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE1C,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,OAA6B,EAC7B,cAA8B,EAC9B,gBAAmC,EACnC,MAGC;IAED,UAAU,CAAC,sBAAsB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;QACzD,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC;IACtC,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,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAEtD,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAC/B,EAAE,CAAC;gBACD,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CACH,CAAC;YAEF,MAAM,gBAAgB,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CACxE,CACE,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAClE,CACF,CAAC,IAAI,EAAE,CACT,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CACxB,GAAY,EACZ,IAAY,EACZ,YAA8B;IAE9B,IAAI,UAAuB,CAAC;IAE5B,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAEjC,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,UAAU,GAAG,KAAK,CAAC,YAAY,CAC7B;gBACE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBACjE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;aACpE,EACD,GAAG,CACJ,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,cAAc,CACjD,WAAW,CACZ,CAAe,CAAC;gBACjB,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;gBACD,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,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;IAexD,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,GAAG,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;IAEzC,2BAA2B;IAC3B,IAAI,MAAM,GAAa,EAAE,CAAC;IAC1B,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,IAAI,MAAM,GAAa,EAAE,CAAC;IAC1B,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,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,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9D,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;QAC5C,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,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,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/D,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;QAC7C,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,IAAI,KAAK,CAAC;IAC/C,CAAC;IACD,MAAM,EACJ,YAAY,EACZ,MAAM,EACN,KAAK,EACL,MAAM,EACN,UAAU,EACV,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;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,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;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,SAAS,GAAG,UAAU,KAAK,MAAM,CAAC;IACpC,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,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,OAAO,EAAE,WAAW;QACpB,MAAM;QACN,KAAK;QACL,MAAM;QACN,SAAS;QACT,0BAA0B;KAC3B,CAAC,CAAC;IAEH,iDAAiD;IACjD,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,yCAAyC;IACzC,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAE1C,wDAAwD;QACxD,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,WAAW,CAAC,YAAY,CAAC,GAA2B,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IACvC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAExC,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,CACzC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAED,6BAA6B;IAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;IACrD,MAAM,aAAa,GACjB,OAAO,CAAC,aAAa,IAAI,IAAI,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;IACtE,MAAM,OAAO,GAAqB,CAAC,aAAa,CAAC,CAAC;IAElD,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,GAAG;QACH,IAAI,EAAE;YACJ,OAAO,EAAE,WAAW;YACpB,MAAM;YACN,KAAK;YACL,MAAM;YACN,SAAS;SACV;QACD,YAAY;QACZ,cAAc;QACd,yBAAyB;QACzB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CACtB,OAA6B,EAC7B,aAA6B,EAC7B,WAAyB,EACzB,GAAY,EACZ,IAAY,EACZ,QAAwB,EACxB,YAA2B,EAC3B,cAA+B,EAC/B,yBAAgE,EAChE,UAGC,EACD,SAAuC,EACvC,OAAgB,EAChB,IAMC,EACD,aAAsB,EACtB,uBAAkD;IAElD,MAAM,MAAM,GAAyB,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;IACtE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;IAE7C,wBAAwB;IACxB,IAAI,gBAAmC,CAAC;IAExC,IAAI,aAAa,EAAE,CAAC;QAClB,oDAAoD;QACpD,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEpE,KAAK,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI;YAC/B,GAAG,UAAU,CAAC,OAAO,EAAE;YACvB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;SAC5C,EAAE,CAAC;YACF,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC/B,IAAI,CAAC;oBACH,OAAO,EAAE,CAAC;wBACR,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,YAAY,EAAE,MAAM,CAAC,YAAY;wBACjC,MAAM,EAAE,OAAO,CAAC,eAAe;qBAChC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,oDAAoD,WAAW,GAAG,EAClE,CAAC,CACF,CAAC;oBAEF,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CACrC,CAAC,OAAO,EAA+B,EAAE,CACvC,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,UAAU,CACpD,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,MAAM,gBAAgB,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CACxE,CACE,MAAM,OAAO,CAAC,GAAG,CACf,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACnC,IAAI,CAAC;oBACH,OAAO,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;gBACpC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,sCAAsC,WAAW,CAAC,EAAE,GAAG,EACvD,CAAC,CACF,CAAC;oBAEF,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CACH,CACF,CAAC,IAAI,EAAE,CACT,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE;YAC9D,MAAM,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,6DAA6D;QAC7D,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,2EAA2E;QAC3E,2CAA2C;QAC3C,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEpE,KAAK,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI;YAC/B,GAAG,UAAU,CAAC,OAAO,EAAE;YACvB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;SAC5C,EAAE,CAAC;YACF,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC/B,IAAI,CAAC;oBACH,OAAO,EAAE,CAAC;wBACR,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,YAAY,EAAE,MAAM,CAAC,YAAY;wBACjC,MAAM,EAAE,OAAO,CAAC,eAAe;qBAChC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,oDAAoD,WAAW,GAAG,EAClE,CAAC,CACF,CAAC;oBAEF,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,uCAAuC;YACvC,uEAAuE;YACvE,gEAAgE;YAChE,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CACrC,CAAC,OAAO,EAA+B,EAAE,CACvC,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,UAAU,CACpD,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,iDAAiD;YACjD,wEAAwE;YACxE,+DAA+D;YAC/D,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,OAAO,EAAE,EAAE;gBACnC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;oBAC1C,OAAO,MAA6C,CAAC;gBACvD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,sCAAsC,WAAW,CAAC,EAAE,GAAG,EACvD,CAAC,CACF,CAAC;oBAEF,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CACH,CACF,CAAC,IAAI,EAAE,CACX,CAAC;QACJ,CAAC;QACD,yEAAyE;IAC3E,CAAC;IAED,mBAAmB;IACnB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAE7E,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,GAAG,EACH,UAAU,EACV,QAAQ,EACR,OAAO,EACP,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX;QACE,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,aAAa;KACpB,EACD,IAAI,EACJ,yBAAyB,EACzB,OAAO,CAAC,4BAA4B,EACpC,IAAI,CACL,CAAC;IAEF,yBAAyB;IACzB,mBAAmB,CACjB,QAAQ,EACR,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,MAAM,CACP,CAAC;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,4CAA4C,IAAI,MAAM,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACL,GAAG;QACH,cAAc;QACd,gBAAgB;QAChB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,WAAiC,EACjC,MAAsB,EACtB,QAAgC,EAChC,WAAyB,EACzB,OAAgB;IAEhB,MAAM,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,yBAAyB,EACzB,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,yBAAyB;IACzB,WAAW,CAAC,uBAAuB,CACjC,uBAAuB,CAAC;QACtB,GAAG,WAAW,CAAC,uBAAuB,EAAE;QACxC,GAAG,cAAc;KAClB,CAAC,CACH,CAAC;IAEF,mBAAmB;IACnB,QAAQ,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,CAAC;IAE5C,gFAAgF;IAChF,MAAM,aAAa,GAAG,IAAI,CAAC;IAE3B,OAAO,SAAS,CACd,WAAW,EACX,MAAM,EACN,WAAW,EACX,GAAG,EACH,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,yBAAyB,EACzB,UAAU,EACV,SAAS,EACT,OAAO,EACP,IAAI,EACJ,aAAa,EACb,SAAS,CACV,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,sBAEkC,EAClC,iBAGiC,EACjC,OAAgB;IAQhB,MAAM,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,yBAAyB,EACzB,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,OAAO,GAAG,MAAM,KAAK,CACzB,+BAA+B,EAC/B,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAC7C,GAAG,EAAE,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAC7C,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,OAAO,EAAE,cAAc,CAAC,CACjD,CAAC;IAEF,iDAAiD;IACjD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC;IACjD,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,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;IACrD,MAAM,uBAAuB,GAC3B,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,CAAC;IAEtD,MAAM,GAAG,GAAG,MAAM,SAAS,CACzB,OAAO,EACP,aAAa,EACb,WAAW,EACX,GAAG,EACH,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,yBAAyB,EACzB,UAAU,EACV,SAAS,EACT,OAAO,EACP,IAAI,EACJ,aAAa,EACb,uBAAuB,CACxB,CAAC;IAEF,OAAO;QACL,GAAG,GAAG;QACN,WAAW,EAAE,OAAO;QACpB,MAAM,EAAE,aAAa;QACrB,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import type { NextFunction, Request, Response } from "express";
|
|
2
|
-
export interface AuthConfig {
|
|
3
|
-
enabled: boolean;
|
|
4
|
-
guests: string[];
|
|
5
|
-
users: string[];
|
|
6
|
-
admins: string[];
|
|
7
|
-
freeEntry: boolean;
|
|
8
|
-
cacheTtl?: number;
|
|
9
|
-
skipCredentialVerification?: boolean;
|
|
10
|
-
}
|
|
11
|
-
export interface User {
|
|
12
|
-
address: string;
|
|
13
|
-
chainId: number;
|
|
14
|
-
networkId: string;
|
|
15
|
-
}
|
|
16
|
-
export interface AuthenticatedRequest extends Request {
|
|
17
|
-
user?: User;
|
|
18
|
-
admins: string[];
|
|
19
|
-
users: string[];
|
|
20
|
-
guests: string[];
|
|
21
|
-
freeEntry: boolean;
|
|
22
|
-
}
|
|
23
|
-
export declare class AuthService {
|
|
24
|
-
private readonly config;
|
|
25
|
-
constructor(config: AuthConfig);
|
|
26
|
-
/**
|
|
27
|
-
* Middleware function to authenticate requests
|
|
28
|
-
*/
|
|
29
|
-
authenticate(req: AuthenticatedRequest, res: Response, next: NextFunction): Promise<void>;
|
|
30
|
-
authenticateWebSocketConnection(connectionParams: Record<string, unknown>): Promise<User | null>;
|
|
31
|
-
/**
|
|
32
|
-
* Verify the auth bearer token
|
|
33
|
-
*/
|
|
34
|
-
private verifyToken;
|
|
35
|
-
/**
|
|
36
|
-
* Extract user information from verification result
|
|
37
|
-
*/
|
|
38
|
-
private extractUserFromVerification;
|
|
39
|
-
/**
|
|
40
|
-
* Check if user address is in allowed lists
|
|
41
|
-
*/
|
|
42
|
-
private isUserAllowed;
|
|
43
|
-
/**
|
|
44
|
-
* Get additional context fields for GraphQL
|
|
45
|
-
*/
|
|
46
|
-
getAdditionalContextFields(): {
|
|
47
|
-
isGuest: (address: string) => boolean;
|
|
48
|
-
isUser: (address: string) => boolean;
|
|
49
|
-
isAdmin: (address: string) => boolean;
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* Get user context for GraphQL
|
|
53
|
-
*/
|
|
54
|
-
getUserContext(user?: User): {
|
|
55
|
-
user?: undefined;
|
|
56
|
-
} | {
|
|
57
|
-
user: {
|
|
58
|
-
address: string;
|
|
59
|
-
chainId: number;
|
|
60
|
-
networkId: string;
|
|
61
|
-
};
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* Verify that the credential still exists on the Renown API
|
|
65
|
-
*/
|
|
66
|
-
private verifyCredentialExists;
|
|
67
|
-
}
|
|
68
|
-
//# 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":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,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,oBAAqB,SAAQ,OAAO;IACnD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAOD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBAExB,MAAM,EAAE,UAAU;IAI9B;;OAEG;IACG,YAAY,CAChB,GAAG,EAAE,oBAAoB,EACzB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC;IA0EV,+BAA+B,CACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAsDvB;;OAEG;YACW,WAAW;IAIzB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA6BnC;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,0BAA0B;2BAGD,MAAM;0BACP,MAAM;2BACL,MAAM;;IAkB/B;;OAEG;IACH,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI;;;;;;;;;IAY1B;;OAEG;YACW,sBAAsB;CA6CrC"}
|