@powerhousedao/reactor-api 6.0.0-dev.20 → 6.0.0-dev.200
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 +2943 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +6375 -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-DEEhP99G.mjs +286 -0
- package/dist/utils-DEEhP99G.mjs.map +1 -0
- package/package.json +71 -64
- 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 -54
- package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
- package/dist/src/graphql/reactor/adapters.js +0 -236
- 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 -1209
- 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 -160
- package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
- package/dist/src/graphql/reactor/resolvers.js +0 -504
- package/dist/src/graphql/reactor/resolvers.js.map +0 -1
- package/dist/src/graphql/reactor/schema.graphql +0 -408
- 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 -534
- 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/sync/utils.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { IDocumentDriveServer, ListenerRevision, StrandUpdate } from "document-drive";
|
|
2
|
-
import type { InternalStrandUpdate } from "@powerhousedao/reactor-api";
|
|
3
|
-
export declare const processPushUpdate: (reactor: IDocumentDriveServer, strand: InternalStrandUpdate) => Promise<ListenerRevision>;
|
|
4
|
-
export declare const processPushNewDocument: (reactor: IDocumentDriveServer, strand: InternalStrandUpdate) => Promise<ListenerRevision>;
|
|
5
|
-
export declare const processAcknowledge: (reactor: IDocumentDriveServer, driveId: string, listenerId: string, revisions: ListenerRevision[]) => Promise<boolean>;
|
|
6
|
-
export declare const processGetStrands: (reactor: IDocumentDriveServer, driveId: string, listenerId: string, since: string | undefined) => Promise<StrandUpdate[]>;
|
|
7
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/sync/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAEhB,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,eAAO,MAAM,iBAAiB,GAC5B,SAAS,oBAAoB,EAC7B,QAAQ,oBAAoB,KAC3B,OAAO,CAAC,gBAAgB,CA4B1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,SAAS,oBAAoB,EAC7B,QAAQ,oBAAoB,KAC3B,OAAO,CAAC,gBAAgB,CAuC1B,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAC7B,SAAS,oBAAoB,EAC7B,SAAS,MAAM,EACf,YAAY,MAAM,EAClB,WAAW,gBAAgB,EAAE,KAC5B,OAAO,CAAC,OAAO,CAKjB,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,oBAAoB,EAC7B,SAAS,MAAM,EACf,YAAY,MAAM,EAClB,OAAO,MAAM,GAAG,SAAS,KACxB,OAAO,CAAC,YAAY,EAAE,CAKxB,CAAC"}
|
package/dist/src/sync/utils.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { operationsToRevision } from "document-drive";
|
|
2
|
-
// processes a strand update and returns a listener revision
|
|
3
|
-
export const processPushUpdate = async (reactor, strand) => {
|
|
4
|
-
const existingDocuments = strand.driveId
|
|
5
|
-
? await reactor.getDocuments(strand.driveId)
|
|
6
|
-
: [];
|
|
7
|
-
const isNewDocument = !existingDocuments.includes(strand.documentId);
|
|
8
|
-
if (isNewDocument) {
|
|
9
|
-
const result = await processPushNewDocument(reactor, strand);
|
|
10
|
-
if (result.status !== "SUCCESS" || strand.operations.length === 0) {
|
|
11
|
-
return result;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
const result = await reactor.queueOperations(strand.documentId, strand.operations);
|
|
15
|
-
return {
|
|
16
|
-
revision: operationsToRevision(result.operations),
|
|
17
|
-
branch: strand.branch,
|
|
18
|
-
documentId: strand.documentId,
|
|
19
|
-
documentType: strand.documentType,
|
|
20
|
-
driveId: strand.driveId,
|
|
21
|
-
scope: strand.scope,
|
|
22
|
-
status: result.status,
|
|
23
|
-
error: result.error?.message,
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
export const processPushNewDocument = async (reactor, strand) => {
|
|
27
|
-
const listenerRevision = {
|
|
28
|
-
revision: 0,
|
|
29
|
-
branch: strand.branch,
|
|
30
|
-
documentId: strand.documentId,
|
|
31
|
-
documentType: strand.documentType,
|
|
32
|
-
driveId: strand.driveId,
|
|
33
|
-
scope: strand.scope,
|
|
34
|
-
};
|
|
35
|
-
try {
|
|
36
|
-
const result = await reactor.queueDocument({
|
|
37
|
-
id: strand.documentId,
|
|
38
|
-
documentType: strand.documentType,
|
|
39
|
-
});
|
|
40
|
-
return {
|
|
41
|
-
...listenerRevision,
|
|
42
|
-
revision: operationsToRevision(result.operations),
|
|
43
|
-
status: result.status,
|
|
44
|
-
error: result.error?.message,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
if (error instanceof Error &&
|
|
49
|
-
error.constructor.name === "DocumentAlreadyExistsError") {
|
|
50
|
-
return {
|
|
51
|
-
...listenerRevision,
|
|
52
|
-
status: "SUCCESS",
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
return {
|
|
57
|
-
...listenerRevision,
|
|
58
|
-
status: "ERROR",
|
|
59
|
-
error: error instanceof Error ? error.message : "Unknown error",
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
// processes an acknowledge request and returns a boolean
|
|
65
|
-
export const processAcknowledge = async (reactor, driveId, listenerId, revisions) => {
|
|
66
|
-
// todo: use listener manager
|
|
67
|
-
const listener = reactor.listeners.getListenerState(driveId, listenerId);
|
|
68
|
-
const transmitter = listener.listener.transmitter;
|
|
69
|
-
return transmitter.processAcknowledge(driveId, listenerId, revisions);
|
|
70
|
-
};
|
|
71
|
-
// processes a get strands request and returns a list of strand updates
|
|
72
|
-
export const processGetStrands = async (reactor, driveId, listenerId, since) => {
|
|
73
|
-
// todo: use listener manager
|
|
74
|
-
const listener = reactor.listeners.getListenerState(driveId, listenerId);
|
|
75
|
-
const transmitter = listener.listener.transmitter;
|
|
76
|
-
return transmitter.getStrands({ since });
|
|
77
|
-
};
|
|
78
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/sync/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/src/tracing.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/tracing.ts"],"names":[],"mappings":"AAkIA,wBAAsB,WAAW,kBAGhC;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAID,wBAAsB,KAAK,CAAC,CAAC,EAC3B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,GAAG,EACb,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAEZ"}
|
package/dist/src/tracing.js
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
// OpenTelemetry Tracing Configuration for Reactor API
|
|
2
|
-
// This file must be loaded before the application starts
|
|
3
|
-
import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
|
|
4
|
-
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
|
|
5
|
-
import { Resource } from "@opentelemetry/resources";
|
|
6
|
-
import { NodeSDK } from "@opentelemetry/sdk-node";
|
|
7
|
-
import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
8
|
-
import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, } from "@opentelemetry/semantic-conventions";
|
|
9
|
-
// Get configuration from environment
|
|
10
|
-
const TEMPO_ENDPOINT = process.env.TEMPO_ENDPOINT ||
|
|
11
|
-
"http://tempo.monitoring.svc.cluster.local:4318/v1/traces";
|
|
12
|
-
const SERVICE_NAME = process.env.OTEL_SERVICE_NAME || "reactor-api";
|
|
13
|
-
const SERVICE_VERSION = process.env.npm_package_version || "unknown";
|
|
14
|
-
const TENANT_ID = process.env.TENANT_ID || "default";
|
|
15
|
-
// Only enable tracing if explicitly enabled or in production
|
|
16
|
-
const TRACING_ENABLED = process.env.ENABLE_TRACING === "true" ||
|
|
17
|
-
process.env.NODE_ENV === "production";
|
|
18
|
-
if (TRACING_ENABLED) {
|
|
19
|
-
console.log(`Initializing OpenTelemetry tracing for ${SERVICE_NAME}...`);
|
|
20
|
-
console.log(` Tempo endpoint: ${TEMPO_ENDPOINT}`);
|
|
21
|
-
console.log(` Service: ${SERVICE_NAME}`);
|
|
22
|
-
console.log(` Tenant: ${TENANT_ID}`);
|
|
23
|
-
// Create OTLP trace exporter
|
|
24
|
-
const traceExporter = new OTLPTraceExporter({
|
|
25
|
-
url: TEMPO_ENDPOINT,
|
|
26
|
-
headers: {},
|
|
27
|
-
});
|
|
28
|
-
// Configure resource with service information
|
|
29
|
-
const resource = new Resource({
|
|
30
|
-
[ATTR_SERVICE_NAME]: SERVICE_NAME,
|
|
31
|
-
[ATTR_SERVICE_VERSION]: SERVICE_VERSION,
|
|
32
|
-
"tenant.id": TENANT_ID,
|
|
33
|
-
"deployment.environment": process.env.NODE_ENV || "development",
|
|
34
|
-
});
|
|
35
|
-
// Initialize OpenTelemetry SDK
|
|
36
|
-
const sdk = new NodeSDK({
|
|
37
|
-
resource,
|
|
38
|
-
spanProcessors: [new BatchSpanProcessor(traceExporter)],
|
|
39
|
-
instrumentations: [
|
|
40
|
-
getNodeAutoInstrumentations({
|
|
41
|
-
// Automatically instrument common libraries
|
|
42
|
-
"@opentelemetry/instrumentation-http": {
|
|
43
|
-
enabled: true,
|
|
44
|
-
ignoreIncomingRequestHook: (req) => {
|
|
45
|
-
// Don't trace health check endpoints
|
|
46
|
-
return req.url === "/health" || req.url === "/ready";
|
|
47
|
-
},
|
|
48
|
-
// Enable peer service name detection for service graphs
|
|
49
|
-
requireParentforIncomingSpans: false,
|
|
50
|
-
requireParentforOutgoingSpans: false,
|
|
51
|
-
// Add http.target to spans for better observability
|
|
52
|
-
requestHook: (span, request) => {
|
|
53
|
-
// Add custom attributes for service graph
|
|
54
|
-
span.setAttribute("http.route", request.url || "");
|
|
55
|
-
},
|
|
56
|
-
responseHook: (span, response) => {
|
|
57
|
-
// Add response attributes
|
|
58
|
-
if (response.statusCode) {
|
|
59
|
-
span.setAttribute("http.status_code", response.statusCode);
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
"@opentelemetry/instrumentation-express": {
|
|
64
|
-
enabled: true,
|
|
65
|
-
// Add route information to spans
|
|
66
|
-
requestHook: (span, info) => {
|
|
67
|
-
if (info.route) {
|
|
68
|
-
span.setAttribute("http.route", info.route);
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
"@opentelemetry/instrumentation-graphql": {
|
|
73
|
-
enabled: true,
|
|
74
|
-
// Add GraphQL operation details for service graphs
|
|
75
|
-
mergeItems: true,
|
|
76
|
-
allowValues: true,
|
|
77
|
-
},
|
|
78
|
-
"@opentelemetry/instrumentation-pg": {
|
|
79
|
-
enabled: true,
|
|
80
|
-
// Add database peer service for service graphs
|
|
81
|
-
enhancedDatabaseReporting: true,
|
|
82
|
-
},
|
|
83
|
-
"@opentelemetry/instrumentation-redis-4": {
|
|
84
|
-
enabled: true,
|
|
85
|
-
// Add Redis peer service for service graphs
|
|
86
|
-
dbStatementSerializer: (cmdName, cmdArgs) => {
|
|
87
|
-
return cmdName;
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
}),
|
|
91
|
-
],
|
|
92
|
-
});
|
|
93
|
-
// Start the SDK
|
|
94
|
-
sdk.start();
|
|
95
|
-
console.log("✓ OpenTelemetry tracing initialized");
|
|
96
|
-
// Gracefully shutdown on exit
|
|
97
|
-
process.on("SIGTERM", () => {
|
|
98
|
-
sdk
|
|
99
|
-
.shutdown()
|
|
100
|
-
.then(() => console.log("Tracing terminated"))
|
|
101
|
-
.catch((error) => console.log("Error terminating tracing", error))
|
|
102
|
-
.finally(() => process.exit(0));
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
console.log("OpenTelemetry tracing disabled (set ENABLE_TRACING=true to enable)");
|
|
107
|
-
}
|
|
108
|
-
// Stub exports for backwards compatibility during migration
|
|
109
|
-
// With OpenTelemetry auto-instrumentation, these are no longer needed
|
|
110
|
-
export async function initTracing() {
|
|
111
|
-
// Tracing is initialized automatically when this module is imported
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
export function isTracingEnabled() {
|
|
115
|
-
return TRACING_ENABLED;
|
|
116
|
-
}
|
|
117
|
-
// Simplified trace function - OpenTelemetry auto-instruments everything
|
|
118
|
-
// This is just a pass-through for backwards compatibility
|
|
119
|
-
export async function trace(_name, _options, fn) {
|
|
120
|
-
return fn();
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=tracing.js.map
|
package/dist/src/tracing.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/tracing.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
|
|
2
|
-
import type { GraphQLManager } from "@powerhousedao/reactor-api";
|
|
3
|
-
import type { IProcessorHostModule, IProcessorManager, IRelationalDb, ProcessorFactory } from "document-drive";
|
|
4
|
-
import type { Express } from "express";
|
|
5
|
-
import type { IPackageManager } from "./packages/types.js";
|
|
6
|
-
export type { IPackageLoader, IPackageLoaderOptions, } from "./packages/types.js";
|
|
7
|
-
export type API = {
|
|
8
|
-
app: Express;
|
|
9
|
-
graphqlManager: GraphQLManager;
|
|
10
|
-
processorManager: IProcessorManager;
|
|
11
|
-
packages: IPackageManager;
|
|
12
|
-
};
|
|
13
|
-
export type ReactorModule = {
|
|
14
|
-
analyticsStore: IAnalyticsStore;
|
|
15
|
-
relationalDb: IRelationalDb;
|
|
16
|
-
};
|
|
17
|
-
export type Processor = ((module: IProcessorHostModule) => ProcessorFactory)[];
|
|
18
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/src/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,GAAG,GAAG;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,EAAE,eAAe,CAAC;IAChC,YAAY,EAAE,aAAa,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,EAAE,CAAC"}
|
package/dist/src/types.js
DELETED
package/dist/src/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
package/dist/src/utils/auth.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/utils/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,WAqBrC"}
|
package/dist/src/utils/auth.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export { verifyAuthBearerToken } from "@renown/sdk";
|
|
2
|
-
export function isAuthEnabledAndUserPartOfGroup(req, group) {
|
|
3
|
-
if (req.auth_enabled) {
|
|
4
|
-
return false;
|
|
5
|
-
}
|
|
6
|
-
const user = req.user;
|
|
7
|
-
if (!user) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
if (!user.address) {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
const groupList = req[group];
|
|
14
|
-
if (!groupList) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
return groupList.includes(user.address);
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/utils/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,UAAU,+BAA+B,CAC7C,GAAoB,EACpB,KAAoC;IAEpC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { GraphQLResolverMap, GraphQLSchemaModule } from "@apollo/subgraph/dist/schema-helper/resolverMap.js";
|
|
2
|
-
import type { Context } from "@powerhousedao/reactor-api";
|
|
3
|
-
import { type IDocumentDriveServer } from "document-drive";
|
|
4
|
-
import type { DocumentModelGlobalState } from "document-model";
|
|
5
|
-
import { type DocumentNode } from "graphql";
|
|
6
|
-
export declare const buildSubgraphSchemaModule: (documentDriveServer: IDocumentDriveServer, resolvers: GraphQLResolverMap<Context>, typeDefs: DocumentNode) => GraphQLSchemaModule;
|
|
7
|
-
export declare const createSchema: (documentDriveServer: IDocumentDriveServer, resolvers: GraphQLResolverMap<Context>, typeDefs: DocumentNode) => import("graphql").GraphQLSchema;
|
|
8
|
-
export declare function getDocumentModelSchemaName(documentModel: DocumentModelGlobalState): string;
|
|
9
|
-
export declare const getDocumentModelTypeDefs: (documentDriveServer: Pick<IDocumentDriveServer, "getDocumentModelModules">, typeDefs: DocumentNode) => DocumentNode;
|
|
10
|
-
export declare function generateDocumentModelSchemaLegacy(documentModel: DocumentModelGlobalState): DocumentNode;
|
|
11
|
-
//# sourceMappingURL=create-schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-schema.d.ts","sourceRoot":"","sources":["../../../src/utils/create-schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,oDAAoD,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,SAAS,CAAC;AAiBzD,eAAO,MAAM,yBAAyB,GACpC,qBAAqB,oBAAoB,EACzC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EACtC,UAAU,YAAY,KACrB,mBAUF,CAAC;AACF,eAAO,MAAM,YAAY,GACvB,qBAAqB,oBAAoB,EACzC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EACtC,UAAU,YAAY,oCAKvB,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,wBAAwB,UAGxC;AAED,eAAO,MAAM,wBAAwB,GACnC,qBAAqB,IAAI,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,EAC1E,UAAU,YAAY,iBA4KvB,CAAC;AAyGF,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,wBAAwB,GACtC,YAAY,CAsGd"}
|
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
import { buildSubgraphSchema } from "@apollo/subgraph";
|
|
2
|
-
import { typeDefs as scalarsTypeDefs } from "@powerhousedao/document-engineering/graphql";
|
|
3
|
-
import { camelCase, pascalCase } from "change-case";
|
|
4
|
-
import { childLogger } from "document-drive";
|
|
5
|
-
import { Kind, print } from "graphql";
|
|
6
|
-
import { gql } from "graphql-tag";
|
|
7
|
-
import { GraphQLJSONObject } from "graphql-type-json";
|
|
8
|
-
const logger = childLogger(["reactor-api", "create-schema"]);
|
|
9
|
-
/**
|
|
10
|
-
* Strip scalar definitions from a DocumentNode to avoid duplicates
|
|
11
|
-
* when combining with other schemas that define the same scalars.
|
|
12
|
-
*/
|
|
13
|
-
const stripScalarDefinitions = (doc) => {
|
|
14
|
-
const filteredDefinitions = doc.definitions.filter((def) => def.kind !== Kind.SCALAR_TYPE_DEFINITION);
|
|
15
|
-
return print({ kind: Kind.DOCUMENT, definitions: filteredDefinitions });
|
|
16
|
-
};
|
|
17
|
-
export const buildSubgraphSchemaModule = (documentDriveServer, resolvers, typeDefs) => {
|
|
18
|
-
const newResolvers = {
|
|
19
|
-
...resolvers,
|
|
20
|
-
JSONObject: GraphQLJSONObject,
|
|
21
|
-
};
|
|
22
|
-
return {
|
|
23
|
-
typeDefs: getDocumentModelTypeDefs(documentDriveServer, typeDefs),
|
|
24
|
-
resolvers: newResolvers,
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
export const createSchema = (documentDriveServer, resolvers, typeDefs) => {
|
|
28
|
-
return buildSubgraphSchema(buildSubgraphSchemaModule(documentDriveServer, resolvers, typeDefs));
|
|
29
|
-
};
|
|
30
|
-
export function getDocumentModelSchemaName(documentModel) {
|
|
31
|
-
return pascalCase(documentModel.name.replaceAll("/", " "));
|
|
32
|
-
}
|
|
33
|
-
export const getDocumentModelTypeDefs = (documentDriveServer, typeDefs) => {
|
|
34
|
-
const documentModels = documentDriveServer.getDocumentModelModules();
|
|
35
|
-
let dmSchema = "";
|
|
36
|
-
const addedDocumentModels = new Set();
|
|
37
|
-
documentModels.forEach(({ documentModel }) => {
|
|
38
|
-
const dmSchemaName = getDocumentModelSchemaName(documentModel.global);
|
|
39
|
-
if (addedDocumentModels.has(dmSchemaName)) {
|
|
40
|
-
logger.debug(`Skipping document model with duplicate name: ${dmSchemaName}`);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
addedDocumentModels.add(dmSchemaName);
|
|
44
|
-
let tmpDmSchema = `
|
|
45
|
-
${documentModel.global.specifications
|
|
46
|
-
.map((specification) => specification.state.global.schema
|
|
47
|
-
.replaceAll("scalar DateTime", "")
|
|
48
|
-
.replaceAll(/input (.*?) {[\s\S]*?}/g, ""))
|
|
49
|
-
.join("\n")};
|
|
50
|
-
|
|
51
|
-
${documentModel.global.specifications
|
|
52
|
-
.map((specification) => specification.state.local.schema
|
|
53
|
-
.replaceAll("scalar DateTime", "")
|
|
54
|
-
.replaceAll(/input (.*?) {[\s\S]*?}/g, "")
|
|
55
|
-
.replaceAll("type AccountSnapshotLocalState", "")
|
|
56
|
-
.replaceAll("type BudgetStatementLocalState", "")
|
|
57
|
-
.replaceAll("type ScopeFrameworkLocalState", ""))
|
|
58
|
-
.join("\n")};
|
|
59
|
-
|
|
60
|
-
\n`;
|
|
61
|
-
const found = tmpDmSchema.match(/(type|enum|union|interface)\s+(\w+)\s/g);
|
|
62
|
-
const trimmedFound = found?.map((f) => f
|
|
63
|
-
.replaceAll("type ", "")
|
|
64
|
-
.replaceAll("enum ", "")
|
|
65
|
-
.replaceAll("union ", "")
|
|
66
|
-
.replaceAll("interface ", "")
|
|
67
|
-
.trim());
|
|
68
|
-
trimmedFound?.forEach((f) => {
|
|
69
|
-
// Create a regex that matches the type name with proper boundaries
|
|
70
|
-
const typeRegex = new RegExp(
|
|
71
|
-
// Match type references in various GraphQL contexts
|
|
72
|
-
`(?<![_A-Za-z0-9])(${f})(?![_A-Za-z0-9])|` + // Basic type references
|
|
73
|
-
`\\[(${f})\\]|` + // Array types without nullability
|
|
74
|
-
`\\[(${f})!\\]|` + // Array of non-null types
|
|
75
|
-
`\\[(${f})\\]!|` + // Non-null array of types
|
|
76
|
-
`\\[(${f})!\\]!`, // Non-null array of non-null types
|
|
77
|
-
"g");
|
|
78
|
-
tmpDmSchema = tmpDmSchema.replace(typeRegex, (match, p1, p2, p3, p4, p5) => {
|
|
79
|
-
// If it's an array type, preserve the brackets and ! while replacing the type name
|
|
80
|
-
if (match.startsWith("[")) {
|
|
81
|
-
return match.replace(p2 || p3 || p4 || p5, `${dmSchemaName}_${p2 || p3 || p4 || p5}`);
|
|
82
|
-
}
|
|
83
|
-
// Basic type reference
|
|
84
|
-
return `${dmSchemaName}_${p1}`;
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
dmSchema += tmpDmSchema;
|
|
88
|
-
dmSchema += `
|
|
89
|
-
type ${dmSchemaName} implements IDocument {
|
|
90
|
-
id: String!
|
|
91
|
-
name: String!
|
|
92
|
-
documentType: String!
|
|
93
|
-
operations(skip: Int, first: Int): [Operation!]!
|
|
94
|
-
revision: Int!
|
|
95
|
-
createdAtUtcIso: DateTime!
|
|
96
|
-
lastModifiedAtUtcIso: DateTime!
|
|
97
|
-
${dmSchemaName !== "DocumentModel" ? `initialState: ${dmSchemaName}_${dmSchemaName}State!` : ""}
|
|
98
|
-
${dmSchemaName !== "DocumentModel" ? `state: ${dmSchemaName}_${dmSchemaName}State!` : ""}
|
|
99
|
-
stateJSON: JSONObject
|
|
100
|
-
}\n`;
|
|
101
|
-
});
|
|
102
|
-
// add the mutation and query types
|
|
103
|
-
const schema = gql `
|
|
104
|
-
scalar JSONObject
|
|
105
|
-
${scalarsTypeDefs.join("\n").replaceAll(";", "")}
|
|
106
|
-
|
|
107
|
-
type PHOperationContext {
|
|
108
|
-
signer: Signer
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
type Signer {
|
|
112
|
-
user: SignerUser
|
|
113
|
-
app: SignerApp
|
|
114
|
-
signatures: [String!]!
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
type SignerUser {
|
|
118
|
-
address: String!
|
|
119
|
-
networkId: String!
|
|
120
|
-
chainId: Int!
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
type SignerApp {
|
|
124
|
-
name: String!
|
|
125
|
-
key: String!
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
type Operation {
|
|
129
|
-
id: String!
|
|
130
|
-
type: String!
|
|
131
|
-
index: Int!
|
|
132
|
-
timestampUtcMs: DateTime!
|
|
133
|
-
hash: String!
|
|
134
|
-
skip: Int
|
|
135
|
-
inputText: String
|
|
136
|
-
error: String
|
|
137
|
-
context: PHOperationContext
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
interface IDocument {
|
|
141
|
-
id: String!
|
|
142
|
-
name: String!
|
|
143
|
-
documentType: String!
|
|
144
|
-
revision: Int!
|
|
145
|
-
createdAtUtcIso: DateTime!
|
|
146
|
-
lastModifiedAtUtcIso: DateTime!
|
|
147
|
-
operations(first: Int, skip: Int): [Operation!]!
|
|
148
|
-
stateJSON: JSONObject
|
|
149
|
-
}
|
|
150
|
-
${dmSchema.replaceAll(";", "")}
|
|
151
|
-
|
|
152
|
-
type GqlDocument implements IDocument {
|
|
153
|
-
id: String!
|
|
154
|
-
name: String!
|
|
155
|
-
documentType: String!
|
|
156
|
-
revision: Int!
|
|
157
|
-
createdAtUtcIso: DateTime!
|
|
158
|
-
lastModifiedAtUtcIso: DateTime!
|
|
159
|
-
operations(first: Int, skip: Int): [Operation!]!
|
|
160
|
-
stateJSON: JSONObject
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
type DriveDocument implements IDocument {
|
|
164
|
-
id: String!
|
|
165
|
-
name: String!
|
|
166
|
-
documentType: String!
|
|
167
|
-
revision: Int!
|
|
168
|
-
createdAtUtcIso: DateTime!
|
|
169
|
-
lastModifiedAtUtcIso: DateTime!
|
|
170
|
-
operations(first: Int, skip: Int): [Operation!]!
|
|
171
|
-
stateJSON: JSONObject
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
${stripScalarDefinitions(typeDefs)}
|
|
175
|
-
`;
|
|
176
|
-
return schema;
|
|
177
|
-
};
|
|
178
|
-
/**
|
|
179
|
-
* Extract type names from a GraphQL schema.
|
|
180
|
-
* @param {string} schema - GraphQL schema string
|
|
181
|
-
* @returns {string[]} Array of type names
|
|
182
|
-
*/
|
|
183
|
-
function extractTypeNames(schema) {
|
|
184
|
-
const found = schema.match(/(type|enum|union|interface|input)\s+(\w+)[\s{]/g);
|
|
185
|
-
if (!found)
|
|
186
|
-
return [];
|
|
187
|
-
return found.map((f) => f
|
|
188
|
-
.replaceAll("type ", "")
|
|
189
|
-
.replaceAll("enum ", "")
|
|
190
|
-
.replaceAll("union ", "")
|
|
191
|
-
.replaceAll("interface ", "")
|
|
192
|
-
.replaceAll("input ", "")
|
|
193
|
-
.replaceAll("{", "")
|
|
194
|
-
.trim());
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Extract input type definitions from a GraphQL schema.
|
|
198
|
-
* @param {string} schema - GraphQL schema string
|
|
199
|
-
* @param {Set<string>} excludeTypeNames - Type names to exclude from extraction
|
|
200
|
-
* @returns {string} All input type definitions as a string
|
|
201
|
-
*/
|
|
202
|
-
function extractInputTypeDefinitions(schema, excludeTypeNames = new Set()) {
|
|
203
|
-
// Match input type blocks: input TypeName { ... }
|
|
204
|
-
const inputTypeRegex = /input\s+(\w+)\s*\{[^}]*\}/g;
|
|
205
|
-
const matches = [];
|
|
206
|
-
let match;
|
|
207
|
-
while ((match = inputTypeRegex.exec(schema)) !== null) {
|
|
208
|
-
const typeName = match[1];
|
|
209
|
-
// Skip if this type name is in the exclusion set
|
|
210
|
-
if (!excludeTypeNames.has(typeName)) {
|
|
211
|
-
matches.push(match[0]);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
if (matches.length === 0)
|
|
215
|
-
return "";
|
|
216
|
-
return matches.join("\n\n");
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Apply type prefixes to GraphQL schema to namespace types and avoid collisions.
|
|
220
|
-
* Inlined from @powerhousedao/common/utils to avoid ES module import issues.
|
|
221
|
-
* @param {string} schema - GraphQL schema string
|
|
222
|
-
* @param {string} prefix - Prefix to apply to type names
|
|
223
|
-
* @param {string[]} externalTypeNames - Type names from other schemas to also prefix
|
|
224
|
-
* @returns {string} Schema with prefixed types
|
|
225
|
-
*/
|
|
226
|
-
function applyGraphQLTypePrefixes(schema, prefix, externalTypeNames = []) {
|
|
227
|
-
if (!schema || !schema.trim()) {
|
|
228
|
-
return schema;
|
|
229
|
-
}
|
|
230
|
-
let processedSchema = schema;
|
|
231
|
-
// Find types defined in this schema
|
|
232
|
-
const localTypeNames = extractTypeNames(schema);
|
|
233
|
-
// Combine with external type names (remove duplicates)
|
|
234
|
-
const allTypeNames = [...new Set([...localTypeNames, ...externalTypeNames])];
|
|
235
|
-
if (allTypeNames.length === 0) {
|
|
236
|
-
return schema;
|
|
237
|
-
}
|
|
238
|
-
allTypeNames.forEach((typeName) => {
|
|
239
|
-
const typeRegex = new RegExp(
|
|
240
|
-
// Match type references in various GraphQL contexts
|
|
241
|
-
`(?<![_A-Za-z0-9])(${typeName})(?![_A-Za-z0-9])|` +
|
|
242
|
-
`\\[(${typeName})\\]|` +
|
|
243
|
-
`\\[(${typeName})!\\]|` +
|
|
244
|
-
`\\[(${typeName})\\]!|` +
|
|
245
|
-
`\\[(${typeName})!\\]!`, "g");
|
|
246
|
-
processedSchema = processedSchema.replace(typeRegex, (match, p1, p2, p3, p4, p5) => {
|
|
247
|
-
if (match.startsWith("[")) {
|
|
248
|
-
return match.replace((p2 || p3 || p4 || p5), `${prefix}_${p2 || p3 || p4 || p5}`);
|
|
249
|
-
}
|
|
250
|
-
// Basic type reference
|
|
251
|
-
return `${prefix}_${p1}`;
|
|
252
|
-
});
|
|
253
|
-
});
|
|
254
|
-
return processedSchema;
|
|
255
|
-
}
|
|
256
|
-
export function generateDocumentModelSchemaLegacy(documentModel) {
|
|
257
|
-
const specification = documentModel.specifications.at(-1);
|
|
258
|
-
const documentName = getDocumentModelSchemaName(documentModel);
|
|
259
|
-
const stateSchema = specification?.state.global.schema;
|
|
260
|
-
const stateTypeNames = extractTypeNames(stateSchema ?? "");
|
|
261
|
-
// Collect ALL type names from all operations' schemas
|
|
262
|
-
const allOperationTypeNames = specification?.modules.flatMap((module) => module.operations.flatMap((op) => extractTypeNames(op.schema ?? ""))) ?? [];
|
|
263
|
-
// Combine state types and all operation types for prefixing
|
|
264
|
-
const allTypeNames = [
|
|
265
|
-
...new Set([...stateTypeNames, ...allOperationTypeNames]),
|
|
266
|
-
];
|
|
267
|
-
// Extract input type definitions from state schema, excluding operation-specific inputs
|
|
268
|
-
// (those are already defined in op.schema)
|
|
269
|
-
const operationInputTypeNames = new Set(allOperationTypeNames);
|
|
270
|
-
const stateInputTypes = extractInputTypeDefinitions(stateSchema ?? "", operationInputTypeNames);
|
|
271
|
-
const prefixedStateInputTypes = applyGraphQLTypePrefixes(stateInputTypes, documentName, allTypeNames);
|
|
272
|
-
return gql `
|
|
273
|
-
"""
|
|
274
|
-
Queries: ${documentName} Document
|
|
275
|
-
"""
|
|
276
|
-
|
|
277
|
-
type ${documentName}Queries {
|
|
278
|
-
getDocument(docId: PHID!, driveId: PHID): ${documentName}
|
|
279
|
-
getDocuments(driveId: String!): [${documentName}!]
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
type Query {
|
|
283
|
-
${documentName}: ${documentName}Queries
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
"""
|
|
287
|
-
Mutations: ${documentName}
|
|
288
|
-
"""
|
|
289
|
-
type Mutation {
|
|
290
|
-
${documentName}_createDocument(name:String!, driveId:String): String
|
|
291
|
-
|
|
292
|
-
${specification?.modules
|
|
293
|
-
.flatMap((module) => module.operations
|
|
294
|
-
.filter((op) => op.name)
|
|
295
|
-
.map((op) => `${documentName}_${camelCase(op.name)}(
|
|
296
|
-
driveId: String, docId: PHID, input: ${documentName}_${pascalCase(op.name)}Input): Int`))
|
|
297
|
-
.join("\n ") ?? ""}
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
${prefixedStateInputTypes
|
|
301
|
-
? `"""
|
|
302
|
-
Input Types from State Schema
|
|
303
|
-
"""
|
|
304
|
-
${prefixedStateInputTypes}`
|
|
305
|
-
: ""}
|
|
306
|
-
|
|
307
|
-
${(() => {
|
|
308
|
-
// Helper to check if schema has actual GraphQL type definitions
|
|
309
|
-
const hasValidSchema = (schema) => schema && /\b(input|type|enum|union|interface)\s+\w+/.test(schema);
|
|
310
|
-
return (specification?.modules
|
|
311
|
-
.filter((module) => module.operations.some((op) => hasValidSchema(op.schema)))
|
|
312
|
-
.map((module) => `"""
|
|
313
|
-
Module: ${pascalCase(module.name)}
|
|
314
|
-
"""
|
|
315
|
-
${module.operations
|
|
316
|
-
.filter((op) => hasValidSchema(op.schema))
|
|
317
|
-
.map((op) => applyGraphQLTypePrefixes(op.schema ?? "", documentName, allTypeNames))
|
|
318
|
-
.join("\n ")}`)
|
|
319
|
-
.join("\n") ?? "");
|
|
320
|
-
})()}`;
|
|
321
|
-
}
|
|
322
|
-
//# sourceMappingURL=create-schema.js.map
|