harper 5.1.20 → 5.2.0-alpha.5
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/agent/operations.ts +13 -16
- package/components/Application.ts +188 -7
- package/components/ApplicationScope.ts +3 -0
- package/components/Scope.ts +12 -0
- package/components/anthropic/index.ts +9 -2
- package/components/bedrock/index.ts +25 -2
- package/components/componentLoader.ts +56 -7
- package/components/componentSecrets.ts +451 -0
- package/components/deploymentRecorder.ts +7 -1
- package/components/mcp/adapters/fastify.ts +3 -0
- package/components/mcp/adapters/harperHttp.ts +3 -0
- package/components/mcp/audit.ts +21 -6
- package/components/mcp/customResourceRegistry.ts +17 -38
- package/components/mcp/listChanged.ts +37 -20
- package/components/mcp/quota.ts +145 -0
- package/components/mcp/rateLimit.ts +152 -14
- package/components/mcp/resources.ts +2 -4
- package/components/mcp/toolRegistry.ts +73 -4
- package/components/mcp/tools/application.ts +77 -8
- package/components/mcp/tools/operations.ts +106 -36
- package/components/mcp/tools/schemas/operationDescriptions.ts +4 -4
- package/components/mcp/tools/schemas/operations.ts +5 -0
- package/components/mcp/transport.ts +55 -4
- package/components/ollama/index.ts +6 -2
- package/components/openai/index.ts +9 -2
- package/components/operations.js +204 -10
- package/components/operationsValidation.js +173 -0
- package/components/secretOperations.ts +498 -0
- package/config/configUtils.ts +25 -1
- package/config-app.schema.json +81 -0
- package/config-root.schema.json +8 -1
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -3
- package/dataLayer/readAuditLog.ts +14 -0
- package/dataLayer/schemaDescribe.ts +1 -0
- package/dist/agent/operations.d.ts +7 -4
- package/dist/agent/operations.js +13 -15
- package/dist/agent/operations.js.map +1 -1
- package/dist/components/Application.d.ts +25 -2
- package/dist/components/Application.js +166 -7
- package/dist/components/Application.js.map +1 -1
- package/dist/components/ApplicationScope.d.ts +2 -0
- package/dist/components/ApplicationScope.js +3 -0
- package/dist/components/ApplicationScope.js.map +1 -1
- package/dist/components/Scope.d.ts +8 -0
- package/dist/components/Scope.js +11 -0
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/anthropic/index.d.ts +4 -1
- package/dist/components/anthropic/index.js +4 -2
- package/dist/components/anthropic/index.js.map +1 -1
- package/dist/components/bedrock/index.d.ts +4 -1
- package/dist/components/bedrock/index.js +22 -2
- package/dist/components/bedrock/index.js.map +1 -1
- package/dist/components/componentLoader.d.ts +2 -0
- package/dist/components/componentLoader.js +52 -10
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/componentSecrets.d.ts +63 -0
- package/dist/components/componentSecrets.js +405 -0
- package/dist/components/componentSecrets.js.map +1 -0
- package/dist/components/deploymentRecorder.d.ts +3 -0
- package/dist/components/deploymentRecorder.js +4 -3
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/mcp/adapters/fastify.d.ts +2 -0
- package/dist/components/mcp/adapters/fastify.js +1 -0
- package/dist/components/mcp/adapters/fastify.js.map +1 -1
- package/dist/components/mcp/adapters/harperHttp.d.ts +2 -0
- package/dist/components/mcp/adapters/harperHttp.js +1 -0
- package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
- package/dist/components/mcp/audit.d.ts +2 -2
- package/dist/components/mcp/audit.js +20 -5
- package/dist/components/mcp/audit.js.map +1 -1
- package/dist/components/mcp/customResourceRegistry.d.ts +5 -12
- package/dist/components/mcp/customResourceRegistry.js +15 -30
- package/dist/components/mcp/customResourceRegistry.js.map +1 -1
- package/dist/components/mcp/listChanged.d.ts +7 -2
- package/dist/components/mcp/listChanged.js +28 -0
- package/dist/components/mcp/listChanged.js.map +1 -1
- package/dist/components/mcp/quota.d.ts +31 -0
- package/dist/components/mcp/quota.js +155 -0
- package/dist/components/mcp/quota.js.map +1 -0
- package/dist/components/mcp/rateLimit.d.ts +19 -3
- package/dist/components/mcp/rateLimit.js +129 -13
- package/dist/components/mcp/rateLimit.js.map +1 -1
- package/dist/components/mcp/resources.js.map +1 -1
- package/dist/components/mcp/toolRegistry.d.ts +39 -1
- package/dist/components/mcp/toolRegistry.js +60 -5
- package/dist/components/mcp/toolRegistry.js.map +1 -1
- package/dist/components/mcp/tools/application.d.ts +8 -1
- package/dist/components/mcp/tools/application.js +65 -5
- package/dist/components/mcp/tools/application.js.map +1 -1
- package/dist/components/mcp/tools/operations.d.ts +15 -3
- package/dist/components/mcp/tools/operations.js +99 -38
- package/dist/components/mcp/tools/operations.js.map +1 -1
- package/dist/components/mcp/tools/schemas/operationDescriptions.js +4 -4
- package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
- package/dist/components/mcp/tools/schemas/operations.js +4 -0
- package/dist/components/mcp/tools/schemas/operations.js.map +1 -1
- package/dist/components/mcp/transport.d.ts +6 -0
- package/dist/components/mcp/transport.js +47 -3
- package/dist/components/mcp/transport.js.map +1 -1
- package/dist/components/ollama/index.d.ts +4 -1
- package/dist/components/ollama/index.js +4 -2
- package/dist/components/ollama/index.js.map +1 -1
- package/dist/components/openai/index.d.ts +4 -1
- package/dist/components/openai/index.js +4 -2
- package/dist/components/openai/index.js.map +1 -1
- package/dist/components/operations.d.ts +39 -0
- package/dist/components/operations.js +194 -2
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.d.ts +38 -0
- package/dist/components/operationsValidation.js +155 -0
- package/dist/components/operationsValidation.js.map +1 -1
- package/dist/components/secretOperations.d.ts +113 -0
- package/dist/components/secretOperations.js +475 -0
- package/dist/components/secretOperations.js.map +1 -0
- package/dist/config/configUtils.d.ts +4 -1
- package/dist/config/configUtils.js +18 -1
- package/dist/config/configUtils.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -3
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -1
- package/dist/dataLayer/readAuditLog.js +11 -0
- package/dist/dataLayer/readAuditLog.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.js +2 -0
- package/dist/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/globals.d.ts +1 -1
- package/dist/globals.js +1 -0
- package/dist/globals.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +38 -0
- package/dist/resources/DatabaseTransaction.d.ts +31 -3
- package/dist/resources/DatabaseTransaction.js +190 -29
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +1 -1
- package/dist/resources/LMDBTransaction.js +43 -5
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/PrimaryRocksDatabase.d.ts +51 -0
- package/dist/resources/PrimaryRocksDatabase.js +194 -0
- package/dist/resources/PrimaryRocksDatabase.js.map +1 -0
- package/dist/resources/RecordEncoder.d.ts +1 -0
- package/dist/resources/RecordEncoder.js +81 -75
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/RequestTarget.d.ts +19 -0
- package/dist/resources/RequestTarget.js.map +1 -1
- package/dist/resources/Resource.d.ts +0 -1
- package/dist/resources/Resource.js +103 -16
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +6 -2
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/Resources.js.map +1 -1
- package/dist/resources/Table.d.ts +6 -4
- package/dist/resources/Table.js +247 -24
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/read.js +25 -28
- package/dist/resources/analytics/read.js.map +1 -1
- package/dist/resources/blob.js +165 -22
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/crdt.d.ts +2 -0
- package/dist/resources/crdt.js +45 -36
- package/dist/resources/crdt.js.map +1 -1
- package/dist/resources/databases.d.ts +1 -0
- package/dist/resources/databases.js +134 -7
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/graphql.js +8 -0
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +35 -5
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +239 -14
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/jsResource.js +6 -0
- package/dist/resources/jsResource.js.map +1 -1
- package/dist/resources/loadEnv.js +30 -3
- package/dist/resources/loadEnv.js.map +1 -1
- package/dist/resources/login.js +2 -2
- package/dist/resources/login.js.map +1 -1
- package/dist/resources/models/Models.js +14 -3
- package/dist/resources/models/Models.js.map +1 -1
- package/dist/resources/models/embedHook.js +10 -2
- package/dist/resources/models/embedHook.js.map +1 -1
- package/dist/resources/models/openaiStream.d.ts +56 -0
- package/dist/resources/models/openaiStream.js +94 -0
- package/dist/resources/models/openaiStream.js.map +1 -0
- package/dist/resources/replayLogs.js +4 -3
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/search.d.ts +1 -1
- package/dist/resources/search.js +104 -11
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/secretDecryptor.d.ts +54 -0
- package/dist/resources/secretDecryptor.js +131 -0
- package/dist/resources/secretDecryptor.js.map +1 -0
- package/dist/resources/tracked.js +15 -5
- package/dist/resources/tracked.js.map +1 -1
- package/dist/security/auth.js +71 -8
- package/dist/security/auth.js.map +1 -1
- package/dist/security/jsLoader.js +11 -0
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/tokenAuthentication.d.ts +9 -1
- package/dist/security/tokenAuthentication.js +31 -1
- package/dist/security/tokenAuthentication.js.map +1 -1
- package/dist/server/DurableSubscriptionsSession.d.ts +1 -1
- package/dist/server/DurableSubscriptionsSession.js +8 -4
- package/dist/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/server/REST.js +28 -9
- package/dist/server/REST.js.map +1 -1
- package/dist/server/fastifyRoutes.js +11 -1
- package/dist/server/fastifyRoutes.js.map +1 -1
- package/dist/server/graphqlQuerying.js +4 -3
- package/dist/server/graphqlQuerying.js.map +1 -1
- package/dist/server/http.d.ts +40 -2
- package/dist/server/http.js +560 -77
- package/dist/server/http.js.map +1 -1
- package/dist/server/itc/serverHandlers.js +64 -0
- package/dist/server/itc/serverHandlers.js.map +1 -1
- package/dist/server/liveSubscriptionAuth.d.ts +12 -0
- package/dist/server/liveSubscriptionAuth.js +140 -0
- package/dist/server/liveSubscriptionAuth.js.map +1 -0
- package/dist/server/loadRootComponents.js +2 -1
- package/dist/server/loadRootComponents.js.map +1 -1
- package/dist/server/middlewareChain.d.ts +44 -1
- package/dist/server/middlewareChain.js +86 -10
- package/dist/server/middlewareChain.js.map +1 -1
- package/dist/server/mqtt.js +2 -1
- package/dist/server/mqtt.js.map +1 -1
- package/dist/server/operationsServer.js +1 -1
- package/dist/server/operationsServer.js.map +1 -1
- package/dist/server/serverHelpers/Headers.d.ts +9 -0
- package/dist/server/serverHelpers/Headers.js +22 -0
- package/dist/server/serverHelpers/Headers.js.map +1 -1
- package/dist/server/serverHelpers/JSONStream.js +3 -3
- package/dist/server/serverHelpers/JSONStream.js.map +1 -1
- package/dist/server/serverHelpers/Request.d.ts +52 -1
- package/dist/server/serverHelpers/Request.js +122 -1
- package/dist/server/serverHelpers/Request.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.js +3 -8
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/progressEmitter.d.ts +19 -0
- package/dist/server/serverHelpers/progressEmitter.js +52 -4
- package/dist/server/serverHelpers/progressEmitter.js.map +1 -1
- package/dist/server/serverHelpers/registeredOperations.d.ts +40 -0
- package/dist/server/serverHelpers/registeredOperations.js +286 -0
- package/dist/server/serverHelpers/registeredOperations.js.map +1 -0
- package/dist/server/serverHelpers/serverHandlers.js +11 -5
- package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.d.ts +1 -0
- package/dist/server/serverHelpers/serverUtilities.js +67 -5
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/serverHelpers/uwsServer.d.ts +80 -0
- package/dist/server/serverHelpers/uwsServer.js +433 -0
- package/dist/server/serverHelpers/uwsServer.js.map +1 -0
- package/dist/server/static.d.ts +0 -15
- package/dist/server/static.js +161 -2
- package/dist/server/static.js.map +1 -1
- package/dist/server/status/index.d.ts +4 -1
- package/dist/server/status/index.js +64 -4
- package/dist/server/status/index.js.map +1 -1
- package/dist/server/threads/manageThreads.d.ts +10 -0
- package/dist/server/threads/manageThreads.js +107 -4
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.js +5 -1
- package/dist/server/threads/socketRouter.js.map +1 -1
- package/dist/server/threads/threadServer.js +92 -14
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/upgrade/directives/5-2-0.d.ts +7 -0
- package/dist/upgrade/directives/5-2-0.js +108 -0
- package/dist/upgrade/directives/5-2-0.js.map +1 -0
- package/dist/upgrade/directives/directivesController.js +2 -1
- package/dist/upgrade/directives/directivesController.js.map +1 -1
- package/dist/utility/common_utils.js +5 -0
- package/dist/utility/common_utils.js.map +1 -1
- package/dist/utility/envFile.d.ts +41 -0
- package/dist/utility/envFile.js +221 -0
- package/dist/utility/envFile.js.map +1 -0
- package/dist/utility/globalSchema.d.ts +9 -0
- package/dist/utility/hdbTerms.d.ts +25 -0
- package/dist/utility/hdbTerms.js +31 -0
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/logging/harper_logger.d.ts +21 -0
- package/dist/utility/logging/harper_logger.js +160 -8
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/dist/utility/logging/logRotator.js +29 -17
- package/dist/utility/logging/logRotator.js.map +1 -1
- package/dist/utility/logging/readLog.d.ts +1 -1
- package/dist/utility/logging/readLog.js +305 -2
- package/dist/utility/logging/readLog.js.map +1 -1
- package/dist/utility/operationPermissions.d.ts +18 -0
- package/dist/utility/operationPermissions.js +35 -1
- package/dist/utility/operationPermissions.js.map +1 -1
- package/dist/utility/operation_authorization.d.ts +17 -0
- package/dist/utility/operation_authorization.js +38 -0
- package/dist/utility/operation_authorization.js.map +1 -1
- package/dist/utility/secretEnvelope.d.ts +30 -0
- package/dist/utility/secretEnvelope.js +94 -0
- package/dist/utility/secretEnvelope.js.map +1 -0
- package/dist/utility/signalling.d.ts +7 -0
- package/dist/utility/signalling.js +16 -0
- package/dist/utility/signalling.js.map +1 -1
- package/dist/validation/configValidator.js +70 -24
- package/dist/validation/configValidator.js.map +1 -1
- package/index.ts +4 -0
- package/json/systemSchema.json +38 -0
- package/npm-shrinkwrap.json +15066 -9347
- package/package.json +13 -8
- package/resources/DESIGN.md +15 -12
- package/resources/DatabaseTransaction.ts +206 -37
- package/resources/LMDBTransaction.ts +43 -9
- package/resources/PrimaryRocksDatabase.ts +201 -0
- package/resources/RecordEncoder.ts +81 -69
- package/resources/RequestTarget.ts +21 -0
- package/resources/Resource.ts +109 -25
- package/resources/ResourceInterface.ts +6 -2
- package/resources/Resources.ts +1 -3
- package/resources/Table.ts +238 -29
- package/resources/analytics/read.ts +25 -30
- package/resources/blob.ts +159 -23
- package/resources/crdt.ts +37 -31
- package/resources/databases.ts +143 -6
- package/resources/graphql.ts +8 -0
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +251 -17
- package/resources/jsResource.ts +6 -0
- package/resources/loadEnv.ts +34 -3
- package/resources/login.ts +2 -2
- package/resources/models/Models.ts +19 -3
- package/resources/models/embedHook.ts +13 -2
- package/resources/models/openaiStream.ts +133 -0
- package/resources/replayLogs.ts +4 -3
- package/resources/search.ts +113 -11
- package/resources/secretDecryptor.ts +159 -0
- package/resources/tracked.ts +24 -17
- package/security/auth.ts +70 -10
- package/security/jsLoader.ts +12 -0
- package/security/tokenAuthentication.ts +42 -1
- package/server/DESIGN.md +10 -0
- package/server/DurableSubscriptionsSession.ts +8 -4
- package/server/REST.ts +26 -9
- package/server/fastifyRoutes.ts +10 -1
- package/server/graphqlQuerying.ts +4 -3
- package/server/http.ts +563 -77
- package/server/itc/serverHandlers.js +70 -0
- package/server/liveSubscriptionAuth.ts +152 -0
- package/server/loadRootComponents.js +2 -1
- package/server/middlewareChain.ts +107 -17
- package/server/mqtt.ts +2 -1
- package/server/operationsServer.ts +2 -2
- package/server/serverHelpers/Headers.ts +24 -0
- package/server/serverHelpers/JSONStream.ts +3 -3
- package/server/serverHelpers/Request.ts +127 -0
- package/server/serverHelpers/contentTypes.ts +3 -8
- package/server/serverHelpers/progressEmitter.ts +55 -5
- package/server/serverHelpers/registeredOperations.ts +259 -0
- package/server/serverHelpers/serverHandlers.js +11 -5
- package/server/serverHelpers/serverUtilities.ts +88 -5
- package/server/serverHelpers/uwsServer.ts +488 -0
- package/server/static.ts +180 -2
- package/server/status/index.ts +72 -4
- package/server/threads/manageThreads.js +102 -4
- package/server/threads/socketRouter.ts +5 -1
- package/server/threads/threadServer.js +93 -10
- package/studio/web/assets/{Chat-SdD1EZca.js → Chat-Cv_2paZE.js} +2 -2
- package/studio/web/assets/{Chat-SdD1EZca.js.map → Chat-Cv_2paZE.js.map} +1 -1
- package/studio/web/assets/{FloatingChat-GMq6tHK9.js → FloatingChat-CPyPIcVR.js} +4 -4
- package/studio/web/assets/{FloatingChat-GMq6tHK9.js.map → FloatingChat-CPyPIcVR.js.map} +1 -1
- package/studio/web/assets/{applications-B5hhv7uA.js → applications-C0jT2vdZ.js} +2 -2
- package/studio/web/assets/{applications-B5hhv7uA.js.map → applications-C0jT2vdZ.js.map} +1 -1
- package/studio/web/assets/{index-VFcpNWgq.js → index-D_GKOkhn.js} +6 -6
- package/studio/web/assets/index-D_GKOkhn.js.map +1 -0
- package/studio/web/assets/{index.lazy-DgcJojIA.js → index.lazy-CAmCIA65.js} +4 -4
- package/studio/web/assets/{index.lazy-DgcJojIA.js.map → index.lazy-CAmCIA65.js.map} +1 -1
- package/studio/web/assets/{profile-BqN-8vzm.js → profile-CaF-4aZe.js} +2 -2
- package/studio/web/assets/{profile-BqN-8vzm.js.map → profile-CaF-4aZe.js.map} +1 -1
- package/studio/web/assets/{setComponentFile-CHFvFq9u.js → setComponentFile-DLW1DHCt.js} +2 -2
- package/studio/web/assets/{setComponentFile-CHFvFq9u.js.map → setComponentFile-DLW1DHCt.js.map} +1 -1
- package/studio/web/assets/{setup-CQ3vWJSr.js → setup-TGCErIhq.js} +2 -2
- package/studio/web/assets/{setup-CQ3vWJSr.js.map → setup-TGCErIhq.js.map} +1 -1
- package/studio/web/assets/{status-BsW5fjuh.js → status-DG0Maoao.js} +2 -2
- package/studio/web/assets/{status-BsW5fjuh.js.map → status-DG0Maoao.js.map} +1 -1
- package/studio/web/assets/{swagger-ui-react-DITdeB9-.js → swagger-ui-react-8T4SgQ1m.js} +2 -2
- package/studio/web/assets/{swagger-ui-react-DITdeB9-.js.map → swagger-ui-react-8T4SgQ1m.js.map} +1 -1
- package/studio/web/assets/{tsMode-Dyph-OUs.js → tsMode-DJ6Sl24Q.js} +2 -2
- package/studio/web/assets/{tsMode-Dyph-OUs.js.map → tsMode-DJ6Sl24Q.js.map} +1 -1
- package/studio/web/assets/{useEntityRestURL-D0QTUqex.js → useEntityRestURL-JO2mfWTQ.js} +2 -2
- package/studio/web/assets/{useEntityRestURL-D0QTUqex.js.map → useEntityRestURL-JO2mfWTQ.js.map} +1 -1
- package/studio/web/index.html +1 -1
- package/upgrade/directives/5-2-0.ts +82 -0
- package/upgrade/directives/directivesController.ts +2 -1
- package/utility/common_utils.ts +5 -0
- package/utility/envFile.ts +218 -0
- package/utility/hdbTerms.ts +31 -0
- package/utility/logging/harper_logger.ts +156 -8
- package/utility/logging/logRotator.ts +24 -14
- package/utility/logging/readLog.ts +323 -2
- package/utility/operationPermissions.ts +35 -1
- package/utility/operation_authorization.ts +74 -1
- package/utility/secretEnvelope.ts +113 -0
- package/utility/signalling.ts +15 -0
- package/validation/configValidator.ts +78 -25
- package/studio/web/assets/index-VFcpNWgq.js.map +0 -1
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.ImmediateTransaction = exports.DatabaseTransaction = exports.TRANSACTION_STATE = void 0;
|
|
37
37
|
exports.replicationConfirmation = replicationConfirmation;
|
|
38
|
+
exports.transactionOpenTooLongError = transactionOpenTooLongError;
|
|
38
39
|
exports.setTxnExpiration = setTxnExpiration;
|
|
39
40
|
const blob_ts_1 = require("./blob.js");
|
|
40
41
|
const commonUtility_ts_1 = require("../utility/lmdb/commonUtility.js");
|
|
@@ -46,6 +47,7 @@ const common_utils_ts_1 = require("../utility/common_utils.js");
|
|
|
46
47
|
const when_ts_1 = require("../utility/when.js");
|
|
47
48
|
const promises_1 = require("node:timers/promises");
|
|
48
49
|
const rocksdb_js_1 = require("@harperfast/rocksdb-js");
|
|
50
|
+
const RETRY_NOW_VALUE = rocksdb_js_1.constants.RETRY_NOW_VALUE;
|
|
49
51
|
const trackedTxns = new Set();
|
|
50
52
|
const MAX_OUTSTANDING_TXN_DURATION = (0, common_utils_ts_1.convertToMS)(envMngr.get(hdbTerms_ts_1.CONFIG_PARAMS.STORAGE_MAXTRANSACTIONQUEUETIME)) || 45000; // Allow write transactions to be queued for up to 25 seconds before we start rejecting them
|
|
51
53
|
const DEBUG_LONG_TXNS = envMngr.get(hdbTerms_ts_1.CONFIG_PARAMS.STORAGE_DEBUGLONGTRANSACTIONS);
|
|
@@ -66,6 +68,19 @@ function replicationConfirmation(callback) {
|
|
|
66
68
|
let txnExpiration = envMngr.get(hdbTerms_ts_1.CONFIG_PARAMS.STORAGE_MAXTRANSACTIONOPENTIME) ?? 30000;
|
|
67
69
|
class StartedTransaction extends Error {
|
|
68
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Built when the long-transaction monitor aborts a write-bearing transaction that stayed open past the
|
|
73
|
+
* limit (STORAGE_MAXTRANSACTIONOPENTIME). Surfacing this instead of silently force-committing a partial
|
|
74
|
+
* write set preserves atomicity and avoids the index corruption described in issue #1407: the
|
|
75
|
+
* application gets an actionable error and owns how it splits long-running work into smaller
|
|
76
|
+
* transactions, while core keeps the consistency guarantee.
|
|
77
|
+
*/
|
|
78
|
+
function transactionOpenTooLongError() {
|
|
79
|
+
// 422 rather than 503: the condition is deterministic for a given transaction shape, so a retryable
|
|
80
|
+
// status (503/408) would invite clients and gateways to auto-retry the same doomed long transaction.
|
|
81
|
+
// 422 signals the request itself must change (split the work), which is the actionable response.
|
|
82
|
+
return new hdbError_ts_1.ServerError('Transaction was aborted after exceeding the open-transaction limit; split long-running work into smaller transactions', 422);
|
|
83
|
+
}
|
|
69
84
|
class DatabaseTransaction {
|
|
70
85
|
#context;
|
|
71
86
|
writes = []; // the set of writes to commit if the conditions are met
|
|
@@ -82,7 +97,7 @@ class DatabaseTransaction {
|
|
|
82
97
|
overloadChecked;
|
|
83
98
|
open = exports.TRANSACTION_STATE.OPEN;
|
|
84
99
|
replicatedConfirmation;
|
|
85
|
-
getReadTxn() {
|
|
100
|
+
getReadTxn(disableSnapshot) {
|
|
86
101
|
this.readTxnRefCount = (this.readTxnRefCount || 0) + 1;
|
|
87
102
|
this.timeout = txnExpiration; // reset the timeout
|
|
88
103
|
if (this.transaction) {
|
|
@@ -92,7 +107,12 @@ class DatabaseTransaction {
|
|
|
92
107
|
}
|
|
93
108
|
if (this.open !== exports.TRANSACTION_STATE.OPEN)
|
|
94
109
|
return; // can not start a new read transaction as there is no future commit that will take place, just have to allow the read to latest database state
|
|
95
|
-
|
|
110
|
+
// `disableSnapshot` (requested via `snapshot: false` on a query) reads against the latest
|
|
111
|
+
// committed data without pinning a consistent snapshot — so a long scan does not hold a
|
|
112
|
+
// snapshot that blocks compaction. Only applied when creating the transaction fresh; an
|
|
113
|
+
// already-open transaction keeps whatever snapshot mode it was created with.
|
|
114
|
+
// `coordinatedRetry` signals IsBusy write conflicts as RETRY_NOW rather than ERR_BUSY.
|
|
115
|
+
this.transaction = new rocksdb_js_1.Transaction(this.db.store, { coordinatedRetry: true, disableSnapshot });
|
|
96
116
|
if (this.timestamp) {
|
|
97
117
|
this.transaction.setTimestamp(this.timestamp);
|
|
98
118
|
}
|
|
@@ -105,8 +125,8 @@ class DatabaseTransaction {
|
|
|
105
125
|
trackedTxns.add(this);
|
|
106
126
|
return this.transaction;
|
|
107
127
|
}
|
|
108
|
-
useReadTxn() {
|
|
109
|
-
const readTxn = this.getReadTxn();
|
|
128
|
+
useReadTxn(disableSnapshot) {
|
|
129
|
+
const readTxn = this.getReadTxn(disableSnapshot);
|
|
110
130
|
if (DEBUG_LONG_TXNS)
|
|
111
131
|
this.stackTraces.push(new StartedTransaction());
|
|
112
132
|
this.readTxnsUsed++;
|
|
@@ -141,6 +161,8 @@ class DatabaseTransaction {
|
|
|
141
161
|
this.overloadChecked = true; // only check this once, don't interrupt ongoing transactions that have already made writes
|
|
142
162
|
}
|
|
143
163
|
addWrite(operation) {
|
|
164
|
+
if (this.timedOut)
|
|
165
|
+
throw transactionOpenTooLongError();
|
|
144
166
|
this.writes.push(operation);
|
|
145
167
|
if (!operation.deferSave) {
|
|
146
168
|
// Setting saved to false means to defer saving
|
|
@@ -154,7 +176,7 @@ class DatabaseTransaction {
|
|
|
154
176
|
}
|
|
155
177
|
return operation;
|
|
156
178
|
}
|
|
157
|
-
save(operation, transaction, reloadEntry = false) {
|
|
179
|
+
save(operation, transaction, reloadEntry = false, options) {
|
|
158
180
|
let txnTime = this.timestamp;
|
|
159
181
|
transaction ??= this.transaction;
|
|
160
182
|
let immediateCommit = false;
|
|
@@ -174,10 +196,11 @@ class DatabaseTransaction {
|
|
|
174
196
|
transaction.setTimestamp(txnTime);
|
|
175
197
|
}
|
|
176
198
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
//
|
|
199
|
+
if (this.isReplay) {
|
|
200
|
+
// Replayed writes came FROM the transaction log; never re-append them —
|
|
201
|
+
// replay iterates that same log, so re-appending prevents convergence
|
|
202
|
+
// (boot hangs replaying its own output). Conflict retries stamp isRetry
|
|
203
|
+
// at the retry sites in commit(); this is the replay-path equivalent.
|
|
181
204
|
transaction.isRetry = true;
|
|
182
205
|
}
|
|
183
206
|
if (!txnTime)
|
|
@@ -200,20 +223,30 @@ class DatabaseTransaction {
|
|
|
200
223
|
this.completions.push(result);
|
|
201
224
|
}
|
|
202
225
|
operation.commit(txnTime, operation.entry, this.retries > 0, transaction);
|
|
226
|
+
// Sticky record that THIS write staged with its audit entry appended (log entries are written
|
|
227
|
+
// at staging and are not part of the transaction, so they survive an abort). isRetry stagings
|
|
228
|
+
// skip the log write, so they never set it. The retry dedup guards in the commit handler key
|
|
229
|
+
// off this: a launderable proxy (like last attempt's skipped state) breaks under multi-round
|
|
230
|
+
// retries where a recommit round self-skips before a fresh-transaction replay.
|
|
231
|
+
if (!operation.skipped && !transaction.isRetry) {
|
|
232
|
+
operation.appendedAuditEntry = true;
|
|
233
|
+
}
|
|
203
234
|
if (immediateCommit) {
|
|
204
|
-
return this.commit({ transaction }); // immediately commit if the harper transaction is closed
|
|
235
|
+
return this.commit({ ...options, transaction }); // immediately commit if the harper transaction is closed
|
|
205
236
|
}
|
|
206
237
|
}
|
|
207
238
|
/**
|
|
208
239
|
* Resolves with information on the timestamp and success of the commit
|
|
209
240
|
*/
|
|
210
241
|
commit(options = {}) {
|
|
242
|
+
if (this.timedOut)
|
|
243
|
+
throw transactionOpenTooLongError();
|
|
211
244
|
let transaction = options.transaction ?? this.transaction; // we need to preserve this transaction as we might to resurrect it if we have to retry
|
|
212
245
|
for (let i = 0; i < this.writes.length; i++) {
|
|
213
246
|
let operation = this.writes[i];
|
|
214
247
|
if (!operation || (this.retries === 0 && operation.saved))
|
|
215
248
|
continue;
|
|
216
|
-
this.save(operation, transaction, i < this.validated);
|
|
249
|
+
this.save(operation, transaction, i < this.validated, options);
|
|
217
250
|
}
|
|
218
251
|
this.validated = this.writes.length;
|
|
219
252
|
const completions = this.completions;
|
|
@@ -225,6 +258,8 @@ class DatabaseTransaction {
|
|
|
225
258
|
return this.commit(options);
|
|
226
259
|
}
|
|
227
260
|
this.open = exports.TRANSACTION_STATE.CLOSED;
|
|
261
|
+
// RocksTransaction.commit() resolves with RETRY_NOW_VALUE (a number) under
|
|
262
|
+
// coordinatedRetry, or void on a normal commit/abort.
|
|
228
263
|
let commitResolution;
|
|
229
264
|
if (--this.readTxnsUsed > 0) {
|
|
230
265
|
// we still have outstanding iterators using the transaction, we can't just commit/abort it, we will still
|
|
@@ -251,10 +286,11 @@ class DatabaseTransaction {
|
|
|
251
286
|
if (transaction) {
|
|
252
287
|
this.writes = this.writes.filter((write) => write); // filter out removed entries
|
|
253
288
|
if (this.writes.length > 0) {
|
|
254
|
-
//
|
|
255
|
-
//
|
|
256
|
-
//
|
|
257
|
-
//
|
|
289
|
+
// The transaction was created with coordinatedRetry:true (see
|
|
290
|
+
// getReadTxn), so commit() can resolve to RETRY_NOW_VALUE.
|
|
291
|
+
// That sentinel is handled in the resolve callback below and the
|
|
292
|
+
// cast to Promise<void> is safe — the sentinel never propagates
|
|
293
|
+
// past that branch.
|
|
258
294
|
commitResolution = transaction.commit();
|
|
259
295
|
}
|
|
260
296
|
else {
|
|
@@ -284,7 +320,25 @@ class DatabaseTransaction {
|
|
|
284
320
|
});
|
|
285
321
|
}
|
|
286
322
|
const completions = [];
|
|
287
|
-
return commitResolution.then(() => {
|
|
323
|
+
return commitResolution.then((commitResult) => {
|
|
324
|
+
if (commitResult === RETRY_NOW_VALUE) {
|
|
325
|
+
this.retries++;
|
|
326
|
+
harperLogger.debug?.('coordinated retry', transaction.id, this.retries);
|
|
327
|
+
// Mark this specific native transaction as a retry so RocksTransactionLogStore
|
|
328
|
+
// skips re-writing its already-staged txn-log entries (#2).
|
|
329
|
+
transaction.isRetry = true;
|
|
330
|
+
// Mirror the ERR_BUSY cap/warn policy: non-sourceApply transactions abort
|
|
331
|
+
// at MAX_RETRIES; sourceApply transactions keep retrying with periodic warn.
|
|
332
|
+
if (this.retries > MAX_RETRIES) {
|
|
333
|
+
if (!this.sourceApply) {
|
|
334
|
+
throw new hdbError_ts_1.ServerError(`After ${MAX_RETRIES} coordinated retries, unable to commit transaction, transaction is in conflict with ongoing writes`);
|
|
335
|
+
}
|
|
336
|
+
if (this.retries % MAX_RETRIES === 0) {
|
|
337
|
+
harperLogger.warn?.(`Source-applied transaction ${transaction.id} still in conflict after ${this.retries} coordinated retries; continuing to retry`);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
return this.commit({ ...options, transaction });
|
|
341
|
+
}
|
|
288
342
|
// onCommit may be async (e.g. RocksTransactionLogStore emits 'aftercommit'). Surface a
|
|
289
343
|
// rejection — or a synchronous throw — via logging rather than failing the commit, since
|
|
290
344
|
// the write is already durable.
|
|
@@ -318,6 +372,7 @@ class DatabaseTransaction {
|
|
|
318
372
|
(0, blob_ts_1.cleanupUnusedBlobs)(write.savedBlobs, (0, blob_ts_1.collectRetainedFileIds)(write.store.getEntry(write.key)?.value));
|
|
319
373
|
}
|
|
320
374
|
// now reset transactions tracking; this transaction be reused and committed again
|
|
375
|
+
this.retries = 0; // reset per-native-transaction retry counter so a reused DatabaseTransaction's next batch starts fresh
|
|
321
376
|
this.writes = [];
|
|
322
377
|
if (this.#context?.resourceCache)
|
|
323
378
|
this.#context.resourceCache = null;
|
|
@@ -330,6 +385,13 @@ class DatabaseTransaction {
|
|
|
330
385
|
};
|
|
331
386
|
});
|
|
332
387
|
}, (error) => {
|
|
388
|
+
// Coordinated transactions surface conflicts as RETRY_NOW (handled in the
|
|
389
|
+
// resolve branch above) and never reach here with ERR_BUSY. But not every
|
|
390
|
+
// write transaction is coordinated — a write that reaches save() with no
|
|
391
|
+
// prior getReadTxn() (immediate/publish/invalidate writes) is created
|
|
392
|
+
// without coordinatedRetry and still rejects with ERR_BUSY on conflict.
|
|
393
|
+
// Keep the backoff retry as the fallback for those paths.
|
|
394
|
+
//
|
|
333
395
|
// ERR_BUSY: optimistic-transaction write conflict. ERR_TRY_AGAIN: RocksDB kTryAgain —
|
|
334
396
|
// the transaction's snapshot sequence fell outside the memtable conflict-check window
|
|
335
397
|
// (max_write_buffer_size_to_maintain), which happens under bulk-ingest bursts such as a
|
|
@@ -341,6 +403,36 @@ class DatabaseTransaction {
|
|
|
341
403
|
// for future transactions
|
|
342
404
|
this.retries++;
|
|
343
405
|
harperLogger.debug?.('retrying', transaction.id, this.retries);
|
|
406
|
+
if (error.code === 'ERR_TRY_AGAIN') {
|
|
407
|
+
// ERR_BUSY recovers on recommit: the save loop re-writes each key, re-tracking it at
|
|
408
|
+
// the current sequence, so validation passes once the contention clears. ERR_TRY_AGAIN
|
|
409
|
+
// never does: the memtable history validation needs is gone (flushed during a
|
|
410
|
+
// bulk-ingest burst), and recommitting re-checks the same stranded snapshot, so it
|
|
411
|
+
// fails forever even on an idle database. A source-apply transaction's uncapped retry
|
|
412
|
+
// then spins for good and wedges the replication apply loop at its commit await,
|
|
413
|
+
// freezing every leg of that database on the node. Replay onto a fresh transaction
|
|
414
|
+
// instead: the save loop reloads each entry through it and re-resolves against
|
|
415
|
+
// current state. Carry over the commit hook the transaction-log store attached
|
|
416
|
+
// (aftercommit emit / structure watermarks; it reads its state off the original
|
|
417
|
+
// transaction object, which abort() leaves intact); the retry-site isRetry stamp
|
|
418
|
+
// below keeps the log entries themselves from being re-added.
|
|
419
|
+
const retryTransaction = new rocksdb_js_1.Transaction((this.writes.find((write) => write)?.store.store ?? this.db.store));
|
|
420
|
+
if (this.timestamp)
|
|
421
|
+
retryTransaction.setTimestamp(this.timestamp);
|
|
422
|
+
retryTransaction.onCommit = transaction.onCommit;
|
|
423
|
+
try {
|
|
424
|
+
transaction.abort();
|
|
425
|
+
}
|
|
426
|
+
catch (abortError) {
|
|
427
|
+
// usually already released by the failed commit; log for the unexpected case
|
|
428
|
+
harperLogger.debug?.('aborting stranded transaction after failed commit', abortError);
|
|
429
|
+
}
|
|
430
|
+
transaction = retryTransaction;
|
|
431
|
+
}
|
|
432
|
+
// Mark the native transaction as a retry so RocksTransactionLogStore skips re-staging entries.
|
|
433
|
+
// Stamp AFTER the possible ERR_TRY_AGAIN swap above so the fresh replay transaction is
|
|
434
|
+
// marked too; otherwise it would re-stage audit/change-feed log entries on recommit.
|
|
435
|
+
transaction.isRetry = true;
|
|
344
436
|
if (this.retries > 2) {
|
|
345
437
|
// Transactions applying data from a canonical source of truth (replication peer or
|
|
346
438
|
// external caching source) must never drop a write on a transient conflict: there is no
|
|
@@ -351,6 +443,14 @@ class DatabaseTransaction {
|
|
|
351
443
|
const neverDropOnConflict = this.sourceApply;
|
|
352
444
|
if (this.retries > MAX_RETRIES) {
|
|
353
445
|
if (!neverDropOnConflict) {
|
|
446
|
+
// giving up: release the current transaction (original or the fresh replay above)
|
|
447
|
+
// so the throw does not leak its native handle
|
|
448
|
+
try {
|
|
449
|
+
transaction.abort();
|
|
450
|
+
}
|
|
451
|
+
catch (abortError) {
|
|
452
|
+
harperLogger.debug?.('aborting conflicted transaction after exhausting retries', abortError);
|
|
453
|
+
}
|
|
354
454
|
throw new hdbError_ts_1.ServerError(`After ${MAX_RETRIES} retries, unable to commit transaction, transaction is in conflict with ongoing writes`);
|
|
355
455
|
}
|
|
356
456
|
// Uncapped retry can otherwise stall silently (debug logging is off in production);
|
|
@@ -360,9 +460,9 @@ class DatabaseTransaction {
|
|
|
360
460
|
}
|
|
361
461
|
}
|
|
362
462
|
// start delaying, back off to try to space out transactions and avoid excessive conflicts
|
|
363
|
-
return (0, promises_1.setTimeout)(Math.min(this.retries * this.retries, MAX_RETRY_DELAY_MS)).then(() => this.commit({ transaction }));
|
|
463
|
+
return (0, promises_1.setTimeout)(Math.min(this.retries * this.retries, MAX_RETRY_DELAY_MS)).then(() => this.commit({ ...options, transaction }));
|
|
364
464
|
}
|
|
365
|
-
return this.commit({ transaction }); // try again
|
|
465
|
+
return this.commit({ ...options, transaction }); // try again
|
|
366
466
|
}
|
|
367
467
|
else
|
|
368
468
|
throw error;
|
|
@@ -408,6 +508,47 @@ class DatabaseTransaction {
|
|
|
408
508
|
if (this.#context?.resourceCache)
|
|
409
509
|
this.#context.resourceCache = null;
|
|
410
510
|
}
|
|
511
|
+
/**
|
|
512
|
+
* True if this transaction — or any database in its multi-store `next` chain — has writes accumulated
|
|
513
|
+
* that have not yet been committed. Writes to a second database live on `next` (see txnForContext), so a
|
|
514
|
+
* transaction that reads database A (head, tracked via its read snapshot, empty `writes`) and writes
|
|
515
|
+
* database B (`next`) must still count as write-bearing, or the monitor would misclassify it as read-only
|
|
516
|
+
* and force-commit B's writes via the commit cascade (issue #1407, multi-store path).
|
|
517
|
+
*/
|
|
518
|
+
hasPendingWrites() {
|
|
519
|
+
for (let txn = this; txn; txn = txn.next) {
|
|
520
|
+
if (txn.writes.some((write) => write))
|
|
521
|
+
return true;
|
|
522
|
+
}
|
|
523
|
+
return false;
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Abort and poison this transaction because it exceeded the open-transaction limit. The next write or
|
|
527
|
+
* commit throws transactionOpenTooLongError so the request fails cleanly and rolls back, rather than the
|
|
528
|
+
* monitor force-committing a partial write set on the application's behalf (issue #1407). The whole
|
|
529
|
+
* multi-store `next` chain is poisoned and aborted: writes to a second database live on `next`, so
|
|
530
|
+
* leaving it un-poisoned would let the head's commit cascade force-commit them (or orphan its resources
|
|
531
|
+
* until it self-times-out).
|
|
532
|
+
*/
|
|
533
|
+
abortDueToTimeout() {
|
|
534
|
+
// Poison every link first, then abort each, so a throw from one link's abort() can't leave later links
|
|
535
|
+
// in the chain un-poisoned (and thus eligible to be force-committed by a later commit cascade).
|
|
536
|
+
for (let txn = this; txn; txn = txn.next) {
|
|
537
|
+
txn.timedOut = true;
|
|
538
|
+
// Force the CLOSED path when releasing the read snapshot: doneReadTxn() flushes lingering writes via
|
|
539
|
+
// commit() while open === LINGERING, and commit() now throws transactionOpenTooLongError once poisoned.
|
|
540
|
+
// Closing first makes the release discard (abort) the uncommitted writes instead, which is the intent.
|
|
541
|
+
txn.open = exports.TRANSACTION_STATE.CLOSED;
|
|
542
|
+
}
|
|
543
|
+
for (let txn = this; txn; txn = txn.next) {
|
|
544
|
+
try {
|
|
545
|
+
txn.abort();
|
|
546
|
+
}
|
|
547
|
+
catch (error) {
|
|
548
|
+
harperLogger.debug?.(`Error aborting timed-out transaction in chain: ${error.message}`);
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
}
|
|
411
552
|
directCommitSync() {
|
|
412
553
|
trackedTxns.delete(this);
|
|
413
554
|
this.transaction?.commitSync();
|
|
@@ -457,20 +598,40 @@ function startMonitoringTxns() {
|
|
|
457
598
|
for (const txn of trackedTxns) {
|
|
458
599
|
if (txn.timeout <= 0) {
|
|
459
600
|
const url = txn.getContext()?.url;
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
601
|
+
if (txn.hasPendingWrites() && !txn.sourceApply && !txn.isReplay) {
|
|
602
|
+
// Abort and surface an error rather than force-committing a partial write set: silently
|
|
603
|
+
// committing on the application's behalf breaks atomicity and can leave orphaned
|
|
604
|
+
// secondary-index entries that only a full index rebuild repairs (issue #1407). The app
|
|
605
|
+
// owns long-running work (split into smaller transactions); core owns consistency.
|
|
606
|
+
// Canonical-source applies (replication peer / external caching source) and crash-recovery
|
|
607
|
+
// replay are excluded: they have no resubscribe/resume path, so aborting a write would drop
|
|
608
|
+
// it while the resume cursor advances past it — a permanent divergence (harper-pro#348). For
|
|
609
|
+
// those, keep the prior force-commit behavior below.
|
|
610
|
+
harperLogger.error(`Transaction was open too long and has been aborted after exceeding the open-transaction limit, from table: ${txn.db?.name + (url ? ' path: ' + url : '')}`, ...(txn.startedFrom ? [`was started from ${txn.startedFrom.resourceName}.${txn.startedFrom.method}`] : []), ...(DEBUG_LONG_TXNS ? ['starting stack trace', txn.stackTraces] : []));
|
|
611
|
+
try {
|
|
612
|
+
txn.abortDueToTimeout();
|
|
613
|
+
}
|
|
614
|
+
catch (error) {
|
|
615
|
+
harperLogger.debug?.(`Error aborting timed out transaction: ${error.message}`);
|
|
468
616
|
}
|
|
469
617
|
}
|
|
470
|
-
|
|
471
|
-
|
|
618
|
+
else {
|
|
619
|
+
// Read-only long transaction (no atomicity/index risk — e.g. a large scan or export), or a
|
|
620
|
+
// canonical-source apply/replay that must never drop a write: preserve the prior behavior of
|
|
621
|
+
// committing to close out the snapshot without poisoning the transaction.
|
|
622
|
+
try {
|
|
623
|
+
const result = txn.commit();
|
|
624
|
+
if (result?.then) {
|
|
625
|
+
result.catch((error) => {
|
|
626
|
+
harperLogger.debug?.(`Error committing timed out transaction: ${error.message}`);
|
|
627
|
+
});
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
catch (error) {
|
|
631
|
+
harperLogger.debug?.(`Error committing timed out transaction: ${error.message}`);
|
|
632
|
+
}
|
|
633
|
+
txn.timeout = txnExpiration;
|
|
472
634
|
}
|
|
473
|
-
txn.timeout = txnExpiration;
|
|
474
635
|
}
|
|
475
636
|
else {
|
|
476
637
|
txn.timeout -= txnExpiration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseTransaction.js","sourceRoot":"","sources":["../../resources/DatabaseTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,0DAEC;AAufD,4CAKC;AA3hBD,uCAAuE;AAEvE,uEAAwE;AACxE,+DAA4D;AAC5D,kFAAoE;AAEpE,sFAAwE;AACxE,wDAAuD;AACvD,gEAAyD;AACzD,gDAA0C;AAC1C,mDAA2D;AAC3D,uDAAmG;AAInG,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;AACnD,MAAM,4BAA4B,GAAG,IAAA,6BAAW,EAAC,OAAO,CAAC,GAAG,CAAC,2BAAa,CAAC,+BAA+B,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,4FAA4F;AACnN,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,2BAAa,CAAC,6BAA6B,CAAC,CAAC;AACpE,QAAA,iBAAiB,GAAG;IAChC,MAAM,EAAE,CAAC,EAAE,uIAAuI;IAClJ,IAAI,EAAE,CAAC,EAAE,+DAA+D;IACxE,SAAS,EAAE,CAAC,EAAE,6EAA6E;CAC3F,CAAC;AACF,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,iGAAiG;AACjG,0EAA0E;AAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,IAAI,iBAAiB,EAAE,sBAAsB,CAAC;AAC9C,IAAI,kBAAkB,CAAC;AACvB,SAAgB,uBAAuB,CAAC,QAAQ;IAC/C,kBAAkB,GAAG,QAAQ,CAAC;AAC/B,CAAC;AACD,IAAI,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,2BAAa,CAAC,8BAA8B,CAAC,IAAI,KAAK,CAAC;AAEvF,MAAM,kBAAmB,SAAQ,KAAK;CAAG;AA4CzC,MAAa,mBAAmB;IAC/B,QAAQ,CAAU;IAClB,MAAM,GAAuB,EAAE,CAAC,CAAC,wDAAwD;IACzF,WAAW,GAAoB,EAAE,CAAC,CAAC,sDAAsD;IACzF,EAAE,CAAmB;IACrB,WAAW,CAA4B;IACvC,OAAO,CAAkB;IACzB,eAAe,CAAS;IACxB,YAAY,CAAS;IACrB,OAAO,CAAS;IAChB,SAAS,GAAG,CAAC,CAAC;IACd,SAAS,GAAG,CAAC,CAAC;IACd,OAAO,GAAG,CAAC,CAAC;IAQZ,eAAe,CAAU;IACzB,IAAI,GAAG,yBAAiB,CAAC,IAAI,CAAC;IAC9B,sBAAsB,CAAS;IAY/B,UAAU;QACT,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,oBAAoB;QAClD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAK,IAAI,CAAC,WAAmB,CAAC,SAAS;gBAAG,IAAI,CAAC,WAAmB,CAAC,SAAS,GAAG,CAAC,CAAC;YACjF,OAAO,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAiB,CAAC,IAAI;YAAE,OAAO,CAAC,+IAA+I;QAEjM,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAK,IAAI,CAAC,WAAmB,CAAC,SAAS;YAAG,IAAI,CAAC,WAAmB,CAAC,SAAS,GAAG,CAAC,CAAC;QACjF,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,UAAU;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,eAAe;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,WAAW;QACV,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,IAAI,EAAE,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC/B,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAiB,CAAC,SAAS,EAAE,CAAC;gBAC/C,qEAAqE;gBACrE,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACzB,CAAC;QACF,CAAC;IACF,CAAC;IAED,gBAAgB;QACf,IAAI,EAAE,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;IAED,eAAe;QACd,IACC,iBAAiB;YACjB,CAAC,IAAI,CAAC,eAAe;YACrB,WAAW,CAAC,GAAG,EAAE,GAAG,sBAAsB,GAAG,4BAA4B,EACxE,CAAC;YACF,MAAM,IAAI,yBAAW,CAAC,+EAA+E,EAAE,GAAG,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,2FAA2F;IACzH,CAAC;IAED,QAAQ,CAAC,SAA2B;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YAC1B,+CAA+C;YAC/C,MAAM,UAAU,GAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;gBACtB,mFAAmF;gBACnF,+EAA+E;gBAC/E,wDAAwD;gBACxD,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,SAA2B,EAAE,WAA8B,EAAE,WAAW,GAAG,KAAK;QACpF,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,WAAW,KAAK,IAAI,CAAC,WAAW,CAAC;QACjC,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,WAAW,GAAG,IAAI,wBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAmB,CAAC,CAAC;YACxE,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;gBACrD,YAAY,CAAC,IAAI,EAAE,CAAC,0EAA0E,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;YACjH,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAiB,CAAC,IAAI,EAAE,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACP,kFAAkF;gBAClF,eAAe,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACb,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;QACF,CAAC;aAAM,CAAC;QACR,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACtB,0FAA0F;YACzF,WAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QACpE,IAAI,WAAW,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClD,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACtB,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;YACvB,0CAA0C;YAC1C,IAAK,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAS,KAAK,KAAK,EAAE,CAAC;gBACtD,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,uBAAuB;gBACpD,OAAO;YACR,CAAC;YACD,IAAI,MAAM,GAAkB,SAAS,CAAC,MAAM,EAAE,EAAmB,CAAC;YAClE,IAAI,MAAM,EAAE,IAAI;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,GAAG,SAAS,CAAC,kBAAkB,EAAE,EAAmB,CAAC;YAC3D,IAAI,MAAM,EAAE,IAAI;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;QAC1E,IAAI,eAAe,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,yDAAyD;QAC/F,CAAC;IACF,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAyB,EAAE;QACjC,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,uFAAuF;QAClJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC;gBAAE,SAAS;YACpE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,QAAQ;QAC3D,OAAO,IAAA,cAAI,EACV,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EACxD,GAAG,EAAE;YACJ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACzC,6IAA6I;gBAC7I,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,yBAAiB,CAAC,MAAM,CAAC;YACrC,IAAI,gBAAoC,CAAC;YACzC,IAAI,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC7B,0GAA0G;gBAC1G,iBAAiB;gBACjB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,+EAA+E;oBAC/E,IAAI,CAAC,IAAI,GAAG,yBAAiB,CAAC,SAAS,CAAC;oBACxC;;4DAEwC;gBACzC,CAAC;gBACD;;;;;;cAMC;YACF,CAAC;iBAAM,CAAC;gBACP,sFAAsF;gBACtF,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,kEAAkE;gBAC3F,IAAI,WAAW,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,6BAA6B;oBACjF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,gEAAgE;wBAChE,wDAAwD;wBACxD,oEAAoE;wBACpE,mDAAmD;wBACnD,gBAAgB,GAAG,WAAW,CAAC,MAAM,EAAmB,CAAC;oBAC1D,CAAC;yBAAM,CAAC;wBACP,IAAI,CAAC;4BACJ,gBAAgB,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;wBACxC,CAAC;wBAAC,MAAM,CAAC;4BACR,wEAAwE;4BACxE,2EAA2E;4BAC3E,4EAA4E;4BAC5E,0DAA0D;wBAC3D,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACxB,iBAAiB,GAAG,gBAAgB,CAAC;oBACrC,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBAC3C,iBAAiB;wBAChB,2EAA2E;wBAC3E,sEAAsE;wBACtE,kEAAkE;yBACjE,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;yBACf,OAAO,CAAC,GAAG,EAAE;wBACb,iBAAiB,GAAG,IAAI,CAAC;oBAC1B,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,WAAW,GAAG,EAAE,CAAC;gBACvB,OAAO,gBAAgB,CAAC,IAAI,CAC3B,GAAG,EAAE;oBACJ,uFAAuF;oBACvF,yFAAyF;oBACzF,gCAAgC;oBAChC,IAAI,CAAC;wBACJ,MAAM,cAAc,GAAI,WAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC;wBACzD,IAAI,cAAc,EAAE,IAAI;4BACvB,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC,CAAC;oBACtG,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,YAAY,CAAC,IAAI,EAAE,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;oBACpE,CAAC;oBACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACf,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC7C,CAAC;oBACD,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;wBACpB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAChD,CAAC;oBACD,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;wBACjC,0FAA0F;wBAC1F,gHAAgH;wBAChH,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;wBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACtD,IAAI,kBAAkB,IAAI,SAAS,EAAE,CAAC;4BACrC,WAAW,CAAC,IAAI,CACf,kBAAkB,CACjB,YAAY,EACX,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAS,CAAC,OAAO,EACxD,IAAI,CAAC,sBAAsB,CAC3B,CACD,CAAC;wBACH,CAAC;oBACF,CAAC;oBACD,6FAA6F;oBAC7F,6GAA6G;oBAC7G,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBACjC,IAAI,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,UAAU;4BACtC,IAAA,4BAAkB,EAAC,KAAK,CAAC,UAAU,EAAE,IAAA,gCAAsB,EAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;oBACvG,CAAC;oBACD,kFAAkF;oBAClF,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa;wBAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;oBACrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBACjB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC7B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,8BAA8B;oBAClD,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wBACzC,OAAO;4BACN,OAAO;yBACP,CAAC;oBACH,CAAC,CAAC,CAAC;gBACJ,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACT,sFAAsF;oBACtF,sFAAsF;oBACtF,wFAAwF;oBACxF,wFAAwF;oBACxF,uFAAuF;oBACvF,yFAAyF;oBACzF,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBACjE,oIAAoI;wBACpI,0BAA0B;wBAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;wBACf,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC/D,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;4BACtB,mFAAmF;4BACnF,wFAAwF;4BACxF,mFAAmF;4BACnF,2FAA2F;4BAC3F,iFAAiF;4BACjF,4FAA4F;4BAC5F,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC;4BAC7C,IAAI,IAAI,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC;gCAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;oCAC1B,MAAM,IAAI,yBAAW,CACpB,SAAS,WAAW,wFAAwF,CAC5G,CAAC;gCACH,CAAC;gCACD,oFAAoF;gCACpF,kEAAkE;gCAClE,IAAI,IAAI,CAAC,OAAO,GAAG,WAAW,KAAK,CAAC,EAAE,CAAC;oCACtC,YAAY,CAAC,IAAI,EAAE,CAClB,8BAA8B,WAAW,CAAC,EAAE,4BAA4B,IAAI,CAAC,OAAO,+BAA+B,CACnH,CAAC;gCACH,CAAC;4BACF,CAAC;4BACD,0FAA0F;4BAC1F,OAAO,IAAA,qBAAK,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACjF,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAC5B,CAAC;wBACH,CAAC;wBACD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY;oBAClD,CAAC;;wBAAM,MAAM,KAAK,CAAC;gBACpB,CAAC,CACD,CAAC;YACH,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjC,IAAI,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,UAAU;oBACtC,IAAA,4BAAkB,EAAC,KAAK,CAAC,UAAU,EAAE,IAAA,gCAAsB,EAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YACvG,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa;gBAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;YACrE,MAAM,aAAa,GAAqB;gBACvC,OAAO,EAAE,IAAI,CAAC,SAAS;aACvB,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,iCAAiC;gBACjC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACnC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAK,cAAsB,EAAE,IAAI;oBAChC,OAAQ,cAAsB,EAAE,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;wBACzD,OAAO,EAAE,IAAI,CAAC,SAAS;wBACvB,IAAI,EAAE,cAAc;qBACpB,CAAC,CAAC,CAAC;gBACL,aAAa,CAAC,IAAI,GAAG,cAAqB,CAAC;YAC5C,CAAC;YACD,OAAO,aAAa,CAAC;QACtB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACT,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,KAAK,CAAC;QACb,CAAC,CACD,CAAC;IACH,CAAC;IACD,KAAK;QACJ,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,sEAAsE;QACxH,IAAI,CAAC,IAAI,GAAG,yBAAiB,CAAC,MAAM,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,EAAE,UAAU;gBACpB,IAAA,4BAAkB,EAAC,KAAK,CAAC,UAAU,EAAE,IAAA,gCAAsB,EAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACvG,CAAC;QACD,wBAAwB;QACxB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa;YAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;IACtE,CAAC;IACD,gBAAgB;QACf,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IACD,UAAU;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IACD,UAAU,CAAC,OAAO;QACjB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IACzB,CAAC;CACD;AA3XD,kDA2XC;AAUD,MAAa,oBAAqB,SAAQ,mBAAmB;IAC5D,YAAY,GAAG,KAAK,CAAC;IACrB,YAAY,EAAoB;QAC/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,IAAW;QAClB,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,kGAAkG;YAClG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAW,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,OAAO,IAAA,cAAI,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE;gBAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC3B,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAGD,gDAAgD;IAChD,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAA,uCAAoB,GAAE,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,SAAS,CAAC,KAAa;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,UAAU;QACT,OAAO,CAAC,mCAAmC;IAC5C,CAAC;CACD;AA9BD,oDA8BC;AAED,IAAI,KAAK,CAAC;AAEV,SAAS,mBAAmB;IAC3B,KAAK,GAAG,WAAW,CAAC;QACnB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAI,GAAG,CAAC,UAAU,EAAU,EAAE,GAAG,CAAC;gBAC3C,YAAY,CAAC,KAAK,CACjB,qEACE,GAAG,CAAC,EAAU,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CACpD,EAAE,EACF,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1G,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACrE,CAAC;gBACF,wBAAwB;gBACxB,IAAI,CAAC;oBACJ,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC5B,IAAK,MAAc,EAAE,IAAI,EAAE,CAAC;wBAC1B,MAAc,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;4BAC/B,YAAY,CAAC,KAAK,EAAE,CAAC,2CAA2C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBAClF,CAAC,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,YAAY,CAAC,KAAK,EAAE,CAAC,2CAA2C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClF,CAAC;gBACD,GAAG,CAAC,OAAO,GAAG,aAAa,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACP,GAAG,CAAC,OAAO,IAAI,aAAa,CAAC;YAC9B,CAAC;QACF,CAAC;IACF,CAAC,EAAE,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,mBAAmB,EAAE,CAAC;AAEtB,SAAgB,gBAAgB,CAAC,EAAE;IAClC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,aAAa,GAAG,EAAE,CAAC;IACnB,mBAAmB,EAAE,CAAC;IACtB,OAAO,WAAW,CAAC;AACpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"DatabaseTransaction.js","sourceRoot":"","sources":["../../resources/DatabaseTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,0DAEC;AAYD,kEAQC;AA2oBD,4CAKC;AApsBD,uCAAuE;AAEvE,uEAAwE;AACxE,+DAA4D;AAC5D,kFAAoE;AAEpE,sFAAwE;AACxE,wDAAuD;AACvD,gEAAyD;AACzD,gDAA0C;AAC1C,mDAA2D;AAC3D,uDAA8G;AAC9G,MAAM,eAAe,GAAG,sBAAS,CAAC,eAAe,CAAC;AAIlD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;AACnD,MAAM,4BAA4B,GAAG,IAAA,6BAAW,EAAC,OAAO,CAAC,GAAG,CAAC,2BAAa,CAAC,+BAA+B,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,4FAA4F;AACnN,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,2BAAa,CAAC,6BAA6B,CAAC,CAAC;AACpE,QAAA,iBAAiB,GAAG;IAChC,MAAM,EAAE,CAAC,EAAE,uIAAuI;IAClJ,IAAI,EAAE,CAAC,EAAE,+DAA+D;IACxE,SAAS,EAAE,CAAC,EAAE,6EAA6E;CAC3F,CAAC;AACF,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,iGAAiG;AACjG,0EAA0E;AAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,IAAI,iBAAiB,EAAE,sBAAsB,CAAC;AAC9C,IAAI,kBAAkB,CAAC;AACvB,SAAgB,uBAAuB,CAAC,QAAQ;IAC/C,kBAAkB,GAAG,QAAQ,CAAC;AAC/B,CAAC;AACD,IAAI,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,2BAAa,CAAC,8BAA8B,CAAC,IAAI,KAAK,CAAC;AAEvF,MAAM,kBAAmB,SAAQ,KAAK;CAAG;AAEzC;;;;;;GAMG;AACH,SAAgB,2BAA2B;IAC1C,oGAAoG;IACpG,qGAAqG;IACrG,iGAAiG;IACjG,OAAO,IAAI,yBAAW,CACrB,uHAAuH,EACvH,GAAG,CACH,CAAC;AACH,CAAC;AA+CD,MAAa,mBAAmB;IAC/B,QAAQ,CAAU;IAClB,MAAM,GAAuB,EAAE,CAAC,CAAC,wDAAwD;IACzF,WAAW,GAAoB,EAAE,CAAC,CAAC,sDAAsD;IACzF,EAAE,CAAmB;IACrB,WAAW,CAA4B;IACvC,OAAO,CAAkB;IACzB,eAAe,CAAS;IACxB,YAAY,CAAS;IACrB,OAAO,CAAS;IAChB,SAAS,GAAG,CAAC,CAAC;IACd,SAAS,GAAG,CAAC,CAAC;IACd,OAAO,GAAG,CAAC,CAAC;IAQZ,eAAe,CAAU;IACzB,IAAI,GAAG,yBAAiB,CAAC,IAAI,CAAC;IAC9B,sBAAsB,CAAS;IAgB/B,UAAU,CAAC,eAAyB;QACnC,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,oBAAoB;QAClD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAK,IAAI,CAAC,WAAmB,CAAC,SAAS;gBAAG,IAAI,CAAC,WAAmB,CAAC,SAAS,GAAG,CAAC,CAAC;YACjF,OAAO,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAiB,CAAC,IAAI;YAAE,OAAO,CAAC,+IAA+I;QAEjM,0FAA0F;QAC1F,wFAAwF;QACxF,wFAAwF;QACxF,6EAA6E;QAC7E,uFAAuF;QACvF,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;QAEpG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAK,IAAI,CAAC,WAAmB,CAAC,SAAS;YAAG,IAAI,CAAC,WAAmB,CAAC,SAAS,GAAG,CAAC,CAAC;QACjF,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,eAAyB;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,eAAe;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,WAAW;QACV,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,IAAI,EAAE,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC/B,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAiB,CAAC,SAAS,EAAE,CAAC;gBAC/C,qEAAqE;gBACrE,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACzB,CAAC;QACF,CAAC;IACF,CAAC;IAED,gBAAgB;QACf,IAAI,EAAE,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;IAED,eAAe;QACd,IACC,iBAAiB;YACjB,CAAC,IAAI,CAAC,eAAe;YACrB,WAAW,CAAC,GAAG,EAAE,GAAG,sBAAsB,GAAG,4BAA4B,EACxE,CAAC;YACF,MAAM,IAAI,yBAAW,CAAC,+EAA+E,EAAE,GAAG,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,2FAA2F;IACzH,CAAC;IAED,QAAQ,CAAC,SAA2B;QACnC,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,2BAA2B,EAAE,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YAC1B,+CAA+C;YAC/C,MAAM,UAAU,GAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;gBACtB,mFAAmF;gBACnF,+EAA+E;gBAC/E,wDAAwD;gBACxD,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,SAA2B,EAAE,WAA8B,EAAE,WAAW,GAAG,KAAK,EAAE,OAAuB;QAC7G,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,WAAW,KAAK,IAAI,CAAC,WAAW,CAAC;QACjC,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,WAAW,GAAG,IAAI,wBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAmB,CAAC,CAAC;YACxE,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;gBACrD,YAAY,CAAC,IAAI,EAAE,CAAC,0EAA0E,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;YACjH,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAiB,CAAC,IAAI,EAAE,CAAC;gBAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACP,kFAAkF;gBAClF,eAAe,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACb,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;QACF,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,wEAAwE;YACxE,sEAAsE;YACtE,wEAAwE;YACxE,sEAAsE;YACrE,WAAyC,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QACpE,IAAI,WAAW,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClD,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACtB,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;YACvB,0CAA0C;YAC1C,IAAK,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAS,KAAK,KAAK,EAAE,CAAC;gBACtD,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,uBAAuB;gBACpD,OAAO;YACR,CAAC;YACD,IAAI,MAAM,GAAkB,SAAS,CAAC,MAAM,EAAE,EAAmB,CAAC;YAClE,IAAI,MAAM,EAAE,IAAI;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,GAAG,SAAS,CAAC,kBAAkB,EAAE,EAAmB,CAAC;YAC3D,IAAI,MAAM,EAAE,IAAI;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QACD,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;QAC1E,8FAA8F;QAC9F,8FAA8F;QAC9F,6FAA6F;QAC7F,6FAA6F;QAC7F,+EAA+E;QAC/E,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAE,WAAyC,CAAC,OAAO,EAAE,CAAC;YAC/E,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACrC,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,yDAAyD;QAC3G,CAAC;IACF,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAyB,EAAE;QACjC,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,2BAA2B,EAAE,CAAC;QACvD,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,uFAAuF;QAClJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC;gBAAE,SAAS;YACpE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,QAAQ;QAC3D,OAAO,IAAA,cAAI,EACV,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EACxD,GAAG,EAAE;YACJ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACzC,6IAA6I;gBAC7I,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,yBAAiB,CAAC,MAAM,CAAC;YACrC,2EAA2E;YAC3E,sDAAsD;YACtD,IAAI,gBAA+C,CAAC;YACpD,IAAI,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC7B,0GAA0G;gBAC1G,iBAAiB;gBACjB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,+EAA+E;oBAC/E,IAAI,CAAC,IAAI,GAAG,yBAAiB,CAAC,SAAS,CAAC;oBACxC;;4DAEwC;gBACzC,CAAC;gBACD;;;;;;cAMC;YACF,CAAC;iBAAM,CAAC;gBACP,sFAAsF;gBACtF,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,kEAAkE;gBAC3F,IAAI,WAAW,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,6BAA6B;oBACjF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,8DAA8D;wBAC9D,2DAA2D;wBAC3D,iEAAiE;wBACjE,gEAAgE;wBAChE,oBAAoB;wBACpB,gBAAgB,GAAG,WAAW,CAAC,MAAM,EAAmB,CAAC;oBAC1D,CAAC;yBAAM,CAAC;wBACP,IAAI,CAAC;4BACJ,gBAAgB,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;wBACxC,CAAC;wBAAC,MAAM,CAAC;4BACR,wEAAwE;4BACxE,2EAA2E;4BAC3E,4EAA4E;4BAC5E,0DAA0D;wBAC3D,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACxB,iBAAiB,GAAG,gBAAgB,CAAC;oBACrC,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBAC3C,iBAAiB;wBAChB,2EAA2E;wBAC3E,sEAAsE;wBACtE,kEAAkE;yBACjE,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;yBACf,OAAO,CAAC,GAAG,EAAE;wBACb,iBAAiB,GAAG,IAAI,CAAC;oBAC1B,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,WAAW,GAAG,EAAE,CAAC;gBACvB,OAAO,gBAAgB,CAAC,IAAI,CAC3B,CAAC,YAAY,EAAE,EAAE;oBAChB,IAAI,YAAY,KAAK,eAAe,EAAE,CAAC;wBACtC,IAAI,CAAC,OAAO,EAAE,CAAC;wBACf,YAAY,CAAC,KAAK,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;wBACxE,+EAA+E;wBAC/E,4DAA4D;wBAC3D,WAAyC,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC1D,0EAA0E;wBAC1E,6EAA6E;wBAC7E,IAAI,IAAI,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC;4BAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gCACvB,MAAM,IAAI,yBAAW,CACpB,SAAS,WAAW,oGAAoG,CACxH,CAAC;4BACH,CAAC;4BACD,IAAI,IAAI,CAAC,OAAO,GAAG,WAAW,KAAK,CAAC,EAAE,CAAC;gCACtC,YAAY,CAAC,IAAI,EAAE,CAClB,8BAA8B,WAAW,CAAC,EAAE,4BAA4B,IAAI,CAAC,OAAO,2CAA2C,CAC/H,CAAC;4BACH,CAAC;wBACF,CAAC;wBACD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;oBACjD,CAAC;oBACD,uFAAuF;oBACvF,yFAAyF;oBACzF,gCAAgC;oBAChC,IAAI,CAAC;wBACJ,MAAM,cAAc,GAAI,WAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC;wBACzD,IAAI,cAAc,EAAE,IAAI;4BACvB,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC,CAAC;oBACtG,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,YAAY,CAAC,IAAI,EAAE,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;oBACpE,CAAC;oBACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACf,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC7C,CAAC;oBACD,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;wBACpB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAChD,CAAC;oBACD,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;wBACjC,0FAA0F;wBAC1F,gHAAgH;wBAChH,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;wBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACtD,IAAI,kBAAkB,IAAI,SAAS,EAAE,CAAC;4BACrC,WAAW,CAAC,IAAI,CACf,kBAAkB,CACjB,YAAY,EACX,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAS,CAAC,OAAO,EACxD,IAAI,CAAC,sBAAsB,CAC3B,CACD,CAAC;wBACH,CAAC;oBACF,CAAC;oBACD,6FAA6F;oBAC7F,6GAA6G;oBAC7G,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBACjC,IAAI,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,UAAU;4BACtC,IAAA,4BAAkB,EAAC,KAAK,CAAC,UAAU,EAAE,IAAA,gCAAsB,EAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;oBACvG,CAAC;oBACD,kFAAkF;oBAClF,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,uGAAuG;oBACzH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa;wBAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;oBACrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBACjB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC7B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,8BAA8B;oBAClD,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wBACzC,OAAO;4BACN,OAAO;yBACP,CAAC;oBACH,CAAC,CAAC,CAAC;gBACJ,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACT,0EAA0E;oBAC1E,0EAA0E;oBAC1E,yEAAyE;oBACzE,sEAAsE;oBACtE,wEAAwE;oBACxE,0DAA0D;oBAC1D,EAAE;oBACF,sFAAsF;oBACtF,sFAAsF;oBACtF,wFAAwF;oBACxF,wFAAwF;oBACxF,uFAAuF;oBACvF,yFAAyF;oBACzF,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBACjE,oIAAoI;wBACpI,0BAA0B;wBAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;wBACf,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;4BACpC,qFAAqF;4BACrF,uFAAuF;4BACvF,8EAA8E;4BAC9E,mFAAmF;4BACnF,sFAAsF;4BACtF,iFAAiF;4BACjF,mFAAmF;4BACnF,+EAA+E;4BAC/E,+EAA+E;4BAC/E,gFAAgF;4BAChF,iFAAiF;4BACjF,8DAA8D;4BAC9D,MAAM,gBAAgB,GAA8B,IAAI,wBAAgB,CACvE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAe,CAChF,CAAC;4BACF,IAAI,IAAI,CAAC,SAAS;gCAAE,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BACjE,gBAAwB,CAAC,QAAQ,GAAI,WAAmB,CAAC,QAAQ,CAAC;4BACnE,IAAI,CAAC;gCACJ,WAAW,CAAC,KAAK,EAAE,CAAC;4BACrB,CAAC;4BAAC,OAAO,UAAU,EAAE,CAAC;gCACrB,6EAA6E;gCAC7E,YAAY,CAAC,KAAK,EAAE,CAAC,mDAAmD,EAAE,UAAU,CAAC,CAAC;4BACvF,CAAC;4BACD,WAAW,GAAG,gBAAgB,CAAC;wBAChC,CAAC;wBACD,+FAA+F;wBAC/F,uFAAuF;wBACvF,qFAAqF;wBACpF,WAAyC,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC1D,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;4BACtB,mFAAmF;4BACnF,wFAAwF;4BACxF,mFAAmF;4BACnF,2FAA2F;4BAC3F,iFAAiF;4BACjF,4FAA4F;4BAC5F,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC;4BAC7C,IAAI,IAAI,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC;gCAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;oCAC1B,kFAAkF;oCAClF,+CAA+C;oCAC/C,IAAI,CAAC;wCACJ,WAAW,CAAC,KAAK,EAAE,CAAC;oCACrB,CAAC;oCAAC,OAAO,UAAU,EAAE,CAAC;wCACrB,YAAY,CAAC,KAAK,EAAE,CAAC,0DAA0D,EAAE,UAAU,CAAC,CAAC;oCAC9F,CAAC;oCACD,MAAM,IAAI,yBAAW,CACpB,SAAS,WAAW,wFAAwF,CAC5G,CAAC;gCACH,CAAC;gCACD,oFAAoF;gCACpF,kEAAkE;gCAClE,IAAI,IAAI,CAAC,OAAO,GAAG,WAAW,KAAK,CAAC,EAAE,CAAC;oCACtC,YAAY,CAAC,IAAI,EAAE,CAClB,8BAA8B,WAAW,CAAC,EAAE,4BAA4B,IAAI,CAAC,OAAO,+BAA+B,CACnH,CAAC;gCACH,CAAC;4BACF,CAAC;4BACD,0FAA0F;4BAC1F,OAAO,IAAA,qBAAK,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACjF,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,CAAC,CACxC,CAAC;wBACH,CAAC;wBACD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY;oBAC9D,CAAC;;wBAAM,MAAM,KAAK,CAAC;gBACpB,CAAC,CACD,CAAC;YACH,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjC,IAAI,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,UAAU;oBACtC,IAAA,4BAAkB,EAAC,KAAK,CAAC,UAAU,EAAE,IAAA,gCAAsB,EAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YACvG,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa;gBAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;YACrE,MAAM,aAAa,GAAqB;gBACvC,OAAO,EAAE,IAAI,CAAC,SAAS;aACvB,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,iCAAiC;gBACjC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACnC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAK,cAAsB,EAAE,IAAI;oBAChC,OAAQ,cAAsB,EAAE,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;wBACzD,OAAO,EAAE,IAAI,CAAC,SAAS;wBACvB,IAAI,EAAE,cAAc;qBACpB,CAAC,CAAC,CAAC;gBACL,aAAa,CAAC,IAAI,GAAG,cAAqB,CAAC;YAC5C,CAAC;YACD,OAAO,aAAa,CAAC;QACtB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACT,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,KAAK,CAAC;QACb,CAAC,CACD,CAAC;IACH,CAAC;IACD,KAAK;QACJ,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,sEAAsE;QACxH,IAAI,CAAC,IAAI,GAAG,yBAAiB,CAAC,MAAM,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,EAAE,UAAU;gBACpB,IAAA,4BAAkB,EAAC,KAAK,CAAC,UAAU,EAAE,IAAA,gCAAsB,EAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACvG,CAAC;QACD,wBAAwB;QACxB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa;YAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;IACtE,CAAC;IACD;;;;;;OAMG;IACH,gBAAgB;QACf,KAAK,IAAI,GAAG,GAAwB,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;QACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACD;;;;;;;OAOG;IACH,iBAAiB;QAChB,uGAAuG;QACvG,gGAAgG;QAChG,KAAK,IAAI,GAAG,GAAwB,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC/D,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;YACpB,qGAAqG;YACrG,wGAAwG;YACxG,uGAAuG;YACvG,GAAG,CAAC,IAAI,GAAG,yBAAiB,CAAC,MAAM,CAAC;QACrC,CAAC;QACD,KAAK,IAAI,GAAG,GAAwB,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC;gBACJ,GAAG,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,YAAY,CAAC,KAAK,EAAE,CAAC,kDAAkD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzF,CAAC;QACF,CAAC;IACF,CAAC;IACD,gBAAgB;QACf,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IACD,UAAU;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IACD,UAAU,CAAC,OAAO;QACjB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IACzB,CAAC;CACD;AA7fD,kDA6fC;AAUD,MAAa,oBAAqB,SAAQ,mBAAmB;IAC5D,YAAY,GAAG,KAAK,CAAC;IACrB,YAAY,EAAoB;QAC/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,IAAW;QAClB,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,kGAAkG;YAClG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAW,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,OAAO,IAAA,cAAI,EAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE;gBAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC3B,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAGD,gDAAgD;IAChD,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAA,uCAAoB,GAAE,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,SAAS,CAAC,KAAa;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,UAAU;QACT,OAAO,CAAC,mCAAmC;IAC5C,CAAC;CACD;AA9BD,oDA8BC;AAED,IAAI,KAAK,CAAC;AAEV,SAAS,mBAAmB;IAC3B,KAAK,GAAG,WAAW,CAAC;QACnB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAI,GAAG,CAAC,UAAU,EAAU,EAAE,GAAG,CAAC;gBAC3C,IAAI,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACjE,wFAAwF;oBACxF,iFAAiF;oBACjF,wFAAwF;oBACxF,mFAAmF;oBACnF,2FAA2F;oBAC3F,4FAA4F;oBAC5F,6FAA6F;oBAC7F,qDAAqD;oBACrD,YAAY,CAAC,KAAK,CACjB,8GACE,GAAG,CAAC,EAAU,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CACpD,EAAE,EACF,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1G,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACrE,CAAC;oBACF,IAAI,CAAC;wBACJ,GAAG,CAAC,iBAAiB,EAAE,CAAC;oBACzB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,YAAY,CAAC,KAAK,EAAE,CAAC,yCAAyC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAChF,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,2FAA2F;oBAC3F,6FAA6F;oBAC7F,0EAA0E;oBAC1E,IAAI,CAAC;wBACJ,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;wBAC5B,IAAK,MAAc,EAAE,IAAI,EAAE,CAAC;4BAC1B,MAAc,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gCAC/B,YAAY,CAAC,KAAK,EAAE,CAAC,2CAA2C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;4BAClF,CAAC,CAAC,CAAC;wBACJ,CAAC;oBACF,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,YAAY,CAAC,KAAK,EAAE,CAAC,2CAA2C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClF,CAAC;oBACD,GAAG,CAAC,OAAO,GAAG,aAAa,CAAC;gBAC7B,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,GAAG,CAAC,OAAO,IAAI,aAAa,CAAC;YAC9B,CAAC;QACF,CAAC;IACF,CAAC,EAAE,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,mBAAmB,EAAE,CAAC;AAEtB,SAAgB,gBAAgB,CAAC,EAAE;IAClC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,aAAa,GAAG,EAAE,CAAC;IACnB,mBAAmB,EAAE,CAAC;IACtB,OAAO,WAAW,CAAC;AACpB,CAAC"}
|
|
@@ -17,7 +17,7 @@ export declare class LMDBTransaction extends DatabaseTransaction {
|
|
|
17
17
|
overloadChecked: boolean;
|
|
18
18
|
open: number;
|
|
19
19
|
getReadTxn(): any;
|
|
20
|
-
useReadTxn(): (RocksTransaction | import("lmdb").Transaction) & {
|
|
20
|
+
useReadTxn(_disableSnapshot?: boolean): (RocksTransaction | import("lmdb").Transaction) & {
|
|
21
21
|
openTimer?: number;
|
|
22
22
|
retryRisk?: number;
|
|
23
23
|
isDone?: boolean;
|
|
@@ -80,7 +80,11 @@ class LMDBTransaction extends DatabaseTransaction_1.DatabaseTransaction {
|
|
|
80
80
|
trackedTxns.add(this);
|
|
81
81
|
return this.readTxn;
|
|
82
82
|
}
|
|
83
|
-
|
|
83
|
+
// `disableSnapshot` is accepted for parity with the RocksDB transaction, but LMDB has no
|
|
84
|
+
// per-transaction snapshot toggle (its only lever is `snapshot: false` on `getRange`, which
|
|
85
|
+
// throws on the dupSort secondary-index stores we use). So LMDB-backed reads always hold a
|
|
86
|
+
// snapshot for now; `snapshot: false` queries are honored on RocksDB-backed tables.
|
|
87
|
+
useReadTxn(_disableSnapshot) {
|
|
84
88
|
this.getReadTxn();
|
|
85
89
|
if (this.readTxn) {
|
|
86
90
|
this.readTxn.use();
|
|
@@ -108,6 +112,8 @@ class LMDBTransaction extends DatabaseTransaction_1.DatabaseTransaction {
|
|
|
108
112
|
}
|
|
109
113
|
}
|
|
110
114
|
addWrite(operation) {
|
|
115
|
+
if (this.timedOut)
|
|
116
|
+
throw (0, DatabaseTransaction_1.transactionOpenTooLongError)();
|
|
111
117
|
if (this.open === exports.TRANSACTION_STATE.CLOSED) {
|
|
112
118
|
throw new Error('Can not use a transaction that is no longer open');
|
|
113
119
|
}
|
|
@@ -135,6 +141,8 @@ class LMDBTransaction extends DatabaseTransaction_1.DatabaseTransaction {
|
|
|
135
141
|
* Resolves with information on the timestamp and success of the commit
|
|
136
142
|
*/
|
|
137
143
|
commit(options = {}) {
|
|
144
|
+
if (this.timedOut)
|
|
145
|
+
throw (0, DatabaseTransaction_1.transactionOpenTooLongError)();
|
|
138
146
|
options = options || {};
|
|
139
147
|
let txnTime = this.timestamp;
|
|
140
148
|
if (!txnTime)
|
|
@@ -375,10 +383,40 @@ function startMonitoringTxns() {
|
|
|
375
383
|
for (const txn of trackedTxns) {
|
|
376
384
|
if (txn.timeout <= 0) {
|
|
377
385
|
const url = txn.getContext()?.url;
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
386
|
+
if (txn.hasPendingWrites() && !txn.sourceApply && !txn.isReplay) {
|
|
387
|
+
// Abort and surface an error rather than force-committing a partial write set: silently
|
|
388
|
+
// committing on the application's behalf breaks atomicity and can leave orphaned
|
|
389
|
+
// secondary-index entries that only a full index rebuild repairs (issue #1407). The app
|
|
390
|
+
// owns long-running work (split into smaller transactions); core owns consistency.
|
|
391
|
+
// Canonical-source applies (replication peer / external caching source) and crash-recovery
|
|
392
|
+
// replay are excluded: they have no resubscribe/resume path, so aborting a write would drop
|
|
393
|
+
// it while the resume cursor advances past it — a permanent divergence (harper-pro#348). For
|
|
394
|
+
// those, keep the prior force-commit behavior below.
|
|
395
|
+
harperLogger.error(`Transaction was open too long and has been aborted after exceeding the open-transaction limit, from table: ${txn.db?.name + (url ? ' path: ' + url : '')}`);
|
|
396
|
+
try {
|
|
397
|
+
txn.abortDueToTimeout();
|
|
398
|
+
}
|
|
399
|
+
catch (error) {
|
|
400
|
+
harperLogger.debug?.(`Error aborting timed out transaction: ${error.message}`);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
else {
|
|
404
|
+
// Read-only long transaction (no atomicity/index risk — e.g. a large scan or export), or a
|
|
405
|
+
// canonical-source apply/replay that must never drop a write: preserve the prior behavior of
|
|
406
|
+
// committing to close out the snapshot without poisoning the transaction.
|
|
407
|
+
try {
|
|
408
|
+
const result = txn.commit();
|
|
409
|
+
if (result?.then) {
|
|
410
|
+
result.catch((error) => {
|
|
411
|
+
harperLogger.debug?.(`Error committing timed out transaction: ${error.message}`);
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
catch (error) {
|
|
416
|
+
harperLogger.debug?.(`Error committing timed out transaction: ${error.message}`);
|
|
417
|
+
}
|
|
418
|
+
txn.timeout = txnExpiration;
|
|
419
|
+
}
|
|
382
420
|
}
|
|
383
421
|
else {
|
|
384
422
|
txn.timeout -= txnExpiration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LMDBTransaction.js","sourceRoot":"","sources":["../../resources/LMDBTransaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LMDBTransaction.js","sourceRoot":"","sources":["../../resources/LMDBTransaction.ts"],"names":[],"mappings":"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"}
|