@powerhousedao/reactor-api 6.0.0-dev.153 → 6.0.0-dev.155
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +2948 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +6353 -0
- package/dist/index.mjs.map +1 -0
- package/dist/src/packages/vite-loader.mjs +142 -0
- package/dist/src/packages/vite-loader.mjs.map +1 -0
- package/dist/types-Do4QTfT3.d.mts +37 -0
- package/dist/types-Do4QTfT3.d.mts.map +1 -0
- package/dist/utils-DEEhP99G.mjs +286 -0
- package/dist/utils-DEEhP99G.mjs.map +1 -0
- package/dist/vite-loader.d.mts +29 -0
- package/dist/vite-loader.d.mts.map +1 -0
- package/package.json +17 -25
- package/dist/codegen.d.ts +0 -4
- package/dist/codegen.d.ts.map +0 -1
- package/dist/codegen.js +0 -38
- package/dist/codegen.js.map +0 -1
- package/dist/index.d.ts +0 -15
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -15
- package/dist/index.js.map +0 -1
- package/dist/src/config.d.ts +0 -6
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -6
- package/dist/src/config.js.map +0 -1
- package/dist/src/dev.d.ts +0 -2
- package/dist/src/dev.d.ts.map +0 -1
- package/dist/src/dev.js +0 -51
- package/dist/src/dev.js.map +0 -1
- package/dist/src/graphql/analytics-subgraph.d.ts +0 -14
- package/dist/src/graphql/analytics-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/analytics-subgraph.js +0 -26
- package/dist/src/graphql/analytics-subgraph.js.map +0 -1
- package/dist/src/graphql/auth/index.d.ts +0 -2
- package/dist/src/graphql/auth/index.d.ts.map +0 -1
- package/dist/src/graphql/auth/index.js +0 -2
- package/dist/src/graphql/auth/index.js.map +0 -1
- package/dist/src/graphql/auth/resolvers.d.ts +0 -166
- package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
- package/dist/src/graphql/auth/resolvers.js +0 -227
- package/dist/src/graphql/auth/resolvers.js.map +0 -1
- package/dist/src/graphql/auth/schema.graphql +0 -195
- package/dist/src/graphql/auth/subgraph.d.ts +0 -202
- package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
- package/dist/src/graphql/auth/subgraph.js +0 -384
- package/dist/src/graphql/auth/subgraph.js.map +0 -1
- package/dist/src/graphql/base-subgraph.d.ts +0 -27
- package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/base-subgraph.js +0 -126
- package/dist/src/graphql/base-subgraph.js.map +0 -1
- package/dist/src/graphql/document-model-subgraph.d.ts +0 -110
- package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/document-model-subgraph.js +0 -336
- package/dist/src/graphql/document-model-subgraph.js.map +0 -1
- package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts +0 -23
- package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts.map +0 -1
- package/dist/src/graphql/gateway/adapter-gateway-apollo.js +0 -156
- package/dist/src/graphql/gateway/adapter-gateway-apollo.js.map +0 -1
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts +0 -17
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts.map +0 -1
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.js +0 -154
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.js.map +0 -1
- package/dist/src/graphql/gateway/adapter-http-express.d.ts +0 -25
- package/dist/src/graphql/gateway/adapter-http-express.d.ts.map +0 -1
- package/dist/src/graphql/gateway/adapter-http-express.js +0 -163
- package/dist/src/graphql/gateway/adapter-http-express.js.map +0 -1
- package/dist/src/graphql/gateway/adapter-http-fastify.d.ts +0 -23
- package/dist/src/graphql/gateway/adapter-http-fastify.d.ts.map +0 -1
- package/dist/src/graphql/gateway/adapter-http-fastify.js +0 -228
- package/dist/src/graphql/gateway/adapter-http-fastify.js.map +0 -1
- package/dist/src/graphql/gateway/auth-middleware.d.ts +0 -7
- package/dist/src/graphql/gateway/auth-middleware.d.ts.map +0 -1
- package/dist/src/graphql/gateway/auth-middleware.js +0 -15
- package/dist/src/graphql/gateway/auth-middleware.js.map +0 -1
- package/dist/src/graphql/gateway/factory.d.ts +0 -11
- package/dist/src/graphql/gateway/factory.d.ts.map +0 -1
- package/dist/src/graphql/gateway/factory.js +0 -21
- package/dist/src/graphql/gateway/factory.js.map +0 -1
- package/dist/src/graphql/gateway/types.d.ts +0 -100
- package/dist/src/graphql/gateway/types.d.ts.map +0 -1
- package/dist/src/graphql/gateway/types.js +0 -2
- package/dist/src/graphql/gateway/types.js.map +0 -1
- package/dist/src/graphql/graphql-manager.d.ts +0 -65
- package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
- package/dist/src/graphql/graphql-manager.js +0 -483
- package/dist/src/graphql/graphql-manager.js.map +0 -1
- package/dist/src/graphql/index.d.ts +0 -13
- package/dist/src/graphql/index.d.ts.map +0 -1
- package/dist/src/graphql/index.js +0 -13
- package/dist/src/graphql/index.js.map +0 -1
- package/dist/src/graphql/packages/index.d.ts +0 -2
- package/dist/src/graphql/packages/index.d.ts.map +0 -1
- package/dist/src/graphql/packages/index.js +0 -2
- package/dist/src/graphql/packages/index.js.map +0 -1
- package/dist/src/graphql/packages/resolvers.d.ts +0 -31
- package/dist/src/graphql/packages/resolvers.d.ts.map +0 -1
- package/dist/src/graphql/packages/resolvers.js +0 -37
- package/dist/src/graphql/packages/resolvers.js.map +0 -1
- package/dist/src/graphql/packages/schema.graphql +0 -50
- package/dist/src/graphql/packages/subgraph.d.ts +0 -55
- package/dist/src/graphql/packages/subgraph.d.ts.map +0 -1
- package/dist/src/graphql/packages/subgraph.js +0 -73
- package/dist/src/graphql/packages/subgraph.js.map +0 -1
- package/dist/src/graphql/playground.d.ts +0 -2
- package/dist/src/graphql/playground.d.ts.map +0 -1
- package/dist/src/graphql/playground.js +0 -81
- package/dist/src/graphql/playground.js.map +0 -1
- package/dist/src/graphql/reactor/adapters.d.ts +0 -62
- package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
- package/dist/src/graphql/reactor/adapters.js +0 -271
- package/dist/src/graphql/reactor/adapters.js.map +0 -1
- package/dist/src/graphql/reactor/factory.d.ts +0 -105
- package/dist/src/graphql/reactor/factory.d.ts.map +0 -1
- package/dist/src/graphql/reactor/factory.js +0 -7
- package/dist/src/graphql/reactor/factory.js.map +0 -1
- package/dist/src/graphql/reactor/gen/graphql.d.ts +0 -1489
- package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
- package/dist/src/graphql/reactor/gen/graphql.js +0 -731
- package/dist/src/graphql/reactor/gen/graphql.js.map +0 -1
- package/dist/src/graphql/reactor/index.d.ts +0 -4
- package/dist/src/graphql/reactor/index.d.ts.map +0 -1
- package/dist/src/graphql/reactor/index.js +0 -4
- package/dist/src/graphql/reactor/index.js.map +0 -1
- package/dist/src/graphql/reactor/operations.graphql +0 -443
- package/dist/src/graphql/reactor/pubsub.d.ts +0 -27
- package/dist/src/graphql/reactor/pubsub.d.ts.map +0 -1
- package/dist/src/graphql/reactor/pubsub.js +0 -93
- package/dist/src/graphql/reactor/pubsub.js.map +0 -1
- package/dist/src/graphql/reactor/requester.d.ts +0 -4
- package/dist/src/graphql/reactor/requester.d.ts.map +0 -1
- package/dist/src/graphql/reactor/requester.js +0 -22
- package/dist/src/graphql/reactor/requester.js.map +0 -1
- package/dist/src/graphql/reactor/requester.with-zod.d.ts +0 -4
- package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +0 -1
- package/dist/src/graphql/reactor/requester.with-zod.js +0 -129
- package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
- package/dist/src/graphql/reactor/resolvers.d.ts +0 -223
- package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
- package/dist/src/graphql/reactor/resolvers.js +0 -682
- package/dist/src/graphql/reactor/resolvers.js.map +0 -1
- package/dist/src/graphql/reactor/schema.graphql +0 -475
- package/dist/src/graphql/reactor/subgraph.d.ts +0 -18
- package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
- package/dist/src/graphql/reactor/subgraph.js +0 -460
- package/dist/src/graphql/reactor/subgraph.js.map +0 -1
- package/dist/src/graphql/reactor/validation.d.ts +0 -348
- package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
- package/dist/src/graphql/reactor/validation.js +0 -167
- package/dist/src/graphql/reactor/validation.js.map +0 -1
- package/dist/src/graphql/sse.d.ts +0 -35
- package/dist/src/graphql/sse.d.ts.map +0 -1
- package/dist/src/graphql/sse.js +0 -29
- package/dist/src/graphql/sse.js.map +0 -1
- package/dist/src/graphql/system/env/getters.d.ts +0 -2
- package/dist/src/graphql/system/env/getters.d.ts.map +0 -1
- package/dist/src/graphql/system/env/getters.js +0 -4
- package/dist/src/graphql/system/env/getters.js.map +0 -1
- package/dist/src/graphql/system/env/index.d.ts +0 -2
- package/dist/src/graphql/system/env/index.d.ts.map +0 -1
- package/dist/src/graphql/system/env/index.js +0 -5
- package/dist/src/graphql/system/env/index.js.map +0 -1
- package/dist/src/graphql/system/index.d.ts +0 -2
- package/dist/src/graphql/system/index.d.ts.map +0 -1
- package/dist/src/graphql/system/index.js +0 -2
- package/dist/src/graphql/system/index.js.map +0 -1
- package/dist/src/graphql/system/types.d.ts +0 -2
- package/dist/src/graphql/system/types.d.ts.map +0 -1
- package/dist/src/graphql/system/types.js +0 -2
- package/dist/src/graphql/system/types.js.map +0 -1
- package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
- package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
- package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
- package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
- package/dist/src/graphql/types.d.ts +0 -102
- package/dist/src/graphql/types.d.ts.map +0 -1
- package/dist/src/graphql/types.js +0 -2
- package/dist/src/graphql/types.js.map +0 -1
- package/dist/src/graphql/utils.d.ts +0 -9
- package/dist/src/graphql/utils.d.ts.map +0 -1
- package/dist/src/graphql/utils.js +0 -72
- package/dist/src/graphql/utils.js.map +0 -1
- package/dist/src/graphql/websocket.d.ts +0 -3
- package/dist/src/graphql/websocket.d.ts.map +0 -1
- package/dist/src/graphql/websocket.js +0 -15
- package/dist/src/graphql/websocket.js.map +0 -1
- package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
- package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
- package/dist/src/migrations/001_create_document_permissions.js +0 -91
- package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
- package/dist/src/migrations/002_add_document_protection.d.ts +0 -4
- package/dist/src/migrations/002_add_document_protection.d.ts.map +0 -1
- package/dist/src/migrations/002_add_document_protection.js +0 -18
- package/dist/src/migrations/002_add_document_protection.js.map +0 -1
- package/dist/src/migrations/index.d.ts +0 -10
- package/dist/src/migrations/index.d.ts.map +0 -1
- package/dist/src/migrations/index.js +0 -58
- package/dist/src/migrations/index.js.map +0 -1
- package/dist/src/packages/http-loader.d.ts +0 -59
- package/dist/src/packages/http-loader.d.ts.map +0 -1
- package/dist/src/packages/http-loader.js +0 -203
- package/dist/src/packages/http-loader.js.map +0 -1
- package/dist/src/packages/https-hooks.d.mts +0 -37
- package/dist/src/packages/https-hooks.d.mts.map +0 -1
- package/dist/src/packages/https-hooks.mjs +0 -95
- package/dist/src/packages/https-hooks.mjs.map +0 -1
- package/dist/src/packages/import-loader.d.ts +0 -14
- package/dist/src/packages/import-loader.d.ts.map +0 -1
- package/dist/src/packages/import-loader.js +0 -47
- package/dist/src/packages/import-loader.js.map +0 -1
- package/dist/src/packages/import-resolver.d.ts +0 -5
- package/dist/src/packages/import-resolver.d.ts.map +0 -1
- package/dist/src/packages/import-resolver.js +0 -127
- package/dist/src/packages/import-resolver.js.map +0 -1
- package/dist/src/packages/package-manager.d.ts +0 -33
- package/dist/src/packages/package-manager.d.ts.map +0 -1
- package/dist/src/packages/package-manager.js +0 -216
- package/dist/src/packages/package-manager.js.map +0 -1
- package/dist/src/packages/types.d.ts +0 -39
- package/dist/src/packages/types.d.ts.map +0 -1
- package/dist/src/packages/types.js +0 -2
- package/dist/src/packages/types.js.map +0 -1
- package/dist/src/packages/util.d.ts +0 -26
- package/dist/src/packages/util.d.ts.map +0 -1
- package/dist/src/packages/util.js +0 -85
- package/dist/src/packages/util.js.map +0 -1
- package/dist/src/packages/vite-loader.d.ts +0 -25
- package/dist/src/packages/vite-loader.d.ts.map +0 -1
- package/dist/src/packages/vite-loader.js +0 -171
- package/dist/src/packages/vite-loader.js.map +0 -1
- package/dist/src/server.d.ts +0 -55
- package/dist/src/server.d.ts.map +0 -1
- package/dist/src/server.js +0 -351
- package/dist/src/server.js.map +0 -1
- package/dist/src/services/auth.service.d.ts +0 -53
- package/dist/src/services/auth.service.d.ts.map +0 -1
- package/dist/src/services/auth.service.js +0 -165
- package/dist/src/services/auth.service.js.map +0 -1
- package/dist/src/services/authorization.service.d.ts +0 -70
- package/dist/src/services/authorization.service.d.ts.map +0 -1
- package/dist/src/services/authorization.service.js +0 -155
- package/dist/src/services/authorization.service.js.map +0 -1
- package/dist/src/services/document-permission.service.d.ts +0 -241
- package/dist/src/services/document-permission.service.d.ts.map +0 -1
- package/dist/src/services/document-permission.service.js +0 -791
- package/dist/src/services/document-permission.service.js.map +0 -1
- package/dist/src/services/package-management.service.d.ts +0 -32
- package/dist/src/services/package-management.service.d.ts.map +0 -1
- package/dist/src/services/package-management.service.js +0 -95
- package/dist/src/services/package-management.service.js.map +0 -1
- package/dist/src/services/package-storage.d.ts +0 -23
- package/dist/src/services/package-storage.d.ts.map +0 -1
- package/dist/src/services/package-storage.js +0 -19
- package/dist/src/services/package-storage.js.map +0 -1
- package/dist/src/tracing.d.ts +0 -4
- package/dist/src/tracing.d.ts.map +0 -1
- package/dist/src/tracing.js +0 -146
- package/dist/src/tracing.js.map +0 -1
- package/dist/src/types.d.ts +0 -26
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -2
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils/create-schema.d.ts +0 -36
- package/dist/src/utils/create-schema.d.ts.map +0 -1
- package/dist/src/utils/create-schema.js +0 -728
- package/dist/src/utils/create-schema.js.map +0 -1
- package/dist/src/utils/db.d.ts +0 -82
- package/dist/src/utils/db.d.ts.map +0 -1
- package/dist/src/utils/db.js +0 -101
- package/dist/src/utils/db.js.map +0 -1
- package/dist/src/utils/drive-url.d.ts +0 -2
- package/dist/src/utils/drive-url.d.ts.map +0 -1
- package/dist/src/utils/drive-url.js +0 -3
- package/dist/src/utils/drive-url.js.map +0 -1
- package/dist/src/utils/index.d.ts +0 -4
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/index.js +0 -4
- package/dist/src/utils/index.js.map +0 -1
- package/dist/test/auth-chain.test.d.ts +0 -12
- package/dist/test/auth-chain.test.d.ts.map +0 -1
- package/dist/test/auth-chain.test.js +0 -157
- package/dist/test/auth-chain.test.js.map +0 -1
- package/dist/test/auth.service.test.d.ts +0 -10
- package/dist/test/auth.service.test.d.ts.map +0 -1
- package/dist/test/auth.service.test.js +0 -141
- package/dist/test/auth.service.test.js.map +0 -1
- package/dist/test/authorization.service.test.d.ts +0 -2
- package/dist/test/authorization.service.test.d.ts.map +0 -1
- package/dist/test/authorization.service.test.js +0 -252
- package/dist/test/authorization.service.test.js.map +0 -1
- package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +0 -2
- package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +0 -1
- package/dist/test/connect-switchboard-reshuffle-convergence.test.js +0 -204
- package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +0 -1
- package/dist/test/connect-switchboard-sync.test.d.ts +0 -2
- package/dist/test/connect-switchboard-sync.test.d.ts.map +0 -1
- package/dist/test/connect-switchboard-sync.test.js +0 -633
- package/dist/test/connect-switchboard-sync.test.js.map +0 -1
- package/dist/test/document-drive-subgraph.test.d.ts +0 -2
- package/dist/test/document-drive-subgraph.test.d.ts.map +0 -1
- package/dist/test/document-drive-subgraph.test.js +0 -244
- package/dist/test/document-drive-subgraph.test.js.map +0 -1
- package/dist/test/document-model-subgraph-permissions.test.d.ts +0 -2
- package/dist/test/document-model-subgraph-permissions.test.d.ts.map +0 -1
- package/dist/test/document-model-subgraph-permissions.test.js +0 -587
- package/dist/test/document-model-subgraph-permissions.test.js.map +0 -1
- package/dist/test/document-permission.service.test.d.ts +0 -2
- package/dist/test/document-permission.service.test.d.ts.map +0 -1
- package/dist/test/document-permission.service.test.js +0 -480
- package/dist/test/document-permission.service.test.js.map +0 -1
- package/dist/test/drive-info-endpoint.test.d.ts +0 -2
- package/dist/test/drive-info-endpoint.test.d.ts.map +0 -1
- package/dist/test/drive-info-endpoint.test.js +0 -123
- package/dist/test/drive-info-endpoint.test.js.map +0 -1
- package/dist/test/fault-injection-sync.test.d.ts +0 -2
- package/dist/test/fault-injection-sync.test.d.ts.map +0 -1
- package/dist/test/fault-injection-sync.test.js +0 -197
- package/dist/test/fault-injection-sync.test.js.map +0 -1
- package/dist/test/gateway/adapter-gateway-apollo.test.d.ts +0 -2
- package/dist/test/gateway/adapter-gateway-apollo.test.d.ts.map +0 -1
- package/dist/test/gateway/adapter-gateway-apollo.test.js +0 -206
- package/dist/test/gateway/adapter-gateway-apollo.test.js.map +0 -1
- package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts +0 -2
- package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts.map +0 -1
- package/dist/test/gateway/adapter-gateway-mercurius.test.js +0 -23
- package/dist/test/gateway/adapter-gateway-mercurius.test.js.map +0 -1
- package/dist/test/gateway/adapter-http-express.test.d.ts +0 -2
- package/dist/test/gateway/adapter-http-express.test.d.ts.map +0 -1
- package/dist/test/gateway/adapter-http-express.test.js +0 -17
- package/dist/test/gateway/adapter-http-express.test.js.map +0 -1
- package/dist/test/gateway/adapter-http-fastify.test.d.ts +0 -2
- package/dist/test/gateway/adapter-http-fastify.test.d.ts.map +0 -1
- package/dist/test/gateway/adapter-http-fastify.test.js +0 -17
- package/dist/test/gateway/adapter-http-fastify.test.js.map +0 -1
- package/dist/test/gateway/auth-middleware.test.d.ts +0 -8
- package/dist/test/gateway/auth-middleware.test.d.ts.map +0 -1
- package/dist/test/gateway/auth-middleware.test.js +0 -73
- package/dist/test/gateway/auth-middleware.test.js.map +0 -1
- package/dist/test/gateway/gateway-adapter-contract.d.ts +0 -30
- package/dist/test/gateway/gateway-adapter-contract.d.ts.map +0 -1
- package/dist/test/gateway/gateway-adapter-contract.js +0 -347
- package/dist/test/gateway/gateway-adapter-contract.js.map +0 -1
- package/dist/test/gateway/http-adapter-contract.d.ts +0 -30
- package/dist/test/gateway/http-adapter-contract.d.ts.map +0 -1
- package/dist/test/gateway/http-adapter-contract.js +0 -277
- package/dist/test/gateway/http-adapter-contract.js.map +0 -1
- package/dist/test/graphql-manager.test.d.ts +0 -12
- package/dist/test/graphql-manager.test.d.ts.map +0 -1
- package/dist/test/graphql-manager.test.js +0 -576
- package/dist/test/graphql-manager.test.js.map +0 -1
- package/dist/test/index.d.ts +0 -2
- package/dist/test/index.d.ts.map +0 -1
- package/dist/test/index.js +0 -2
- package/dist/test/index.js.map +0 -1
- package/dist/test/permissions-integration.test.d.ts +0 -2
- package/dist/test/permissions-integration.test.d.ts.map +0 -1
- package/dist/test/permissions-integration.test.js +0 -407
- package/dist/test/permissions-integration.test.js.map +0 -1
- package/dist/test/push-backfill.test.d.ts +0 -2
- package/dist/test/push-backfill.test.d.ts.map +0 -1
- package/dist/test/push-backfill.test.js +0 -299
- package/dist/test/push-backfill.test.js.map +0 -1
- package/dist/test/reactor-adapters.test.d.ts +0 -2
- package/dist/test/reactor-adapters.test.d.ts.map +0 -1
- package/dist/test/reactor-adapters.test.js +0 -380
- package/dist/test/reactor-adapters.test.js.map +0 -1
- package/dist/test/reactor-client.test.d.ts +0 -2
- package/dist/test/reactor-client.test.d.ts.map +0 -1
- package/dist/test/reactor-client.test.js +0 -371
- package/dist/test/reactor-client.test.js.map +0 -1
- package/dist/test/reactor-resolvers.test.d.ts +0 -2
- package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
- package/dist/test/reactor-resolvers.test.js +0 -259
- package/dist/test/reactor-resolvers.test.js.map +0 -1
- package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
- package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
- package/dist/test/reactor-subgraph-permissions.test.js +0 -371
- package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
- package/dist/test/router.test.d.ts +0 -2
- package/dist/test/router.test.d.ts.map +0 -1
- package/dist/test/router.test.js +0 -38
- package/dist/test/router.test.js.map +0 -1
- package/dist/test/subscriptions-sse.test.d.ts +0 -2
- package/dist/test/subscriptions-sse.test.d.ts.map +0 -1
- package/dist/test/subscriptions-sse.test.js +0 -264
- package/dist/test/subscriptions-sse.test.js.map +0 -1
- package/dist/test/subscriptions.test.d.ts +0 -2
- package/dist/test/subscriptions.test.d.ts.map +0 -1
- package/dist/test/subscriptions.test.js +0 -248
- package/dist/test/subscriptions.test.js.map +0 -1
- package/dist/test/utils/gql-resolver-bridge.d.ts +0 -15
- package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
- package/dist/test/utils/gql-resolver-bridge.js +0 -89
- package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
- package/dist/test/utils.d.ts +0 -6
- package/dist/test/utils.d.ts.map +0 -1
- package/dist/test/utils.js +0 -13
- package/dist/test/utils.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -39
- package/dist/vitest.config.js.map +0 -1
|
@@ -1,682 +0,0 @@
|
|
|
1
|
-
import { consolidateSyncOperations, envelopesToSyncOperations, sortEnvelopesByFirstOperationTimestamp, trimMailboxFromAckOrdinal, } from "@powerhousedao/reactor";
|
|
2
|
-
import { GraphQLError } from "graphql";
|
|
3
|
-
const DRIVE_DOCUMENT_TYPE = "powerhouse/document-drive";
|
|
4
|
-
import { fromInputMaybe, serializeOperationForGraphQL, toDocumentModelResultPage, toGqlJobInfo, toGqlPhDocument, toMutableArray, toOperationResultPage, toPhDocumentResultPage, validateActions, } from "./adapters.js";
|
|
5
|
-
export async function documentModels(reactorClient, args) {
|
|
6
|
-
const namespace = fromInputMaybe(args.namespace);
|
|
7
|
-
let paging;
|
|
8
|
-
if (args.paging) {
|
|
9
|
-
const cursor = fromInputMaybe(args.paging.cursor);
|
|
10
|
-
const limit = fromInputMaybe(args.paging.limit);
|
|
11
|
-
if (cursor || limit) {
|
|
12
|
-
paging = {
|
|
13
|
-
cursor: cursor || "",
|
|
14
|
-
limit: limit || 10,
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
let result;
|
|
19
|
-
try {
|
|
20
|
-
result = await reactorClient.getDocumentModelModules(namespace, paging);
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
throw new GraphQLError(`Failed to fetch document models: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
24
|
-
}
|
|
25
|
-
try {
|
|
26
|
-
return toDocumentModelResultPage(result);
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
throw new GraphQLError(`Failed to convert document models to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
export async function document(reactorClient, args) {
|
|
33
|
-
let view;
|
|
34
|
-
if (args.view) {
|
|
35
|
-
view = {
|
|
36
|
-
branch: fromInputMaybe(args.view.branch),
|
|
37
|
-
scopes: toMutableArray(fromInputMaybe(args.view.scopes)),
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
let result;
|
|
41
|
-
try {
|
|
42
|
-
result = await reactorClient.get(args.identifier, view);
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
throw new GraphQLError(`Failed to fetch document: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
46
|
-
}
|
|
47
|
-
let children;
|
|
48
|
-
try {
|
|
49
|
-
children = await reactorClient.getChildren(args.identifier, view);
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
throw new GraphQLError(`Failed to fetch children: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
53
|
-
}
|
|
54
|
-
try {
|
|
55
|
-
return {
|
|
56
|
-
document: toGqlPhDocument(result),
|
|
57
|
-
childIds: children.results.map((child) => child.header.id),
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
throw new GraphQLError(`Failed to convert document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
export async function documentChildren(reactorClient, args) {
|
|
65
|
-
let view;
|
|
66
|
-
if (args.view) {
|
|
67
|
-
view = {
|
|
68
|
-
branch: fromInputMaybe(args.view.branch),
|
|
69
|
-
scopes: toMutableArray(fromInputMaybe(args.view.scopes)),
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
let paging;
|
|
73
|
-
if (args.paging) {
|
|
74
|
-
const cursor = fromInputMaybe(args.paging.cursor);
|
|
75
|
-
const limit = fromInputMaybe(args.paging.limit);
|
|
76
|
-
if (cursor || limit) {
|
|
77
|
-
paging = {
|
|
78
|
-
cursor: cursor || "",
|
|
79
|
-
limit: limit || 10,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
let result;
|
|
84
|
-
try {
|
|
85
|
-
result = await reactorClient.getChildren(args.parentIdentifier, view, paging);
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
throw new GraphQLError(`Failed to fetch document children: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
89
|
-
}
|
|
90
|
-
try {
|
|
91
|
-
return toPhDocumentResultPage(result);
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
throw new GraphQLError(`Failed to convert document children to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
export async function documentParents(reactorClient, args) {
|
|
98
|
-
let view;
|
|
99
|
-
if (args.view) {
|
|
100
|
-
view = {
|
|
101
|
-
branch: fromInputMaybe(args.view.branch),
|
|
102
|
-
scopes: toMutableArray(fromInputMaybe(args.view.scopes)),
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
let paging;
|
|
106
|
-
if (args.paging) {
|
|
107
|
-
const cursor = fromInputMaybe(args.paging.cursor);
|
|
108
|
-
const limit = fromInputMaybe(args.paging.limit);
|
|
109
|
-
if (cursor || limit) {
|
|
110
|
-
paging = {
|
|
111
|
-
cursor: cursor || "",
|
|
112
|
-
limit: limit || 10,
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
let result;
|
|
117
|
-
try {
|
|
118
|
-
result = await reactorClient.getParents(args.childIdentifier, view, paging);
|
|
119
|
-
}
|
|
120
|
-
catch (error) {
|
|
121
|
-
throw new GraphQLError(`Failed to fetch document parents: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
122
|
-
}
|
|
123
|
-
try {
|
|
124
|
-
return toPhDocumentResultPage(result);
|
|
125
|
-
}
|
|
126
|
-
catch (error) {
|
|
127
|
-
throw new GraphQLError(`Failed to convert document parents to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
export async function findDocuments(reactorClient, args) {
|
|
131
|
-
let view;
|
|
132
|
-
if (args.view) {
|
|
133
|
-
view = {
|
|
134
|
-
branch: fromInputMaybe(args.view.branch),
|
|
135
|
-
scopes: toMutableArray(fromInputMaybe(args.view.scopes)),
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
let paging;
|
|
139
|
-
if (args.paging) {
|
|
140
|
-
const cursor = fromInputMaybe(args.paging.cursor);
|
|
141
|
-
const limit = fromInputMaybe(args.paging.limit);
|
|
142
|
-
if (cursor || limit) {
|
|
143
|
-
paging = {
|
|
144
|
-
cursor: cursor || "",
|
|
145
|
-
limit: limit || 10,
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
const search = {
|
|
150
|
-
type: fromInputMaybe(args.search.type),
|
|
151
|
-
parentId: fromInputMaybe(args.search.parentId),
|
|
152
|
-
};
|
|
153
|
-
let result;
|
|
154
|
-
try {
|
|
155
|
-
result = await reactorClient.find(search, view, paging);
|
|
156
|
-
}
|
|
157
|
-
catch (error) {
|
|
158
|
-
throw new GraphQLError(`Failed to find documents: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
159
|
-
}
|
|
160
|
-
try {
|
|
161
|
-
return toPhDocumentResultPage(result);
|
|
162
|
-
}
|
|
163
|
-
catch (error) {
|
|
164
|
-
throw new GraphQLError(`Failed to convert documents to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
export async function jobStatus(reactorClient, args) {
|
|
168
|
-
let result;
|
|
169
|
-
try {
|
|
170
|
-
result = await reactorClient.getJobStatus(args.jobId);
|
|
171
|
-
}
|
|
172
|
-
catch (error) {
|
|
173
|
-
throw new GraphQLError(`Failed to fetch job status: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
174
|
-
}
|
|
175
|
-
try {
|
|
176
|
-
return toGqlJobInfo(result);
|
|
177
|
-
}
|
|
178
|
-
catch (error) {
|
|
179
|
-
throw new GraphQLError(`Failed to convert job status to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
export async function documentOperations(reactorClient, args) {
|
|
183
|
-
let view;
|
|
184
|
-
const branch = fromInputMaybe(args.filter.branch);
|
|
185
|
-
const scopes = toMutableArray(fromInputMaybe(args.filter.scopes));
|
|
186
|
-
if (branch || scopes) {
|
|
187
|
-
view = { branch, scopes };
|
|
188
|
-
}
|
|
189
|
-
const actionTypes = toMutableArray(fromInputMaybe(args.filter.actionTypes));
|
|
190
|
-
const sinceRevision = fromInputMaybe(args.filter.sinceRevision);
|
|
191
|
-
const timestampFrom = fromInputMaybe(args.filter.timestampFrom);
|
|
192
|
-
const timestampTo = fromInputMaybe(args.filter.timestampTo);
|
|
193
|
-
let operationFilter;
|
|
194
|
-
if ((actionTypes && actionTypes.length > 0) ||
|
|
195
|
-
sinceRevision !== undefined ||
|
|
196
|
-
timestampFrom ||
|
|
197
|
-
timestampTo) {
|
|
198
|
-
operationFilter = {
|
|
199
|
-
actionTypes: actionTypes && actionTypes.length > 0 ? actionTypes : undefined,
|
|
200
|
-
sinceRevision,
|
|
201
|
-
timestampFrom: timestampFrom || undefined,
|
|
202
|
-
timestampTo: timestampTo || undefined,
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
let paging;
|
|
206
|
-
if (args.paging) {
|
|
207
|
-
const cursor = fromInputMaybe(args.paging.cursor);
|
|
208
|
-
const limit = fromInputMaybe(args.paging.limit);
|
|
209
|
-
if (cursor || limit) {
|
|
210
|
-
paging = {
|
|
211
|
-
cursor: cursor || "",
|
|
212
|
-
limit: limit || 100,
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
let result;
|
|
217
|
-
try {
|
|
218
|
-
result = await reactorClient.getOperations(args.filter.documentId, view, operationFilter, paging);
|
|
219
|
-
}
|
|
220
|
-
catch (error) {
|
|
221
|
-
throw new GraphQLError(`Failed to fetch document operations: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
222
|
-
}
|
|
223
|
-
try {
|
|
224
|
-
return toOperationResultPage(result);
|
|
225
|
-
}
|
|
226
|
-
catch (error) {
|
|
227
|
-
throw new GraphQLError(`Failed to convert operations to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
export async function createDocument(reactorClient, args) {
|
|
231
|
-
// Validate that document is a PHDocument
|
|
232
|
-
if (!args.document || typeof args.document !== "object") {
|
|
233
|
-
throw new GraphQLError("Invalid document: must be an object");
|
|
234
|
-
}
|
|
235
|
-
const document = args.document;
|
|
236
|
-
// Validate required fields
|
|
237
|
-
if (!document.header || typeof document.header !== "object") {
|
|
238
|
-
throw new GraphQLError("Invalid document: missing or invalid header");
|
|
239
|
-
}
|
|
240
|
-
const parentIdentifier = fromInputMaybe(args.parentIdentifier);
|
|
241
|
-
let result;
|
|
242
|
-
try {
|
|
243
|
-
if (parentIdentifier) {
|
|
244
|
-
const parent = await reactorClient.get(parentIdentifier);
|
|
245
|
-
if (parent.header.documentType === DRIVE_DOCUMENT_TYPE) {
|
|
246
|
-
result = await reactorClient.createDocumentInDrive(parentIdentifier, document);
|
|
247
|
-
}
|
|
248
|
-
else {
|
|
249
|
-
result = await reactorClient.create(document, parentIdentifier);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
result = await reactorClient.create(document);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
catch (error) {
|
|
257
|
-
throw new GraphQLError(`Failed to create document: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
258
|
-
}
|
|
259
|
-
try {
|
|
260
|
-
return toGqlPhDocument(result);
|
|
261
|
-
}
|
|
262
|
-
catch (error) {
|
|
263
|
-
throw new GraphQLError(`Failed to convert created document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
export async function createEmptyDocument(reactorClient, args) {
|
|
267
|
-
const parentIdentifier = fromInputMaybe(args.parentIdentifier);
|
|
268
|
-
const name = fromInputMaybe(args.name);
|
|
269
|
-
let result;
|
|
270
|
-
try {
|
|
271
|
-
if (parentIdentifier) {
|
|
272
|
-
const parent = await reactorClient.get(parentIdentifier);
|
|
273
|
-
if (parent.header.documentType === DRIVE_DOCUMENT_TYPE) {
|
|
274
|
-
const module = await reactorClient.getDocumentModelModule(args.documentType);
|
|
275
|
-
const document = module.utils.createDocument();
|
|
276
|
-
if (name) {
|
|
277
|
-
document.header.name = name;
|
|
278
|
-
}
|
|
279
|
-
result = await reactorClient.createDocumentInDrive(parentIdentifier, document);
|
|
280
|
-
}
|
|
281
|
-
else {
|
|
282
|
-
result = await reactorClient.createEmpty(args.documentType, {
|
|
283
|
-
parentIdentifier,
|
|
284
|
-
});
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
else {
|
|
288
|
-
result = await reactorClient.createEmpty(args.documentType, {});
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
catch (error) {
|
|
292
|
-
throw new GraphQLError(`Failed to create empty document: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
293
|
-
}
|
|
294
|
-
try {
|
|
295
|
-
return toGqlPhDocument(result);
|
|
296
|
-
}
|
|
297
|
-
catch (error) {
|
|
298
|
-
throw new GraphQLError(`Failed to convert created document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
export async function createDocumentWithInitialState(reactorClient, args) {
|
|
302
|
-
const parentIdentifier = fromInputMaybe(args.parentIdentifier);
|
|
303
|
-
const name = fromInputMaybe(args.name);
|
|
304
|
-
const slug = fromInputMaybe(args.slug);
|
|
305
|
-
const preferredEditor = fromInputMaybe(args.preferredEditor);
|
|
306
|
-
let module;
|
|
307
|
-
try {
|
|
308
|
-
module = await reactorClient.getDocumentModelModule(args.documentType);
|
|
309
|
-
}
|
|
310
|
-
catch (error) {
|
|
311
|
-
throw new GraphQLError(`Document model not found for type ${args.documentType}: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
312
|
-
}
|
|
313
|
-
const document = module.utils.createDocument();
|
|
314
|
-
// Only merge specification-defined scopes (e.g., global, local).
|
|
315
|
-
// Protected scopes like "auth" and "document" are excluded.
|
|
316
|
-
const allowedScopes = new Set(Object.keys(module.documentModel.global.specifications.at(-1)?.state ?? {}));
|
|
317
|
-
const state = document.state;
|
|
318
|
-
for (const [scope, scopeState] of Object.entries(args.initialState)) {
|
|
319
|
-
if (allowedScopes.has(scope) && scope in state) {
|
|
320
|
-
state[scope] = { ...state[scope], ...scopeState };
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
if (name) {
|
|
324
|
-
document.header.name = name;
|
|
325
|
-
}
|
|
326
|
-
if (slug) {
|
|
327
|
-
document.header.slug = slug;
|
|
328
|
-
}
|
|
329
|
-
if (preferredEditor) {
|
|
330
|
-
document.header.meta = { ...document.header.meta, preferredEditor };
|
|
331
|
-
}
|
|
332
|
-
let result;
|
|
333
|
-
if (parentIdentifier) {
|
|
334
|
-
let parent;
|
|
335
|
-
try {
|
|
336
|
-
parent = await reactorClient.get(parentIdentifier);
|
|
337
|
-
}
|
|
338
|
-
catch (error) {
|
|
339
|
-
throw new GraphQLError(`Parent document not found: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
340
|
-
}
|
|
341
|
-
if (parent.header.documentType === DRIVE_DOCUMENT_TYPE) {
|
|
342
|
-
try {
|
|
343
|
-
result = await reactorClient.createDocumentInDrive(parentIdentifier, document);
|
|
344
|
-
}
|
|
345
|
-
catch (error) {
|
|
346
|
-
throw new GraphQLError(`Failed to create document in drive: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
else {
|
|
350
|
-
try {
|
|
351
|
-
result = await reactorClient.create(document, parentIdentifier);
|
|
352
|
-
}
|
|
353
|
-
catch (error) {
|
|
354
|
-
throw new GraphQLError(`Failed to create document with parent: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
else {
|
|
359
|
-
try {
|
|
360
|
-
result = await reactorClient.create(document);
|
|
361
|
-
}
|
|
362
|
-
catch (error) {
|
|
363
|
-
throw new GraphQLError(`Failed to create document: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
try {
|
|
367
|
-
return toGqlPhDocument(result);
|
|
368
|
-
}
|
|
369
|
-
catch (error) {
|
|
370
|
-
throw new GraphQLError(`Failed to convert created document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
export async function mutateDocument(reactorClient, args) {
|
|
374
|
-
// Validate actions
|
|
375
|
-
let validatedActions;
|
|
376
|
-
try {
|
|
377
|
-
validatedActions = validateActions(args.actions);
|
|
378
|
-
}
|
|
379
|
-
catch (error) {
|
|
380
|
-
if (error instanceof GraphQLError) {
|
|
381
|
-
throw error;
|
|
382
|
-
}
|
|
383
|
-
throw new GraphQLError(`Action validation failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
384
|
-
}
|
|
385
|
-
// Extract branch from view filter (default to "main")
|
|
386
|
-
const branch = args.view?.branch ?? "main";
|
|
387
|
-
let result;
|
|
388
|
-
try {
|
|
389
|
-
result = await reactorClient.execute(args.documentIdentifier, branch, validatedActions);
|
|
390
|
-
}
|
|
391
|
-
catch (error) {
|
|
392
|
-
throw new GraphQLError(`Failed to mutate document: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
393
|
-
}
|
|
394
|
-
try {
|
|
395
|
-
return toGqlPhDocument(result);
|
|
396
|
-
}
|
|
397
|
-
catch (error) {
|
|
398
|
-
throw new GraphQLError(`Failed to convert mutated document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
export async function mutateDocumentAsync(reactorClient, args) {
|
|
402
|
-
// Validate actions
|
|
403
|
-
let validatedActions;
|
|
404
|
-
try {
|
|
405
|
-
validatedActions = validateActions(args.actions);
|
|
406
|
-
}
|
|
407
|
-
catch (error) {
|
|
408
|
-
if (error instanceof GraphQLError) {
|
|
409
|
-
throw error;
|
|
410
|
-
}
|
|
411
|
-
throw new GraphQLError(`Action validation failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
412
|
-
}
|
|
413
|
-
// Extract branch from view filter (default to "main")
|
|
414
|
-
const branch = args.view?.branch ?? "main";
|
|
415
|
-
let result;
|
|
416
|
-
try {
|
|
417
|
-
result = await reactorClient.executeAsync(args.documentIdentifier, branch, validatedActions);
|
|
418
|
-
}
|
|
419
|
-
catch (error) {
|
|
420
|
-
throw new GraphQLError(`Failed to submit document mutation: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
421
|
-
}
|
|
422
|
-
return result.id;
|
|
423
|
-
}
|
|
424
|
-
export async function renameDocument(reactorClient, args, signal) {
|
|
425
|
-
const branch = fromInputMaybe(args.branch);
|
|
426
|
-
let result;
|
|
427
|
-
try {
|
|
428
|
-
result = await reactorClient.rename(args.documentIdentifier, args.name, branch, signal);
|
|
429
|
-
}
|
|
430
|
-
catch (error) {
|
|
431
|
-
throw new GraphQLError(`Failed to rename document: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
432
|
-
}
|
|
433
|
-
try {
|
|
434
|
-
return toGqlPhDocument(result);
|
|
435
|
-
}
|
|
436
|
-
catch (error) {
|
|
437
|
-
throw new GraphQLError(`Failed to convert renamed document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
export async function addChildren(reactorClient, args) {
|
|
441
|
-
const branch = fromInputMaybe(args.branch);
|
|
442
|
-
const documentIdentifiers = [...args.documentIdentifiers];
|
|
443
|
-
let result;
|
|
444
|
-
try {
|
|
445
|
-
result = await reactorClient.addChildren(args.parentIdentifier, documentIdentifiers, branch);
|
|
446
|
-
}
|
|
447
|
-
catch (error) {
|
|
448
|
-
throw new GraphQLError(`Failed to add children: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
449
|
-
}
|
|
450
|
-
try {
|
|
451
|
-
return toGqlPhDocument(result);
|
|
452
|
-
}
|
|
453
|
-
catch (error) {
|
|
454
|
-
throw new GraphQLError(`Failed to convert document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
export async function removeChildren(reactorClient, args) {
|
|
458
|
-
const branch = fromInputMaybe(args.branch);
|
|
459
|
-
const documentIdentifiers = [...args.documentIdentifiers];
|
|
460
|
-
let result;
|
|
461
|
-
try {
|
|
462
|
-
result = await reactorClient.removeChildren(args.parentIdentifier, documentIdentifiers, branch);
|
|
463
|
-
}
|
|
464
|
-
catch (error) {
|
|
465
|
-
throw new GraphQLError(`Failed to remove children: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
466
|
-
}
|
|
467
|
-
try {
|
|
468
|
-
return toGqlPhDocument(result);
|
|
469
|
-
}
|
|
470
|
-
catch (error) {
|
|
471
|
-
throw new GraphQLError(`Failed to convert document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
export async function moveChildren(reactorClient, args) {
|
|
475
|
-
const branch = fromInputMaybe(args.branch);
|
|
476
|
-
const documentIdentifiers = [...args.documentIdentifiers];
|
|
477
|
-
let result;
|
|
478
|
-
try {
|
|
479
|
-
result = await reactorClient.moveChildren(args.sourceParentIdentifier, args.targetParentIdentifier, documentIdentifiers, branch);
|
|
480
|
-
}
|
|
481
|
-
catch (error) {
|
|
482
|
-
throw new GraphQLError(`Failed to move children: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
483
|
-
}
|
|
484
|
-
try {
|
|
485
|
-
return {
|
|
486
|
-
source: toGqlPhDocument(result.source),
|
|
487
|
-
target: toGqlPhDocument(result.target),
|
|
488
|
-
};
|
|
489
|
-
}
|
|
490
|
-
catch (error) {
|
|
491
|
-
throw new GraphQLError(`Failed to convert documents to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
492
|
-
}
|
|
493
|
-
}
|
|
494
|
-
export async function deleteDocument(reactorClient, args) {
|
|
495
|
-
const propagate = fromInputMaybe(args.propagate);
|
|
496
|
-
try {
|
|
497
|
-
await reactorClient.deleteDocument(args.identifier, propagate);
|
|
498
|
-
return true;
|
|
499
|
-
}
|
|
500
|
-
catch (error) {
|
|
501
|
-
throw new GraphQLError(`Failed to delete document: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
export async function deleteDocuments(reactorClient, args) {
|
|
505
|
-
const propagate = fromInputMaybe(args.propagate);
|
|
506
|
-
const identifiers = [...args.identifiers];
|
|
507
|
-
try {
|
|
508
|
-
await reactorClient.deleteDocuments(identifiers, propagate);
|
|
509
|
-
return true;
|
|
510
|
-
}
|
|
511
|
-
catch (error) {
|
|
512
|
-
throw new GraphQLError(`Failed to delete documents: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
export async function touchChannel(syncManager, args) {
|
|
516
|
-
try {
|
|
517
|
-
const remote = syncManager.getById(args.input.id);
|
|
518
|
-
return {
|
|
519
|
-
success: true,
|
|
520
|
-
ackOrdinal: remote.channel.inbox.ackOrdinal,
|
|
521
|
-
};
|
|
522
|
-
}
|
|
523
|
-
catch {
|
|
524
|
-
// getById will throw if the remote does not exist
|
|
525
|
-
}
|
|
526
|
-
const filter = {
|
|
527
|
-
documentId: [...args.input.filter.documentId],
|
|
528
|
-
scope: [...args.input.filter.scope],
|
|
529
|
-
branch: args.input.filter.branch,
|
|
530
|
-
};
|
|
531
|
-
const options = {
|
|
532
|
-
sinceTimestampUtcMs: args.input.sinceTimestampUtcMs,
|
|
533
|
-
};
|
|
534
|
-
try {
|
|
535
|
-
await syncManager.add(args.input.name, args.input.collectionId, {
|
|
536
|
-
type: "polling",
|
|
537
|
-
parameters: {},
|
|
538
|
-
}, filter, options, args.input.id);
|
|
539
|
-
}
|
|
540
|
-
catch (error) {
|
|
541
|
-
throw new GraphQLError(`Failed to create channel: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
542
|
-
}
|
|
543
|
-
return { success: true, ackOrdinal: 0 };
|
|
544
|
-
}
|
|
545
|
-
/**
|
|
546
|
-
* Polls the switchboard for new sync envelopes and acknowledges previously
|
|
547
|
-
* received operations.
|
|
548
|
-
*
|
|
549
|
-
* Ordinal frames of reference:
|
|
550
|
-
* - `outboxAck` / `outboxLatest`: switchboard's ordinals (used to trim/filter
|
|
551
|
-
* the switchboard's outbox)
|
|
552
|
-
* - `ackOrdinal` in the response: the pushing client's ordinals (highest
|
|
553
|
-
* client ordinal the switchboard has successfully applied, so the client
|
|
554
|
-
* can trim its own outbox)
|
|
555
|
-
*/
|
|
556
|
-
export function pollSyncEnvelopes(syncManager, args) {
|
|
557
|
-
let remote;
|
|
558
|
-
try {
|
|
559
|
-
remote = syncManager.getById(args.channelId);
|
|
560
|
-
}
|
|
561
|
-
catch (error) {
|
|
562
|
-
throw new GraphQLError(`Channel not found: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
563
|
-
}
|
|
564
|
-
const deadLetters = remote.channel.deadLetter.items.map((syncOp) => ({
|
|
565
|
-
documentId: syncOp.documentId,
|
|
566
|
-
error: syncOp.error?.message ?? "Unknown error",
|
|
567
|
-
jobId: syncOp.jobId,
|
|
568
|
-
branch: syncOp.branch,
|
|
569
|
-
scopes: syncOp.scopes,
|
|
570
|
-
operationCount: syncOp.operations.length,
|
|
571
|
-
}));
|
|
572
|
-
// trim outbox
|
|
573
|
-
if (args.outboxAck > 0) {
|
|
574
|
-
trimMailboxFromAckOrdinal(remote.channel.outbox, args.outboxAck);
|
|
575
|
-
}
|
|
576
|
-
let operations = remote.channel.outbox.items;
|
|
577
|
-
// filter remaining outbox operations by outboxLatest
|
|
578
|
-
operations = operations.filter((syncOp) => {
|
|
579
|
-
let maxOrdinal = 0;
|
|
580
|
-
for (const op of syncOp.operations) {
|
|
581
|
-
maxOrdinal = Math.max(maxOrdinal, op.context.ordinal);
|
|
582
|
-
}
|
|
583
|
-
if (maxOrdinal > args.outboxLatest) {
|
|
584
|
-
return true;
|
|
585
|
-
}
|
|
586
|
-
return false;
|
|
587
|
-
});
|
|
588
|
-
if (operations.length === 0) {
|
|
589
|
-
return {
|
|
590
|
-
envelopes: [],
|
|
591
|
-
ackOrdinal: remote.channel.inbox.ackOrdinal,
|
|
592
|
-
deadLetters,
|
|
593
|
-
};
|
|
594
|
-
}
|
|
595
|
-
let maxOrdinal = args.outboxLatest;
|
|
596
|
-
for (const syncOp of operations) {
|
|
597
|
-
for (const op of syncOp.operations) {
|
|
598
|
-
const opOrdinal = op.context.ordinal;
|
|
599
|
-
if (opOrdinal > maxOrdinal) {
|
|
600
|
-
maxOrdinal = opOrdinal;
|
|
601
|
-
}
|
|
602
|
-
}
|
|
603
|
-
}
|
|
604
|
-
const envelopes = operations.map((syncOp) => ({
|
|
605
|
-
type: "OPERATIONS",
|
|
606
|
-
channelMeta: {
|
|
607
|
-
id: args.channelId,
|
|
608
|
-
},
|
|
609
|
-
operations: syncOp.operations.map((op) => ({
|
|
610
|
-
operation: serializeOperationForGraphQL(op.operation),
|
|
611
|
-
context: op.context,
|
|
612
|
-
})),
|
|
613
|
-
cursor: {
|
|
614
|
-
remoteName: remote.name,
|
|
615
|
-
cursorOrdinal: maxOrdinal,
|
|
616
|
-
lastSyncedAtUtcMs: Date.now().toString(),
|
|
617
|
-
},
|
|
618
|
-
key: syncOp.jobId || undefined,
|
|
619
|
-
dependsOn: syncOp.jobDependencies.filter(Boolean).length > 0
|
|
620
|
-
? syncOp.jobDependencies.filter(Boolean)
|
|
621
|
-
: undefined,
|
|
622
|
-
}));
|
|
623
|
-
return {
|
|
624
|
-
envelopes: sortEnvelopesByFirstOperationTimestamp(envelopes),
|
|
625
|
-
ackOrdinal: remote.channel.inbox.ackOrdinal,
|
|
626
|
-
deadLetters,
|
|
627
|
-
};
|
|
628
|
-
}
|
|
629
|
-
/**
|
|
630
|
-
* Receives sync envelopes pushed by a client and adds them to the
|
|
631
|
-
* appropriate channel inboxes.
|
|
632
|
-
*
|
|
633
|
-
* The `ordinal` in each operation's context is the client's local ordinal.
|
|
634
|
-
* It must be preserved because the inbox mailbox tracks applied ordinals
|
|
635
|
-
* and returns the highest one as `ackOrdinal` in pollSyncEnvelopes.
|
|
636
|
-
*/
|
|
637
|
-
export function pushSyncEnvelopes(syncManager, args) {
|
|
638
|
-
const sortedEnvelopes = sortEnvelopesByFirstOperationTimestamp(args.envelopes);
|
|
639
|
-
const remoteSyncOps = new Map();
|
|
640
|
-
for (const envelope of sortedEnvelopes) {
|
|
641
|
-
let remote;
|
|
642
|
-
try {
|
|
643
|
-
remote = syncManager.getById(envelope.channelMeta.id);
|
|
644
|
-
}
|
|
645
|
-
catch (error) {
|
|
646
|
-
throw new GraphQLError(`Channel not found: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
647
|
-
}
|
|
648
|
-
if (!envelope.operations || envelope.operations.length === 0) {
|
|
649
|
-
continue;
|
|
650
|
-
}
|
|
651
|
-
const syncOps = envelopesToSyncOperations(envelope, remote.name);
|
|
652
|
-
if (!remoteSyncOps.has(remote)) {
|
|
653
|
-
remoteSyncOps.set(remote, []);
|
|
654
|
-
}
|
|
655
|
-
remoteSyncOps.get(remote).push(...syncOps);
|
|
656
|
-
}
|
|
657
|
-
for (const [remote, syncOps] of remoteSyncOps) {
|
|
658
|
-
const consolidated = consolidateSyncOperations(syncOps);
|
|
659
|
-
const validKeys = new Set(consolidated.map((op) => op.jobId).filter(Boolean));
|
|
660
|
-
for (const syncOp of consolidated) {
|
|
661
|
-
syncOp.jobDependencies = syncOp.jobDependencies.filter((dep) => validKeys.has(dep));
|
|
662
|
-
}
|
|
663
|
-
remote.channel.inbox.add(...consolidated);
|
|
664
|
-
}
|
|
665
|
-
return Promise.resolve(true);
|
|
666
|
-
}
|
|
667
|
-
/**
|
|
668
|
-
* Create a getParentIds function using the reactor client
|
|
669
|
-
*/
|
|
670
|
-
export function createGetParentIdsFn(reactorClient) {
|
|
671
|
-
return async (documentId) => {
|
|
672
|
-
try {
|
|
673
|
-
const result = await reactorClient.getParents(documentId);
|
|
674
|
-
return result.results.map((doc) => doc.header.id);
|
|
675
|
-
}
|
|
676
|
-
catch {
|
|
677
|
-
// If document has no parents or error, return empty array
|
|
678
|
-
return [];
|
|
679
|
-
}
|
|
680
|
-
};
|
|
681
|
-
}
|
|
682
|
-
//# sourceMappingURL=resolvers.js.map
|