document-drive 1.30.2 → 2.5.0-dev.0
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 -6
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/prisma/schema.prisma +2 -0
- package/dist/src/cache/lru.d.ts +34 -0
- package/dist/src/cache/lru.d.ts.map +1 -0
- package/dist/src/cache/lru.js +41 -0
- package/dist/src/cache/lru.js.map +1 -0
- package/dist/src/cache/memory.d.ts +19 -1
- package/dist/src/cache/memory.d.ts.map +1 -1
- package/dist/src/cache/memory.js +49 -9
- package/dist/src/cache/memory.js.map +1 -1
- package/dist/src/cache/redis.d.ts.map +1 -1
- package/dist/src/cache/redis.js +3 -4
- package/dist/src/cache/redis.js.map +1 -1
- package/dist/src/drive-document-model/constants.d.ts +1 -1
- package/dist/src/drive-document-model/constants.d.ts.map +1 -1
- package/dist/src/drive-document-model/constants.js +2 -1
- package/dist/src/drive-document-model/constants.js.map +1 -1
- package/dist/src/drive-document-model/gen/actions.d.ts +4 -5
- package/dist/src/drive-document-model/gen/actions.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/actions.js +1 -1
- package/dist/src/drive-document-model/gen/actions.js.map +1 -1
- package/dist/src/drive-document-model/gen/creators.d.ts +1 -1
- package/dist/src/drive-document-model/gen/creators.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/creators.js +1 -1
- package/dist/src/drive-document-model/gen/creators.js.map +1 -1
- package/dist/src/drive-document-model/gen/document-model.d.ts +1 -1
- package/dist/src/drive-document-model/gen/document-model.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/document-model.js +7 -8
- package/dist/src/drive-document-model/gen/document-model.js.map +1 -1
- package/dist/src/drive-document-model/gen/drive/actions.d.ts +2 -2
- package/dist/src/drive-document-model/gen/drive/actions.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/drive/creators.d.ts +2 -2
- package/dist/src/drive-document-model/gen/drive/creators.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/drive/creators.js +9 -9
- package/dist/src/drive-document-model/gen/drive/creators.js.map +1 -1
- package/dist/src/drive-document-model/gen/drive/object.d.ts +2 -2
- package/dist/src/drive-document-model/gen/drive/object.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/drive/object.js +1 -1
- package/dist/src/drive-document-model/gen/drive/object.js.map +1 -1
- package/dist/src/drive-document-model/gen/drive/operations.d.ts +3 -3
- package/dist/src/drive-document-model/gen/drive/operations.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/index.d.ts +6 -0
- package/dist/src/drive-document-model/gen/index.d.ts.map +1 -0
- package/dist/src/drive-document-model/gen/index.js +6 -0
- package/dist/src/drive-document-model/gen/index.js.map +1 -0
- package/dist/src/drive-document-model/gen/node/actions.d.ts +2 -2
- package/dist/src/drive-document-model/gen/node/actions.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/node/creators.d.ts +2 -2
- package/dist/src/drive-document-model/gen/node/creators.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/node/creators.js +8 -8
- package/dist/src/drive-document-model/gen/node/creators.js.map +1 -1
- package/dist/src/drive-document-model/gen/node/object.d.ts +2 -2
- package/dist/src/drive-document-model/gen/node/object.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/node/object.js +1 -1
- package/dist/src/drive-document-model/gen/node/object.js.map +1 -1
- package/dist/src/drive-document-model/gen/node/operations.d.ts +3 -3
- package/dist/src/drive-document-model/gen/node/operations.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/object.d.ts +11 -14
- package/dist/src/drive-document-model/gen/object.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/object.js +11 -12
- package/dist/src/drive-document-model/gen/object.js.map +1 -1
- package/dist/src/drive-document-model/gen/reducer.d.ts +1 -1
- package/dist/src/drive-document-model/gen/reducer.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/reducer.js +16 -16
- package/dist/src/drive-document-model/gen/reducer.js.map +1 -1
- package/dist/src/drive-document-model/gen/schema/index.d.ts +3 -0
- package/dist/src/drive-document-model/gen/schema/index.d.ts.map +1 -0
- package/dist/src/drive-document-model/gen/schema/index.js +3 -0
- package/dist/src/drive-document-model/gen/schema/index.js.map +1 -0
- package/dist/src/drive-document-model/gen/schema/types.d.ts +88 -2
- package/dist/src/drive-document-model/gen/schema/types.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/schema/zod.d.ts +1 -1
- package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/schema/zod.js +0 -2
- package/dist/src/drive-document-model/gen/schema/zod.js.map +1 -1
- package/dist/src/drive-document-model/gen/types.d.ts +5 -4
- package/dist/src/drive-document-model/gen/types.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/types.js +1 -1
- package/dist/src/drive-document-model/gen/types.js.map +1 -1
- package/dist/src/drive-document-model/gen/utils.d.ts +9 -9
- package/dist/src/drive-document-model/gen/utils.d.ts.map +1 -1
- package/dist/src/drive-document-model/gen/utils.js +39 -23
- package/dist/src/drive-document-model/gen/utils.js.map +1 -1
- package/dist/src/drive-document-model/module.d.ts +26 -2
- package/dist/src/drive-document-model/module.d.ts.map +1 -1
- package/dist/src/drive-document-model/module.js +14 -8
- package/dist/src/drive-document-model/module.js.map +1 -1
- package/dist/src/drive-document-model/src/reducers/node.d.ts.map +1 -1
- package/dist/src/drive-document-model/src/reducers/node.js +10 -1
- package/dist/src/drive-document-model/src/reducers/node.js.map +1 -1
- package/dist/src/drive-document-model/src/tests/actions.test.d.ts +2 -0
- package/dist/src/drive-document-model/src/tests/actions.test.d.ts.map +1 -0
- package/dist/src/drive-document-model/src/tests/actions.test.js +221 -0
- package/dist/src/drive-document-model/src/tests/actions.test.js.map +1 -0
- package/dist/src/drive-document-model/src/tests/base.test.d.ts +2 -0
- package/dist/src/drive-document-model/src/tests/base.test.d.ts.map +1 -0
- package/dist/src/drive-document-model/src/tests/base.test.js +116 -0
- package/dist/src/drive-document-model/src/tests/base.test.js.map +1 -0
- package/dist/src/drive-document-model/src/tests/document-model.test.d.ts +6 -0
- package/dist/src/drive-document-model/src/tests/document-model.test.d.ts.map +1 -0
- package/dist/src/drive-document-model/src/tests/document-model.test.js +19 -0
- package/dist/src/drive-document-model/src/tests/document-model.test.js.map +1 -0
- package/dist/src/drive-document-model/src/tests/drive.test.d.ts +6 -0
- package/dist/src/drive-document-model/src/tests/drive.test.d.ts.map +1 -0
- package/dist/src/drive-document-model/src/tests/drive.test.js +41 -0
- package/dist/src/drive-document-model/src/tests/drive.test.js.map +1 -0
- package/dist/src/drive-document-model/src/tests/node.test.d.ts +6 -0
- package/dist/src/drive-document-model/src/tests/node.test.d.ts.map +1 -0
- package/dist/src/drive-document-model/src/tests/node.test.js +376 -0
- package/dist/src/drive-document-model/src/tests/node.test.js.map +1 -0
- package/dist/src/drive-document-model/src/tests/utils.test.d.ts +2 -0
- package/dist/src/drive-document-model/src/tests/utils.test.d.ts.map +1 -0
- package/dist/src/drive-document-model/src/tests/utils.test.js +262 -0
- package/dist/src/drive-document-model/src/tests/utils.test.js.map +1 -0
- package/dist/src/drive-document-model/src/utils.d.ts.map +1 -1
- package/dist/src/drive-document-model/src/utils.js +2 -2
- package/dist/src/drive-document-model/src/utils.js.map +1 -1
- package/dist/src/processors/processor-manager.d.ts.map +1 -1
- package/dist/src/processors/processor-manager.js +14 -4
- package/dist/src/processors/processor-manager.js.map +1 -1
- package/dist/src/queue/base.js +3 -2
- package/dist/src/queue/base.js.map +1 -1
- package/dist/src/read-mode/service.d.ts.map +1 -1
- package/dist/src/read-mode/service.js +9 -2
- package/dist/src/read-mode/service.js.map +1 -1
- package/dist/src/server/base-server.d.ts +9 -6
- package/dist/src/server/base-server.d.ts.map +1 -1
- package/dist/src/server/base-server.js +84 -41
- package/dist/src/server/base-server.js.map +1 -1
- package/dist/src/server/builder.d.ts +3 -3
- package/dist/src/server/builder.d.ts.map +1 -1
- package/dist/src/server/builder.js.map +1 -1
- package/dist/src/server/error.d.ts +6 -0
- package/dist/src/server/error.d.ts.map +1 -1
- package/dist/src/server/error.js +11 -1
- package/dist/src/server/error.js.map +1 -1
- package/dist/src/server/listener/listener-manager.d.ts +3 -0
- package/dist/src/server/listener/listener-manager.d.ts.map +1 -1
- package/dist/src/server/listener/listener-manager.js +7 -0
- package/dist/src/server/listener/listener-manager.js.map +1 -1
- package/dist/src/server/listener/transmitter/factory.d.ts.map +1 -1
- package/dist/src/server/listener/transmitter/factory.js +1 -1
- package/dist/src/server/listener/transmitter/factory.js.map +1 -1
- package/dist/src/server/listener/transmitter/internal.js +1 -1
- package/dist/src/server/listener/transmitter/internal.js.map +1 -1
- package/dist/src/server/listener/transmitter/pull-responder.d.ts +7 -5
- package/dist/src/server/listener/transmitter/pull-responder.d.ts.map +1 -1
- package/dist/src/server/listener/transmitter/pull-responder.js +148 -20
- package/dist/src/server/listener/transmitter/pull-responder.js.map +1 -1
- package/dist/src/server/listener/transmitter/switchboard-push.d.ts +5 -2
- package/dist/src/server/listener/transmitter/switchboard-push.d.ts.map +1 -1
- package/dist/src/server/listener/transmitter/switchboard-push.js +37 -6
- package/dist/src/server/listener/transmitter/switchboard-push.js.map +1 -1
- package/dist/src/server/sync-manager.d.ts +2 -2
- package/dist/src/server/sync-manager.d.ts.map +1 -1
- package/dist/src/server/sync-manager.js.map +1 -1
- package/dist/src/server/types.d.ts +21 -7
- package/dist/src/server/types.d.ts.map +1 -1
- package/dist/src/server/types.js.map +1 -1
- package/dist/src/storage/browser.d.ts +9 -8
- package/dist/src/storage/browser.d.ts.map +1 -1
- package/dist/src/storage/browser.js +116 -40
- package/dist/src/storage/browser.js.map +1 -1
- package/dist/src/storage/filesystem.d.ts +10 -8
- package/dist/src/storage/filesystem.d.ts.map +1 -1
- package/dist/src/storage/filesystem.js +112 -41
- package/dist/src/storage/filesystem.js.map +1 -1
- package/dist/src/storage/ipfs.d.ts +8 -5
- package/dist/src/storage/ipfs.d.ts.map +1 -1
- package/dist/src/storage/ipfs.js +133 -79
- package/dist/src/storage/ipfs.js.map +1 -1
- package/dist/src/storage/memory.d.ts +9 -7
- package/dist/src/storage/memory.d.ts.map +1 -1
- package/dist/src/storage/memory.js +97 -51
- package/dist/src/storage/memory.js.map +1 -1
- package/dist/src/storage/prisma/client/edge.js +4 -3
- package/dist/src/storage/prisma/client/index-browser.js +1 -0
- package/dist/src/storage/prisma/client/index.d.ts +150 -71
- package/dist/src/storage/prisma/client/index.js +4 -3
- package/dist/src/storage/prisma/client/package.json +1 -1
- package/dist/src/storage/prisma/client/schema.prisma +2 -0
- package/dist/src/storage/prisma/client/wasm.js +1 -0
- package/dist/src/storage/prisma/prisma.d.ts +8 -6
- package/dist/src/storage/prisma/prisma.d.ts.map +1 -1
- package/dist/src/storage/prisma/prisma.js +96 -49
- package/dist/src/storage/prisma/prisma.js.map +1 -1
- package/dist/src/storage/types.d.ts +40 -19
- package/dist/src/storage/types.d.ts.map +1 -1
- package/dist/src/storage/utils.d.ts +3 -0
- package/dist/src/storage/utils.d.ts.map +1 -0
- package/dist/src/storage/utils.js +3 -0
- package/dist/src/storage/utils.js.map +1 -0
- package/dist/src/utils/default-drives-manager.d.ts.map +1 -1
- package/dist/src/utils/default-drives-manager.js +13 -11
- package/dist/src/utils/default-drives-manager.js.map +1 -1
- package/dist/src/utils/graphql.d.ts +8 -4
- package/dist/src/utils/graphql.d.ts.map +1 -1
- package/dist/src/utils/graphql.js +27 -14
- package/dist/src/utils/graphql.js.map +1 -1
- package/dist/src/utils/logger.d.ts +2 -2
- package/dist/src/utils/logger.d.ts.map +1 -1
- package/dist/src/utils/logger.js +21 -19
- package/dist/src/utils/logger.js.map +1 -1
- package/dist/src/utils/misc.d.ts +0 -1
- package/dist/src/utils/misc.d.ts.map +1 -1
- package/dist/src/utils/misc.js +0 -4
- package/dist/src/utils/misc.js.map +1 -1
- package/dist/test/cache.test.d.ts +2 -0
- package/dist/test/cache.test.d.ts.map +1 -0
- package/dist/test/cache.test.js +281 -0
- package/dist/test/cache.test.js.map +1 -0
- package/dist/test/default-remote-drives.test.d.ts +2 -0
- package/dist/test/default-remote-drives.test.d.ts.map +1 -0
- package/dist/test/default-remote-drives.test.js +446 -0
- package/dist/test/default-remote-drives.test.js.map +1 -0
- package/dist/test/document-helpers/addUndo.test.d.ts +2 -0
- package/dist/test/document-helpers/addUndo.test.d.ts.map +1 -0
- package/dist/test/document-helpers/addUndo.test.js +120 -0
- package/dist/test/document-helpers/addUndo.test.js.map +1 -0
- package/dist/test/document-helpers/attachBranch.test.d.ts +2 -0
- package/dist/test/document-helpers/attachBranch.test.d.ts.map +1 -0
- package/dist/test/document-helpers/attachBranch.test.js +333 -0
- package/dist/test/document-helpers/attachBranch.test.js.map +1 -0
- package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts +2 -0
- package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts.map +1 -0
- package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js +252 -0
- package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js.map +1 -0
- package/dist/test/document-helpers/garbageCollect.test.d.ts +2 -0
- package/dist/test/document-helpers/garbageCollect.test.d.ts.map +1 -0
- package/dist/test/document-helpers/garbageCollect.test.js +136 -0
- package/dist/test/document-helpers/garbageCollect.test.js.map +1 -0
- package/dist/test/document-helpers/groupOperationsByScope.test.d.ts +2 -0
- package/dist/test/document-helpers/groupOperationsByScope.test.d.ts.map +1 -0
- package/dist/test/document-helpers/groupOperationsByScope.test.js +98 -0
- package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -0
- package/dist/test/document-helpers/merge.test.d.ts +2 -0
- package/dist/test/document-helpers/merge.test.d.ts.map +1 -0
- package/dist/test/document-helpers/merge.test.js +757 -0
- package/dist/test/document-helpers/merge.test.js.map +1 -0
- package/dist/test/document-helpers/nextSkipNumber.test.d.ts +2 -0
- package/dist/test/document-helpers/nextSkipNumber.test.d.ts.map +1 -0
- package/dist/test/document-helpers/nextSkipNumber.test.js +123 -0
- package/dist/test/document-helpers/nextSkipNumber.test.js.map +1 -0
- package/dist/test/document-helpers/prepareOperations.test.d.ts +2 -0
- package/dist/test/document-helpers/prepareOperations.test.d.ts.map +1 -0
- package/dist/test/document-helpers/prepareOperations.test.js +304 -0
- package/dist/test/document-helpers/prepareOperations.test.js.map +1 -0
- package/dist/test/document-helpers/removeExistingOperations.test.d.ts +2 -0
- package/dist/test/document-helpers/removeExistingOperations.test.d.ts.map +1 -0
- package/dist/test/document-helpers/removeExistingOperations.test.js +150 -0
- package/dist/test/document-helpers/removeExistingOperations.test.js.map +1 -0
- package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts +2 -0
- package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts.map +1 -0
- package/dist/test/document-helpers/reshuffleByTimestamp.test.js +148 -0
- package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +1 -0
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts +2 -0
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts.map +1 -0
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +200 -0
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +1 -0
- package/dist/test/document-helpers/sortOperations.test.d.ts +2 -0
- package/dist/test/document-helpers/sortOperations.test.d.ts.map +1 -0
- package/dist/test/document-helpers/sortOperations.test.js +101 -0
- package/dist/test/document-helpers/sortOperations.test.js.map +1 -0
- package/dist/test/document-helpers/split.test.d.ts +2 -0
- package/dist/test/document-helpers/split.test.d.ts.map +1 -0
- package/dist/test/document-helpers/split.test.js +121 -0
- package/dist/test/document-helpers/split.test.js.map +1 -0
- package/dist/test/drive-operations.test.d.ts +2 -0
- package/dist/test/drive-operations.test.d.ts.map +1 -0
- package/dist/test/drive-operations.test.js +145 -0
- package/dist/test/drive-operations.test.js.map +1 -0
- package/dist/test/graphql.test.d.ts +2 -0
- package/dist/test/graphql.test.d.ts.map +1 -0
- package/dist/test/graphql.test.js +10 -0
- package/dist/test/graphql.test.js.map +1 -0
- package/dist/test/internal-listener.test.d.ts +2 -0
- package/dist/test/internal-listener.test.d.ts.map +1 -0
- package/dist/test/internal-listener.test.js +274 -0
- package/dist/test/internal-listener.test.js.map +1 -0
- package/dist/test/queue.test.d.ts +2 -0
- package/dist/test/queue.test.d.ts.map +1 -0
- package/dist/test/queue.test.js +338 -0
- package/dist/test/queue.test.js.map +1 -0
- package/dist/test/read-mode.test.d.ts +2 -0
- package/dist/test/read-mode.test.d.ts.map +1 -0
- package/dist/test/read-mode.test.js +566 -0
- package/dist/test/read-mode.test.js.map +1 -0
- package/dist/test/server/driveOperationsConflictResolution.test.d.ts +2 -0
- package/dist/test/server/driveOperationsConflictResolution.test.d.ts.map +1 -0
- package/dist/test/server/driveOperationsConflictResolution.test.js +389 -0
- package/dist/test/server/driveOperationsConflictResolution.test.js.map +1 -0
- package/dist/test/server/mergeOperations.test.d.ts +2 -0
- package/dist/test/server/mergeOperations.test.d.ts.map +1 -0
- package/dist/test/server/mergeOperations.test.js +107 -0
- package/dist/test/server/mergeOperations.test.js.map +1 -0
- package/dist/test/server/processOperations.test.d.ts +2 -0
- package/dist/test/server/processOperations.test.d.ts.map +1 -0
- package/dist/test/server/processOperations.test.js +380 -0
- package/dist/test/server/processOperations.test.js.map +1 -0
- package/dist/test/server.test.d.ts +2 -0
- package/dist/test/server.test.d.ts.map +1 -0
- package/dist/test/server.test.js +826 -0
- package/dist/test/server.test.js.map +1 -0
- package/dist/test/signature-migration.test.d.ts +2 -0
- package/dist/test/signature-migration.test.d.ts.map +1 -0
- package/dist/test/signature-migration.test.js +235 -0
- package/dist/test/signature-migration.test.js.map +1 -0
- package/dist/test/storage.test.d.ts +2 -0
- package/dist/test/storage.test.d.ts.map +1 -0
- package/dist/test/storage.test.js +476 -0
- package/dist/test/storage.test.js.map +1 -0
- package/dist/test/utils.test.d.ts +2 -0
- package/dist/test/utils.test.d.ts.map +1 -0
- package/dist/test/utils.test.js +89 -0
- package/dist/test/utils.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +7 -1
- package/dist/vitest.config.js.map +1 -1
- package/package.json +17 -11
- package/dist/src/drive-document-model/gen/constants.d.ts +0 -7
- package/dist/src/drive-document-model/gen/constants.d.ts.map +0 -1
- package/dist/src/drive-document-model/gen/constants.js +0 -17
- package/dist/src/drive-document-model/gen/constants.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type IQueueManager } from "#queue/types";
|
|
2
|
-
import { type IDocumentStorage, type
|
|
2
|
+
import { type IDocumentStorage, type IDriveOperationStorage } from "#storage/types";
|
|
3
3
|
import { type IDefaultDrivesManager } from "#utils/default-drives-manager";
|
|
4
4
|
import { type DocumentDriveAction, type DocumentDriveDocument } from "document-drive";
|
|
5
5
|
import { type Action, type DocumentModelModule, type Operation, type PHDocument } from "document-model";
|
|
@@ -8,7 +8,7 @@ import { type ICache } from "../cache/types.js";
|
|
|
8
8
|
import { OperationError, type SynchronizationUnitNotFoundError } from "./error.js";
|
|
9
9
|
import { type AddOperationOptions, type Constructor, type CreateDocumentInput, type DocumentDriveServerOptions, type DriveEvents, type DriveInput, type DriveOperationResult, type GetDocumentOptions, type GetStrandsOptions, type IBaseDocumentDriveServer, type IEventEmitter, type IListenerManager, type IOperationResult, type ISynchronizationManager, type Mixin, type OperationUpdate, type RemoteDriveAccessLevel, type RemoteDriveOptions, type SignalResult, type SyncStatus, type SyncUnitStatusObject, type SynchronizationUnit, type SynchronizationUnitQuery } from "./types.js";
|
|
10
10
|
export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer, IDefaultDrivesManager {
|
|
11
|
-
|
|
11
|
+
protected logger: import("document-drive").ILogger;
|
|
12
12
|
private documentModelModules;
|
|
13
13
|
private legacyStorage;
|
|
14
14
|
private documentStorage;
|
|
@@ -18,12 +18,13 @@ export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer
|
|
|
18
18
|
protected options: Required<DocumentDriveServerOptions>;
|
|
19
19
|
private listenerManager;
|
|
20
20
|
private synchronizationManager;
|
|
21
|
+
generateJwtHandler?: (driveUrl: string) => Promise<string>;
|
|
21
22
|
private defaultDrivesManager;
|
|
22
23
|
private defaultDrivesManagerDelegate;
|
|
23
24
|
private queueDelegate;
|
|
24
25
|
private triggerMap;
|
|
25
26
|
private initializePromise;
|
|
26
|
-
constructor(documentModelModules: DocumentModelModule[], storage:
|
|
27
|
+
constructor(documentModelModules: DocumentModelModule[], storage: IDriveOperationStorage, documentStorage: IDocumentStorage, cache: ICache, queueManager: IQueueManager, eventEmitter: IEventEmitter, synchronizationManager: ISynchronizationManager, listenerManager: IListenerManager, options?: DocumentDriveServerOptions);
|
|
27
28
|
get listeners(): IListenerManager;
|
|
28
29
|
initialize(): Promise<Error[] | null>;
|
|
29
30
|
private _initialize;
|
|
@@ -50,6 +51,7 @@ export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer
|
|
|
50
51
|
getDrives(): Promise<string[]>;
|
|
51
52
|
getDrive(driveId: string, options?: GetDocumentOptions): Promise<DocumentDriveDocument>;
|
|
52
53
|
getDriveBySlug(slug: string, options?: GetDocumentOptions): Promise<DocumentDriveDocument>;
|
|
54
|
+
getDriveIdBySlug(slug: string): Promise<DocumentDriveDocument["id"]>;
|
|
53
55
|
getDocument<TDocument extends PHDocument>(driveId: string, documentId: string, options?: GetDocumentOptions): Promise<TDocument>;
|
|
54
56
|
getDocuments(driveId: string): Promise<string[]>;
|
|
55
57
|
protected createDocument<TDocument extends PHDocument>(driveId: string, input: CreateDocumentInput<TDocument>): Promise<TDocument>;
|
|
@@ -70,12 +72,11 @@ export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer
|
|
|
70
72
|
queueOperations(driveId: string, documentId: string, operations: Operation[], options?: AddOperationOptions): Promise<IOperationResult>;
|
|
71
73
|
queueAction(driveId: string, documentId: string, action: Action, options?: AddOperationOptions): Promise<IOperationResult>;
|
|
72
74
|
queueActions(driveId: string, documentId: string, actions: Action[], options?: AddOperationOptions): Promise<IOperationResult>;
|
|
73
|
-
queueDriveAction(driveId: string, action: DocumentDriveAction, options?: AddOperationOptions): Promise<IOperationResult<DocumentDriveDocument>>;
|
|
74
|
-
queueDriveActions(driveId: string, actions: DocumentDriveAction[], options?: AddOperationOptions): Promise<IOperationResult<DocumentDriveDocument>>;
|
|
75
|
+
queueDriveAction(driveId: string, action: DocumentDriveAction | Action, options?: AddOperationOptions): Promise<IOperationResult<DocumentDriveDocument>>;
|
|
76
|
+
queueDriveActions(driveId: string, actions: (DocumentDriveAction | Action)[], options?: AddOperationOptions): Promise<IOperationResult<DocumentDriveDocument>>;
|
|
75
77
|
addOperations(driveId: string, documentId: string, operations: Operation[], options?: AddOperationOptions): Promise<IOperationResult>;
|
|
76
78
|
private processOperations;
|
|
77
79
|
addDriveOperation(driveId: string, operation: Operation<DocumentDriveAction>, options?: AddOperationOptions): Promise<DriveOperationResult>;
|
|
78
|
-
clearStorage(): Promise<void>;
|
|
79
80
|
private _addDriveOperations;
|
|
80
81
|
queueDriveOperation(driveId: string, operation: Operation<DocumentDriveAction>, options?: AddOperationOptions): Promise<DriveOperationResult>;
|
|
81
82
|
private resultIfExistingDriveOperations;
|
|
@@ -98,6 +99,8 @@ export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer
|
|
|
98
99
|
initializeDriveSyncStatus(driveId: string, drive: DocumentDriveDocument): Promise<void>;
|
|
99
100
|
getCombinedSyncUnitStatus(syncUnitStatus: SyncUnitStatusObject): SyncStatus;
|
|
100
101
|
private saveStrand;
|
|
102
|
+
setGenerateJwtHandler(handler: (driveUrl: string) => Promise<string>): void;
|
|
103
|
+
removeJwtHandler(): void;
|
|
101
104
|
}
|
|
102
105
|
export type DocumentDriveServerConstructor = Constructor<BaseDocumentDriveServer>;
|
|
103
106
|
export type DocumentDriveServerMixin<I> = Mixin<typeof BaseDocumentDriveServer, I>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-server.d.ts","sourceRoot":"","sources":["../../../src/server/base-server.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,aAAa,EAKnB,MAAM,cAAc,CAAC;AAEtB,OAAO,
|
|
1
|
+
{"version":3,"file":"base-server.d.ts","sourceRoot":"","sources":["../../../src/server/base-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,13 @@ import { createDocument } from "#drive-document-model/gen/utils";
|
|
|
3
3
|
import { isActionJob, isOperationJob, } from "#queue/types";
|
|
4
4
|
import { ReadModeServer } from "#read-mode/server";
|
|
5
5
|
import { DefaultDrivesManager, } from "#utils/default-drives-manager";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { requestPublicDriveWithTokenFromReactor } from "#utils/graphql";
|
|
7
|
+
import { isDocumentDrive, runAsapAsync } from "#utils/misc";
|
|
8
8
|
import { RunAsap } from "#utils/run-asap";
|
|
9
9
|
import { childLogger, } from "document-drive";
|
|
10
10
|
import { attachBranch, garbageCollect, garbageCollectDocumentOperations, groupOperationsByScope, merge, precedes, removeExistingOperations, replayDocument, reshuffleByTimestamp, skipHeaderOperations, sortOperations, } from "document-model";
|
|
11
11
|
import { ClientError } from "graphql-request";
|
|
12
|
-
import { ConflictOperationError,
|
|
12
|
+
import { ConflictOperationError, OperationError, } from "./error.js";
|
|
13
13
|
import { PullResponderTransmitter, } from "./listener/transmitter/pull-responder.js";
|
|
14
14
|
import { SwitchboardPushTransmitter } from "./listener/transmitter/switchboard-push.js";
|
|
15
15
|
import { DefaultListenerManagerOptions, } from "./types.js";
|
|
@@ -26,6 +26,7 @@ export class BaseDocumentDriveServer {
|
|
|
26
26
|
options;
|
|
27
27
|
listenerManager;
|
|
28
28
|
synchronizationManager;
|
|
29
|
+
generateJwtHandler;
|
|
29
30
|
// internal dependencies
|
|
30
31
|
defaultDrivesManager;
|
|
31
32
|
defaultDrivesManagerDelegate = {
|
|
@@ -77,6 +78,9 @@ export class BaseDocumentDriveServer {
|
|
|
77
78
|
...DefaultListenerManagerOptions,
|
|
78
79
|
...options?.listenerManager,
|
|
79
80
|
},
|
|
81
|
+
jwtHandler: options?.jwtHandler === undefined
|
|
82
|
+
? () => Promise.resolve("")
|
|
83
|
+
: options.jwtHandler,
|
|
80
84
|
taskQueueMethod: options?.taskQueueMethod === undefined
|
|
81
85
|
? RunAsap.runAsap
|
|
82
86
|
: options.taskQueueMethod,
|
|
@@ -216,7 +220,7 @@ export class BaseDocumentDriveServer {
|
|
|
216
220
|
.catch(this.logger.error);
|
|
217
221
|
}
|
|
218
222
|
}
|
|
219
|
-
});
|
|
223
|
+
}, undefined, this.listeners);
|
|
220
224
|
driveTriggers.set(trigger.id, cancelPullLoop);
|
|
221
225
|
this.triggerMap.set(driveId, driveTriggers);
|
|
222
226
|
}
|
|
@@ -237,7 +241,7 @@ export class BaseDocumentDriveServer {
|
|
|
237
241
|
}
|
|
238
242
|
async _initializeDrive(driveId) {
|
|
239
243
|
const drive = await this.getDrive(driveId);
|
|
240
|
-
this.logger.verbose(`[SYNC DEBUG] Initializing drive ${driveId} with slug "${drive.
|
|
244
|
+
this.logger.verbose(`[SYNC DEBUG] Initializing drive ${driveId} with slug "${drive.slug}"`);
|
|
241
245
|
await this.synchronizationManager.initializeDriveSyncStatus(driveId, drive);
|
|
242
246
|
if (this.shouldSyncRemoteDrive(drive)) {
|
|
243
247
|
this.logger.verbose(`[SYNC DEBUG] Starting sync for remote drive ${driveId}`);
|
|
@@ -248,12 +252,12 @@ export class BaseDocumentDriveServer {
|
|
|
248
252
|
for (const zodListener of drive.state.local.listeners) {
|
|
249
253
|
if (zodListener.callInfo?.transmitterType === "SwitchboardPush") {
|
|
250
254
|
this.logger.verbose(`[SYNC DEBUG] Setting up SwitchboardPush listener ${zodListener.listenerId} for drive ${driveId}`);
|
|
251
|
-
const transmitter = new SwitchboardPushTransmitter(zodListener.callInfo.data ?? "");
|
|
255
|
+
const transmitter = new SwitchboardPushTransmitter(zodListener.callInfo.data ?? "", this.listeners);
|
|
252
256
|
this.logger.verbose(`[SYNC DEBUG] Created SwitchboardPush transmitter with URL: ${zodListener.callInfo.data || "none"}`);
|
|
253
257
|
await this.listenerManager
|
|
254
258
|
.setListener(driveId, {
|
|
255
259
|
block: zodListener.block,
|
|
256
|
-
driveId: drive.
|
|
260
|
+
driveId: drive.id,
|
|
257
261
|
filter: {
|
|
258
262
|
branch: zodListener.filter.branch ?? [],
|
|
259
263
|
documentId: zodListener.filter.documentId ?? [],
|
|
@@ -318,41 +322,46 @@ export class BaseDocumentDriveServer {
|
|
|
318
322
|
return [...this.documentModelModules];
|
|
319
323
|
}
|
|
320
324
|
async addDrive(input, preferredEditor) {
|
|
321
|
-
const id = input.global.id || generateUUID();
|
|
322
|
-
if (!id) {
|
|
323
|
-
throw new Error("Invalid Drive Id");
|
|
324
|
-
}
|
|
325
|
-
const drives = await this.legacyStorage.getDrives();
|
|
326
|
-
if (drives.includes(id)) {
|
|
327
|
-
throw new DocumentAlreadyExistsError(id);
|
|
328
|
-
}
|
|
329
325
|
const document = createDocument({
|
|
330
|
-
|
|
326
|
+
id: input.id,
|
|
327
|
+
slug: input.slug,
|
|
328
|
+
state: {
|
|
329
|
+
global: {
|
|
330
|
+
icon: input.global.icon ?? null,
|
|
331
|
+
name: input.global.name,
|
|
332
|
+
},
|
|
333
|
+
local: input.local ?? {},
|
|
334
|
+
},
|
|
331
335
|
});
|
|
332
336
|
document.meta = {
|
|
333
337
|
preferredEditor: preferredEditor,
|
|
334
338
|
};
|
|
335
|
-
await this.
|
|
336
|
-
if (input.
|
|
337
|
-
await this.cache.deleteDriveBySlug(input.
|
|
339
|
+
await this.documentStorage.create(document);
|
|
340
|
+
if (input.slug && input.slug.length > 0) {
|
|
341
|
+
await this.cache.deleteDriveBySlug(input.slug);
|
|
338
342
|
}
|
|
339
|
-
await this._initializeDrive(id);
|
|
343
|
+
await this._initializeDrive(document.id);
|
|
340
344
|
this.eventEmitter.emit("driveAdded", document);
|
|
341
345
|
return document;
|
|
342
346
|
}
|
|
343
347
|
async addRemoteDrive(url, options) {
|
|
344
|
-
const
|
|
348
|
+
const token = await this.generateJwtHandler?.(url);
|
|
349
|
+
const headers = token
|
|
350
|
+
? { Authorization: `Bearer ${token}` }
|
|
351
|
+
: {};
|
|
352
|
+
const { id, name, slug, icon, meta } = options.expectedDriveInfo ||
|
|
353
|
+
(await requestPublicDriveWithTokenFromReactor(url, this));
|
|
345
354
|
const { pullFilter, pullInterval, availableOffline, sharingType, listeners, triggers, } = options;
|
|
346
355
|
const pullTrigger = await PullResponderTransmitter.createPullResponderTrigger(id, url, {
|
|
347
356
|
pullFilter,
|
|
348
357
|
pullInterval,
|
|
349
|
-
});
|
|
358
|
+
}, this.listeners);
|
|
350
359
|
return await this.addDrive({
|
|
360
|
+
id,
|
|
361
|
+
slug,
|
|
351
362
|
global: {
|
|
352
|
-
id: id,
|
|
353
363
|
name,
|
|
354
|
-
|
|
355
|
-
icon: icon ?? null,
|
|
364
|
+
icon,
|
|
356
365
|
},
|
|
357
366
|
local: {
|
|
358
367
|
triggers: [...triggers, pullTrigger],
|
|
@@ -367,7 +376,7 @@ export class BaseDocumentDriveServer {
|
|
|
367
376
|
this.stopSyncRemoteDrive(driveId),
|
|
368
377
|
this.listenerManager.removeDrive(driveId),
|
|
369
378
|
this.cache.deleteDrive(driveId),
|
|
370
|
-
this.
|
|
379
|
+
this.documentStorage.delete(driveId),
|
|
371
380
|
]);
|
|
372
381
|
this.eventEmitter.emit("driveDeleted", driveId);
|
|
373
382
|
result.forEach((r) => {
|
|
@@ -376,8 +385,16 @@ export class BaseDocumentDriveServer {
|
|
|
376
385
|
}
|
|
377
386
|
});
|
|
378
387
|
}
|
|
379
|
-
|
|
380
|
-
|
|
388
|
+
// TODO: paginate
|
|
389
|
+
async getDrives() {
|
|
390
|
+
const drives = [];
|
|
391
|
+
let cursor;
|
|
392
|
+
do {
|
|
393
|
+
const { documents, nextCursor } = await this.documentStorage.findByType("powerhouse/document-drive", 100, cursor);
|
|
394
|
+
drives.push(...documents);
|
|
395
|
+
cursor = nextCursor;
|
|
396
|
+
} while (cursor);
|
|
397
|
+
return drives;
|
|
381
398
|
}
|
|
382
399
|
async getDrive(driveId, options) {
|
|
383
400
|
let document;
|
|
@@ -425,6 +442,19 @@ export class BaseDocumentDriveServer {
|
|
|
425
442
|
return document;
|
|
426
443
|
}
|
|
427
444
|
}
|
|
445
|
+
async getDriveIdBySlug(slug) {
|
|
446
|
+
try {
|
|
447
|
+
const drive = await this.cache.getDriveBySlug(slug);
|
|
448
|
+
if (drive) {
|
|
449
|
+
return drive.id;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
catch (e) {
|
|
453
|
+
this.logger.error("Error getting drive from cache", e);
|
|
454
|
+
}
|
|
455
|
+
const driveStorage = await this.documentStorage.getBySlug(slug);
|
|
456
|
+
return driveStorage.id;
|
|
457
|
+
}
|
|
428
458
|
async getDocument(driveId, documentId, options) {
|
|
429
459
|
let cachedDocument;
|
|
430
460
|
try {
|
|
@@ -459,9 +489,14 @@ export class BaseDocumentDriveServer {
|
|
|
459
489
|
// if no document was provided then create a new one
|
|
460
490
|
const document = input.document ??
|
|
461
491
|
this.getDocumentModelModule(input.documentType).utils.createDocument();
|
|
492
|
+
if (input.id && input.id.length > 0) {
|
|
493
|
+
document.id = input.id;
|
|
494
|
+
}
|
|
462
495
|
// stores document information
|
|
463
496
|
const documentStorage = {
|
|
497
|
+
id: document.id,
|
|
464
498
|
name: document.name,
|
|
499
|
+
slug: document.slug,
|
|
465
500
|
revision: document.revision,
|
|
466
501
|
documentType: document.documentType,
|
|
467
502
|
created: document.created,
|
|
@@ -471,7 +506,7 @@ export class BaseDocumentDriveServer {
|
|
|
471
506
|
clipboard: [],
|
|
472
507
|
state: state ?? document.state,
|
|
473
508
|
};
|
|
474
|
-
await this.documentStorage.create(
|
|
509
|
+
await this.documentStorage.create(documentStorage);
|
|
475
510
|
try {
|
|
476
511
|
await this.documentStorage.addChild(driveId, input.id);
|
|
477
512
|
}
|
|
@@ -652,12 +687,18 @@ export class BaseDocumentDriveServer {
|
|
|
652
687
|
handler = () => this.deleteDocument(driveId, signal.input.id);
|
|
653
688
|
break;
|
|
654
689
|
case "COPY_CHILD_DOCUMENT":
|
|
655
|
-
handler = () => this.getDocument(driveId, signal.input.id).then((documentToCopy) =>
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
690
|
+
handler = () => this.getDocument(driveId, signal.input.id).then((documentToCopy) => {
|
|
691
|
+
const doc = {
|
|
692
|
+
...documentToCopy,
|
|
693
|
+
slug: signal.input.newId,
|
|
694
|
+
};
|
|
695
|
+
return this.createDocument(driveId, {
|
|
696
|
+
id: signal.input.newId,
|
|
697
|
+
documentType: documentToCopy.documentType,
|
|
698
|
+
document: doc,
|
|
699
|
+
synchronizationUnits: signal.input.synchronizationUnits,
|
|
700
|
+
});
|
|
701
|
+
});
|
|
661
702
|
break;
|
|
662
703
|
}
|
|
663
704
|
if (handler) {
|
|
@@ -950,12 +991,6 @@ export class BaseDocumentDriveServer {
|
|
|
950
991
|
addDriveOperation(driveId, operation, options) {
|
|
951
992
|
return this.addDriveOperations(driveId, [operation], options);
|
|
952
993
|
}
|
|
953
|
-
async clearStorage() {
|
|
954
|
-
for (const drive of await this.getDrives()) {
|
|
955
|
-
await this.deleteDrive(drive);
|
|
956
|
-
}
|
|
957
|
-
await this.legacyStorage.clearStorage?.();
|
|
958
|
-
}
|
|
959
994
|
async _addDriveOperations(driveId, callback) {
|
|
960
995
|
if (!this.legacyStorage.addDriveOperationsWithTransaction) {
|
|
961
996
|
const documentStorage = await this.documentStorage.get(driveId);
|
|
@@ -1251,6 +1286,14 @@ export class BaseDocumentDriveServer {
|
|
|
1251
1286
|
this.eventEmitter.emit("strandUpdate", strand);
|
|
1252
1287
|
return result;
|
|
1253
1288
|
}
|
|
1289
|
+
setGenerateJwtHandler(handler) {
|
|
1290
|
+
this.generateJwtHandler = handler;
|
|
1291
|
+
this.listenerManager.setGenerateJwtHandler(handler);
|
|
1292
|
+
}
|
|
1293
|
+
removeJwtHandler() {
|
|
1294
|
+
this.generateJwtHandler = undefined;
|
|
1295
|
+
this.listenerManager.removeJwtHandler();
|
|
1296
|
+
}
|
|
1254
1297
|
}
|
|
1255
1298
|
export const DocumentDriveServer = ReadModeServer(BaseDocumentDriveServer);
|
|
1256
1299
|
//# sourceMappingURL=base-server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-server.js","sourceRoot":"","sources":["../../../src/server/base-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base-server.js","sourceRoot":"","sources":["../../../src/server/base-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { type DocumentModelModule } from "document-model";
|
|
2
2
|
import { type ICache } from "../cache/types.js";
|
|
3
3
|
import { type IQueueManager } from "../queue/types.js";
|
|
4
|
-
import { type
|
|
4
|
+
import { type IDriveOperationStorage } from "../storage/types.js";
|
|
5
5
|
import { type DocumentDriveServerOptions, type IDocumentDriveServer, type IEventEmitter, type IListenerManager, type ISynchronizationManager, type ITransmitterFactory } from "./types.js";
|
|
6
6
|
/**
|
|
7
7
|
* Builder class for constructing Reactor instances with proper configuration
|
|
8
8
|
*/
|
|
9
9
|
export declare class ReactorBuilder {
|
|
10
10
|
documentModelModules: DocumentModelModule[];
|
|
11
|
-
storage?:
|
|
11
|
+
storage?: IDriveOperationStorage;
|
|
12
12
|
cache?: ICache;
|
|
13
13
|
queueManager?: IQueueManager;
|
|
14
14
|
eventEmitter?: IEventEmitter;
|
|
@@ -17,7 +17,7 @@ export declare class ReactorBuilder {
|
|
|
17
17
|
listenerManager?: IListenerManager;
|
|
18
18
|
transmitterFactory?: ITransmitterFactory;
|
|
19
19
|
constructor(documentModelModules: DocumentModelModule[]);
|
|
20
|
-
withStorage(storage:
|
|
20
|
+
withStorage(storage: IDriveOperationStorage): this;
|
|
21
21
|
withCache(cache: ICache): this;
|
|
22
22
|
withQueueManager(queueManager: IQueueManager): this;
|
|
23
23
|
withEventEmitter(eventEmitter: IEventEmitter): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/server/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/server/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,cAAc;IAClB,oBAAoB,EAAE,mBAAmB,EAAE,CAAM;IAEjD,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,sBAAsB,CAAC,EAAE,uBAAuB,CAAC;IACjD,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;gBAEpC,oBAAoB,EAAE,mBAAmB,EAAE;IAIhD,WAAW,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAKlD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,gBAAgB,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAKnD,gBAAgB,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAKnD,0BAA0B,CAC/B,sBAAsB,EAAE,uBAAuB,GAC9C,IAAI;IAKA,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,GAAG,IAAI;IAK5D,sBAAsB,CAAC,kBAAkB,EAAE,mBAAmB,GAAG,IAAI;IAKrE,WAAW,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAKtD,KAAK,IAAI,oBAAoB;CAyDrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/server/builder.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/server/builder.ts"],"names":[],"mappings":"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"}
|