@harperfast/harper 5.2.13 → 5.3.0-beta.1
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/mcpTools.ts +1 -1
- package/agent/session.ts +25 -14
- package/bin/cliOperations.ts +58 -9
- package/bin/copyDb.ts +282 -59
- package/bin/deploySetup.ts +16 -5
- package/bin/harper.ts +1 -1
- package/bin/help.ts +4 -1
- package/bin/lite.ts +4 -1
- package/bin/restart.ts +120 -4
- package/bin/run.ts +6 -11
- package/bin/upgrade.js +7 -3
- package/bin/workloadIdentity.ts +119 -0
- package/components/Application.ts +3436 -242
- package/components/ApplicationScope.ts +8 -0
- package/components/EntryHandler.ts +59 -39
- package/components/OptionsWatcher.ts +440 -98
- package/components/RuntimeModuleTracker.ts +38 -7
- package/components/Scope.ts +56 -15
- package/components/awaitRestart.ts +84 -0
- package/components/componentLoader.ts +381 -32
- package/components/componentPreparationLock.ts +16 -5
- package/components/deploymentOperations.ts +4 -1
- package/components/deploymentRecorder.ts +9 -2
- package/components/mcp/adapters/harperHttp.ts +4 -0
- package/components/mcp/listChanged.ts +4 -0
- package/components/mcp/toolRegistry.ts +2 -0
- package/components/mcp/tools/operations.ts +9 -0
- package/components/mcp/tools/schemas/operationDescriptions.ts +2 -2
- package/components/operations.js +537 -113
- package/components/operationsValidation.js +98 -3
- package/components/packageComponent.ts +25 -1
- package/components/requestRestart.ts +11 -0
- package/components/status/ComponentStatusRegistry.ts +59 -0
- package/config/RootConfigWatcher.ts +240 -40
- package/config/configReadRetry.ts +62 -0
- package/config/configUtils.ts +357 -48
- package/config/harperConfigEnvVars.ts +170 -27
- package/config/parseConfigFile.ts +34 -0
- package/config/readConfigFileSync.ts +44 -0
- package/config/watcherArming.ts +59 -0
- package/config-root.schema.json +33 -0
- package/dataLayer/blobBackup.ts +160 -50
- package/dataLayer/delete.ts +6 -1
- package/dataLayer/harperBridge/ResourceBridge.ts +80 -10
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
- package/dataLayer/hdbInfoController.ts +34 -1
- package/dataLayer/insert.ts +44 -1
- package/dataLayer/rocksdbBackup.ts +53 -10
- package/dataLayer/schema.ts +11 -1
- package/dataLayer/schemaDescribe.ts +8 -1
- package/dist/agent/mcpTools.js +1 -1
- package/dist/agent/mcpTools.js.map +1 -1
- package/dist/agent/session.d.ts +22 -0
- package/dist/agent/session.js +26 -15
- package/dist/agent/session.js.map +1 -1
- package/dist/bin/cliOperations.js +61 -9
- package/dist/bin/cliOperations.js.map +1 -1
- package/dist/bin/copyDb.d.ts +12 -1
- package/dist/bin/copyDb.js +248 -60
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/bin/deploySetup.d.ts +2 -0
- package/dist/bin/deploySetup.js +11 -3
- package/dist/bin/deploySetup.js.map +1 -1
- package/dist/bin/harper.js +1 -1
- package/dist/bin/harper.js.map +1 -1
- package/dist/bin/help.js +4 -1
- package/dist/bin/help.js.map +1 -1
- package/dist/bin/lite.js +4 -1
- package/dist/bin/lite.js.map +1 -1
- package/dist/bin/restart.js +91 -6
- package/dist/bin/restart.js.map +1 -1
- package/dist/bin/run.js +4 -10
- package/dist/bin/run.js.map +1 -1
- package/dist/bin/upgrade.js +4 -3
- package/dist/bin/upgrade.js.map +1 -1
- package/dist/bin/workloadIdentity.d.ts +18 -0
- package/dist/bin/workloadIdentity.js +100 -0
- package/dist/bin/workloadIdentity.js.map +1 -0
- package/dist/components/Application.d.ts +235 -17
- package/dist/components/Application.js +3038 -238
- package/dist/components/Application.js.map +1 -1
- package/dist/components/ApplicationScope.d.ts +8 -0
- package/dist/components/ApplicationScope.js +7 -0
- package/dist/components/ApplicationScope.js.map +1 -1
- package/dist/components/EntryHandler.js +26 -10
- package/dist/components/EntryHandler.js.map +1 -1
- package/dist/components/OptionsWatcher.d.ts +4 -0
- package/dist/components/OptionsWatcher.js +440 -99
- package/dist/components/OptionsWatcher.js.map +1 -1
- package/dist/components/RuntimeModuleTracker.js +40 -6
- package/dist/components/RuntimeModuleTracker.js.map +1 -1
- package/dist/components/Scope.js +52 -13
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/awaitRestart.d.ts +33 -0
- package/dist/components/awaitRestart.js +61 -0
- package/dist/components/awaitRestart.js.map +1 -0
- package/dist/components/componentLoader.d.ts +38 -1
- package/dist/components/componentLoader.js +313 -24
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/componentPreparationLock.d.ts +5 -0
- package/dist/components/componentPreparationLock.js +14 -6
- package/dist/components/componentPreparationLock.js.map +1 -1
- package/dist/components/deploymentOperations.js +4 -1
- package/dist/components/deploymentOperations.js.map +1 -1
- package/dist/components/deploymentRecorder.d.ts +4 -2
- package/dist/components/deploymentRecorder.js +1 -0
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/mcp/adapters/harperHttp.js +4 -0
- package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
- package/dist/components/mcp/listChanged.js +5 -0
- package/dist/components/mcp/listChanged.js.map +1 -1
- package/dist/components/mcp/toolRegistry.d.ts +1 -0
- package/dist/components/mcp/toolRegistry.js.map +1 -1
- package/dist/components/mcp/tools/operations.d.ts +5 -0
- package/dist/components/mcp/tools/operations.js +9 -0
- package/dist/components/mcp/tools/operations.js.map +1 -1
- package/dist/components/mcp/tools/schemas/operationDescriptions.js +2 -2
- package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
- package/dist/components/operations.d.ts +28 -0
- package/dist/components/operations.js +476 -113
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.js +97 -3
- package/dist/components/operationsValidation.js.map +1 -1
- package/dist/components/packageComponent.js +24 -0
- package/dist/components/packageComponent.js.map +1 -1
- package/dist/components/requestRestart.d.ts +1 -0
- package/dist/components/requestRestart.js +7 -0
- package/dist/components/requestRestart.js.map +1 -1
- package/dist/components/status/ComponentStatusRegistry.d.ts +0 -4
- package/dist/components/status/ComponentStatusRegistry.js +63 -0
- package/dist/components/status/ComponentStatusRegistry.js.map +1 -1
- package/dist/config/RootConfigWatcher.d.ts +9 -1
- package/dist/config/RootConfigWatcher.js +228 -37
- package/dist/config/RootConfigWatcher.js.map +1 -1
- package/dist/config/configReadRetry.d.ts +8 -0
- package/dist/config/configReadRetry.js +62 -0
- package/dist/config/configReadRetry.js.map +1 -0
- package/dist/config/configUtils.d.ts +11 -2
- package/dist/config/configUtils.js +304 -47
- package/dist/config/configUtils.js.map +1 -1
- package/dist/config/harperConfigEnvVars.d.ts +16 -0
- package/dist/config/harperConfigEnvVars.js +162 -25
- package/dist/config/harperConfigEnvVars.js.map +1 -1
- package/dist/config/parseConfigFile.d.ts +4 -0
- package/dist/config/parseConfigFile.js +35 -0
- package/dist/config/parseConfigFile.js.map +1 -0
- package/dist/config/readConfigFileSync.d.ts +1 -0
- package/dist/config/readConfigFileSync.js +47 -0
- package/dist/config/readConfigFileSync.js.map +1 -0
- package/dist/config/watcherArming.d.ts +15 -0
- package/dist/config/watcherArming.js +59 -0
- package/dist/config/watcherArming.js.map +1 -0
- package/dist/dataLayer/blobBackup.d.ts +49 -20
- package/dist/dataLayer/blobBackup.js +139 -50
- package/dist/dataLayer/blobBackup.js.map +1 -1
- package/dist/dataLayer/delete.js +1 -1
- package/dist/dataLayer/delete.js.map +1 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +14 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.js +72 -12
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.d.ts +3 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js.map +1 -1
- package/dist/dataLayer/hdbInfoController.d.ts +10 -0
- package/dist/dataLayer/hdbInfoController.js +30 -1
- package/dist/dataLayer/hdbInfoController.js.map +1 -1
- package/dist/dataLayer/insert.d.ts +9 -1
- package/dist/dataLayer/insert.js +30 -0
- package/dist/dataLayer/insert.js.map +1 -1
- package/dist/dataLayer/rocksdbBackup.d.ts +2 -2
- package/dist/dataLayer/rocksdbBackup.js +45 -8
- package/dist/dataLayer/rocksdbBackup.js.map +1 -1
- package/dist/dataLayer/schema.js +8 -0
- package/dist/dataLayer/schema.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.js +8 -1
- package/dist/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +55 -0
- package/dist/resources/DatabaseTransaction.d.ts +77 -0
- package/dist/resources/DatabaseTransaction.js +586 -54
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +2 -1
- package/dist/resources/LMDBTransaction.js +43 -6
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/PrimaryRocksDatabase.d.ts +1 -0
- package/dist/resources/PrimaryRocksDatabase.js +49 -5
- package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
- package/dist/resources/RecordEncoder.d.ts +20 -0
- package/dist/resources/RecordEncoder.js +110 -9
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/RequestTarget.d.ts +2 -0
- package/dist/resources/RequestTarget.js.map +1 -1
- package/dist/resources/Resource.js +117 -24
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +28 -1
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/RocksIndexStore.d.ts +6 -1
- package/dist/resources/RocksIndexStore.js +24 -9
- package/dist/resources/RocksIndexStore.js.map +1 -1
- package/dist/resources/RocksTransactionLogStore.d.ts +24 -1
- package/dist/resources/RocksTransactionLogStore.js +160 -49
- package/dist/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/resources/Table.d.ts +165 -10
- package/dist/resources/Table.js +1805 -303
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.js +10 -3
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/auditStore.d.ts +181 -2
- package/dist/resources/auditStore.js +640 -29
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/blob.d.ts +129 -9
- package/dist/resources/blob.js +992 -114
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/branchDatabase.d.ts +48 -0
- package/dist/resources/branchDatabase.js +892 -0
- package/dist/resources/branchDatabase.js.map +1 -0
- package/dist/resources/crdt.js +50 -12
- package/dist/resources/crdt.js.map +1 -1
- package/dist/resources/dataLoader.js +3 -4
- package/dist/resources/dataLoader.js.map +1 -1
- package/dist/resources/databases.d.ts +157 -14
- package/dist/resources/databases.js +1462 -325
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/defineTable.d.ts +10 -2
- package/dist/resources/defineTable.js +9 -1
- package/dist/resources/defineTable.js.map +1 -1
- package/dist/resources/derivedIndexRegistry.d.ts +5 -0
- package/dist/resources/derivedIndexRegistry.js +68 -0
- package/dist/resources/derivedIndexRegistry.js.map +1 -0
- package/dist/resources/derivedIndexRuntime.d.ts +215 -0
- package/dist/resources/derivedIndexRuntime.js +2027 -0
- package/dist/resources/derivedIndexRuntime.js.map +1 -0
- package/dist/resources/graphql.d.ts +1 -1
- package/dist/resources/graphql.js +52 -16
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +103 -9
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +854 -41
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/indexes/hnswDerivedIndex.d.ts +67 -0
- package/dist/resources/indexes/hnswDerivedIndex.js +464 -0
- package/dist/resources/indexes/hnswDerivedIndex.js.map +1 -0
- package/dist/resources/indexes/hnswPlaneBinding.d.ts +65 -0
- package/dist/resources/indexes/hnswPlaneBinding.js +91 -0
- package/dist/resources/indexes/hnswPlaneBinding.js.map +1 -0
- package/dist/resources/longLivedTransactions.d.ts +71 -0
- package/dist/resources/longLivedTransactions.js +358 -0
- package/dist/resources/longLivedTransactions.js.map +1 -0
- package/dist/resources/models/backendRegistry.d.ts +26 -0
- package/dist/resources/models/backendRegistry.js +60 -2
- package/dist/resources/models/backendRegistry.js.map +1 -1
- package/dist/resources/models/bootstrap.d.ts +33 -1
- package/dist/resources/models/bootstrap.js +416 -31
- package/dist/resources/models/bootstrap.js.map +1 -1
- package/dist/resources/nodeIdMapping.d.ts +5 -0
- package/dist/resources/nodeIdMapping.js +49 -0
- package/dist/resources/nodeIdMapping.js.map +1 -1
- package/dist/resources/recordLock.d.ts +123 -0
- package/dist/resources/recordLock.js +315 -0
- package/dist/resources/recordLock.js.map +1 -0
- package/dist/resources/recordLockCoordinator.d.ts +557 -0
- package/dist/resources/recordLockCoordinator.js +2565 -0
- package/dist/resources/recordLockCoordinator.js.map +1 -0
- package/dist/resources/replayLogs.d.ts +14 -1
- package/dist/resources/replayLogs.js +157 -24
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/replayLogsGuards.d.ts +94 -7
- package/dist/resources/replayLogsGuards.js +111 -7
- package/dist/resources/replayLogsGuards.js.map +1 -1
- package/dist/resources/replicatedApplyFailure.d.ts +16 -0
- package/dist/resources/replicatedApplyFailure.js +63 -0
- package/dist/resources/replicatedApplyFailure.js.map +1 -0
- package/dist/resources/scheduler/scheduler.js +3 -3
- package/dist/resources/scheduler/scheduler.js.map +1 -1
- package/dist/resources/search.d.ts +10 -4
- package/dist/resources/search.js +283 -37
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/tracked.d.ts +5 -1
- package/dist/resources/tracked.js +74 -23
- package/dist/resources/tracked.js.map +1 -1
- package/dist/resources/transactionBroadcast.d.ts +1 -1
- package/dist/resources/transactionBroadcast.js +2 -2
- package/dist/resources/transactionBroadcast.js.map +1 -1
- package/dist/security/auth.js +61 -30
- package/dist/security/auth.js.map +1 -1
- package/dist/security/authn/oidc/claims.d.ts +22 -0
- package/dist/security/authn/oidc/claims.js +71 -0
- package/dist/security/authn/oidc/claims.js.map +1 -0
- package/dist/security/authn/oidc/identityToken.d.ts +27 -0
- package/dist/security/authn/oidc/identityToken.js +111 -0
- package/dist/security/authn/oidc/identityToken.js.map +1 -0
- package/dist/security/authn/oidc/jwks.d.ts +25 -0
- package/dist/security/authn/oidc/jwks.js +261 -0
- package/dist/security/authn/oidc/jwks.js.map +1 -0
- package/dist/security/authn/oidc/providers/generic.d.ts +13 -0
- package/dist/security/authn/oidc/providers/generic.js +34 -0
- package/dist/security/authn/oidc/providers/generic.js.map +1 -0
- package/dist/security/authn/oidc/providers/githubActions.d.ts +11 -0
- package/dist/security/authn/oidc/providers/githubActions.js +129 -0
- package/dist/security/authn/oidc/providers/githubActions.js.map +1 -0
- package/dist/security/authn/oidc/providers/index.d.ts +37 -0
- package/dist/security/authn/oidc/providers/index.js +24 -0
- package/dist/security/authn/oidc/providers/index.js.map +1 -0
- package/dist/security/authn/oidc/tokenExchange.d.ts +12 -0
- package/dist/security/authn/oidc/tokenExchange.js +306 -0
- package/dist/security/authn/oidc/tokenExchange.js.map +1 -0
- package/dist/security/authn/oidc/trustPolicyOperations.d.ts +49 -0
- package/dist/security/authn/oidc/trustPolicyOperations.js +358 -0
- package/dist/security/authn/oidc/trustPolicyOperations.js.map +1 -0
- package/dist/security/authn/oidc/types.d.ts +38 -0
- package/dist/security/authn/oidc/types.js +6 -0
- package/dist/security/authn/oidc/types.js.map +1 -0
- package/dist/security/certificateVerification/index.js +40 -11
- package/dist/security/certificateVerification/index.js.map +1 -1
- package/dist/security/certificateVerification/trustedIssuers.d.ts +24 -0
- package/dist/security/certificateVerification/trustedIssuers.js +79 -0
- package/dist/security/certificateVerification/trustedIssuers.js.map +1 -0
- package/dist/security/certificateVerification/types.d.ts +1 -0
- package/dist/security/credentialProvenance.d.ts +35 -0
- package/dist/security/credentialProvenance.js +51 -0
- package/dist/security/credentialProvenance.js.map +1 -0
- package/dist/security/credentialRejection.d.ts +4 -0
- package/dist/security/credentialRejection.js +24 -0
- package/dist/security/credentialRejection.js.map +1 -0
- package/dist/security/deferredAuthentication.d.ts +36 -0
- package/dist/security/deferredAuthentication.js +70 -0
- package/dist/security/deferredAuthentication.js.map +1 -0
- package/dist/security/impersonation.d.ts +21 -0
- package/dist/security/impersonation.js +108 -9
- package/dist/security/impersonation.js.map +1 -1
- package/dist/security/jsLoader.d.ts +6 -0
- package/dist/security/jsLoader.js +77 -15
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/keys.js +301 -71
- package/dist/security/keys.js.map +1 -1
- package/dist/security/operationScope.d.ts +21 -0
- package/dist/security/operationScope.js +36 -0
- package/dist/security/operationScope.js.map +1 -0
- package/dist/security/permissionsTranslator.js +21 -0
- package/dist/security/permissionsTranslator.js.map +1 -1
- package/dist/security/tokenAuthentication.d.ts +19 -1
- package/dist/security/tokenAuthentication.js +191 -10
- package/dist/security/tokenAuthentication.js.map +1 -1
- package/dist/security/user.js +4 -3
- package/dist/security/user.js.map +1 -1
- package/dist/server/DurableSubscriptionsSession.d.ts +2 -2
- package/dist/server/DurableSubscriptionsSession.js +67 -10
- package/dist/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/server/REST.js +106 -2
- package/dist/server/REST.js.map +1 -1
- package/dist/server/graphqlQuerying.js +4 -0
- package/dist/server/graphqlQuerying.js.map +1 -1
- package/dist/server/http.d.ts +16 -1
- package/dist/server/http.js +122 -17
- package/dist/server/http.js.map +1 -1
- package/dist/server/itc/serverHandlers.js +8 -1
- package/dist/server/itc/serverHandlers.js.map +1 -1
- package/dist/server/jobs/jobProcess.js +6 -2
- package/dist/server/jobs/jobProcess.js.map +1 -1
- package/dist/server/jobs/jobs.js +4 -1
- package/dist/server/jobs/jobs.js.map +1 -1
- package/dist/server/liveSubscriptionAuth.d.ts +26 -4
- package/dist/server/liveSubscriptionAuth.js +105 -39
- package/dist/server/liveSubscriptionAuth.js.map +1 -1
- package/dist/server/loadRootComponents.js +49 -10
- package/dist/server/loadRootComponents.js.map +1 -1
- package/dist/server/mqtt.d.ts +2 -0
- package/dist/server/mqtt.js +165 -30
- package/dist/server/mqtt.js.map +1 -1
- package/dist/server/nodeName.d.ts +2 -0
- package/dist/server/nodeName.js +107 -23
- package/dist/server/nodeName.js.map +1 -1
- package/dist/server/serverHelpers/Headers.d.ts +27 -0
- package/dist/server/serverHelpers/Headers.js +145 -1
- package/dist/server/serverHelpers/Headers.js.map +1 -1
- package/dist/server/serverHelpers/NodeAdapterResponse.d.ts +48 -0
- package/dist/server/serverHelpers/NodeAdapterResponse.js +220 -0
- package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -0
- package/dist/server/serverHelpers/Request.d.ts +5 -10
- package/dist/server/serverHelpers/Request.js +38 -136
- package/dist/server/serverHelpers/Request.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.d.ts +11 -0
- package/dist/server/serverHelpers/contentTypes.js +221 -40
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/deployValidationState.d.ts +3 -0
- package/dist/server/serverHelpers/deployValidationState.js +9 -19
- package/dist/server/serverHelpers/deployValidationState.js.map +1 -1
- package/dist/server/serverHelpers/operationAuthorizationState.d.ts +12 -0
- package/dist/server/serverHelpers/operationAuthorizationState.js +24 -2
- package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -1
- package/dist/server/serverHelpers/registeredOperations.d.ts +5 -4
- package/dist/server/serverHelpers/registeredOperations.js +74 -21
- package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
- package/dist/server/serverHelpers/requestSanitization.d.ts +11 -0
- package/dist/server/serverHelpers/requestSanitization.js +20 -0
- package/dist/server/serverHelpers/requestSanitization.js.map +1 -0
- package/dist/server/serverHelpers/serverHandlers.js +6 -3
- package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.d.ts +18 -0
- package/dist/server/serverHelpers/serverUtilities.js +178 -29
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/serverHelpers/sharedMessageEncoding.d.ts +67 -0
- package/dist/server/serverHelpers/sharedMessageEncoding.js +280 -0
- package/dist/server/serverHelpers/sharedMessageEncoding.js.map +1 -0
- package/dist/server/serverHelpers/uwsServer.js +19 -1
- package/dist/server/serverHelpers/uwsServer.js.map +1 -1
- package/dist/server/static.js +24 -28
- package/dist/server/static.js.map +1 -1
- package/dist/server/storageReclamation.d.ts +5 -0
- package/dist/server/storageReclamation.js +17 -1
- package/dist/server/storageReclamation.js.map +1 -1
- package/dist/server/threads/isolatedApplications.d.ts +47 -0
- package/dist/server/threads/isolatedApplications.js +171 -0
- package/dist/server/threads/isolatedApplications.js.map +1 -0
- package/dist/server/threads/itc.d.ts +7 -2
- package/dist/server/threads/itc.js +5 -1
- package/dist/server/threads/itc.js.map +1 -1
- package/dist/server/threads/logRotationTransport.d.ts +1 -0
- package/dist/server/threads/logRotationTransport.js +33 -0
- package/dist/server/threads/logRotationTransport.js.map +1 -0
- package/dist/server/threads/manageThreads.d.ts +83 -3
- package/dist/server/threads/manageThreads.js +769 -75
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.d.ts +1 -0
- package/dist/server/threads/socketRouter.js +277 -31
- package/dist/server/threads/socketRouter.js.map +1 -1
- package/dist/server/threads/threadHeapMemory.d.ts +2 -0
- package/dist/server/threads/threadHeapMemory.js +31 -0
- package/dist/server/threads/threadHeapMemory.js.map +1 -0
- package/dist/server/threads/threadServer.js +76 -22
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/sqlEngine/config.d.ts +1 -3
- package/dist/sqlEngine/config.js +19 -16
- package/dist/sqlEngine/config.js.map +1 -1
- package/dist/sqlTranslator/index.d.ts +1 -1
- package/dist/sqlTranslator/index.js +30 -7
- package/dist/sqlTranslator/index.js.map +1 -1
- package/dist/upgrade/directives/5-3-0.d.ts +7 -0
- package/dist/upgrade/directives/5-3-0.js +148 -0
- package/dist/upgrade/directives/5-3-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/OperationFunctionCaller.js +2 -1
- package/dist/utility/OperationFunctionCaller.js.map +1 -1
- package/dist/utility/common_utils.d.ts +16 -0
- package/dist/utility/common_utils.js +32 -6
- package/dist/utility/common_utils.js.map +1 -1
- package/dist/utility/componentNames.d.ts +8 -0
- package/dist/utility/componentNames.js +12 -1
- package/dist/utility/componentNames.js.map +1 -1
- package/dist/utility/environment/environmentManager.js +3 -6
- package/dist/utility/environment/environmentManager.js.map +1 -1
- package/dist/utility/environment/systemInformation.d.ts +1 -0
- package/dist/utility/environment/systemInformation.js +1 -0
- package/dist/utility/environment/systemInformation.js.map +1 -1
- package/dist/utility/errors/commonErrors.d.ts +2 -0
- package/dist/utility/errors/commonErrors.js +2 -0
- package/dist/utility/errors/commonErrors.js.map +1 -1
- package/dist/utility/errors/hdbError.d.ts +33 -0
- package/dist/utility/errors/hdbError.js +58 -1
- package/dist/utility/errors/hdbError.js.map +1 -1
- package/dist/utility/globalSchema.d.ts +18 -0
- package/dist/utility/hdbTerms.d.ts +18 -0
- package/dist/utility/hdbTerms.js +20 -2
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/logging/harper_logger.d.ts +2 -0
- package/dist/utility/logging/harper_logger.js +286 -30
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/dist/utility/logging/logGenerationCoordinator.d.ts +35 -0
- package/dist/utility/logging/logGenerationCoordinator.js +184 -0
- package/dist/utility/logging/logGenerationCoordinator.js.map +1 -0
- package/dist/utility/logging/logRotation.d.ts +46 -0
- package/dist/utility/logging/logRotation.js +365 -0
- package/dist/utility/logging/logRotation.js.map +1 -0
- package/dist/utility/logging/logRotator.d.ts +1 -1
- package/dist/utility/logging/logRotator.js +192 -85
- package/dist/utility/logging/logRotator.js.map +1 -1
- package/dist/utility/nodeIdentity.d.ts +9 -0
- package/dist/utility/nodeIdentity.js +58 -0
- package/dist/utility/nodeIdentity.js.map +1 -0
- package/dist/utility/npmUtilities.js +11 -7
- package/dist/utility/npmUtilities.js.map +1 -1
- package/dist/utility/operationPermissions.d.ts +3 -1
- package/dist/utility/operationPermissions.js +16 -1
- package/dist/utility/operationPermissions.js.map +1 -1
- package/dist/utility/operation_authorization.d.ts +10 -7
- package/dist/utility/operation_authorization.js +212 -41
- package/dist/utility/operation_authorization.js.map +1 -1
- package/dist/utility/watchPath.d.ts +29 -0
- package/dist/utility/watchPath.js +68 -0
- package/dist/utility/watchPath.js.map +1 -0
- package/dist/utility/watcherFallback.d.ts +41 -0
- package/dist/utility/watcherFallback.js +153 -0
- package/dist/utility/watcherFallback.js.map +1 -1
- package/dist/validation/configValidator.d.ts +12 -0
- package/dist/validation/configValidator.js +205 -75
- package/dist/validation/configValidator.js.map +1 -1
- package/dist/validation/installValidator.js +12 -0
- package/dist/validation/installValidator.js.map +1 -1
- package/dist/validation/validationWrapper.d.ts +11 -0
- package/dist/validation/validationWrapper.js +16 -3
- package/dist/validation/validationWrapper.js.map +1 -1
- package/index.ts +8 -0
- package/json/systemSchema.json +55 -0
- package/npm-shrinkwrap.json +286 -194
- package/package.json +15 -7
- package/resources/DESIGN.md +219 -52
- package/resources/DatabaseTransaction.ts +657 -52
- package/resources/LMDBTransaction.ts +46 -6
- package/resources/PrimaryRocksDatabase.ts +46 -7
- package/resources/RecordEncoder.ts +124 -9
- package/resources/RequestTarget.ts +2 -0
- package/resources/Resource.ts +114 -22
- package/resources/ResourceInterface.ts +31 -0
- package/resources/RocksIndexStore.ts +30 -9
- package/resources/RocksTransactionLogStore.ts +188 -51
- package/resources/Table.ts +1960 -301
- package/resources/analytics/write.ts +10 -3
- package/resources/auditStore.ts +647 -32
- package/resources/blob.ts +1029 -110
- package/resources/branchDatabase.ts +941 -0
- package/resources/crdt.ts +76 -12
- package/resources/dataLoader.ts +3 -4
- package/resources/databases.ts +1584 -320
- package/resources/defineTable.ts +18 -2
- package/resources/derivedIndexRegistry.ts +56 -0
- package/resources/derivedIndexRuntime.ts +2292 -0
- package/resources/graphql.ts +72 -17
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +911 -48
- package/resources/indexes/hnswDerivedIndex.ts +531 -0
- package/resources/indexes/hnswPlaneBinding.ts +174 -0
- package/resources/longLivedTransactions.ts +360 -0
- package/resources/models/backendRegistry.ts +84 -2
- package/resources/models/bootstrap.ts +473 -28
- package/resources/nodeIdMapping.ts +50 -0
- package/resources/recordLock.ts +419 -0
- package/resources/recordLockCoordinator.ts +3043 -0
- package/resources/replayLogs.ts +152 -26
- package/resources/replayLogsGuards.ts +171 -8
- package/resources/replicatedApplyFailure.ts +77 -0
- package/resources/scheduler/scheduler.ts +4 -4
- package/resources/search.ts +288 -46
- package/resources/tracked.ts +73 -22
- package/resources/transactionBroadcast.ts +3 -3
- package/security/auth.ts +68 -29
- package/security/authn/oidc/claims.ts +72 -0
- package/security/authn/oidc/identityToken.ts +129 -0
- package/security/authn/oidc/jwks.ts +260 -0
- package/security/authn/oidc/providers/generic.ts +40 -0
- package/security/authn/oidc/providers/githubActions.ts +137 -0
- package/security/authn/oidc/providers/index.ts +52 -0
- package/security/authn/oidc/tokenExchange.ts +300 -0
- package/security/authn/oidc/trustPolicyOperations.ts +343 -0
- package/security/authn/oidc/types.ts +41 -0
- package/security/certificateVerification/index.ts +54 -13
- package/security/certificateVerification/trustedIssuers.ts +76 -0
- package/security/certificateVerification/types.ts +1 -0
- package/security/credentialProvenance.ts +47 -0
- package/security/credentialRejection.ts +22 -0
- package/security/deferredAuthentication.ts +71 -0
- package/security/impersonation.ts +117 -12
- package/security/jsLoader.ts +83 -18
- package/security/keys.ts +298 -72
- package/security/operationScope.ts +33 -0
- package/security/permissionsTranslator.js +23 -0
- package/security/tokenAuthentication.ts +233 -12
- package/security/user.ts +4 -3
- package/server/DESIGN.md +194 -16
- package/server/DurableSubscriptionsSession.ts +71 -11
- package/server/REST.ts +115 -4
- package/server/graphqlQuerying.ts +4 -0
- package/server/http.ts +133 -20
- package/server/itc/serverHandlers.js +8 -1
- package/server/jobs/jobProcess.ts +8 -2
- package/server/jobs/jobs.ts +4 -1
- package/server/liveSubscriptionAuth.ts +129 -46
- package/server/loadRootComponents.js +50 -8
- package/server/mqtt.ts +179 -38
- package/server/nodeName.ts +103 -21
- package/server/serverHelpers/Headers.ts +135 -0
- package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
- package/server/serverHelpers/Request.ts +33 -131
- package/server/serverHelpers/contentTypes.ts +217 -36
- package/server/serverHelpers/deployValidationState.ts +24 -13
- package/server/serverHelpers/operationAuthorizationState.ts +34 -3
- package/server/serverHelpers/registeredOperations.ts +79 -22
- package/server/serverHelpers/requestSanitization.ts +15 -0
- package/server/serverHelpers/serverHandlers.js +6 -3
- package/server/serverHelpers/serverUtilities.ts +232 -40
- package/server/serverHelpers/sharedMessageEncoding.ts +307 -0
- package/server/serverHelpers/uwsServer.ts +17 -2
- package/server/static.ts +23 -29
- package/server/storageReclamation.ts +15 -2
- package/server/threads/isolatedApplications.ts +157 -0
- package/server/threads/itc.js +11 -1
- package/server/threads/logRotationTransport.ts +40 -0
- package/server/threads/manageThreads.js +771 -66
- package/server/threads/socketRouter.ts +291 -30
- package/server/threads/threadHeapMemory.ts +26 -0
- package/server/threads/threadServer.js +73 -22
- package/sqlTranslator/index.ts +31 -8
- package/studio/web/assets/{Chat-4RrB5134.js → Chat-D3j-1yY1.js} +1 -1
- package/studio/web/assets/{FloatingChat-omlNMDcJ.js → FloatingChat-BxJGYcfB.js} +3 -3
- package/studio/web/assets/{apiToken-Bke3wvfZ.js → apiToken-CT55oWOe.js} +1 -1
- package/studio/web/assets/{applications-DvFDYJgK.js → applications-D9Ct9_vm.js} +1 -1
- package/studio/web/assets/{cssMode-C1vRa7zh.js → cssMode-DV8H7VwA.js} +1 -1
- package/studio/web/assets/{editor-3XRWEDWX.js → editor-uatc0unt.js} +1 -1
- package/studio/web/assets/{html-CTY5tdMr.js → html-Bm6D6paN.js} +1 -1
- package/studio/web/assets/{htmlMode-CG1vSD9t.js → htmlMode-CEn7tpLG.js} +1 -1
- package/studio/web/assets/{index-Dfpeofdu.js → index-BIXW6Pu4.js} +5 -5
- package/studio/web/assets/{index.lazy-B1VOIv-t.js → index.lazy-UI7L-Vrk.js} +1 -1
- package/studio/web/assets/{javascript-CJeJzGnI.js → javascript-CJ0G3AFZ.js} +1 -1
- package/studio/web/assets/{jsonMode-CYPBwM82.js → jsonMode-DQADAYEa.js} +1 -1
- package/studio/web/assets/{languageServices-IKH4GUHl.js → languageServices-CAQJXWcI.js} +1 -1
- package/studio/web/assets/{lspLanguageFeatures-BC8_gxKG.js → lspLanguageFeatures-CCQ8P5sY.js} +1 -1
- package/studio/web/assets/{notifications-BfKBpYcq.js → notifications-BbxTU6Aw.js} +1 -1
- package/studio/web/assets/{notifications-DFbArTfC.js → notifications-Cvb3P1lB.js} +1 -1
- package/studio/web/assets/{profile-Q4-T6c-S.js → profile-Yyb7gsvL.js} +1 -1
- package/studio/web/assets/{regions-CtkV0xje.js → regions-OgjGHlU5.js} +1 -1
- package/studio/web/assets/{register-1ZZuMsiA.js → register-6qwNEOY3.js} +2 -2
- package/studio/web/assets/{setComponentFile-ZWLcWv5X.js → setComponentFile-BilDMtgB.js} +1 -1
- package/studio/web/assets/{setup-DWprJyJy.js → setup-J6qJ7OIU.js} +2 -2
- package/studio/web/assets/{status--aNm8isn.js → status-0RWGcfyD.js} +1 -1
- package/studio/web/assets/{toggleHighContrast-Cq_lt3XD.js → toggleHighContrast-BIn-vErT.js} +1 -1
- package/studio/web/assets/{tsMode-pjgytARx.js → tsMode-DgUXku4d.js} +1 -1
- package/studio/web/assets/{typescript-Cdg0mqUh.js → typescript-C9orXcsM.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-RZhaY8Rn.js → useEntityRestURL-BEoXXbUB.js} +1 -1
- package/studio/web/assets/{workers-BgoXIqQe.js → workers-JVzSDmgx.js} +1 -1
- package/studio/web/assets/{xml-BwSeDMiP.js → xml-Cq-S8S4X.js} +1 -1
- package/studio/web/assets/{yaml-DotCUG5l.js → yaml-sfoRdh1M.js} +1 -1
- package/studio/web/index.html +1 -1
- package/upgrade/directives/5-3-0.ts +132 -0
- package/upgrade/directives/directivesController.ts +2 -1
- package/utility/OperationFunctionCaller.ts +2 -1
- package/utility/common_utils.ts +30 -5
- package/utility/componentNames.ts +12 -0
- package/utility/environment/environmentManager.ts +3 -7
- package/utility/environment/systemInformation.ts +7 -0
- package/utility/errors/commonErrors.ts +4 -0
- package/utility/errors/hdbError.ts +57 -0
- package/utility/hdbTerms.ts +19 -0
- package/utility/logging/harper_logger.ts +278 -26
- package/utility/logging/logGenerationCoordinator.ts +196 -0
- package/utility/logging/logRotation.ts +367 -0
- package/utility/logging/logRotator.ts +213 -81
- package/utility/nodeIdentity.ts +45 -0
- package/utility/npmUtilities.ts +12 -8
- package/utility/operationPermissions.ts +18 -1
- package/utility/operation_authorization.ts +231 -42
- package/utility/watchPath.ts +63 -0
- package/utility/watcherFallback.ts +148 -0
- package/validation/configValidator.ts +215 -75
- package/validation/installValidator.ts +15 -0
- package/validation/validationWrapper.ts +18 -4
|
@@ -49,6 +49,7 @@ const transaction_ts_1 = require("../../resources/transaction.js");
|
|
|
49
49
|
const tracked_ts_1 = require("../../resources/tracked.js");
|
|
50
50
|
const harper_logger_ts_1 = require("../../utility/logging/harper_logger.js");
|
|
51
51
|
const rocksdb_js_1 = require("@harperfast/rocksdb-js");
|
|
52
|
+
const auditStore_ts_1 = require("../../resources/auditStore.js");
|
|
52
53
|
const BridgeMethods_ts_1 = require("./BridgeMethods.js");
|
|
53
54
|
const lmdbGetBackup_js_1 = __importDefault(require("./lmdbBridge/lmdbMethods/lmdbGetBackup.js"));
|
|
54
55
|
const rocksdbBackup_ts_1 = require("../rocksdbBackup.js");
|
|
@@ -197,9 +198,33 @@ class ResourceBridge extends BridgeMethods_ts_1.BridgeMethods {
|
|
|
197
198
|
updateObj.requires_no_existing = true;
|
|
198
199
|
return this.upsertRecords(updateObj);
|
|
199
200
|
}
|
|
200
|
-
|
|
201
|
+
/**
|
|
202
|
+
* Create-or-replace: the stored record becomes exactly the submitted one, so an attribute the
|
|
203
|
+
* request omits is REMOVED rather than kept. `update`/`upsert` merge (`Table.patch`), which is the
|
|
204
|
+
* v4-compatible behaviour every existing client depends on and is why this is a separate operation
|
|
205
|
+
* rather than a flag on those. Equivalent to REST `PUT /Table/id` — same `Table.put`, so the same
|
|
206
|
+
* audit type, replication shape, and retained `__createdtime__`.
|
|
207
|
+
*/
|
|
208
|
+
async putRecords(putObj) {
|
|
209
|
+
return this.upsertRecords(putObj, true);
|
|
210
|
+
}
|
|
211
|
+
async upsertRecords(upsertObj, fullRecord = false) {
|
|
201
212
|
const { attributes } = (0, insertUpdateValidate_js_1.default)(upsertObj);
|
|
202
213
|
let new_attributes;
|
|
214
|
+
// `fullRecord` arrives as an ARGUMENT, never as a field on the request. Reading it off
|
|
215
|
+
// `upsertObj` would let a client send `full_record: true` with an `update` and get a replace —
|
|
216
|
+
// which makes the operation name stop describing the write, and bypasses the attribute-scoped
|
|
217
|
+
// `put` denial in `verifyPerms`, since that is keyed on the operation.
|
|
218
|
+
//
|
|
219
|
+
// Without it a write over an existing record merges (`Table.patch`), so an attribute the caller
|
|
220
|
+
// omitted keeps its stored value and `null` stores a null. That merge is the v4-compatible
|
|
221
|
+
// behaviour `update`/`upsert` must keep; HarperFast/studio#1643 is the removal case it cannot
|
|
222
|
+
// serve, and `put` is the operation that can.
|
|
223
|
+
//
|
|
224
|
+
// A put is also one operation where a client emulating removal needs two: the record is never
|
|
225
|
+
// absent between them, subscribers see a single write rather than a delete followed by an
|
|
226
|
+
// insert, and `__createdtime__` survives (`Table._writeUpdate` retains the stored created time
|
|
227
|
+
// on a full update and only stamps a new one for a new entry).
|
|
203
228
|
const Table = (0, databases_ts_1.getDatabases)()[upsertObj.schema][upsertObj.table];
|
|
204
229
|
const context = {
|
|
205
230
|
user: upsertObj.hdb_user,
|
|
@@ -255,9 +280,14 @@ class ResourceBridge extends BridgeMethods_ts_1.BridgeMethods {
|
|
|
255
280
|
}
|
|
256
281
|
}
|
|
257
282
|
}
|
|
283
|
+
// Keyed on whether there IS a record to remove from, not on which operation asked. Guarding
|
|
284
|
+
// the insert flag alone left `upsert` with no primary key reaching the same silent partial
|
|
285
|
+
// write one branch over: `insertUpdateValidate` requires a hash attribute only for
|
|
286
|
+
// `update`, so such a record takes the `id == undefined → Table.create` path and stored an
|
|
287
|
+
// auto-keyed record with the named attributes stripped, returning 200.
|
|
258
288
|
await (id == undefined
|
|
259
289
|
? Table.create(record, context)
|
|
260
|
-
: existingRecord
|
|
290
|
+
: existingRecord && !fullRecord
|
|
261
291
|
? Table.patch(record, context)
|
|
262
292
|
: Table.put(record, context));
|
|
263
293
|
keys.push(record[Table.primaryKey]);
|
|
@@ -468,8 +498,19 @@ class ResourceBridge extends BridgeMethods_ts_1.BridgeMethods {
|
|
|
468
498
|
const before = deleteObj.timestamp instanceof Date
|
|
469
499
|
? deleteObj.timestamp.getTime()
|
|
470
500
|
: typeof deleteObj.timestamp === 'string'
|
|
471
|
-
? Number.parseInt(
|
|
501
|
+
? // Number, not Number.parseInt: parseInt takes a numeric PREFIX ('9999999999999oops' is a
|
|
502
|
+
// year-2286 bound to it, '1e3' is 1) where Number rejects both as NaN. Empty/whitespace is
|
|
503
|
+
// explicit because Number('') and Number(' ') are 0.
|
|
504
|
+
deleteObj.timestamp.trim() === ''
|
|
505
|
+
? Number.NaN
|
|
506
|
+
: Number(deleteObj.timestamp)
|
|
472
507
|
: deleteObj.timestamp;
|
|
508
|
+
// Audit keys are raw float64: NaN and negatives sort above every real timestamp (a range ending
|
|
509
|
+
// there spans the whole log), and Infinity records the unknown sentinel raiseAuditFloor never lifts.
|
|
510
|
+
// Reject anything but a finite non-negative number here, as the 400 it is rather than a server
|
|
511
|
+
// fault. `Number.isFinite` never coerces, so it is the type check too.
|
|
512
|
+
if (!Number.isFinite(before) || before < 0 || Object.is(before, -0))
|
|
513
|
+
throw (0, hdbError_ts_1.handleHDBError)(new Error(), `'timestamp' must be a non-negative epoch time or Date, received: ${String(deleteObj.timestamp)}`, 400, undefined, undefined, true);
|
|
473
514
|
const databaseName = deleteObj.database || deleteObj.schema || DEFAULT_DATABASE;
|
|
474
515
|
const table = getTable(deleteObj);
|
|
475
516
|
// A nonexistent table must not fall through to the no-table branch below — on RocksDB that
|
|
@@ -485,7 +526,14 @@ class ResourceBridge extends BridgeMethods_ts_1.BridgeMethods {
|
|
|
485
526
|
if (tables) {
|
|
486
527
|
for (const table of Object.values(tables)) {
|
|
487
528
|
if (table.primaryStore instanceof rocksdb_js_1.RocksDatabase) {
|
|
488
|
-
|
|
529
|
+
// Clamp before recording: an operator-supplied bound has no ceiling of its own, and a
|
|
530
|
+
// floor above everything reachable never comes down (`raiseAuditFloor` only raises and
|
|
531
|
+
// `establishAuditFloor` skips a store that has a record), so a far-future bound would
|
|
532
|
+
// retire the floor for every table in this database. The purge takes the same clamped
|
|
533
|
+
// bound, so it cannot remove an entry the floor does not cover.
|
|
534
|
+
const pruneEnd = (0, auditStore_ts_1.boundedAuditPruneEnd)(table.auditStore, before);
|
|
535
|
+
(0, auditStore_ts_1.raiseAuditFloor)(table.auditStore, pruneEnd);
|
|
536
|
+
const deleted = table.primaryStore.purgeLogs({ before: pruneEnd, includeEntryCounts: true });
|
|
489
537
|
totalResults.log_files_deleted += deleted.length;
|
|
490
538
|
totalResults.entries_deleted += deleted.reduce((acc, file) => acc + file.entries, 0);
|
|
491
539
|
break;
|
|
@@ -511,12 +559,12 @@ class ResourceBridge extends BridgeMethods_ts_1.BridgeMethods {
|
|
|
511
559
|
// get the history of each record
|
|
512
560
|
for (const id of readAuditLogObj.search_values) {
|
|
513
561
|
histories[id] = (await table.getHistoryOfRecord(id)).map((auditRecord) => {
|
|
514
|
-
let operation = auditRecord.operation
|
|
515
|
-
if (operation === 'put')
|
|
516
|
-
operation = 'upsert';
|
|
562
|
+
let operation = normalizeHistoryOperation(auditRecord.operation, auditRecord.type);
|
|
517
563
|
return {
|
|
518
564
|
operation,
|
|
519
|
-
|
|
565
|
+
// the transaction's position in the log, which is what this field has always
|
|
566
|
+
// reported on RocksDB and what groups an atomic transaction (harper#2412)
|
|
567
|
+
timestamp: auditRecord.localTime,
|
|
520
568
|
user_name: auditRecord.user,
|
|
521
569
|
ids: [id],
|
|
522
570
|
records: [auditRecord.value],
|
|
@@ -695,10 +743,8 @@ async function* groupRecordsInHistory(table, start, end, limit) {
|
|
|
695
743
|
let enqueued;
|
|
696
744
|
let count = 0;
|
|
697
745
|
for await (const entry of table.getHistory(start, end)) {
|
|
698
|
-
let operation = entry.operation
|
|
699
|
-
|
|
700
|
-
operation = 'upsert';
|
|
701
|
-
const { id, version: timestamp, value } = entry;
|
|
746
|
+
let operation = normalizeHistoryOperation(entry.operation, entry.type);
|
|
747
|
+
const { id, localTime: timestamp, value } = entry;
|
|
702
748
|
if (enqueued?.timestamp === timestamp) {
|
|
703
749
|
enqueued.ids.push(id);
|
|
704
750
|
enqueued.records.push(value);
|
|
@@ -724,4 +770,18 @@ async function* groupRecordsInHistory(table, start, end, limit) {
|
|
|
724
770
|
if (enqueued)
|
|
725
771
|
yield enqueued;
|
|
726
772
|
}
|
|
773
|
+
/**
|
|
774
|
+
* Which operation a history entry should report: the originating operation when one was recorded,
|
|
775
|
+
* otherwise the physical write type.
|
|
776
|
+
*
|
|
777
|
+
* A recorded `put` is reported as `put`, so replication catch-up replays it as a replace. Only a
|
|
778
|
+
* LEGACY physical put — one with no originating operation, written before `put` existed — is still
|
|
779
|
+
* normalized to `upsert`, which is what produced a physical put back then. Normalizing both would
|
|
780
|
+
* make catch-up patch the replica and retain attributes the source removed.
|
|
781
|
+
*/
|
|
782
|
+
function normalizeHistoryOperation(originatingOperation, physicalType) {
|
|
783
|
+
if (originatingOperation !== undefined)
|
|
784
|
+
return originatingOperation;
|
|
785
|
+
return physicalType === 'put' ? 'upsert' : physicalType;
|
|
786
|
+
}
|
|
727
787
|
//# sourceMappingURL=ResourceBridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceBridge.js","sourceRoot":"","sources":["../../../dataLayer/harperBridge/ResourceBridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ResourceBridge.js","sourceRoot":"","sources":["../../../dataLayer/harperBridge/ResourceBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6FAAkE;AAClE,kEAA0F;AAC1F,+DAAuG;AACvG,sGAA2E;AAE3E,2DAKmC;AACnC,wEAA0D;AAC1D,wDAA6D;AAC7D,mEAAgE;AAChE,mEAA6D;AAU7D,2DAA0D;AAC1D,6EAAuE;AACvE,uDAAuD;AACvD,iEAAsF;AACtF,yDAAmD;AACnD,iGAAsE;AACtE,0DAAiF;AACjF,mGAA6F;AAG7F,MAAM,EAAE,cAAc,EAAE,GAAG,uBAAS,CAAC;AACrC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,YAAY,GAAG,KAAK,CAAC;AAC3B,MAAM,eAAe,GAAG,EAAE,CAAC;AAY3B;;;;GAIG;AACH,MAAa,cAAe,SAAQ,gCAAa;IAChD,KAAK,CAAC,kBAAkB,CAAC,YAAuC;QAC/D,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS;YAAE,YAAY,CAAC,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC;QAEzF,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,yBAAW,CAAC,SAAS,YAAY,CAAC,KAAK,YAAY,CAAC,CAAC;QAChE,CAAC;QAED,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpE,SAAS,YAAY,CAAC,SAAoB;YACzC,IAAI,YAAY,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;gBACvD,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC9D,OAAO,SAAS,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,GAAG,SAA4B,CAAC;gBACvC,OAAO;oBACN,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,gBAAgB;oBAC5C,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW;oBACzC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,sBAAsB;iBAC/E,CAAC;YACH,CAAC;QACF,CAAC;QAED,MAAM,eAAe,GAAG,IAAA,4BAAe,EAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACpE,IAAI,eAAe,EAAE,CAAC;YACrB,MAAM,IAAA,4BAAc,EAAC,eAAe,EAAE,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACjG,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,CAClB;YACC,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,+DAA+D;YAC/D,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAE,YAAY,CAAC,QAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;YAC1F,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC;YACtC,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,aAAa,EAAE,IAAI,EAAE,8FAA8F;SAC5G,EACR;YACC,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,aAAa,EAAE,YAAY,CAAC,aAAa;SACzC,CACD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,cAAc;QAChD,IAAI,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;QAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,cAAc,CAAC,WAAW,IAAI,cAAc,CAAC,cAAc,CAAC;QACnF,IAAI,UAAU,EAAE,CAAC;YAChB,sGAAsG;YACtG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACpC,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;oBAC9B,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC;oBAC9B,OAAO,SAAS,CAAC,cAAc,CAAC;gBACjC,CAAC;qBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,IAAI,cAAc;oBAAE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC;YAC/F,CAAC;QACF,CAAC;aAAM,CAAC;YACP,qFAAqF;YACrF,IAAI,CAAC,cAAc;gBAClB,MAAM,IAAI,yBAAW,CAAC,oFAAoF,CAAC,CAAC;YAC7G,UAAU,GAAG;gBACZ,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE;gBAC5C,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE;gBAC1C,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE;aAC1C,CAAC;QACH,CAAC;QACD,IAAA,oBAAK,EAAC;YACL,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,MAAM;YAC1D,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,UAAU;YACV,aAAa;YACb,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,KAAK,EAAE,cAAc,CAAC,KAAK;SAC3B,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,kBAAkB;QACvC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC;YAChD;gBACC,IAAI,EAAE,kBAAkB,CAAC,SAAS;gBAClC,OAAO,EAAE,kBAAkB,CAAC,OAAO,IAAI,IAAI;aACpC;SACR,CAAC,CAAC;QACH,OAAO,aAAa,kBAAkB,CAAC,MAAM,IAAI,kBAAkB,CAAC,KAAK,IAAI,kBAAkB,CAAC,SAAS,wBAAwB,CAAC;IACnI,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,gBAAgB;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACzC,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC1B,sDAAsD;YACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC;YAC5C,IAAI,UAAU,CAAC;YACf,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAiB,EAAE;gBAC5D,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;gBACvB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACxB,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC,CAAC;YACF,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5G,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAChD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,UAAU,CAAC;QAClB,CAAC;QACD,OAAO,wBAAwB,gBAAgB,CAAC,MAAM,IAAI,gBAAgB,CAAC,KAAK,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC;IAClH,CAAC;IAED,SAAS,CAAC,eAAe;QACxB,OAAO,QAAQ,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,eAAe;QAC3B,IAAA,uBAAQ,EAAC;YACR,QAAQ,EAAE,eAAe,CAAC,MAAM;YAChC,KAAK,EAAE,IAAI;SACX,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,kBAAkB,CACnC,IAAI,uBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,6BAAe,CAAC,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,CACtF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,aAAa;QAC7B,MAAM,IAAA,2BAAY,EAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACzC,UAAU,CAAC,kBAAkB,CAAC,IAAI,uBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,6BAAe,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAS;QAC5B,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAS;QAC5B,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACtC,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,MAAM;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,KAAK;QAChD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,iCAAoB,EAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,cAAc,CAAC;QACnB,uFAAuF;QACvF,+FAA+F;QAC/F,8FAA8F;QAC9F,uEAAuE;QACvE,EAAE;QACF,gGAAgG;QAChG,2FAA2F;QAC3F,8FAA8F;QAC9F,8CAA8C;QAC9C,EAAE;QACF,8FAA8F;QAC9F,0FAA0F;QAC1F,+FAA+F;QAC/F,+DAA+D;QAC/D,MAAM,KAAK,GAAG,IAAA,2BAAY,GAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,OAAO,GAAY;YACxB,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,oBAAoB,EAAE,SAAS,CAAC,SAAS;SACzC,CAAC;QACF,IAAI,SAAS,CAAC,WAAW;YAAE,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACvE,IAAI,SAAS,CAAC,sBAAsB;YAAE,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,sBAAsB,CAAC;QACxG,OAAO,IAAA,4BAAW,EAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACjD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBAC1B,cAAc,GAAG,EAAE,CAAC;gBACpB,KAAK,MAAM,cAAc,IAAI,UAAU,EAAE,CAAC;oBACzC,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAC9C,CAAC,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,IAAI,cAAc,CAC/D,CAAC;oBACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACxB,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACrC,CAAC;gBACF,CAAC;gBACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,KAAK,CAAC,aAAa,CACxB,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC7B,IAAI;wBACJ,OAAO,EAAE,IAAI;qBACb,CAAC,CAAC,CACH,CAAC;gBACH,CAAC;YACF,CAAC;YAED,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,cAAc,GAAG,EAAE,IAAI,SAAS,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACvE,IAAI,CAAC,SAAS,CAAC,iBAAiB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,IAAI,cAAc,CAAC,EAAE,CAAC;oBAC5G,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;oBACvC,SAAS;gBACV,CAAC;gBACD,IAAI,cAAc;oBAAE,cAAc,GAAG,IAAA,yBAAY,EAAC,cAAc,CAAC,CAAC;gBAClE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBAC1B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;wBACvD,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;wBACxB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;4BACjC,IAAI,CAAC;gCACJ,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gCAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;oCACjC,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oCACjC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gCACrB,CAAC;4BACF,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCAChB,KAAK,CAAC,OAAO,IAAI,oBAAoB,GAAG,GAAG,GAAG,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gCACpF,MAAM,KAAK,CAAC;4BACb,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,4FAA4F;gBAC5F,2FAA2F;gBAC3F,mFAAmF;gBACnF,2FAA2F;gBAC3F,uEAAuE;gBACvE,MAAM,CAAC,EAAE,IAAI,SAAS;oBACrB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBAC/B,CAAC,CAAC,cAAc,IAAI,CAAC,UAAU;wBAC9B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;wBAC9B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YACrC,CAAC;YACD,OAAO;gBACN,QAAQ,EAAG,WAAmB,CAAC,SAAS;gBACxC,cAAc,EAAE,IAAI;gBACpB,cAAc;gBACd,cAAc,EAAE,OAAO;aACvB,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAS;QAC5B,MAAM,KAAK,GAAG,IAAA,2BAAY,GAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,OAAO,GAAY,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;QACtD,IAAI,SAAS,CAAC,WAAW;YAAE,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACvE,IAAI,SAAS,CAAC,sBAAsB;YAAE,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,sBAAsB,CAAC;QACxG,OAAO,IAAA,4BAAW,EAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YACjD,MAAM,GAAG,GACR,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YACvG,6FAA6F;YAC7F,6FAA6F;YAC7F,wFAAwF;YACxF,+EAA+E;YAC/E,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACtB,IAAI,EAAE,IAAI,IAAI;oBAAE,MAAM,IAAI,yBAAW,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACtB,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;oBACjD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YACD,OAAO,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAG,WAAmB,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,mBAAmB,CAAC,SAAS;QAClC,MAAM,KAAK,GAAG,IAAA,2BAAY,GAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAChC,MAAM,IAAI,yBAAW,CACpB,2GAA2G,CAC3G,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YAC1C,UAAU,EAAE;gBACX;oBACC,SAAS,EAAE,KAAK,CAAC,mBAAmB,CAAC,IAAI;oBACzC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;oBACjC,UAAU,EAAE,sCAAwB,CAAC,IAAI;iBACzC;aACD;SACM,CAAC,CAAC;QAEV,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;YAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;gBAC1C,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,GAAG;aACH,CAAC,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YAC7C,MAAM,IAAA,iCAAe,EAAC,eAAe,CAAC,CAAC;YACvC,GAAG,GAAG,EAAE,CAAC;YACT,YAAY,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YACpC,CAAC,EAAE,CAAC;YACJ,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,WAAW,EAAE,CAAC;YACrB,CAAC;QACF,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,WAAW,EAAE,CAAC;QAExC,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;QAClD,CAAC;QAED,OAAO,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,YAAY;QACxB,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS;YAAE,YAAY,CAAC,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC;QACzF,MAAM,eAAe,GAAG,IAAA,4BAAe,EAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,eAAe,EAAE,CAAC;YACrB,MAAM,eAAe,CAAC;QACvB,CAAC;QACD,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,YAAY;QAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC;QACpC,IAAI,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,UAAU,CAAC,YAAY,EAAE,IAAI,CAAQ,EAAE,CAAC;YAC1E,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,aAAa,CAAC,YAA0B,EAAE,UAAmB;QAC5D,IAAI,UAAU,IAAI,qDAAuC,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,iBAAiB,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,GAAG,GAAG,YAAmB,CAAC;QAChC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;YAAE,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9D,IAAI,GAAG,CAAC,gBAAgB,KAAK,SAAS;YAAE,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC;QAC7E,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC;QAEjE,MAAM,eAAe,GAAG,IAAA,4BAAe,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,eAAe,EAAE,CAAC;YACrB,MAAM,eAAe,CAAC;QACvB,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,yBAAW,CAAC,SAAS,YAAY,CAAC,KAAK,YAAY,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,KAAK,GAAQ,YAAY,CAAC,KAAK,CAAC;QACpC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;wBACnB,UAAU,GAAG,UAAU,CAAC;wBACxB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC5B,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,UAAU,GAAG,WAAW,CAAC;oBACzB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,UAAU,GAAG,aAAa,CAAC;gBAC3B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC;QACD,IAAI,UAAU,KAAK,sCAAwB,CAAC,OAAO;YAAE,KAAK,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7F,MAAM,UAAU,GACf,KAAK,KAAK,GAAG;YACZ,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACA;oBACC,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,KAAK;oBACL,UAAU;iBACV;aACD,CAAC;QAEL,OAAO,KAAK,CAAC,MAAM,CAClB;YACC,UAAU;YACV,aAAa,EAAE,IAAI;YACnB,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,IAAI,EAAG,YAAoB,CAAC,IAAI;YAChC,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC;SAC/B,EACR;YACC,YAAY,EAAG,YAAoB,CAAC,YAAY;YAChD,YAAY,EAAG,YAAoB,CAAC,YAAY;YAChD,OAAO,EAAG,YAAoB,CAAC,OAAO;YACtC,aAAa,EAAG,YAAoB,CAAC,aAAa;SAClD,CACD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,YAA0B,EAAE,UAAmB;QACnE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,YAAY,CAAC,cAAoC,CAAC;QAChE,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;YACjE,8DAA8D;YAC9D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,YAAY,CAAC,MAAM,EAAE,KAAK;QACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,2BAA2B,CAAC,SAMjC;QACA,IAAI,YAAY,GAAG,IAAI,0EAAkC,EAAE,CAAC;QAC5D,MAAM,MAAM,GACX,SAAS,CAAC,SAAS,YAAY,IAAI;YAClC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE;YAC/B,CAAC,CAAC,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ;gBACxC,CAAC,CAAC,yFAAyF;oBAC1F,2FAA2F;oBAC3F,uDAAuD;oBACvD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;wBACjC,CAAC,CAAC,MAAM,CAAC,GAAG;wBACZ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;gBAC9B,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;QACzB,gGAAgG;QAChG,qGAAqG;QACrG,+FAA+F;QAC/F,uEAAuE;QACvE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAClE,MAAM,IAAA,4BAAc,EACnB,IAAI,KAAK,EAAE,EACX,oEAAoE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EACjG,GAAG,EACH,SAAS,EACT,SAAS,EACT,IAAI,CACJ,CAAC;QACH,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,IAAI,gBAAgB,CAAC;QAChF,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClC,2FAA2F;QAC3F,uFAAuF;QACvF,iGAAiG;QACjG,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK;YACpC,MAAM,IAAA,4BAAc,EACnB,IAAI,KAAK,EAAE,EACX,cAAc,CAAC,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,EAC7D,GAAG,EACH,SAAS,EACT,SAAS,EACT,IAAI,CACJ,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,mDAAmD;YACnD,kFAAkF;YAClF,yBAAyB;YACzB,MAAM,MAAM,GAAG,IAAA,2BAAY,GAAE,CAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACZ,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3C,IAAI,KAAK,CAAC,YAAY,YAAY,0BAAa,EAAE,CAAC;wBACjD,sFAAsF;wBACtF,uFAAuF;wBACvF,sFAAsF;wBACtF,sFAAsF;wBACtF,gEAAgE;wBAChE,MAAM,QAAQ,GAAG,IAAA,oCAAoB,EAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;wBAChE,IAAA,+BAAe,EAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;wBAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC7F,YAAY,CAAC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;wBACjD,YAAY,CAAC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBACrF,MAAM;oBACP,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;aAAM,IAAI,KAAK,CAAC,YAAY,YAAY,0BAAa,EAAE,CAAC;YACxD,qFAAqF;YACrF,6FAA6F;YAC7F,MAAM,IAAA,4BAAc,EACnB,IAAI,KAAK,EAAE,EACX,uLAAuL,YAAY,qFAAqF,EACxR,GAAG,EACH,SAAS,EACT,SAAS,EACT,IAAI,CACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACP,YAAY,CAAC,eAAe,IAAI,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,uBAAuB,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,eAAe;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,QAAQ,eAAe,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,8CAAgC,CAAC,UAAU;gBAC/C,iCAAiC;gBACjC,KAAK,MAAM,EAAE,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;oBAChD,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;wBACxE,IAAI,SAAS,GAAG,yBAAyB,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;wBACnF,OAAO;4BACN,SAAS;4BACT,6EAA6E;4BAC7E,0EAA0E;4BAC1E,SAAS,EAAE,WAAW,CAAC,SAAS;4BAChC,SAAS,EAAE,WAAW,CAAC,IAAI;4BAC3B,GAAG,EAAE,CAAC,EAAE,CAAC;4BACT,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;yBAC5B,CAAC;oBACH,CAAC,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO,SAAS,CAAC;YAClB,KAAK,8CAAgC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAG,eAAe,CAAC,aAAa,CAAC;gBAC5C,qDAAqD;gBACrD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxD,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;wBACrC,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;wBACvF,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;gBACF,CAAC;gBACD,OAAO,SAAS,CAAC;YAClB,CAAC;YACD;gBACC,OAAO,qBAAqB,CAC3B,KAAK,EACL,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB;gBACtD,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB;gBACpD,eAAe,CAAC,KAAK,CACrB,CAAC;QACJ,CAAC;IACF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,YAQf;QACA,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM,IAAI,MAAM,CAAC;QAC5E,MAAM,QAAQ,GAAG,IAAA,2BAAY,GAAE,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,yBAAW,CAAC,aAAa,YAAY,kBAAkB,EAAE,GAAG,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,yBAAW,CAAC,aAAa,YAAY,4BAA4B,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,UAAU,CAAC,YAAY,CAAC,SAAS,YAAY,0BAAa,EAAE,CAAC;YAChE,iFAAiF;YACjF,oFAAoF;YACpF,IAAI,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC/C,MAAM,IAAI,yBAAW,CAAC,mFAAmF,CAAC,CAAC;YAC5G,CAAC;YACD,IAAI,YAAY,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC9C,MAAM,IAAI,yBAAW,CACpB,4FAA4F,CAC5F,CAAC;YACH,CAAC;YACD,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/E,MAAM,IAAI,yBAAW,CAAC,0BAA0B,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,YAAY,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,YAAY,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACjG,MAAM,IAAI,yBAAW,CAAC,mCAAmC,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,SAAS,GAAG,IAAA,yCAAsB,EAAC,YAAY,CAAC,CAAC;YACvD,oFAAoF;YACpF,gFAAgF;YAChF,OAAO,IAAA,qCAAkB,EACxB,SAAS,EACT,YAAY,EACZ,YAAY,CAAC,IAAI,KAAK,KAAK,EAC3B,YAAY,CAAC,aAAa,KAAK,IAAI,CACnC,CAAC;QACH,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,yBAAW,CAAC,0FAA0F,CAAC,CAAC;QACnH,CAAC;QACD,OAAO,IAAA,0BAAa,EAAC,YAAY,CAAC,CAAC;IACpC,CAAC;CACD;AA1nBD,wCA0nBC;AAED,SAAS,SAAS,CAAC,EAAE,cAAc,EAAO,EAAE,KAAU;IACrD,IAAI,cAAc,EAAE,CAAC;QACpB,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,aAAa;gBAAE,OAAO;;gBAC3B,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3E,CAAC;QACD,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC;QACjC,OAAO,cAAc,CAAC;IACvB,CAAC;AACF,CAAC;AACD;;GAEG;AACH,SAAS,UAAU,CAAC,YAAY,EAAE,cAAe;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,yBAAW,CAAC,SAAS,YAAY,CAAC,KAAK,YAAY,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,CAAC;IACT,IAAI,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC;IAC5F,2FAA2F;IAC3F,mBAAmB;IACnB,MAAM,OAAO,GAAG;QACf,IAAI,EAAE,YAAY,CAAC,QAAQ;QAC3B,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,aAAa,EAAE,YAAY,CAAC,aAAa;KACzC,CAAC;IACF,IAAI,iBAAiB,CAAC;IACtB,IAAA,4BAAW,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC;IACzD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO;QACN,CAAC,MAAM,CAAC,aAAa,CAAC;YACrB,OAAO;gBACN,KAAK,CAAC,IAAI;oBACT,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;wBACpB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpB,IAAI,MAAM,CAAC;wBACX,IAAI,CAAC;4BACJ,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAS,EAAE,OAAO,CAAC,CAAC;4BAC/D,MAAM,GAAG,MAAM,IAAI,IAAA,yBAAY,EAAC,MAAM,CAAC,CAAC;wBACzC,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BAChB,MAAM,GAAG;gCACR,OAAO,EAAE,IAAA,gCAAa,EAAC,KAAK,CAAC;6BAC7B,CAAC;wBACH,CAAC;wBACD,IAAI,cAAc;4BACjB,OAAO;gCACN,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;6BACjC,CAAC;;4BACE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;oBAC/B,CAAC;yBAAM,CAAC;wBACP,iBAAiB,EAAE,CAAC;wBACpB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBACvB,CAAC;gBACF,CAAC;gBACD,MAAM,CAAC,KAAK;oBACX,iBAAiB,EAAE,CAAC;oBACpB,OAAO;wBACN,KAAK;wBACL,IAAI,EAAE,IAAI;qBACV,CAAC;gBACH,CAAC;gBACD,0CAA0C;gBAC1C,KAAK,CAAC,KAAK;oBACV,iBAAiB,EAAE,CAAC;oBACpB,OAAO;wBACN,IAAI,EAAE,IAAI;qBACV,CAAC;gBACH,CAAC;aACD,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,eAAuE;IACxF,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,MAAM,IAAI,gBAAgB,CAAC;IAC5F,MAAM,MAAM,GAAG,IAAA,2BAAY,GAAE,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAA,4BAAc,EAAC,IAAI,KAAK,EAAE,EAAE,cAAc,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;IACnG,4FAA4F;IAC5F,OAAO,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9C,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAElD,OAAO;QACN,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,OAAO,KAAK,IAAI,MAAM,uBAAuB;QACvE,cAAc,EAAE,OAAO;QACvB,cAAc,EAAE,OAAO;QACvB,QAAQ,EAAE,OAAO;KACjB,CAAC;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAM,EAAE,GAAI,EAAE,KAAM;IAChE,IAAI,QAAQ,CAAC;IACb,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QACxD,IAAI,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAClD,IAAI,QAAQ,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YACvC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,IAAI,QAAQ,EAAE,CAAC;gBACd,MAAM,QAAQ,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;oBAC7B,QAAQ,GAAG,SAAS,CAAC;oBACrB,MAAM;gBACP,CAAC;YACF,CAAC;YACD,QAAQ,GAAG;gBACV,SAAS;gBACT,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,SAAS;gBACT,GAAG,EAAE,CAAC,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC,KAAK,CAAC;aAChB,CAAC;QACH,CAAC;IACF,CAAC;IACD,IAAI,QAAQ;QAAE,MAAM,QAAQ,CAAC;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,yBAAyB,CAAC,oBAAoB,EAAE,YAAY;IACpE,IAAI,oBAAoB,KAAK,SAAS;QAAE,OAAO,oBAAoB,CAAC;IACpE,OAAO,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;AACzD,CAAC"}
|
package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.d.ts
CHANGED
|
@@ -7,10 +7,12 @@ declare class DeleteAuditLogsBeforeResults {
|
|
|
7
7
|
* @param {number} startTimestamp
|
|
8
8
|
* @param {number} endTimestamp
|
|
9
9
|
* @param {number} transactionsDeleted
|
|
10
|
+
* @param {number} logFilesDeleted
|
|
10
11
|
*/
|
|
11
|
-
constructor(startTimestamp?: number, endTimestamp?: number, transactionsDeleted?: number);
|
|
12
|
+
constructor(startTimestamp?: number, endTimestamp?: number, transactionsDeleted?: number, logFilesDeleted?: number);
|
|
12
13
|
start_timestamp: number;
|
|
13
14
|
end_timestamp: number;
|
|
14
15
|
transactions_deleted: number;
|
|
16
|
+
log_files_deleted: number;
|
|
15
17
|
deprecated: string;
|
|
16
18
|
}
|
|
@@ -7,11 +7,13 @@ class DeleteAuditLogsBeforeResults {
|
|
|
7
7
|
* @param {number} startTimestamp
|
|
8
8
|
* @param {number} endTimestamp
|
|
9
9
|
* @param {number} transactionsDeleted
|
|
10
|
+
* @param {number} logFilesDeleted
|
|
10
11
|
*/
|
|
11
|
-
constructor(startTimestamp = undefined, endTimestamp = undefined, transactionsDeleted = 0) {
|
|
12
|
+
constructor(startTimestamp = undefined, endTimestamp = undefined, transactionsDeleted = 0, logFilesDeleted = 0) {
|
|
12
13
|
this.start_timestamp = startTimestamp;
|
|
13
14
|
this.end_timestamp = endTimestamp;
|
|
14
15
|
this.transactions_deleted = transactionsDeleted;
|
|
16
|
+
this.log_files_deleted = logFilesDeleted;
|
|
15
17
|
this.deprecated = 'Please use delete_transaction_logs_before instead';
|
|
16
18
|
}
|
|
17
19
|
}
|
package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteAuditLogsBeforeResults.js","sourceRoot":"","sources":["../../../../../dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;GAEG;AACH,MAAM,4BAA4B;IACjC
|
|
1
|
+
{"version":3,"file":"DeleteAuditLogsBeforeResults.js","sourceRoot":"","sources":["../../../../../dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;GAEG;AACH,MAAM,4BAA4B;IACjC;;;;;OAKG;IACH,YAAY,cAAc,GAAG,SAAS,EAAE,YAAY,GAAG,SAAS,EAAE,mBAAmB,GAAG,CAAC,EAAE,eAAe,GAAG,CAAC;QAC7G,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,mDAAmD,CAAC;IACvE,CAAC;CACD;AAED,MAAM,CAAC,OAAO,GAAG,4BAA4B,CAAC"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import { UpgradeObject } from '../upgrade/UpgradeObjects.ts';
|
|
2
|
+
export declare class VersionStampNotRecordedError extends Error {
|
|
3
|
+
statusCode: number;
|
|
4
|
+
constructor(message: string);
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* `insert.insert` reports a key that already exists as skipped, not as a failure, so a resolved
|
|
8
|
+
* insert is not evidence that the version was recorded. Ids compare as strings: the guard is
|
|
9
|
+
* against a write that did not happen, not against a hash returned in a different type.
|
|
10
|
+
*/
|
|
11
|
+
export declare function assertVersionRecorded(insertResult: any, expectedId: number, newVersionString: string): void;
|
|
2
12
|
/**
|
|
3
13
|
* * Insert a row into hdbInfo with the initial version data at install.
|
|
4
14
|
*
|
|
@@ -36,6 +36,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.VersionStampNotRecordedError = void 0;
|
|
40
|
+
exports.assertVersionRecorded = assertVersionRecorded;
|
|
39
41
|
exports.insertHdbInstallInfo = insertHdbInstallInfo;
|
|
40
42
|
exports.insertHdbUpgradeInfo = insertHdbUpgradeInfo;
|
|
41
43
|
exports.getVersionUpdateInfo = getVersionUpdateInfo;
|
|
@@ -70,6 +72,31 @@ const HDB_INFO_SEARCH_ATTRIBUTE = 'info_id';
|
|
|
70
72
|
const DEFAULT_DATA_VERSION_NUM = '2.9.9';
|
|
71
73
|
// This value should change as supported versions change.
|
|
72
74
|
const MINIMUM_SUPPORTED_VERSION_NUM = '3.0.0';
|
|
75
|
+
class VersionStampNotRecordedError extends Error {
|
|
76
|
+
statusCode;
|
|
77
|
+
constructor(message) {
|
|
78
|
+
super(message);
|
|
79
|
+
this.name = 'VersionStampNotRecordedError';
|
|
80
|
+
this.statusCode = 500;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.VersionStampNotRecordedError = VersionStampNotRecordedError;
|
|
84
|
+
/**
|
|
85
|
+
* `insert.insert` reports a key that already exists as skipped, not as a failure, so a resolved
|
|
86
|
+
* insert is not evidence that the version was recorded. Ids compare as strings: the guard is
|
|
87
|
+
* against a write that did not happen, not against a hash returned in a different type.
|
|
88
|
+
*/
|
|
89
|
+
function assertVersionRecorded(insertResult, expectedId, newVersionString) {
|
|
90
|
+
const insertedHashes = insertResult?.inserted_hashes;
|
|
91
|
+
if (Array.isArray(insertedHashes) &&
|
|
92
|
+
insertedHashes.length === 1 &&
|
|
93
|
+
String(insertedHashes[0]) === String(expectedId)) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
throw new VersionStampNotRecordedError(`Could not record data version ${newVersionString} in '${hdbTerms.SYSTEM_SCHEMA_NAME}.${hdbTerms.SYSTEM_TABLE_NAMES.INFO_TABLE_NAME}': ` +
|
|
97
|
+
`the insert of ${HDB_INFO_SEARCH_ATTRIBUTE} ${expectedId} reported inserted ${JSON.stringify(insertedHashes ?? null)} ` +
|
|
98
|
+
`and skipped ${JSON.stringify(insertResult?.skipped_hashes ?? null)}`);
|
|
99
|
+
}
|
|
73
100
|
/**
|
|
74
101
|
* * Insert a row into hdbInfo with the initial version data at install.
|
|
75
102
|
*
|
|
@@ -106,7 +133,9 @@ async function insertHdbUpgradeInfo(newVersionString) {
|
|
|
106
133
|
//Insert the most recent record with the new data version in the hdbInfo system table.
|
|
107
134
|
let insertObject = new DataLayerObjects.InsertObject(hdbTerms.OPERATIONS_ENUM.INSERT, hdbTerms.SYSTEM_SCHEMA_NAME, hdbTerms.SYSTEM_TABLE_NAMES.INFO_TABLE_NAME, hdbTerms.INFO_TABLE_HASH_ATTRIBUTE, [newInfoRecord]);
|
|
108
135
|
await pSetSchemaDataToGlobal();
|
|
109
|
-
|
|
136
|
+
const insertResult = await insert.insert(insertObject);
|
|
137
|
+
assertVersionRecorded(insertResult, newId, newVersionString);
|
|
138
|
+
return insertResult;
|
|
110
139
|
}
|
|
111
140
|
/**
|
|
112
141
|
* Returns all records from the 'hdb_info' system table
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hdbInfoController.js","sourceRoot":"","sources":["../../dataLayer/hdbInfoController.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"hdbInfoController.js","sourceRoot":"","sources":["../../dataLayer/hdbInfoController.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,5 +28,13 @@ declare function updateData(updateObject: any): Promise<any>;
|
|
|
28
28
|
* @param upsertObject - Represents the data that will be upserted in the database
|
|
29
29
|
*/
|
|
30
30
|
declare function upsertData(upsertObject: any): Promise<any>;
|
|
31
|
+
/**
|
|
32
|
+
* Create-or-replace the records in the putObject parameter: the stored record becomes exactly the
|
|
33
|
+
* submitted one, so an attribute the request omits is removed. `update`/`upsert` merge instead, and
|
|
34
|
+
* must keep doing so for v4 compatibility — hence a distinct operation rather than a flag on those.
|
|
35
|
+
* Equivalent to REST `PUT /Table/id`.
|
|
36
|
+
* @param putObject - Represents the data that will be written
|
|
37
|
+
*/
|
|
38
|
+
declare function putData(putObject: any): Promise<any>;
|
|
31
39
|
export declare function flush(object: any): any;
|
|
32
|
-
export { insertData as insert, updateData as update, upsertData as upsert };
|
|
40
|
+
export { insertData as insert, updateData as update, upsertData as upsert, putData as put };
|
package/dist/dataLayer/insert.js
CHANGED
|
@@ -41,6 +41,7 @@ exports.flush = flush;
|
|
|
41
41
|
exports.insert = insertData;
|
|
42
42
|
exports.update = updateData;
|
|
43
43
|
exports.upsert = upsertData;
|
|
44
|
+
exports.put = putData;
|
|
44
45
|
/***
|
|
45
46
|
* INSERT.JS
|
|
46
47
|
*
|
|
@@ -60,6 +61,7 @@ const pGlobalSchema = util.promisify(globalSchema.getTableSchema);
|
|
|
60
61
|
const UPDATE_ACTION = 'updated';
|
|
61
62
|
const INSERT_ACTION = 'inserted';
|
|
62
63
|
const UPSERT_ACTION = 'upserted';
|
|
64
|
+
const PUT_ACTION = 'put';
|
|
63
65
|
//IMPORTANT - This validation function is the async version of the code in harperBridge/bridgeUtility/insertUpdateValidate.js
|
|
64
66
|
// make sure any changes below are also made there. This is to resolve a circular dependency.
|
|
65
67
|
/**
|
|
@@ -191,6 +193,29 @@ async function upsertData(upsertObject) {
|
|
|
191
193
|
let bridgeUpsertResult = await harperBridge.upsertRecords(upsertObject);
|
|
192
194
|
return returnObject(UPSERT_ACTION, bridgeUpsertResult.written_hashes, upsertObject, [], bridgeUpsertResult.new_attributes, bridgeUpsertResult.txn_time);
|
|
193
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Create-or-replace the records in the putObject parameter: the stored record becomes exactly the
|
|
198
|
+
* submitted one, so an attribute the request omits is removed. `update`/`upsert` merge instead, and
|
|
199
|
+
* must keep doing so for v4 compatibility — hence a distinct operation rather than a flag on those.
|
|
200
|
+
* Equivalent to REST `PUT /Table/id`.
|
|
201
|
+
* @param putObject - Represents the data that will be written
|
|
202
|
+
*/
|
|
203
|
+
async function putData(putObject) {
|
|
204
|
+
if (putObject.operation !== 'put') {
|
|
205
|
+
throw (0, hdbError_ts_1.handleHDBError)(new Error(), 'invalid operation, must be put', commonErrors_ts_1.HTTP_STATUS_CODES.INTERNAL_SERVER_ERROR);
|
|
206
|
+
}
|
|
207
|
+
let validator = (0, insertValidator_ts_1.default)(putObject);
|
|
208
|
+
if (validator) {
|
|
209
|
+
throw (0, hdbError_ts_1.handleHDBError)(new Error(), validator.message, commonErrors_ts_1.HTTP_STATUS_CODES.BAD_REQUEST);
|
|
210
|
+
}
|
|
211
|
+
hdbUtils.transformReq(putObject);
|
|
212
|
+
let invalidSchemaTableMsg = hdbUtils.checkSchemaTableExist(putObject.schema, putObject.table);
|
|
213
|
+
if (invalidSchemaTableMsg) {
|
|
214
|
+
throw (0, hdbError_ts_1.handleHDBError)(new Error(), invalidSchemaTableMsg, commonErrors_ts_1.HTTP_STATUS_CODES.BAD_REQUEST);
|
|
215
|
+
}
|
|
216
|
+
let bridgePutResult = await harperBridge.putRecords(putObject);
|
|
217
|
+
return returnObject(PUT_ACTION, bridgePutResult.written_hashes, putObject, [], bridgePutResult.new_attributes, bridgePutResult.txn_time);
|
|
218
|
+
}
|
|
194
219
|
/**
|
|
195
220
|
* Constructs return object for insert, update, and upsert.
|
|
196
221
|
* @param action
|
|
@@ -216,6 +241,11 @@ function returnObject(action, written_hashes, object, skipped, new_attributes, t
|
|
|
216
241
|
return_object.upserted_hashes = written_hashes;
|
|
217
242
|
return return_object;
|
|
218
243
|
}
|
|
244
|
+
if (action === PUT_ACTION) {
|
|
245
|
+
// `put` never skips: every submitted record is written, created or replaced.
|
|
246
|
+
return_object.put_hashes = written_hashes;
|
|
247
|
+
return return_object;
|
|
248
|
+
}
|
|
219
249
|
return_object.update_hashes = written_hashes;
|
|
220
250
|
return_object.skipped_hashes = skipped;
|
|
221
251
|
return return_object;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../../dataLayer/insert.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../../dataLayer/insert.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,8 +78,8 @@ export declare function restoreBackup(request: any): Promise<{
|
|
|
78
78
|
*
|
|
79
79
|
* With blobs included (the default; `excludeBlobs` opts out), the database's file-backed blob roots
|
|
80
80
|
* are appended to the same archive under `blobs/<rootIndex>/<relpath>` so a downloaded backup is a
|
|
81
|
-
* complete Harper database.
|
|
82
|
-
*
|
|
81
|
+
* complete Harper database. Each enumerated blob is classified before capture; one that is incomplete
|
|
82
|
+
* or vanishes before it can be opened is represented by a PENDING or ERROR marker at the same path.
|
|
83
83
|
*/
|
|
84
84
|
export declare function createBackupStream(rootStore: RocksDatabase, databaseName: string, gzip: boolean, excludeBlobs?: boolean): PassThrough;
|
|
85
85
|
/**
|
|
@@ -640,8 +640,8 @@ function isRocksDbLockError(error) {
|
|
|
640
640
|
*
|
|
641
641
|
* With blobs included (the default; `excludeBlobs` opts out), the database's file-backed blob roots
|
|
642
642
|
* are appended to the same archive under `blobs/<rootIndex>/<relpath>` so a downloaded backup is a
|
|
643
|
-
* complete Harper database.
|
|
644
|
-
*
|
|
643
|
+
* complete Harper database. Each enumerated blob is classified before capture; one that is incomplete
|
|
644
|
+
* or vanishes before it can be opened is represented by a PENDING or ERROR marker at the same path.
|
|
645
645
|
*/
|
|
646
646
|
function createBackupStream(rootStore, databaseName, gzip, excludeBlobs = false) {
|
|
647
647
|
const stream = new node_stream_1.PassThrough();
|
|
@@ -699,7 +699,7 @@ async function streamBackupWithBlobs(rootStore, databaseName, gzip, out) {
|
|
|
699
699
|
await appendBlobEntries(pack, blobRoots);
|
|
700
700
|
// generate the same self-documenting READMEs a managed backup writes to disk, on the fly
|
|
701
701
|
await addTextEntry(pack, 'README.md', streamedBackupReadme(databaseName));
|
|
702
|
-
await addTextEntry(pack, 'blobs/README.md', (0, blobBackup_ts_1.blobsReadmeContent)(blobRoots, {
|
|
702
|
+
await addTextEntry(pack, 'blobs/README.md', (0, blobBackup_ts_1.blobsReadmeContent)(blobRoots, { variant: 'archive' }));
|
|
703
703
|
pack.finalize();
|
|
704
704
|
await packed;
|
|
705
705
|
await consumed;
|
|
@@ -758,8 +758,8 @@ function writeWithBackpressure(dest, chunk) {
|
|
|
758
758
|
}
|
|
759
759
|
/**
|
|
760
760
|
* Append every blob file under the given blob roots to `pack` as `blobs/<rootIndex>/<relpath>`
|
|
761
|
-
* entries.
|
|
762
|
-
*
|
|
761
|
+
* entries. Complete files are streamed at the size captured on open; files that cannot be captured
|
|
762
|
+
* whole are represented by markers, and repair temporaries are omitted.
|
|
763
763
|
*/
|
|
764
764
|
async function appendBlobEntries(pack, blobRoots) {
|
|
765
765
|
for (let index = 0; index < blobRoots.length; index++) {
|
|
@@ -787,13 +787,49 @@ async function appendBlobEntries(pack, blobRoots) {
|
|
|
787
787
|
// tar entry names are always POSIX-separated; relative() yields `\` on Windows, which
|
|
788
788
|
// would otherwise become literal filename characters when extracted on POSIX
|
|
789
789
|
const relativePath = (0, node_path_1.relative)(root, filePath).split(node_path_1.sep).join('/');
|
|
790
|
-
await
|
|
790
|
+
await appendBlobEntry(pack, filePath, `blobs/${index}/${relativePath}`);
|
|
791
791
|
}
|
|
792
792
|
}
|
|
793
793
|
}
|
|
794
794
|
}
|
|
795
795
|
}
|
|
796
|
-
/**
|
|
796
|
+
/**
|
|
797
|
+
* Add one blob to the pack, applying the same capture rule as the managed snapshot
|
|
798
|
+
* (`classifyBlobFileForCapture`): a blob still being written would otherwise be archived truncated,
|
|
799
|
+
* so it is packed as a PENDING marker, which also keeps its file id reserved on extraction.
|
|
800
|
+
*/
|
|
801
|
+
async function appendBlobEntry(pack, filePath, name) {
|
|
802
|
+
let disposition;
|
|
803
|
+
try {
|
|
804
|
+
disposition = await (0, blob_ts_1.classifyBlobFileForCapture)(filePath);
|
|
805
|
+
}
|
|
806
|
+
catch (error) {
|
|
807
|
+
if ((0, blob_ts_1.isSystemicIoError)(error))
|
|
808
|
+
throw error; // unverified, as on the snapshot path
|
|
809
|
+
// As on the snapshot path: a read failure is not evidence the bytes are bad, so fall back to the
|
|
810
|
+
// pre-classification behavior rather than downgrading a valid blob to a stub.
|
|
811
|
+
harper_logger_ts_1.default.warn(`Could not verify blob ${filePath} for the backup archive; packing it unverified`, error);
|
|
812
|
+
disposition = 'capture';
|
|
813
|
+
}
|
|
814
|
+
if (disposition === 'skip')
|
|
815
|
+
return;
|
|
816
|
+
if (disposition === 'capture') {
|
|
817
|
+
if (await appendBlobFile(pack, filePath, name))
|
|
818
|
+
return;
|
|
819
|
+
disposition = 'gone';
|
|
820
|
+
}
|
|
821
|
+
const marker = (0, blob_ts_1.createCaptureMarker)(disposition, disposition === 'gone'
|
|
822
|
+
? 'blob was deleted while this archive was being built'
|
|
823
|
+
: 'blob was not yet complete when this archive was built');
|
|
824
|
+
await new Promise((resolvePromise, reject) => {
|
|
825
|
+
const entry = pack.entry({ name, size: marker.length }, (error) => (error ? reject(error) : resolvePromise()));
|
|
826
|
+
entry.end(marker);
|
|
827
|
+
});
|
|
828
|
+
}
|
|
829
|
+
/**
|
|
830
|
+
* Add a single file to the pack, streaming exactly the byte count captured at open time. Returns false
|
|
831
|
+
* if it vanished first, so the caller can still reserve its id.
|
|
832
|
+
*/
|
|
797
833
|
async function appendBlobFile(pack, filePath, name) {
|
|
798
834
|
let handle;
|
|
799
835
|
try {
|
|
@@ -801,7 +837,7 @@ async function appendBlobFile(pack, filePath, name) {
|
|
|
801
837
|
}
|
|
802
838
|
catch (error) {
|
|
803
839
|
if (error.code === 'ENOENT')
|
|
804
|
-
return;
|
|
840
|
+
return false;
|
|
805
841
|
throw error;
|
|
806
842
|
}
|
|
807
843
|
try {
|
|
@@ -822,6 +858,7 @@ async function appendBlobFile(pack, filePath, name) {
|
|
|
822
858
|
finally {
|
|
823
859
|
await handle.close();
|
|
824
860
|
}
|
|
861
|
+
return true;
|
|
825
862
|
}
|
|
826
863
|
/** Add an in-memory string to the pack as a single tar entry (used for the generated READMEs). */
|
|
827
864
|
async function addTextEntry(pack, name, content) {
|