@powerhousedao/reactor-api 6.0.0-dev.11 → 6.0.0-dev.110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/dist/codegen.js +1 -1
- package/dist/codegen.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/src/config.d.ts +1 -2
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +1 -5
- package/dist/src/config.js.map +1 -1
- package/dist/src/dev.d.ts +2 -0
- package/dist/src/dev.d.ts.map +1 -0
- package/dist/src/dev.js +51 -0
- package/dist/src/dev.js.map +1 -0
- package/dist/src/graphql/auth/resolvers.d.ts +17 -0
- package/dist/src/graphql/auth/resolvers.d.ts.map +1 -1
- package/dist/src/graphql/auth/resolvers.js +54 -0
- package/dist/src/graphql/auth/resolvers.js.map +1 -1
- package/dist/src/graphql/auth/schema.graphql +27 -5
- package/dist/src/graphql/auth/subgraph.d.ts +25 -0
- package/dist/src/graphql/auth/subgraph.d.ts.map +1 -1
- package/dist/src/graphql/auth/subgraph.js +46 -2
- package/dist/src/graphql/auth/subgraph.js.map +1 -1
- package/dist/src/graphql/base-subgraph.d.ts +11 -4
- package/dist/src/graphql/base-subgraph.d.ts.map +1 -1
- package/dist/src/graphql/base-subgraph.js +94 -2
- package/dist/src/graphql/base-subgraph.js.map +1 -1
- package/dist/src/graphql/document-model-subgraph.d.ts +104 -45
- package/dist/src/graphql/document-model-subgraph.d.ts.map +1 -1
- package/dist/src/graphql/document-model-subgraph.js +323 -91
- package/dist/src/graphql/document-model-subgraph.js.map +1 -1
- package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts +23 -0
- package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts.map +1 -0
- package/dist/src/graphql/gateway/adapter-gateway-apollo.js +156 -0
- package/dist/src/graphql/gateway/adapter-gateway-apollo.js.map +1 -0
- package/dist/src/graphql/gateway/adapter-http-express.d.ts +23 -0
- package/dist/src/graphql/gateway/adapter-http-express.d.ts.map +1 -0
- package/dist/src/graphql/gateway/adapter-http-express.js +155 -0
- package/dist/src/graphql/gateway/adapter-http-express.js.map +1 -0
- package/dist/src/graphql/gateway/auth-middleware.d.ts +7 -0
- package/dist/src/graphql/gateway/auth-middleware.d.ts.map +1 -0
- package/dist/src/graphql/gateway/auth-middleware.js +15 -0
- package/dist/src/graphql/gateway/auth-middleware.js.map +1 -0
- package/dist/src/graphql/gateway/factory.d.ts +11 -0
- package/dist/src/graphql/gateway/factory.d.ts.map +1 -0
- package/dist/src/graphql/gateway/factory.js +15 -0
- package/dist/src/graphql/gateway/factory.js.map +1 -0
- package/dist/src/graphql/gateway/types.d.ts +84 -0
- package/dist/src/graphql/gateway/types.d.ts.map +1 -0
- package/dist/src/{sync → graphql/gateway}/types.js.map +1 -1
- package/dist/src/graphql/graphql-manager.d.ts +31 -12
- package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
- package/dist/src/graphql/graphql-manager.js +284 -228
- package/dist/src/graphql/graphql-manager.js.map +1 -1
- package/dist/src/graphql/index.d.ts +5 -1
- package/dist/src/graphql/index.d.ts.map +1 -1
- package/dist/src/graphql/index.js +5 -1
- package/dist/src/graphql/index.js.map +1 -1
- package/dist/src/graphql/packages/index.d.ts +2 -0
- package/dist/src/graphql/packages/index.d.ts.map +1 -0
- package/dist/src/graphql/packages/index.js +2 -0
- package/dist/src/graphql/packages/index.js.map +1 -0
- package/dist/src/graphql/packages/resolvers.d.ts +31 -0
- package/dist/src/graphql/packages/resolvers.d.ts.map +1 -0
- package/dist/src/graphql/packages/resolvers.js +37 -0
- package/dist/src/graphql/packages/resolvers.js.map +1 -0
- package/dist/src/graphql/packages/schema.graphql +50 -0
- package/dist/src/graphql/packages/subgraph.d.ts +55 -0
- package/dist/src/graphql/packages/subgraph.d.ts.map +1 -0
- package/dist/src/graphql/packages/subgraph.js +73 -0
- package/dist/src/graphql/packages/subgraph.js.map +1 -0
- package/dist/src/graphql/playground.d.ts.map +1 -1
- package/dist/src/graphql/playground.js +19 -12
- package/dist/src/graphql/playground.js.map +1 -1
- package/dist/src/graphql/reactor/adapters.d.ts +10 -2
- package/dist/src/graphql/reactor/adapters.d.ts.map +1 -1
- package/dist/src/graphql/reactor/adapters.js +36 -1
- package/dist/src/graphql/reactor/adapters.js.map +1 -1
- package/dist/src/graphql/reactor/factory.d.ts +22 -1
- package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
- package/dist/src/graphql/reactor/factory.js +1 -1
- package/dist/src/graphql/reactor/factory.js.map +1 -1
- package/dist/src/graphql/reactor/gen/graphql.d.ts +355 -76
- package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
- package/dist/src/graphql/reactor/gen/graphql.js +245 -10
- package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
- package/dist/src/graphql/reactor/index.d.ts +1 -1
- package/dist/src/graphql/reactor/index.d.ts.map +1 -1
- package/dist/src/graphql/reactor/index.js +1 -1
- package/dist/src/graphql/reactor/index.js.map +1 -1
- package/dist/src/graphql/reactor/operations.graphql +191 -1
- package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +1 -1
- package/dist/src/graphql/reactor/requester.with-zod.js +114 -38
- package/dist/src/graphql/reactor/requester.with-zod.js.map +1 -1
- package/dist/src/graphql/reactor/resolvers.d.ts +90 -26
- package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
- package/dist/src/graphql/reactor/resolvers.js +275 -77
- package/dist/src/graphql/reactor/resolvers.js.map +1 -1
- package/dist/src/graphql/reactor/schema.graphql +76 -30
- package/dist/src/graphql/reactor/subgraph.d.ts +2 -31
- package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
- package/dist/src/graphql/reactor/subgraph.js +133 -210
- package/dist/src/graphql/reactor/subgraph.js.map +1 -1
- package/dist/src/graphql/reactor/validation.d.ts +266 -20
- package/dist/src/graphql/reactor/validation.d.ts.map +1 -1
- package/dist/src/graphql/reactor/validation.js +98 -4
- package/dist/src/graphql/reactor/validation.js.map +1 -1
- package/dist/src/graphql/sse.d.ts +42 -0
- package/dist/src/graphql/sse.d.ts.map +1 -0
- package/dist/src/graphql/sse.js +33 -0
- package/dist/src/graphql/sse.js.map +1 -0
- package/dist/src/graphql/system/index.d.ts +0 -1
- package/dist/src/graphql/system/index.d.ts.map +1 -1
- package/dist/src/graphql/system/index.js +0 -1
- package/dist/src/graphql/system/index.js.map +1 -1
- package/dist/src/graphql/types.d.ts +7 -8
- package/dist/src/graphql/types.d.ts.map +1 -1
- package/dist/src/graphql/utils.d.ts +3 -20
- package/dist/src/graphql/utils.d.ts.map +1 -1
- package/dist/src/graphql/utils.js +7 -35
- package/dist/src/graphql/utils.js.map +1 -1
- package/dist/src/migrations/002_add_document_protection.d.ts +4 -0
- package/dist/src/migrations/002_add_document_protection.d.ts.map +1 -0
- package/dist/src/migrations/002_add_document_protection.js +18 -0
- package/dist/src/migrations/002_add_document_protection.js.map +1 -0
- package/dist/src/migrations/index.d.ts.map +1 -1
- package/dist/src/migrations/index.js +2 -0
- package/dist/src/migrations/index.js.map +1 -1
- package/dist/src/packages/http-loader.d.ts +68 -0
- package/dist/src/packages/http-loader.d.ts.map +1 -0
- package/dist/src/packages/http-loader.js +176 -0
- package/dist/src/packages/http-loader.js.map +1 -0
- package/dist/src/packages/https-hooks.d.mts +37 -0
- package/dist/src/packages/https-hooks.d.mts.map +1 -0
- package/dist/src/packages/https-hooks.mjs +88 -0
- package/dist/src/packages/https-hooks.mjs.map +1 -0
- package/dist/src/packages/import-loader.d.ts +3 -4
- package/dist/src/packages/import-loader.d.ts.map +1 -1
- package/dist/src/packages/import-loader.js +6 -12
- package/dist/src/packages/import-loader.js.map +1 -1
- package/dist/src/packages/package-manager.d.ts +3 -4
- package/dist/src/packages/package-manager.d.ts.map +1 -1
- package/dist/src/packages/package-manager.js +2 -2
- package/dist/src/packages/package-manager.js.map +1 -1
- package/dist/src/packages/types.d.ts +9 -6
- package/dist/src/packages/types.d.ts.map +1 -1
- package/dist/src/packages/util.d.ts +4 -4
- package/dist/src/packages/util.d.ts.map +1 -1
- package/dist/src/packages/util.js +2 -2
- package/dist/src/packages/util.js.map +1 -1
- package/dist/src/packages/vite-loader.d.ts +8 -7
- package/dist/src/packages/vite-loader.d.ts.map +1 -1
- package/dist/src/packages/vite-loader.js +20 -8
- package/dist/src/packages/vite-loader.js.map +1 -1
- package/dist/src/server.d.ts +15 -28
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +137 -167
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/auth.service.d.ts +11 -15
- package/dist/src/services/auth.service.d.ts.map +1 -1
- package/dist/src/services/auth.service.js +61 -40
- package/dist/src/services/auth.service.js.map +1 -1
- package/dist/src/services/authorization.service.d.ts +70 -0
- package/dist/src/services/authorization.service.d.ts.map +1 -0
- package/dist/src/services/authorization.service.js +155 -0
- package/dist/src/services/authorization.service.js.map +1 -0
- package/dist/src/services/document-permission.service.d.ts +47 -7
- package/dist/src/services/document-permission.service.d.ts.map +1 -1
- package/dist/src/services/document-permission.service.js +162 -7
- package/dist/src/services/document-permission.service.js.map +1 -1
- package/dist/src/services/package-management.service.d.ts +32 -0
- package/dist/src/services/package-management.service.d.ts.map +1 -0
- package/dist/src/services/package-management.service.js +95 -0
- package/dist/src/services/package-management.service.js.map +1 -0
- package/dist/src/services/package-storage.d.ts +23 -0
- package/dist/src/services/package-storage.d.ts.map +1 -0
- package/dist/src/services/package-storage.js +19 -0
- package/dist/src/services/package-storage.js.map +1 -0
- package/dist/src/tracing.d.ts.map +1 -1
- package/dist/src/tracing.js +19 -1
- package/dist/src/tracing.js.map +1 -1
- package/dist/src/types.d.ts +14 -6
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/create-schema.d.ts +31 -6
- package/dist/src/utils/create-schema.d.ts.map +1 -1
- package/dist/src/utils/create-schema.js +451 -43
- package/dist/src/utils/create-schema.js.map +1 -1
- package/dist/src/utils/db.d.ts +8 -0
- package/dist/src/utils/db.d.ts.map +1 -1
- package/dist/src/utils/db.js.map +1 -1
- package/dist/src/utils/drive-url.d.ts +2 -0
- package/dist/src/utils/drive-url.d.ts.map +1 -0
- package/dist/src/utils/drive-url.js +3 -0
- package/dist/src/utils/drive-url.js.map +1 -0
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +1 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/test/auth.service.test.d.ts +10 -0
- package/dist/test/auth.service.test.d.ts.map +1 -0
- package/dist/test/auth.service.test.js +141 -0
- package/dist/test/auth.service.test.js.map +1 -0
- package/dist/test/authorization.service.test.d.ts +2 -0
- package/dist/test/authorization.service.test.d.ts.map +1 -0
- package/dist/test/authorization.service.test.js +252 -0
- package/dist/test/authorization.service.test.js.map +1 -0
- package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +2 -0
- package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +1 -0
- package/dist/test/connect-switchboard-reshuffle-convergence.test.js +204 -0
- package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +1 -0
- package/dist/test/connect-switchboard-sync.test.d.ts +2 -0
- package/dist/test/connect-switchboard-sync.test.d.ts.map +1 -0
- package/dist/test/connect-switchboard-sync.test.js +582 -0
- package/dist/test/connect-switchboard-sync.test.js.map +1 -0
- package/dist/test/document-drive-subgraph.test.d.ts +2 -0
- package/dist/test/document-drive-subgraph.test.d.ts.map +1 -0
- package/dist/test/document-drive-subgraph.test.js +244 -0
- package/dist/test/document-drive-subgraph.test.js.map +1 -0
- package/dist/test/document-model-subgraph-permissions.test.d.ts +2 -0
- package/dist/test/document-model-subgraph-permissions.test.d.ts.map +1 -0
- package/dist/test/document-model-subgraph-permissions.test.js +587 -0
- package/dist/test/document-model-subgraph-permissions.test.js.map +1 -0
- package/dist/test/drive-info-endpoint.test.d.ts +2 -0
- package/dist/test/drive-info-endpoint.test.d.ts.map +1 -0
- package/dist/test/drive-info-endpoint.test.js +123 -0
- package/dist/test/drive-info-endpoint.test.js.map +1 -0
- package/dist/test/fault-injection-sync.test.d.ts +2 -0
- package/dist/test/fault-injection-sync.test.d.ts.map +1 -0
- package/dist/test/fault-injection-sync.test.js +197 -0
- package/dist/test/fault-injection-sync.test.js.map +1 -0
- package/dist/test/gateway/adapter-gateway-apollo.test.d.ts +2 -0
- package/dist/test/gateway/adapter-gateway-apollo.test.d.ts.map +1 -0
- package/dist/test/gateway/adapter-gateway-apollo.test.js +206 -0
- package/dist/test/gateway/adapter-gateway-apollo.test.js.map +1 -0
- package/dist/test/gateway/adapter-http-express.test.d.ts +2 -0
- package/dist/test/gateway/adapter-http-express.test.d.ts.map +1 -0
- package/dist/test/gateway/adapter-http-express.test.js +17 -0
- package/dist/test/gateway/adapter-http-express.test.js.map +1 -0
- package/dist/test/gateway/auth-middleware.test.d.ts +8 -0
- package/dist/test/gateway/auth-middleware.test.d.ts.map +1 -0
- package/dist/test/gateway/auth-middleware.test.js +73 -0
- package/dist/test/gateway/auth-middleware.test.js.map +1 -0
- package/dist/test/gateway/gateway-adapter-contract.d.ts +30 -0
- package/dist/test/gateway/gateway-adapter-contract.d.ts.map +1 -0
- package/dist/test/gateway/gateway-adapter-contract.js +347 -0
- package/dist/test/gateway/gateway-adapter-contract.js.map +1 -0
- package/dist/test/gateway/http-adapter-contract.d.ts +30 -0
- package/dist/test/gateway/http-adapter-contract.d.ts.map +1 -0
- package/dist/test/gateway/http-adapter-contract.js +226 -0
- package/dist/test/gateway/http-adapter-contract.js.map +1 -0
- package/dist/test/graphql-manager.test.d.ts +12 -0
- package/dist/test/graphql-manager.test.d.ts.map +1 -0
- package/dist/test/graphql-manager.test.js +488 -0
- package/dist/test/graphql-manager.test.js.map +1 -0
- package/dist/test/index.d.ts +0 -1
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +0 -1
- package/dist/test/index.js.map +1 -1
- package/dist/test/permissions-integration.test.js +6 -20
- package/dist/test/permissions-integration.test.js.map +1 -1
- package/dist/test/push-backfill.test.d.ts +2 -0
- package/dist/test/push-backfill.test.d.ts.map +1 -0
- package/dist/test/push-backfill.test.js +299 -0
- package/dist/test/push-backfill.test.js.map +1 -0
- package/dist/test/reactor-adapters.test.js +3 -2
- package/dist/test/reactor-adapters.test.js.map +1 -1
- package/dist/test/reactor-client.test.js +172 -13
- package/dist/test/reactor-client.test.js.map +1 -1
- package/dist/test/reactor-resolvers.test.js +11 -13
- package/dist/test/reactor-resolvers.test.js.map +1 -1
- package/dist/test/reactor-subgraph-permissions.test.js +7 -36
- package/dist/test/reactor-subgraph-permissions.test.js.map +1 -1
- package/dist/test/subscriptions-sse.test.d.ts +2 -0
- package/dist/test/subscriptions-sse.test.d.ts.map +1 -0
- package/dist/test/subscriptions-sse.test.js +264 -0
- package/dist/test/subscriptions-sse.test.js.map +1 -0
- package/dist/test/subscriptions.test.js +2 -0
- package/dist/test/subscriptions.test.js.map +1 -1
- package/dist/test/utils/gql-resolver-bridge.d.ts +4 -1
- package/dist/test/utils/gql-resolver-bridge.d.ts.map +1 -1
- package/dist/test/utils/gql-resolver-bridge.js +36 -7
- package/dist/test/utils/gql-resolver-bridge.js.map +1 -1
- package/dist/test/utils.d.ts +1 -5
- package/dist/test/utils.d.ts.map +1 -1
- package/dist/test/utils.js +0 -10
- package/dist/test/utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +52 -58
- package/dist/src/graphql/drive-subgraph.d.ts +0 -25
- package/dist/src/graphql/drive-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/drive-subgraph.js +0 -487
- package/dist/src/graphql/drive-subgraph.js.map +0 -1
- package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
- package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/system/system-subgraph.js +0 -130
- package/dist/src/graphql/system/system-subgraph.js.map +0 -1
- package/dist/src/sync/types.d.ts +0 -10
- package/dist/src/sync/types.d.ts.map +0 -1
- package/dist/src/sync/utils.d.ts +0 -7
- package/dist/src/sync/utils.d.ts.map +0 -1
- package/dist/src/sync/utils.js +0 -78
- package/dist/src/sync/utils.js.map +0 -1
- package/dist/src/utils/auth.d.ts +0 -3
- package/dist/src/utils/auth.d.ts.map +0 -1
- package/dist/src/utils/auth.js +0 -19
- package/dist/src/utils/auth.js.map +0 -1
- package/dist/test/benchmarks/load.bench.d.ts +0 -2
- package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
- package/dist/test/benchmarks/load.bench.js +0 -73
- package/dist/test/benchmarks/load.bench.js.map +0 -1
- package/dist/test/benchmarks/sync.bench.d.ts +0 -2
- package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
- package/dist/test/benchmarks/sync.bench.js +0 -119
- package/dist/test/benchmarks/sync.bench.js.map +0 -1
- package/dist/test/drive-handlers.d.ts +0 -4
- package/dist/test/drive-handlers.d.ts.map +0 -1
- package/dist/test/drive-handlers.js +0 -39
- package/dist/test/drive-handlers.js.map +0 -1
- package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
- package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
- package/dist/test/drive-subgraph-permissions.test.js +0 -195
- package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
- package/dist/test/drive.test.d.ts +0 -2
- package/dist/test/drive.test.d.ts.map +0 -1
- package/dist/test/drive.test.js +0 -142
- package/dist/test/drive.test.js.map +0 -1
- package/dist/test/identity-integration.test.d.ts +0 -2
- package/dist/test/identity-integration.test.d.ts.map +0 -1
- package/dist/test/identity-integration.test.js +0 -349
- package/dist/test/identity-integration.test.js.map +0 -1
- package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
- package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
- package/dist/test/pull-responder-transmitter.test.js +0 -220
- package/dist/test/pull-responder-transmitter.test.js.map +0 -1
- package/dist/test/push-transmitter.test.d.ts +0 -2
- package/dist/test/push-transmitter.test.d.ts.map +0 -1
- package/dist/test/push-transmitter.test.js +0 -179
- package/dist/test/push-transmitter.test.js.map +0 -1
- package/dist/test/system.test.d.ts +0 -2
- package/dist/test/system.test.d.ts.map +0 -1
- package/dist/test/system.test.js +0 -211
- package/dist/test/system.test.js.map +0 -1
- package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
- package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
- package/dist/test/three-reactor-gql-sync.test.js +0 -368
- package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
- package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
- package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
- package/dist/test/two-reactor-gql-sync.test.js +0 -348
- package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
- /package/dist/src/{sync → graphql/gateway}/types.js +0 -0
|
@@ -1,349 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
|
2
|
-
describe("nothing", () => {
|
|
3
|
-
it("does nothing", () => {
|
|
4
|
-
expect(true).toBe(true);
|
|
5
|
-
});
|
|
6
|
-
});
|
|
7
|
-
// /**
|
|
8
|
-
// * Integration tests for identity-based authentication and signed actions.
|
|
9
|
-
// *
|
|
10
|
-
// * This test demonstrates the full flow:
|
|
11
|
-
// * 1. Starting reactor-api with initializeAndStartAPI
|
|
12
|
-
// * 2. Setting up a test identity (keypair) programmatically
|
|
13
|
-
// * 3. Using ConnectCrypto to get bearer tokens
|
|
14
|
-
// * 4. Pushing authenticated requests to reactor-api
|
|
15
|
-
// */
|
|
16
|
-
// import { PGlite } from "@electric-sql/pglite";
|
|
17
|
-
// import {
|
|
18
|
-
// type Database,
|
|
19
|
-
// EventBus,
|
|
20
|
-
// ReactorBuilder as NewReactorBuilder,
|
|
21
|
-
// ReactorClientBuilder,
|
|
22
|
-
// SyncBuilder,
|
|
23
|
-
// } from "@powerhousedao/reactor";
|
|
24
|
-
// import {
|
|
25
|
-
// ConnectCrypto,
|
|
26
|
-
// type IConnectCrypto,
|
|
27
|
-
// type JsonWebKeyPairStorage,
|
|
28
|
-
// type JwkKeyPair,
|
|
29
|
-
// } from "@renown/sdk";
|
|
30
|
-
// import type { IDocumentDriveServer } from "document-drive";
|
|
31
|
-
// import {
|
|
32
|
-
// InMemoryCache,
|
|
33
|
-
// MemoryStorage,
|
|
34
|
-
// ReactorBuilder,
|
|
35
|
-
// driveDocumentModelModule,
|
|
36
|
-
// } from "document-drive";
|
|
37
|
-
// import type { DocumentModelModule } from "document-model";
|
|
38
|
-
// import { documentModelDocumentModelModule } from "document-model";
|
|
39
|
-
// import { Kysely } from "kysely";
|
|
40
|
-
// import { PGliteDialect } from "kysely-pglite-dialect";
|
|
41
|
-
// import { afterAll, beforeAll, describe, expect, it } from "vitest";
|
|
42
|
-
// import { getUniqueDocumentModels, initializeAndStartAPI } from "../src/index.js";
|
|
43
|
-
// /**
|
|
44
|
-
// * In-memory key storage for testing.
|
|
45
|
-
// */
|
|
46
|
-
// class TestKeyStorage implements JsonWebKeyPairStorage {
|
|
47
|
-
// private keyPair: JwkKeyPair | undefined;
|
|
48
|
-
// async loadKeyPair(): Promise<JwkKeyPair | undefined> {
|
|
49
|
-
// return this.keyPair;
|
|
50
|
-
// }
|
|
51
|
-
// async saveKeyPair(keyPair: JwkKeyPair): Promise<void> {
|
|
52
|
-
// this.keyPair = keyPair;
|
|
53
|
-
// }
|
|
54
|
-
// getStoredKeyPair(): JwkKeyPair | undefined {
|
|
55
|
-
// return this.keyPair;
|
|
56
|
-
// }
|
|
57
|
-
// }
|
|
58
|
-
// // Use a random port to avoid conflicts
|
|
59
|
-
// const TEST_PORT = 14000 + Math.floor(Math.random() * 1000);
|
|
60
|
-
// const BASE_URL = `http://localhost:${TEST_PORT}`;
|
|
61
|
-
// describe("Identity Integration with startAPI", () => {
|
|
62
|
-
// let connectCrypto: IConnectCrypto;
|
|
63
|
-
// let testKeyStorage: TestKeyStorage;
|
|
64
|
-
// beforeAll(async () => {
|
|
65
|
-
// // Set up test identity
|
|
66
|
-
// testKeyStorage = new TestKeyStorage();
|
|
67
|
-
// connectCrypto = new ConnectCrypto(testKeyStorage);
|
|
68
|
-
// await connectCrypto.did();
|
|
69
|
-
// // Set up storage
|
|
70
|
-
// const cache = new InMemoryCache();
|
|
71
|
-
// const storage = new MemoryStorage();
|
|
72
|
-
// // Initialize drive server function
|
|
73
|
-
// const initializeDriveServer = async (
|
|
74
|
-
// documentModels: DocumentModelModule[],
|
|
75
|
-
// ) => {
|
|
76
|
-
// const driveServer = new ReactorBuilder(
|
|
77
|
-
// getUniqueDocumentModels([
|
|
78
|
-
// documentModelDocumentModelModule,
|
|
79
|
-
// driveDocumentModelModule,
|
|
80
|
-
// ...documentModels,
|
|
81
|
-
// ] as unknown as DocumentModelModule[]),
|
|
82
|
-
// )
|
|
83
|
-
// .withStorage(storage)
|
|
84
|
-
// .withCache(cache)
|
|
85
|
-
// .build();
|
|
86
|
-
// await driveServer.initialize();
|
|
87
|
-
// return driveServer;
|
|
88
|
-
// };
|
|
89
|
-
// // Initialize client function
|
|
90
|
-
// const initializeClient = async (
|
|
91
|
-
// _driveServer: IDocumentDriveServer,
|
|
92
|
-
// documentModels: DocumentModelModule[],
|
|
93
|
-
// ) => {
|
|
94
|
-
// const eventBus = new EventBus();
|
|
95
|
-
// const pglite = new PGlite();
|
|
96
|
-
// const kysely = new Kysely<Database>({
|
|
97
|
-
// dialect: new PGliteDialect(pglite),
|
|
98
|
-
// });
|
|
99
|
-
// const builder = new NewReactorBuilder()
|
|
100
|
-
// .withEventBus(eventBus)
|
|
101
|
-
// .withDocumentModels(
|
|
102
|
-
// getUniqueDocumentModels([
|
|
103
|
-
// documentModelDocumentModelModule,
|
|
104
|
-
// driveDocumentModelModule,
|
|
105
|
-
// ...documentModels,
|
|
106
|
-
// ] as unknown as DocumentModelModule[]),
|
|
107
|
-
// )
|
|
108
|
-
// .withLegacyStorage(storage)
|
|
109
|
-
// .withSync(new SyncBuilder())
|
|
110
|
-
// .withFeatures({
|
|
111
|
-
// legacyStorageEnabled: true,
|
|
112
|
-
// })
|
|
113
|
-
// .withKysely(kysely);
|
|
114
|
-
// const module = await new ReactorClientBuilder()
|
|
115
|
-
// .withReactorBuilder(builder)
|
|
116
|
-
// .buildModule();
|
|
117
|
-
// const syncManager = module.reactorModule?.syncModule?.syncManager;
|
|
118
|
-
// if (!syncManager) {
|
|
119
|
-
// throw new Error("SyncManager not available from ReactorClientBuilder");
|
|
120
|
-
// }
|
|
121
|
-
// return { client: module.client, syncManager };
|
|
122
|
-
// };
|
|
123
|
-
// // Start the API server
|
|
124
|
-
// await initializeAndStartAPI(initializeDriveServer, initializeClient, {
|
|
125
|
-
// port: TEST_PORT,
|
|
126
|
-
// dbPath: undefined, // Use in-memory database
|
|
127
|
-
// auth: {
|
|
128
|
-
// enabled: false, // Disable auth for basic tests
|
|
129
|
-
// admins: [],
|
|
130
|
-
// users: [],
|
|
131
|
-
// guests: [],
|
|
132
|
-
// freeEntry: true,
|
|
133
|
-
// },
|
|
134
|
-
// });
|
|
135
|
-
// }, 30000);
|
|
136
|
-
// afterAll(async () => {
|
|
137
|
-
// // The server will be cleaned up when the test process exits
|
|
138
|
-
// });
|
|
139
|
-
// describe("Server Health", () => {
|
|
140
|
-
// it("should have the GraphQL endpoint available", async () => {
|
|
141
|
-
// const response = await fetch(`${BASE_URL}/graphql`, {
|
|
142
|
-
// method: "POST",
|
|
143
|
-
// headers: {
|
|
144
|
-
// "Content-Type": "application/json",
|
|
145
|
-
// },
|
|
146
|
-
// body: JSON.stringify({
|
|
147
|
-
// query: `{ __typename }`,
|
|
148
|
-
// }),
|
|
149
|
-
// });
|
|
150
|
-
// expect(response.ok).toBe(true);
|
|
151
|
-
// const data = await response.json();
|
|
152
|
-
// expect(data.data).toBeDefined();
|
|
153
|
-
// });
|
|
154
|
-
// });
|
|
155
|
-
// describe("Identity Setup", () => {
|
|
156
|
-
// it("should generate a DID for the test identity", async () => {
|
|
157
|
-
// const did = await connectCrypto.did();
|
|
158
|
-
// expect(did).toMatch(/^did:key:/);
|
|
159
|
-
// });
|
|
160
|
-
// it("should be able to get issuer for signing", async () => {
|
|
161
|
-
// const issuer = await connectCrypto.getIssuer();
|
|
162
|
-
// expect(issuer).toBeDefined();
|
|
163
|
-
// expect(typeof issuer.did).toBe("string");
|
|
164
|
-
// expect(typeof issuer.signer).toBe("function");
|
|
165
|
-
// });
|
|
166
|
-
// it("should generate a bearer token", async () => {
|
|
167
|
-
// const token = await connectCrypto.getBearerToken(BASE_URL, undefined);
|
|
168
|
-
// expect(token).toBeDefined();
|
|
169
|
-
// expect(typeof token).toBe("string");
|
|
170
|
-
// });
|
|
171
|
-
// });
|
|
172
|
-
// describe("GraphQL Queries", () => {
|
|
173
|
-
// it("should query document models", async () => {
|
|
174
|
-
// const response = await fetch(`${BASE_URL}/graphql`, {
|
|
175
|
-
// method: "POST",
|
|
176
|
-
// headers: {
|
|
177
|
-
// "Content-Type": "application/json",
|
|
178
|
-
// },
|
|
179
|
-
// body: JSON.stringify({
|
|
180
|
-
// query: `
|
|
181
|
-
// query {
|
|
182
|
-
// documentModels {
|
|
183
|
-
// results {
|
|
184
|
-
// documentModel {
|
|
185
|
-
// name
|
|
186
|
-
// id
|
|
187
|
-
// }
|
|
188
|
-
// }
|
|
189
|
-
// }
|
|
190
|
-
// }
|
|
191
|
-
// `,
|
|
192
|
-
// }),
|
|
193
|
-
// });
|
|
194
|
-
// expect(response.ok).toBe(true);
|
|
195
|
-
// const data = (await response.json()) as {
|
|
196
|
-
// data?: { documentModels?: { results?: unknown[] } };
|
|
197
|
-
// };
|
|
198
|
-
// expect(data.data?.documentModels?.results).toBeDefined();
|
|
199
|
-
// });
|
|
200
|
-
// it("should query system info", async () => {
|
|
201
|
-
// const response = await fetch(`${BASE_URL}/graphql`, {
|
|
202
|
-
// method: "POST",
|
|
203
|
-
// headers: {
|
|
204
|
-
// "Content-Type": "application/json",
|
|
205
|
-
// },
|
|
206
|
-
// body: JSON.stringify({
|
|
207
|
-
// query: `
|
|
208
|
-
// query {
|
|
209
|
-
// system {
|
|
210
|
-
// auth {
|
|
211
|
-
// me {
|
|
212
|
-
// address
|
|
213
|
-
// }
|
|
214
|
-
// }
|
|
215
|
-
// }
|
|
216
|
-
// }
|
|
217
|
-
// `,
|
|
218
|
-
// }),
|
|
219
|
-
// });
|
|
220
|
-
// expect(response.ok).toBe(true);
|
|
221
|
-
// const data = await response.json();
|
|
222
|
-
// expect(data.data).toBeDefined();
|
|
223
|
-
// });
|
|
224
|
-
// });
|
|
225
|
-
// describe("Authenticated Requests", () => {
|
|
226
|
-
// it("should make authenticated GraphQL request with bearer token", async () => {
|
|
227
|
-
// const token = await connectCrypto.getBearerToken(BASE_URL, undefined);
|
|
228
|
-
// const response = await fetch(`${BASE_URL}/graphql`, {
|
|
229
|
-
// method: "POST",
|
|
230
|
-
// headers: {
|
|
231
|
-
// "Content-Type": "application/json",
|
|
232
|
-
// Authorization: `Bearer ${token}`,
|
|
233
|
-
// },
|
|
234
|
-
// body: JSON.stringify({
|
|
235
|
-
// query: `
|
|
236
|
-
// query {
|
|
237
|
-
// documentModels {
|
|
238
|
-
// results {
|
|
239
|
-
// documentModel {
|
|
240
|
-
// name
|
|
241
|
-
// }
|
|
242
|
-
// }
|
|
243
|
-
// }
|
|
244
|
-
// }
|
|
245
|
-
// `,
|
|
246
|
-
// }),
|
|
247
|
-
// });
|
|
248
|
-
// expect(response.ok).toBe(true);
|
|
249
|
-
// const data = await response.json();
|
|
250
|
-
// expect(data.data).toBeDefined();
|
|
251
|
-
// });
|
|
252
|
-
// });
|
|
253
|
-
// describe("Action Signing", () => {
|
|
254
|
-
// it("should sign action data with identity", async () => {
|
|
255
|
-
// const issuer = await connectCrypto.getIssuer();
|
|
256
|
-
// // Simulate signing an action
|
|
257
|
-
// const actionData = JSON.stringify({
|
|
258
|
-
// type: "SET_NAME",
|
|
259
|
-
// scope: "global",
|
|
260
|
-
// input: { name: "Test Document" },
|
|
261
|
-
// });
|
|
262
|
-
// const signature = await issuer.signer(actionData);
|
|
263
|
-
// expect(signature).toBeDefined();
|
|
264
|
-
// expect(typeof signature).toBe("string");
|
|
265
|
-
// expect((signature as string).length).toBeGreaterThan(0);
|
|
266
|
-
// });
|
|
267
|
-
// it("should produce signatures for data", async () => {
|
|
268
|
-
// const issuer = await connectCrypto.getIssuer();
|
|
269
|
-
// const testData = "test data";
|
|
270
|
-
// const signature1 = await issuer.signer(testData);
|
|
271
|
-
// const signature2 = await issuer.signer(testData);
|
|
272
|
-
// // ECDSA signatures include randomness, so they may differ
|
|
273
|
-
// // but both should be valid strings
|
|
274
|
-
// expect(signature1).toBeDefined();
|
|
275
|
-
// expect(signature2).toBeDefined();
|
|
276
|
-
// });
|
|
277
|
-
// });
|
|
278
|
-
// describe("Full Workflow", () => {
|
|
279
|
-
// it("should demonstrate complete identity-based API interaction", async () => {
|
|
280
|
-
// // 1. Get identity DID
|
|
281
|
-
// const did = await connectCrypto.did();
|
|
282
|
-
// expect(did).toMatch(/^did:key:/);
|
|
283
|
-
// // 2. Get bearer token for API authentication
|
|
284
|
-
// const token = await connectCrypto.getBearerToken(BASE_URL, undefined);
|
|
285
|
-
// expect(token).toBeDefined();
|
|
286
|
-
// // 3. Get issuer for signing operations
|
|
287
|
-
// const issuer = await connectCrypto.getIssuer();
|
|
288
|
-
// expect(issuer.did).toBe(did);
|
|
289
|
-
// // 4. Make authenticated API call
|
|
290
|
-
// const response = await fetch(`${BASE_URL}/graphql`, {
|
|
291
|
-
// method: "POST",
|
|
292
|
-
// headers: {
|
|
293
|
-
// "Content-Type": "application/json",
|
|
294
|
-
// Authorization: `Bearer ${token}`,
|
|
295
|
-
// },
|
|
296
|
-
// body: JSON.stringify({
|
|
297
|
-
// query: `{ __typename }`,
|
|
298
|
-
// }),
|
|
299
|
-
// });
|
|
300
|
-
// expect(response.ok).toBe(true);
|
|
301
|
-
// // 5. Sign operation data (for when submitting signed operations)
|
|
302
|
-
// const operationData = JSON.stringify({
|
|
303
|
-
// type: "CREATE_DOCUMENT",
|
|
304
|
-
// scope: "global",
|
|
305
|
-
// input: { documentType: "powerhouse/document-model" },
|
|
306
|
-
// });
|
|
307
|
-
// const signature = await issuer.signer(operationData);
|
|
308
|
-
// expect(signature).toBeDefined();
|
|
309
|
-
// });
|
|
310
|
-
// });
|
|
311
|
-
// });
|
|
312
|
-
// /**
|
|
313
|
-
// * Usage Guide:
|
|
314
|
-
// *
|
|
315
|
-
// * This test demonstrates how to integrate identity-based authentication with reactor-api.
|
|
316
|
-
// *
|
|
317
|
-
// * Prerequisites:
|
|
318
|
-
// * 1. User runs `ph login` to authenticate with Renown
|
|
319
|
-
// * 2. This creates `.auth.json` (user credentials) and `.keypair.json` (signing keys)
|
|
320
|
-
// *
|
|
321
|
-
// * Programmatic Flow:
|
|
322
|
-
// * ```typescript
|
|
323
|
-
// * import { ConnectCrypto, type JsonWebKeyPairStorage } from "@renown/sdk";
|
|
324
|
-
// *
|
|
325
|
-
// * // 1. Create key storage (or use existing from ph login)
|
|
326
|
-
// * class MyKeyStorage implements JsonWebKeyPairStorage {
|
|
327
|
-
// * async loadKeyPair() { return loadFromFile('.keypair.json'); }
|
|
328
|
-
// * async saveKeyPair(kp) { saveToFile('.keypair.json', kp); }
|
|
329
|
-
// * }
|
|
330
|
-
// *
|
|
331
|
-
// * // 2. Initialize ConnectCrypto
|
|
332
|
-
// * const crypto = new ConnectCrypto(new MyKeyStorage());
|
|
333
|
-
// * const did = await crypto.did(); // Generates keypair if none exists
|
|
334
|
-
// *
|
|
335
|
-
// * // 3. Get bearer token for API
|
|
336
|
-
// * const token = await crypto.getBearerToken("http://localhost:4000", undefined);
|
|
337
|
-
// *
|
|
338
|
-
// * // 4. Make authenticated requests
|
|
339
|
-
// * fetch("http://localhost:4000/graphql", {
|
|
340
|
-
// * headers: { "Authorization": `Bearer ${token}` },
|
|
341
|
-
// * // ...
|
|
342
|
-
// * });
|
|
343
|
-
// *
|
|
344
|
-
// * // 5. Sign operations (for operation-level signatures)
|
|
345
|
-
// * const issuer = await crypto.getIssuer();
|
|
346
|
-
// * const signature = await issuer.signer(JSON.stringify(action));
|
|
347
|
-
// * ```
|
|
348
|
-
// */
|
|
349
|
-
//# sourceMappingURL=identity-integration.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity-integration.test.js","sourceRoot":"","sources":["../../test/identity-integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM;AACN,6EAA6E;AAC7E,KAAK;AACL,2CAA2C;AAC3C,wDAAwD;AACxD,8DAA8D;AAC9D,iDAAiD;AACjD,sDAAsD;AACtD,MAAM;AACN,iDAAiD;AACjD,WAAW;AACX,mBAAmB;AACnB,cAAc;AACd,yCAAyC;AACzC,0BAA0B;AAC1B,iBAAiB;AACjB,mCAAmC;AACnC,WAAW;AACX,mBAAmB;AACnB,yBAAyB;AACzB,gCAAgC;AAChC,qBAAqB;AACrB,wBAAwB;AACxB,8DAA8D;AAC9D,WAAW;AACX,mBAAmB;AACnB,mBAAmB;AACnB,oBAAoB;AACpB,8BAA8B;AAC9B,2BAA2B;AAC3B,6DAA6D;AAC7D,qEAAqE;AACrE,mCAAmC;AACnC,yDAAyD;AACzD,sEAAsE;AACtE,oFAAoF;AAEpF,MAAM;AACN,wCAAwC;AACxC,MAAM;AACN,0DAA0D;AAC1D,6CAA6C;AAE7C,2DAA2D;AAC3D,2BAA2B;AAC3B,MAAM;AAEN,4DAA4D;AAC5D,8BAA8B;AAC9B,MAAM;AAEN,iDAAiD;AACjD,2BAA2B;AAC3B,MAAM;AACN,IAAI;AAEJ,0CAA0C;AAC1C,8DAA8D;AAC9D,oDAAoD;AAEpD,yDAAyD;AACzD,uCAAuC;AACvC,wCAAwC;AAExC,4BAA4B;AAC5B,8BAA8B;AAC9B,6CAA6C;AAC7C,yDAAyD;AACzD,iCAAiC;AAEjC,wBAAwB;AACxB,yCAAyC;AACzC,2CAA2C;AAE3C,0CAA0C;AAC1C,4CAA4C;AAC5C,+CAA+C;AAC/C,aAAa;AACb,gDAAgD;AAChD,oCAAoC;AACpC,8CAA8C;AAC9C,sCAAsC;AACtC,+BAA+B;AAC/B,kDAAkD;AAClD,UAAU;AACV,gCAAgC;AAChC,4BAA4B;AAC5B,oBAAoB;AAEpB,wCAAwC;AACxC,4BAA4B;AAC5B,SAAS;AAET,oCAAoC;AACpC,uCAAuC;AACvC,4CAA4C;AAC5C,+CAA+C;AAC/C,aAAa;AACb,yCAAyC;AACzC,qCAAqC;AACrC,8CAA8C;AAC9C,8CAA8C;AAC9C,YAAY;AAEZ,gDAAgD;AAChD,kCAAkC;AAClC,+BAA+B;AAC/B,sCAAsC;AACtC,gDAAgD;AAChD,wCAAwC;AACxC,iCAAiC;AACjC,oDAAoD;AACpD,YAAY;AACZ,sCAAsC;AACtC,uCAAuC;AACvC,0BAA0B;AAC1B,wCAAwC;AACxC,aAAa;AACb,+BAA+B;AAE/B,wDAAwD;AACxD,uCAAuC;AACvC,0BAA0B;AAE1B,2EAA2E;AAC3E,4BAA4B;AAC5B,kFAAkF;AAClF,UAAU;AAEV,uDAAuD;AACvD,SAAS;AAET,8BAA8B;AAC9B,6EAA6E;AAC7E,yBAAyB;AACzB,qDAAqD;AACrD,gBAAgB;AAChB,0DAA0D;AAC1D,sBAAsB;AACtB,qBAAqB;AACrB,sBAAsB;AACtB,2BAA2B;AAC3B,WAAW;AACX,UAAU;AACV,eAAe;AAEf,2BAA2B;AAC3B,mEAAmE;AACnE,QAAQ;AAER,sCAAsC;AACtC,qEAAqE;AACrE,8DAA8D;AAC9D,0BAA0B;AAC1B,qBAAqB;AACrB,gDAAgD;AAChD,aAAa;AACb,iCAAiC;AACjC,qCAAqC;AACrC,cAAc;AACd,YAAY;AAEZ,wCAAwC;AACxC,4CAA4C;AAC5C,yCAAyC;AACzC,UAAU;AACV,QAAQ;AAER,uCAAuC;AACvC,sEAAsE;AACtE,+CAA+C;AAC/C,0CAA0C;AAC1C,UAAU;AAEV,mEAAmE;AACnE,wDAAwD;AACxD,sCAAsC;AACtC,kDAAkD;AAClD,uDAAuD;AACvD,UAAU;AAEV,yDAAyD;AACzD,+EAA+E;AAC/E,qCAAqC;AACrC,6CAA6C;AAC7C,UAAU;AACV,QAAQ;AAER,wCAAwC;AACxC,uDAAuD;AACvD,8DAA8D;AAC9D,0BAA0B;AAC1B,qBAAqB;AACrB,gDAAgD;AAChD,aAAa;AACb,iCAAiC;AACjC,qBAAqB;AACrB,sBAAsB;AACtB,iCAAiC;AACjC,4BAA4B;AAC5B,oCAAoC;AACpC,2BAA2B;AAC3B,yBAAyB;AACzB,sBAAsB;AACtB,oBAAoB;AACpB,kBAAkB;AAClB,gBAAgB;AAChB,eAAe;AACf,cAAc;AACd,YAAY;AAEZ,wCAAwC;AACxC,kDAAkD;AAClD,+DAA+D;AAC/D,WAAW;AACX,kEAAkE;AAClE,UAAU;AAEV,mDAAmD;AACnD,8DAA8D;AAC9D,0BAA0B;AAC1B,qBAAqB;AACrB,gDAAgD;AAChD,aAAa;AACb,iCAAiC;AACjC,qBAAqB;AACrB,sBAAsB;AACtB,yBAAyB;AACzB,yBAAyB;AACzB,yBAAyB;AACzB,8BAA8B;AAC9B,sBAAsB;AACtB,oBAAoB;AACpB,kBAAkB;AAClB,gBAAgB;AAChB,eAAe;AACf,cAAc;AACd,YAAY;AAEZ,wCAAwC;AACxC,4CAA4C;AAC5C,yCAAyC;AACzC,UAAU;AACV,QAAQ;AAER,+CAA+C;AAC/C,sFAAsF;AACtF,+EAA+E;AAE/E,8DAA8D;AAC9D,0BAA0B;AAC1B,qBAAqB;AACrB,gDAAgD;AAChD,8CAA8C;AAC9C,aAAa;AACb,iCAAiC;AACjC,qBAAqB;AACrB,sBAAsB;AACtB,iCAAiC;AACjC,4BAA4B;AAC5B,oCAAoC;AACpC,2BAA2B;AAC3B,sBAAsB;AACtB,oBAAoB;AACpB,kBAAkB;AAClB,gBAAgB;AAChB,eAAe;AACf,cAAc;AACd,YAAY;AAEZ,wCAAwC;AACxC,4CAA4C;AAC5C,yCAAyC;AACzC,UAAU;AACV,QAAQ;AAER,uCAAuC;AACvC,gEAAgE;AAChE,wDAAwD;AAExD,sCAAsC;AACtC,4CAA4C;AAC5C,4BAA4B;AAC5B,2BAA2B;AAC3B,4CAA4C;AAC5C,YAAY;AAEZ,2DAA2D;AAC3D,yCAAyC;AACzC,iDAAiD;AACjD,iEAAiE;AACjE,UAAU;AAEV,6DAA6D;AAC7D,wDAAwD;AACxD,sCAAsC;AAEtC,0DAA0D;AAC1D,0DAA0D;AAE1D,mEAAmE;AACnE,4CAA4C;AAC5C,0CAA0C;AAC1C,0CAA0C;AAC1C,UAAU;AACV,QAAQ;AAER,sCAAsC;AACtC,qFAAqF;AACrF,+BAA+B;AAC/B,+CAA+C;AAC/C,0CAA0C;AAE1C,sDAAsD;AACtD,+EAA+E;AAC/E,qCAAqC;AAErC,gDAAgD;AAChD,wDAAwD;AACxD,sCAAsC;AAEtC,0CAA0C;AAC1C,8DAA8D;AAC9D,0BAA0B;AAC1B,qBAAqB;AACrB,gDAAgD;AAChD,8CAA8C;AAC9C,aAAa;AACb,iCAAiC;AACjC,qCAAqC;AACrC,cAAc;AACd,YAAY;AACZ,wCAAwC;AAExC,0EAA0E;AAC1E,+CAA+C;AAC/C,mCAAmC;AACnC,2BAA2B;AAC3B,gEAAgE;AAChE,YAAY;AACZ,8DAA8D;AAC9D,yCAAyC;AACzC,UAAU;AACV,QAAQ;AACR,MAAM;AAEN,MAAM;AACN,kBAAkB;AAClB,KAAK;AACL,6FAA6F;AAC7F,KAAK;AACL,oBAAoB;AACpB,yDAAyD;AACzD,wFAAwF;AACxF,KAAK;AACL,wBAAwB;AACxB,mBAAmB;AACnB,8EAA8E;AAC9E,KAAK;AACL,8DAA8D;AAC9D,2DAA2D;AAC3D,qEAAqE;AACrE,kEAAkE;AAClE,OAAO;AACP,KAAK;AACL,oCAAoC;AACpC,2DAA2D;AAC3D,yEAAyE;AACzE,KAAK;AACL,oCAAoC;AACpC,oFAAoF;AACpF,KAAK;AACL,uCAAuC;AACvC,8CAA8C;AAC9C,wDAAwD;AACxD,cAAc;AACd,SAAS;AACT,KAAK;AACL,4DAA4D;AAC5D,8CAA8C;AAC9C,oEAAoE;AACpE,SAAS;AACT,MAAM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pull-responder-transmitter.test.d.ts","sourceRoot":"","sources":["../../test/pull-responder-transmitter.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import { createDriveHandlers, expectUUID, getDocumentScopeIndexes, testSetupReactor, } from "@powerhousedao/reactor-api/test";
|
|
2
|
-
import { PullResponderTransmitter, addFile, addFolder } from "document-drive";
|
|
3
|
-
import { documentModelCreateDocument, setAuthorName } from "document-model";
|
|
4
|
-
import { generateId } from "document-model/core";
|
|
5
|
-
import { setupServer } from "msw/node";
|
|
6
|
-
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
7
|
-
const remoteUrl = "http://test.com/d/test";
|
|
8
|
-
describe("Pull Responder Transmitter", () => {
|
|
9
|
-
let server;
|
|
10
|
-
let remoteReactor;
|
|
11
|
-
const driveId = generateId();
|
|
12
|
-
const remoteDrive = {
|
|
13
|
-
id: driveId,
|
|
14
|
-
global: {
|
|
15
|
-
name: "Test Drive",
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
const triggerOptions = {
|
|
19
|
-
pullFilter: {
|
|
20
|
-
branch: ["main"],
|
|
21
|
-
documentId: ["*"],
|
|
22
|
-
documentType: ["*"],
|
|
23
|
-
scope: ["global"],
|
|
24
|
-
},
|
|
25
|
-
pullInterval: 50,
|
|
26
|
-
};
|
|
27
|
-
async function setupTrigger() {
|
|
28
|
-
const { listenerManager } = await testSetupReactor();
|
|
29
|
-
return PullResponderTransmitter.createPullResponderTrigger(driveId, remoteUrl, triggerOptions, listenerManager);
|
|
30
|
-
}
|
|
31
|
-
beforeEach(async () => {
|
|
32
|
-
const { reactor } = await testSetupReactor();
|
|
33
|
-
const drive = await reactor.addDrive(remoteDrive);
|
|
34
|
-
remoteReactor = reactor;
|
|
35
|
-
server = setupServer(...createDriveHandlers(reactor, drive.header.id));
|
|
36
|
-
server.listen({ onUnhandledRequest: "error" });
|
|
37
|
-
});
|
|
38
|
-
afterEach(() => {
|
|
39
|
-
server.resetHandlers(); // Reset any handlers overridden during a test
|
|
40
|
-
server.close();
|
|
41
|
-
});
|
|
42
|
-
it("should register listener and create trigger", async () => {
|
|
43
|
-
const trigger = await setupTrigger();
|
|
44
|
-
expect(trigger).toStrictEqual({
|
|
45
|
-
driveId: driveId,
|
|
46
|
-
filter: triggerOptions.pullFilter,
|
|
47
|
-
type: "PullResponder",
|
|
48
|
-
id: expectUUID(expect),
|
|
49
|
-
data: {
|
|
50
|
-
interval: triggerOptions.pullInterval.toString(),
|
|
51
|
-
listenerId: expectUUID(expect),
|
|
52
|
-
url: remoteUrl,
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
const remoteListener = remoteReactor.listeners.getListenerState(driveId, trigger.data.listenerId);
|
|
56
|
-
expect(remoteListener).toMatchObject({
|
|
57
|
-
listener: {
|
|
58
|
-
driveId: driveId,
|
|
59
|
-
listenerId: trigger.data.listenerId,
|
|
60
|
-
filter: triggerOptions.pullFilter,
|
|
61
|
-
},
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
it("should pull drive operation from remote reactor", async () => {
|
|
65
|
-
const { reactor } = await testSetupReactor();
|
|
66
|
-
const trigger = await setupTrigger();
|
|
67
|
-
await reactor.addDrive({
|
|
68
|
-
id: driveId,
|
|
69
|
-
global: remoteDrive.global,
|
|
70
|
-
local: {
|
|
71
|
-
availableOffline: true,
|
|
72
|
-
triggers: [trigger],
|
|
73
|
-
},
|
|
74
|
-
});
|
|
75
|
-
const result = await remoteReactor.queueAction(driveId, addFolder({ id: generateId(), name: "test" }));
|
|
76
|
-
await vi.waitFor(async () => {
|
|
77
|
-
const drive = await reactor.getDrive(driveId);
|
|
78
|
-
expect(getDocumentScopeIndexes(drive)).toStrictEqual({
|
|
79
|
-
global: 0,
|
|
80
|
-
local: -1,
|
|
81
|
-
});
|
|
82
|
-
const resultDrive = result.document;
|
|
83
|
-
expect(drive.state.global).toStrictEqual(resultDrive.state.global);
|
|
84
|
-
}, {
|
|
85
|
-
timeout: 1000,
|
|
86
|
-
});
|
|
87
|
-
await reactor.deleteDrive(driveId);
|
|
88
|
-
});
|
|
89
|
-
it("should push new document to remote reactor", async () => {
|
|
90
|
-
const { reactor } = await testSetupReactor();
|
|
91
|
-
const trigger = await setupTrigger();
|
|
92
|
-
await reactor.addDrive({
|
|
93
|
-
id: driveId,
|
|
94
|
-
global: remoteDrive.global,
|
|
95
|
-
local: {
|
|
96
|
-
availableOffline: true,
|
|
97
|
-
triggers: [trigger],
|
|
98
|
-
},
|
|
99
|
-
});
|
|
100
|
-
const newDocument = documentModelCreateDocument();
|
|
101
|
-
const documentId = newDocument.header.id;
|
|
102
|
-
const document = await remoteReactor.addDocument(newDocument);
|
|
103
|
-
const result = await remoteReactor.queueAction(driveId, addFile({
|
|
104
|
-
id: documentId,
|
|
105
|
-
name: "test",
|
|
106
|
-
documentType: document.header.documentType,
|
|
107
|
-
}));
|
|
108
|
-
await vi.waitFor(async () => {
|
|
109
|
-
const drive = await reactor.getDrive(driveId);
|
|
110
|
-
expect(getDocumentScopeIndexes(drive)).toStrictEqual({
|
|
111
|
-
global: 0,
|
|
112
|
-
local: -1,
|
|
113
|
-
});
|
|
114
|
-
const resultDrive = result.document;
|
|
115
|
-
expect(drive.state.global).toStrictEqual(resultDrive.state.global);
|
|
116
|
-
});
|
|
117
|
-
await vi.waitFor(async () => {
|
|
118
|
-
const document = (await reactor.getDocument(documentId));
|
|
119
|
-
expect(getDocumentScopeIndexes(document)).toStrictEqual({
|
|
120
|
-
global: -1,
|
|
121
|
-
local: -1,
|
|
122
|
-
});
|
|
123
|
-
const remoteDocument = (await remoteReactor.getDocument(documentId));
|
|
124
|
-
expect(document.state.global).toStrictEqual(remoteDocument.state.global);
|
|
125
|
-
});
|
|
126
|
-
await reactor.deleteDrive(driveId);
|
|
127
|
-
});
|
|
128
|
-
it("should push new document with operations to remote reactor", async () => {
|
|
129
|
-
const { reactor } = await testSetupReactor();
|
|
130
|
-
const trigger = await setupTrigger();
|
|
131
|
-
await reactor.addDrive({
|
|
132
|
-
id: driveId,
|
|
133
|
-
global: remoteDrive.global,
|
|
134
|
-
local: {
|
|
135
|
-
availableOffline: true,
|
|
136
|
-
triggers: [trigger],
|
|
137
|
-
},
|
|
138
|
-
});
|
|
139
|
-
const newDocument = documentModelCreateDocument();
|
|
140
|
-
const documentId = newDocument.header.id;
|
|
141
|
-
const document = await remoteReactor.addDocument(newDocument);
|
|
142
|
-
const result = await remoteReactor.queueAction(documentId, setAuthorName({
|
|
143
|
-
authorName: "test",
|
|
144
|
-
}));
|
|
145
|
-
await remoteReactor.queueAction(driveId, addFile({
|
|
146
|
-
id: documentId,
|
|
147
|
-
name: "test",
|
|
148
|
-
documentType: document.header.documentType,
|
|
149
|
-
}));
|
|
150
|
-
await vi.waitFor(async () => {
|
|
151
|
-
const document = (await reactor.getDocument(documentId));
|
|
152
|
-
expect(getDocumentScopeIndexes(document)).toStrictEqual({
|
|
153
|
-
global: 0,
|
|
154
|
-
local: -1,
|
|
155
|
-
});
|
|
156
|
-
const resultDocument = result.document;
|
|
157
|
-
expect(document.state.global).toStrictEqual(resultDocument.state.global);
|
|
158
|
-
});
|
|
159
|
-
await reactor.deleteDrive(driveId);
|
|
160
|
-
});
|
|
161
|
-
it("should persist triggers in drive storage and retrieve them correctly", async () => {
|
|
162
|
-
const { reactor } = await testSetupReactor();
|
|
163
|
-
const trigger = await setupTrigger();
|
|
164
|
-
// Create a drive with triggers and listeners
|
|
165
|
-
const testListeners = [
|
|
166
|
-
{
|
|
167
|
-
listenerId: "test-listener-1",
|
|
168
|
-
label: "Test Listener",
|
|
169
|
-
version: "1.0.0",
|
|
170
|
-
url: "https://example.com/listener",
|
|
171
|
-
system: false,
|
|
172
|
-
status: "CONNECTING",
|
|
173
|
-
block: false,
|
|
174
|
-
callInfo: {
|
|
175
|
-
data: "",
|
|
176
|
-
name: "Test Listener",
|
|
177
|
-
transmitterType: "PullResponder",
|
|
178
|
-
},
|
|
179
|
-
filter: {
|
|
180
|
-
documentType: ["*"],
|
|
181
|
-
documentId: ["*"],
|
|
182
|
-
scope: ["global"],
|
|
183
|
-
branch: ["main"],
|
|
184
|
-
},
|
|
185
|
-
},
|
|
186
|
-
];
|
|
187
|
-
const createdDrive = await reactor.addDrive({
|
|
188
|
-
id: generateId(),
|
|
189
|
-
global: {
|
|
190
|
-
name: "Test Drive with Triggers",
|
|
191
|
-
icon: null,
|
|
192
|
-
},
|
|
193
|
-
local: {
|
|
194
|
-
availableOffline: true,
|
|
195
|
-
triggers: [trigger],
|
|
196
|
-
listeners: testListeners,
|
|
197
|
-
sharingType: "private",
|
|
198
|
-
},
|
|
199
|
-
});
|
|
200
|
-
const createdDriveId = createdDrive.header.id;
|
|
201
|
-
// Verify initial state has triggers and listeners
|
|
202
|
-
expect(createdDrive.state.local.triggers).toHaveLength(1);
|
|
203
|
-
expect(createdDrive.state.local.triggers[0].id).toBe(trigger.id);
|
|
204
|
-
expect(createdDrive.state.local.listeners).toHaveLength(1);
|
|
205
|
-
expect(createdDrive.state.local.listeners[0].listenerId).toBe(testListeners[0].listenerId);
|
|
206
|
-
// Now retrieve the drive from storage (simulating a restart)
|
|
207
|
-
const retrievedDrive = await reactor.getDrive(createdDriveId);
|
|
208
|
-
// Verify that triggers and listeners are preserved after retrieval
|
|
209
|
-
expect(retrievedDrive.state.local.triggers).toHaveLength(1);
|
|
210
|
-
expect(retrievedDrive.state.local.triggers[0]).toStrictEqual(trigger);
|
|
211
|
-
expect(retrievedDrive.state.local.listeners).toHaveLength(1);
|
|
212
|
-
expect(retrievedDrive.state.local.listeners[0]).toStrictEqual(testListeners[0]);
|
|
213
|
-
// Verify other local state is also preserved
|
|
214
|
-
expect(retrievedDrive.state.local.availableOffline).toBe(true);
|
|
215
|
-
expect(retrievedDrive.state.local.sharingType).toBe("private");
|
|
216
|
-
// Clean up
|
|
217
|
-
await reactor.deleteDrive(createdDriveId);
|
|
218
|
-
});
|
|
219
|
-
});
|
|
220
|
-
//# sourceMappingURL=pull-responder-transmitter.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pull-responder-transmitter.test.js","sourceRoot":"","sources":["../../test/pull-responder-transmitter.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"push-transmitter.test.d.ts","sourceRoot":"","sources":["../../test/push-transmitter.test.ts"],"names":[],"mappings":""}
|