@harperfast/harper 5.2.10 → 5.3.0-alpha.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 +46 -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 +59 -3
- package/bin/run.ts +6 -11
- package/bin/upgrade.js +7 -3
- package/bin/workloadIdentity.ts +119 -0
- package/components/Application.ts +2414 -242
- package/components/ApplicationScope.ts +8 -0
- package/components/EntryHandler.ts +59 -39
- package/components/OptionsWatcher.ts +150 -74
- package/components/RuntimeModuleTracker.ts +38 -7
- package/components/Scope.ts +37 -15
- package/components/awaitRestart.ts +84 -0
- package/components/componentLoader.ts +340 -30
- package/components/componentPreparationLock.ts +16 -5
- 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 +270 -78
- package/components/operationsValidation.js +49 -1
- package/components/status/ComponentStatusRegistry.ts +59 -0
- package/config/RootConfigWatcher.ts +80 -34
- package/config/configUtils.ts +291 -34
- package/config/harperConfigEnvVars.ts +170 -27
- package/config-root.schema.json +29 -0
- package/dataLayer/blobBackup.ts +160 -50
- package/dataLayer/delete.ts +6 -1
- package/dataLayer/harperBridge/ResourceBridge.ts +52 -8
- 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 +48 -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 +54 -5
- 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 +139 -16
- package/dist/components/Application.js +2215 -267
- 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 +1 -0
- package/dist/components/OptionsWatcher.js +141 -74
- 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 +38 -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 +279 -22
- 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/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.js +231 -77
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.js +49 -1
- package/dist/components/operationsValidation.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 +7 -1
- package/dist/config/RootConfigWatcher.js +64 -27
- package/dist/config/RootConfigWatcher.js.map +1 -1
- package/dist/config/configUtils.d.ts +9 -1
- package/dist/config/configUtils.js +254 -33
- 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/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 +51 -10
- 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 +1 -1
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +52 -0
- package/dist/resources/DatabaseTransaction.d.ts +55 -3
- package/dist/resources/DatabaseTransaction.js +460 -134
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/LMDBTransaction.js +22 -4
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/PrimaryRocksDatabase.d.ts +1 -0
- package/dist/resources/PrimaryRocksDatabase.js +30 -2
- package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
- package/dist/resources/RecordEncoder.d.ts +20 -0
- package/dist/resources/RecordEncoder.js +94 -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 +20 -11
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +20 -1
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/RocksIndexStore.d.ts +6 -1
- package/dist/resources/RocksIndexStore.js +24 -10
- package/dist/resources/RocksIndexStore.js.map +1 -1
- package/dist/resources/RocksTransactionLogStore.d.ts +14 -1
- package/dist/resources/RocksTransactionLogStore.js +57 -17
- package/dist/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/resources/Table.d.ts +112 -8
- package/dist/resources/Table.js +1071 -197
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/auditStore.d.ts +11 -2
- package/dist/resources/auditStore.js +183 -18
- 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/databases.d.ts +150 -9
- package/dist/resources/databases.js +1247 -525
- 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/graphql.d.ts +1 -1
- package/dist/resources/graphql.js +50 -15
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +1 -0
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +6 -2
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- 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/recordLock.d.ts +80 -0
- package/dist/resources/recordLock.js +184 -0
- package/dist/resources/recordLock.js.map +1 -0
- package/dist/resources/replayLogs.d.ts +14 -1
- package/dist/resources/replayLogs.js +152 -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/search.js +158 -32
- package/dist/resources/search.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 +75 -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 +73 -0
- 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 +11 -0
- package/dist/server/http.js +88 -15
- 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 +25 -0
- package/dist/server/serverHelpers/Headers.js +139 -1
- package/dist/server/serverHelpers/Headers.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.d.ts +9 -0
- package/dist/server/serverHelpers/contentTypes.js +32 -25
- 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 +90 -20
- 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 +16 -0
- package/dist/server/storageReclamation.js.map +1 -1
- 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/manageThreads.d.ts +26 -4
- package/dist/server/threads/manageThreads.js +517 -72
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.js +89 -26
- 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 +46 -15
- 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 +17 -0
- package/dist/utility/errors/hdbError.js +30 -1
- package/dist/utility/errors/hdbError.js.map +1 -1
- package/dist/utility/globalSchema.d.ts +18 -0
- package/dist/utility/hdbTerms.d.ts +16 -0
- package/dist/utility/hdbTerms.js +18 -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 +91 -14
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/dist/utility/logging/logRotator.js +76 -49
- 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 +9 -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 +86 -0
- package/dist/utility/watcherFallback.js +278 -1
- package/dist/utility/watcherFallback.js.map +1 -1
- package/dist/validation/configValidator.d.ts +12 -0
- package/dist/validation/configValidator.js +199 -72
- 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 +2 -0
- package/json/systemSchema.json +52 -0
- package/npm-shrinkwrap.json +235 -233
- package/package.json +8 -7
- package/resources/DESIGN.md +114 -52
- package/resources/DatabaseTransaction.ts +522 -130
- package/resources/LMDBTransaction.ts +26 -4
- package/resources/PrimaryRocksDatabase.ts +29 -3
- package/resources/RecordEncoder.ts +103 -8
- package/resources/RequestTarget.ts +2 -0
- package/resources/Resource.ts +17 -9
- package/resources/ResourceInterface.ts +23 -0
- package/resources/RocksIndexStore.ts +30 -10
- package/resources/RocksTransactionLogStore.ts +78 -21
- package/resources/Table.ts +1107 -164
- package/resources/auditStore.ts +187 -21
- package/resources/blob.ts +1029 -110
- package/resources/branchDatabase.ts +941 -0
- package/resources/crdt.ts +76 -12
- package/resources/databases.ts +1354 -522
- package/resources/defineTable.ts +18 -2
- package/resources/graphql.ts +70 -16
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +6 -2
- package/resources/longLivedTransactions.ts +360 -0
- package/resources/models/backendRegistry.ts +84 -2
- package/resources/models/bootstrap.ts +473 -28
- package/resources/recordLock.ts +253 -0
- package/resources/replayLogs.ts +147 -26
- package/resources/replayLogsGuards.ts +171 -8
- package/resources/search.ts +154 -32
- 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 +81 -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 +183 -16
- package/server/DurableSubscriptionsSession.ts +71 -11
- package/server/REST.ts +79 -1
- package/server/graphqlQuerying.ts +4 -0
- package/server/http.ts +99 -18
- 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 +131 -0
- package/server/serverHelpers/contentTypes.ts +29 -21
- 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 +104 -31
- package/server/serverHelpers/sharedMessageEncoding.ts +307 -0
- package/server/serverHelpers/uwsServer.ts +17 -2
- package/server/static.ts +23 -29
- package/server/storageReclamation.ts +13 -0
- package/server/threads/itc.js +11 -1
- package/server/threads/manageThreads.js +526 -63
- package/server/threads/socketRouter.ts +81 -26
- package/server/threads/threadHeapMemory.ts +26 -0
- package/server/threads/threadServer.js +43 -15
- package/sqlTranslator/index.ts +31 -8
- package/studio/web/assets/{Chat-Br06zdMA.js → Chat-BnCBegQz.js} +1 -1
- package/studio/web/assets/{FloatingChat-BWImX5fA.js → FloatingChat-CoDW1ySS.js} +3 -3
- package/studio/web/assets/{apiToken-DN0nmDsq.js → apiToken-Bwk5BLXW.js} +1 -1
- package/studio/web/assets/{applications-kSxVoyeU.js → applications-DHxGi7JH.js} +1 -1
- package/studio/web/assets/{cssMode-C1JeufH5.js → cssMode-s0cWI-_M.js} +1 -1
- package/studio/web/assets/{editor-qoo9CrGO.js → editor-DNcRHK54.js} +1 -1
- package/studio/web/assets/{html-Dt4IIy04.js → html-Bdssedlg.js} +1 -1
- package/studio/web/assets/{htmlMode-DXgKKr4C.js → htmlMode-CoDlJ3fw.js} +1 -1
- package/studio/web/assets/{index-6onkYFOG.js → index-D6sxmFLR.js} +5 -5
- package/studio/web/assets/{index.lazy-BrCFnpNJ.js → index.lazy-tmU5BS8s.js} +1 -1
- package/studio/web/assets/{javascript-DNCQGUBc.js → javascript-B8meVSTH.js} +1 -1
- package/studio/web/assets/{jsonMode-CR6HWruP.js → jsonMode-DpIPd35T.js} +1 -1
- package/studio/web/assets/{languageServices-BM4fI4rS.js → languageServices-C_5FMJzQ.js} +1 -1
- package/studio/web/assets/{lspLanguageFeatures-DSa1ttcD.js → lspLanguageFeatures-BIzNBzPK.js} +1 -1
- package/studio/web/assets/{notifications-BHXLnh6x.js → notifications-CQf18QKb.js} +1 -1
- package/studio/web/assets/{notifications-CUmtIA6z.js → notifications-CvZivSbh.js} +1 -1
- package/studio/web/assets/{profile-8BeFSF3j.js → profile-DdOwtntb.js} +1 -1
- package/studio/web/assets/{regions-C8qR0HhD.js → regions-n69fwagr.js} +1 -1
- package/studio/web/assets/{register-B4n5i0SD.js → register-PfWTCXWB.js} +2 -2
- package/studio/web/assets/{setComponentFile-g0_B0lgX.js → setComponentFile-Bg6O7X0S.js} +1 -1
- package/studio/web/assets/{setup-B0CTj_Q5.js → setup-CUx_aUDl.js} +2 -2
- package/studio/web/assets/{status-C6Yib7-K.js → status-D7BVKqX9.js} +1 -1
- package/studio/web/assets/{toggleHighContrast-Dgta7bVi.js → toggleHighContrast-DBSyXzMr.js} +1 -1
- package/studio/web/assets/{tsMode-CH_jHvU-.js → tsMode-BByKCjBS.js} +1 -1
- package/studio/web/assets/{typescript-Co9LCXd5.js → typescript-DDLnLpw9.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-wKC8NsC_.js → useEntityRestURL-31CHGaHk.js} +1 -1
- package/studio/web/assets/{workers-CWeLxCXA.js → workers-pR3jRY9D.js} +1 -1
- package/studio/web/assets/{xml-BadC-0Rk.js → xml-2iRnMhQO.js} +1 -1
- package/studio/web/assets/{yaml-BiUfxPbC.js → yaml-Bf92gJpd.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 +29 -0
- package/utility/hdbTerms.ts +17 -0
- package/utility/logging/harper_logger.ts +87 -14
- package/utility/logging/logRotator.ts +72 -45
- package/utility/nodeIdentity.ts +45 -0
- package/utility/npmUtilities.ts +10 -8
- package/utility/operationPermissions.ts +18 -1
- package/utility/operation_authorization.ts +231 -42
- package/utility/watchPath.ts +63 -0
- package/utility/watcherFallback.ts +270 -0
- package/validation/configValidator.ts +209 -72
- package/validation/installValidator.ts +15 -0
- package/validation/validationWrapper.ts +18 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threadServer.js","sourceRoot":"","sources":["../../../server/threads/threadServer.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC1F,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACjE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACjC,IAAI,uBAAuB,CAAC;AAC5B,OAAO,CAAC,oBAAoB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACtD,uBAAuB,GAAG,OAAO,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAO,CAAC,wCAAwC,CAAC,CAAC;AACvE,MAAM,GAAG,GAAG,OAAO,CAAC,iDAAiD,CAAC,CAAC;AACvE,MAAM,KAAK,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AACnD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC3C,IAAI,EAAE,YAAY,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACrE,MAAM,EACL,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,uBAAuB,GACvB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAClC,MAAM,EACL,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,GACzB,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACxD,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AACzD,MAAM,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAC5G,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACxF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACnD,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACxG,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAC5C,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC5C,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAE1E,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;AAChE,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAC/C,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;AAEzB,IAAI,CAAC,KAAK,EAAE,CAAC;IACZ,IAAI,YAAY,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC;QACT,IAAI,YAAY,EAAE,CAAC;YAClB,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;YAC/D,MAAM,cAAc,GAAG,GAAG,EAAE;gBAC3B,IAAI,CAAC;oBACJ,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,YAAY,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;gBACtD,CAAC;YACF,CAAC,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC/D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACpC,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;YAC7E,IAAI,YAAY,IAAI,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC3C,IAAI,GAAG,YAAY,GAAG,cAAc,EAAE,CAAC;YACxC,CAAC;QACF,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAC7D,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACnF,IAAI,CAAC;gBACJ,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,YAAY,CAAC,KAAK,CAAC,qCAAqC,IAAI,iCAAiC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/G,CAAC;QACF,CAAC;IACF,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY,EAAE,CAAC;QACjD,IAAI,CAAC;YACJ,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,aAAa,IAAI,CAAC;gBACrB,YAAY,CAAC,KAAK,CAAC,uEAAuE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7G,CAAC;IACF,CAAC;AACF,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACzC,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO;IAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;QAAE,OAAO,CAAC,qCAAqC;IAC/G,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW;QAAE,OAAO,CAAC,oCAAoC;IAC/E,YAAY,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AACH,wFAAwF;AACxF,wFAAwF;AACxF,wFAAwF;AACxF,0EAA0E;AAC1E,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;IAC3C,IAAI,MAAM,EAAE,SAAS;QAAE,OAAO;IAC9B,YAAY,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AACH,GAAG,CAAC,QAAQ,EAAE,CAAC;AACf,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,OAAO,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;AACpD,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;AACtC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;AACpC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;AAEpC,SAAS,YAAY;IACpB,IAAI,KAAK,EAAE,CAAC;QACX,gDAAgD;QAChD,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;iBAAM,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;gBAC1B,MAAM,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;QACF,CAAC;QACD,kDAAkD;QAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YACjC,8EAA8E;YAC9E,oFAAoF;YACpF,qEAAqE;YACrE,IAAI,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YAC7F,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC5B,aAAa,EAAE,CAAC;gBAChB,MAAM,UAAU,GAAG,aAAa,IAAI,GAAG,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAChC,IAAI,UAAU;wBAAE,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC;oBAC/C,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO;gBACR,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;gBACrF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,IAAI,UAAU;wBAAE,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrC,OAAO;gBACR,CAAC;gBACD,IAAI,aAAa,KAAK,CAAC;oBAAE,YAAY,CAAC,IAAI,CAAC,WAAW,WAAW,CAAC,MAAM,mBAAmB,CAAC,CAAC;qBACxF,IAAI,UAAU;oBAAE,YAAY,CAAC,IAAI,CAAC,sBAAsB,WAAW,CAAC,MAAM,qBAAqB,CAAC,CAAC;gBACtG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACrC,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;wBACzE,SAAS;oBACV,CAAC;oBACD,IAAI,UAAU;wBAAE,MAAM,CAAC,WAAW,EAAE,CAAC;;wBAChC,MAAM,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;gBAC9E,CAAC;YACF,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QACD,qEAAqE;QACrE,QAAQ,CAAC,IAAI,CACZ,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACvB,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE;gBACnB,OAAO,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;YACH,4EAA4E;YAC5E,qFAAqF;YACrF,UAAU,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,mBAAmB;oBAAE,YAAY,CAAC,IAAI,CAAC,mCAAmC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACxG,OAAO,EAAE,CAAC;YACX,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY;IACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACR,0DAA0D;QAC3D,CAAC;IACF,CAAC;IACD,IAAI,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;SAC9C,kBAAkB,CAAC,IAAI,CAAC;SACxB,IAAI,CAAC,GAAG,EAAE;QACV,UAAU;YACT,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;gBACrD,YAAY,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;gBAC1D,2GAA2G;gBAC3G,mEAAmE;gBACnE,kFAAkF;gBAClF,4FAA4F;gBAC5F,4FAA4F;gBAC5F,6FAA6F;gBAC7F,4FAA4F;gBAC5F,0FAA0F;gBAC1F,4FAA4F;gBAC5F,uCAAuC;gBACvC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,yBAAyB,EAAE,CAAC;gBAC/D,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;gBAClD,IAAI,gBAAgB;oBAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;gBAC5D,uFAAuF;gBACvF,wFAAwF;gBACxF,0FAA0F;gBAC1F,uDAAuD;gBACvD,iBAAiB,CAAC,aAAa,CAAC;qBAC9B,IAAI,CAAC,GAAG,EAAE;oBACV,IAAI,gBAAgB;wBAAE,uBAAuB,EAAE,CAAC;gBACjD,CAAC,CAAC;qBACD,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC;qBAC1B,IAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;qBAC9B,IAAI,CAAC,GAAG,EAAE;oBACV,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACb,CAAC,CAAC,CAAC;gBACJ,oDAAoD;gBACpD,aAAa,CAAC,eAAe,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtD,IAAI,CAAC;wBACJ,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC9B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,YAAY,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;oBACtD,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC,CAAC;aACD,GAAG,EAAE,CAAC,CAAC,0FAA0F;QACnG,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAElC,2DAA2D;QAC3D,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACpC,IAAI,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACJ,UAAU,CAAC,UAAU,CAAC,CAAC;gBACxB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;gBACrD,CAAC;YACF,CAAC;YACD,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACJ,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,gFAAgF;IAChF,oFAAoF;IACpF,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACvB,IAAI,KAAK,EAAE,CAAC;YACX,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC;oBACf,IAAI,CAAC;wBACJ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,0CAA0C;oBAC3D,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;gBACX,CAAC;YACF,CAAC;QACF,CAAC;QACD,aAAa,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AACf,CAAC;AACD;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM;IACzC,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,YAAY,CAAC,KAAK,CACjB,qCAAqC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,SAAS,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,4CAA4C,2BAA2B,EAAE,gDAAgD,CACnP,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,SAAS,OAAO,CAAC,KAAK;YACrB,MAAM,CAAC,KAAK,CAAC,CAAC;QACf,CAAC;QACD,SAAS,WAAW;YACnB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,wFAAwF;YACxF,wFAAwF;YACxF,yFAAyF;YACzF,uFAAuF;YACvF,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACzC,YAAY,CAAC,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAAC;YACxD,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,CAAC;QACf,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,SAAS,CAAC;AACd,SAAS,aAAa;IACrB,IAAI,KAAK;QAAE,OAAO,gBAAgB,EAAE,CAAC;IACrC,IAAI,SAAS;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB;IAC/D,SAAS,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7B,kCAAkC;QAClC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACnD,SAAS;QACV,CAAC;QACD,IAAI,SAAS,CAAC;QACd,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC,6CAA6C;QACvE,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAClE,IAAI,WAAW,EAAE,CAAC;YACjB,IAAI,gBAAgB,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9F,IAAI,WAAW,GAAG,cAAc,EAAE,CAAC;YACnC,IAAI,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,SAAS;YACV,CAAC;YACD,gBAAgB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,SAAS,GAAG,CAAC;gBAChB,4GAA4G;gBAC5G,0BAA0B;gBAC1B,SAAS,GAAG;oBACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACpD,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;oBAChC,SAAS,EAAE,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,WAAW;iBAC5C,CAAC;;gBACE,SAAS,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC3F,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAE,SAAS;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,YAAY,CAAC,KAAK,CAAC,0BAA0B,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5D,SAAS;QACV,CAAC;QACD,6FAA6F;QAC7F,2FAA2F;QAC3F,8FAA8F;QAC9F,gFAAgF;QAChF,8FAA8F;QAC9F,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,YAAY,IAAI,cAAc,EAAE,KAAK,gBAAgB;YAC7G,SAAS;QACV,SAAS,CAAC,IAAI,CACb,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM;iBACJ,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE;gBACvB,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC1E,YAAY,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3D,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACpB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;oBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClD,4EAA4E;gBAC5E,+EAA+E;gBAC/E,wEAAwE;gBACxE,gFAAgF;gBAChF,+EAA+E;gBAC/E,4BAA4B;gBAC5B,iFAAiF;gBACjF,iFAAiF;gBACjF,aAAa;gBACb,+EAA+E;gBAC/E,sEAAsE;gBACtE,yEAAyE;gBACzE,yEAAyE;gBACzE,6EAA6E;gBAC7E,qDAAqD;gBACrD,IAAI,SAAS,CAAC,SAAS,IAAI,YAAY,IAAI,MAAM,CAAC,iBAAiB;oBAAE,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACxG,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IACD,iGAAiG;IACjG,iGAAiG;IACjG,kDAAkD;IAClD,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;IACtD,IAAI,eAAe,EAAE,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7E,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;YACrE,SAAS,CAAC,IAAI,CACb,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBACvC,iFAAiF;gBACjF,kFAAkF;gBAClF,qFAAqF;gBACrF,+EAA+E;gBAC/E,OAAO,CAAC,GAAG,CAAC,GAAG;oBACd,KAAK,CAAC,QAAQ;wBACb,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,EAAE,CAAC;oBACd,CAAC;iBACD,CAAC;gBACF,qFAAqF;gBACrF,gFAAgF;gBAChF,IAAI,GAAG,CAAC,UAAU;oBAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACvE,YAAY,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YACtB,CAAC,CAAC,CACF,CAAC;QACH,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,IAAI,EAAE,GAAG;IACzC,4FAA4F;IAC5F,6EAA6E;IAC7E,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClD,YAAY,CAAC,KAAK,CACjB,kBAAkB,KAAK,EAAE,aAAa,IAAI,QAAQ,YAAY,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,mBAAmB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,IAAI,6CAA6C,EAC9K,GAAG,CACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC5C,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;IACtD,KAAK,IAAI,IAAI,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAClE,IAAI,WAAW,EAAE,CAAC;YACjB,IAAI,gBAAgB,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9F,IAAI,WAAW,GAAG,cAAc,EAAE,CAAC;YACnC,IAAI,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,SAAS;YACV,CAAC;QACF,CAAC;QACD,IAAI,CAAC;YACJ,0EAA0E;YAC1E,IAAI,YAAY,CAAC;YACjB,IAAI,UAAU,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACtE,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACP,UAAU,GAAG,CAAC,IAAI,CAAC;YACpB,CAAC;YACD,MAAM,YAAY,GAAG;gBACpB,IAAI,EAAE,UAAU;gBAChB,gFAAgF;gBAChF,gFAAgF;gBAChF,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC;gBACrD,KAAK,EAAE,MAAM,CAAC,KAAK;aACnB,CAAC;YACF,IAAI,YAAY;gBAAE,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC;YACvD,4CAA4C;YAC5C,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC3C,kCAAkC;gBAClC,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;gBACtD,IAAI,cAAc,EAAE,CAAC;oBACpB,YAAY,CAAC,GAAG,GAAG;wBAClB,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI;wBACjC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG;qBAC/B,CAAC;oBACF,sEAAsE;oBACtE,IAAI,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnC,IAAI,EAAE,EAAE,CAAC;wBACR,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;4BAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;wBAC5E,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;4BACpE,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;wBAC1B,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,iDAAiD;gBACjD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBACzC,IAAI,YAAY,EAAE,uBAAuB,EAAE,CAAC;oBAC3C,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE;wBAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;wBACrD,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;4BACzC,MAAM,SAAS,GAAG;gCACjB,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI;gCAC7B,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG;6BAC3B,CAAC;4BACF,IAAI,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC/B,IAAI,EAAE,EAAE,CAAC;gCACR,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oCAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;gCAC5E,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oCACpE,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;gCACnB,CAAC;4BACF,CAAC;4BACD,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;wBAC1C,CAAC;oBACF,CAAC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YACD,uCAAuC;YACvC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAC3C,CAAC;YACD,uCAAuC;YACvC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,IAAI,UAAU,CAAC,IAAI,CAAC;oBAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBACvC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;gBACzB,OAAO,YAAY,CAAC,IAAI,CAAC;YAC1B,CAAC;YACD,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;gBAAE,SAAS;YACvC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAC1B,YAAY,CAAC,KAAK,CAAC,wBAAwB,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE9D,oEAAoE;YACpE,IAAI,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,SAAS,CAAC,CAAC;gBACzD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM,UAAU,GAAG,GAAG,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;gBACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;gBACxD,IAAI,UAAU,CAAC,OAAO,CAAC;oBAAE,UAAU,CAAC,OAAO,CAAC,CAAC;gBAE7C,qDAAqD;gBACrD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;oBAC3B,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC3B,CAAC,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAC7B,aAAa,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACzD,oFAAoF;gBACpF,8EAA8E;gBAC9E,aAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBAE5C,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;gBAChG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC7C,MAAM,CAAC,YAAY,EAAE,uBAAuB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClE,YAAY,CAAC,IAAI,CAAC,6BAA6B,GAAG,OAAO,CAAC,CAAC;YAC5D,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,YAAY,CAAC,KAAK,CAAC,sCAAsC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;IACF,CAAC;IACD,uFAAuF;IACvF,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,kEAAkE;QAClE,IAAI,MAAM,EAAE,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC;YAAE,SAAS;QACpD,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACP,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClG,MAAM,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3E,oFAAoF;gBACpF,mFAAmF;gBACnF,kDAAkD;gBAClD,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC,YAAY,IAAI,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;oBACzE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC1C,SAAS;gBACV,CAAC;gBACD,SAAS,CAAC,IAAI,CACb,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC/B,MAAM;yBACJ,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;wBAChF,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;wBAClB,YAAY,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC3D,CAAC,CAAC;yBACD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;wBACpB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;4BAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;wBAClD,oEAAoE;wBACpE,0EAA0E;wBAC1E,0EAA0E;wBAC1E,2EAA2E;wBAC3E,0BAA0B;wBAC1B,IAAI,YAAY,IAAI,MAAM,CAAC,iBAAiB;4BAAE,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;wBACjF,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CACF,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AACD,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC;IACjD,YAAY,EAAE,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,QAAQ,EAAE,OAAO;IAClC,IAAI,gBAAgB,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC,gBAAgB,CAAC;IACvF,IAAI,YAAY,CAAC;IACjB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACzF,2FAA2F;QAC3F,0FAA0F;QAC1F,0FAA0F;QAC1F,qBAAqB;QACrB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;QAChD,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,kGAAkG;QAClG,kGAAkG;QAClG,iGAAiG;QACjG,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACzE,4FAA4F;QAC5F,2FAA2F;QAC3F,4FAA4F;QAC5F,4FAA4F;QAC5F,4FAA4F;QAC5F,6EAA6E;QAC7E,MAAM,kBAAkB,GAAG,wBAAwB,CAClD;YACC,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;YACnD,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YAClC,GAAG,oBAAoB;YACvB,OAAO,EAAE,gBAAgB;YACzB,WAAW;SACX,EACD,QAAQ,CACR,CAAC;QACF,YAAY,GAAG,kBAAkB,CAAC;QAClC,kBAAkB,CAAC,cAAc,GAAG,gBAAgB,IAAI,IAAI,CAAC;QAC7D,kBAAkB,CAAC,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,kBAAkB,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClE,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC3C,yFAAyF;QACzF,qFAAqF;QACrF,0FAA0F;QAC1F,2FAA2F;QAC3F,mCAAmC;QACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAAE,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC;QACzE,sFAAsF;QACtF,wFAAwF;QACxF,yFAAyF;QACzF,oFAAoF;QACpF,kBAAkB,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC5C,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC;QAEjD,yEAAyE;QACzE,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,SAAS,CAAC,CAAC;YACzD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,GAAG,cAAc,EAAE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;YACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;YAExD,+EAA+E;YAC/E,kEAAkE;YAClE,+EAA+E;YAC/E,0EAA0E;YAC1E,oCAAoC;YACpC,MAAM,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,oBAAoB,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAE/F,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;YAC7B,aAAa,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEzD,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAC7G,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACtC,kBAAkB,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACnF,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG,oBAAoB,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzE,wFAAwF;QACxF,4EAA4E;QAC5E,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAAE,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC;QACnE,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;IACtC,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"threadServer.js","sourceRoot":"","sources":["../../../server/threads/threadServer.js"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,7 @@
|
|
|
9
9
|
* EngineUnsupportedError (default).
|
|
10
10
|
*
|
|
11
11
|
* The flag is read from the HARPER_SQL_ENGINE environment variable, then
|
|
12
|
-
*
|
|
13
|
-
* this resolution lazy and lightweight so the router can be invoked without a
|
|
14
|
-
* fully booted Harper config (e.g., in unit tests).
|
|
12
|
+
* sql.engine in Harper config, then defaults to 'auto'.
|
|
15
13
|
*
|
|
16
14
|
* Phase 5 cutover: the default is now 'auto' — the new engine handles every SQL
|
|
17
15
|
* request it can plan and silently falls back to legacy on anything it can't, so
|
package/dist/sqlEngine/config.js
CHANGED
|
@@ -10,9 +10,7 @@
|
|
|
10
10
|
* EngineUnsupportedError (default).
|
|
11
11
|
*
|
|
12
12
|
* The flag is read from the HARPER_SQL_ENGINE environment variable, then
|
|
13
|
-
*
|
|
14
|
-
* this resolution lazy and lightweight so the router can be invoked without a
|
|
15
|
-
* fully booted Harper config (e.g., in unit tests).
|
|
13
|
+
* sql.engine in Harper config, then defaults to 'auto'.
|
|
16
14
|
*
|
|
17
15
|
* Phase 5 cutover: the default is now 'auto' — the new engine handles every SQL
|
|
18
16
|
* request it can plan and silently falls back to legacy on anything it can't, so
|
|
@@ -28,6 +26,8 @@
|
|
|
28
26
|
*/
|
|
29
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
28
|
exports.getSqlEngineConfig = getSqlEngineConfig;
|
|
29
|
+
const configUtils_ts_1 = require("../config/configUtils.js");
|
|
30
|
+
const hdbTerms_ts_1 = require("../utility/hdbTerms.js");
|
|
31
31
|
const DEFAULTS = {
|
|
32
32
|
engine: 'auto',
|
|
33
33
|
allowFullScan: false,
|
|
@@ -40,23 +40,26 @@ function envEngine() {
|
|
|
40
40
|
return v;
|
|
41
41
|
return undefined;
|
|
42
42
|
}
|
|
43
|
-
function
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return
|
|
47
|
-
|
|
48
|
-
catch {
|
|
49
|
-
return {};
|
|
50
|
-
}
|
|
43
|
+
function configEngine() {
|
|
44
|
+
const v = (0, configUtils_ts_1.getConfigValue)(hdbTerms_ts_1.CONFIG_PARAMS.SQL_ENGINE);
|
|
45
|
+
if (v === 'legacy' || v === 'new' || v === 'auto')
|
|
46
|
+
return v;
|
|
47
|
+
return undefined;
|
|
51
48
|
}
|
|
52
49
|
function getSqlEngineConfig() {
|
|
53
|
-
const fromConfig = harperConfigEngine();
|
|
54
50
|
const fromEnv = envEngine();
|
|
51
|
+
const fromConfig = configEngine();
|
|
52
|
+
const allowFullScan = (0, configUtils_ts_1.getConfigValue)(hdbTerms_ts_1.CONFIG_PARAMS.SQL_ALLOWFULLSCAN);
|
|
53
|
+
const maxSortRows = (0, configUtils_ts_1.getConfigValue)(hdbTerms_ts_1.CONFIG_PARAMS.SQL_MAXSORTROWS);
|
|
54
|
+
const maxHashRows = (0, configUtils_ts_1.getConfigValue)(hdbTerms_ts_1.CONFIG_PARAMS.SQL_MAXHASHROWS);
|
|
55
55
|
return {
|
|
56
|
-
engine: fromEnv ?? fromConfig
|
|
57
|
-
allowFullScan:
|
|
58
|
-
maxSortRows:
|
|
59
|
-
maxHashRows:
|
|
56
|
+
engine: fromEnv ?? fromConfig ?? DEFAULTS.engine,
|
|
57
|
+
allowFullScan: typeof allowFullScan === 'boolean' ? allowFullScan : DEFAULTS.allowFullScan,
|
|
58
|
+
maxSortRows: isPositiveInteger(maxSortRows) ? maxSortRows : DEFAULTS.maxSortRows,
|
|
59
|
+
maxHashRows: isPositiveInteger(maxHashRows) ? maxHashRows : DEFAULTS.maxHashRows,
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
|
+
function isPositiveInteger(value) {
|
|
63
|
+
return typeof value === 'number' && Number.isInteger(value) && value >= 1;
|
|
64
|
+
}
|
|
62
65
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../sqlEngine/config.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../sqlEngine/config.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;AAiCH,gDAYC;AA3CD,6DAA0D;AAC1D,wDAAuD;AAWvD,MAAM,QAAQ,GAAoB;IACjC,MAAM,EAAE,MAAM;IACd,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,SAAS;CACtB,CAAC;AAEF,SAAS,SAAS;IACjB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACxC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAC5D,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,YAAY;IACpB,MAAM,CAAC,GAAG,IAAA,+BAAc,EAAC,2BAAa,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAC5D,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAgB,kBAAkB;IACjC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,YAAY,EAAE,CAAC;IAClC,MAAM,aAAa,GAAG,IAAA,+BAAc,EAAC,2BAAa,CAAC,iBAAiB,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAA,+BAAc,EAAC,2BAAa,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,IAAA,+BAAc,EAAC,2BAAa,CAAC,eAAe,CAAC,CAAC;IAClE,OAAO;QACN,MAAM,EAAE,OAAO,IAAI,UAAU,IAAI,QAAQ,CAAC,MAAM;QAChD,aAAa,EAAE,OAAO,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa;QAC1F,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW;QAChF,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW;KAChF,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -11,7 +11,7 @@ export declare function evaluateSQL(jsonMessage: any, callback: any): any;
|
|
|
11
11
|
* @param parsedSqlObject - The Parsed SQL statement specified in the inbound json message, of type ParsedSQLObject.
|
|
12
12
|
* @returns {Array} - False if permissions check denys the statement.
|
|
13
13
|
*/
|
|
14
|
-
export declare function checkASTPermissions(jsonMessage: any, parsedSqlObject: any): any;
|
|
14
|
+
export declare function checkASTPermissions(jsonMessage: any, parsedSqlObject: any, apiOperation?: string): any;
|
|
15
15
|
export declare function convertSQLToAST(sql: string): ParsedSQLObject;
|
|
16
16
|
export declare function processAST(jsonMessage: any, parsedSqlObject: any, callback: any): any;
|
|
17
17
|
export {};
|
|
@@ -111,11 +111,24 @@ function evaluateSQL(jsonMessage, callback) {
|
|
|
111
111
|
* @param parsedSqlObject - The Parsed SQL statement specified in the inbound json message, of type ParsedSQLObject.
|
|
112
112
|
* @returns {Array} - False if permissions check denys the statement.
|
|
113
113
|
*/
|
|
114
|
-
function checkASTPermissions(jsonMessage, parsedSqlObject) {
|
|
114
|
+
function checkASTPermissions(jsonMessage, parsedSqlObject, apiOperation) {
|
|
115
115
|
let verifyResult = undefined;
|
|
116
116
|
try {
|
|
117
|
-
verifyResult = opAuth.verifyPermsAST(parsedSqlObject.ast.statements[0], jsonMessage.hdb_user, parsedSqlObject.variant
|
|
118
|
-
|
|
117
|
+
verifyResult = opAuth.verifyPermsAST(parsedSqlObject.ast.statements[0], jsonMessage.hdb_user, parsedSqlObject.variant,
|
|
118
|
+
// The top-level API operation for the token-scope check: `sql` for a direct SQL call, but
|
|
119
|
+
// `export_local`/`export_to_s3` when the SQL rides inside a job's search_operation.
|
|
120
|
+
//
|
|
121
|
+
// From the explicit argument or the dispatched operation — deliberately NEVER a field read
|
|
122
|
+
// off `jsonMessage`. On the direct-SQL path that object IS the client's request body, and
|
|
123
|
+
// this check is the ONLY gate there, since the `sql` branch of chooseOperation is mutually
|
|
124
|
+
// exclusive with its verifyPerms call. Any body field consulted here is therefore a way for
|
|
125
|
+
// a caller to name whichever operation their token scope happens to allow and run arbitrary
|
|
126
|
+
// SQL under it.
|
|
127
|
+
//
|
|
128
|
+
// A job's re-parse would otherwise land here with the nested search_operation, whose
|
|
129
|
+
// `operation` is the inner `sql`; the job worker supplies the real one out of async context
|
|
130
|
+
// instead (operationAuthorizationState), which a request cannot set.
|
|
131
|
+
apiOperation ?? jsonMessage.operation);
|
|
119
132
|
}
|
|
120
133
|
catch (e) {
|
|
121
134
|
throw e;
|
|
@@ -123,6 +136,9 @@ function checkASTPermissions(jsonMessage, parsedSqlObject) {
|
|
|
123
136
|
if (verifyResult) {
|
|
124
137
|
return verifyResult;
|
|
125
138
|
}
|
|
139
|
+
// Only after a pass: this flag is what processAST trusts to skip the gate, so a denied AST
|
|
140
|
+
// carrying it would read as already authorized.
|
|
141
|
+
parsedSqlObject.permissions_checked = true;
|
|
126
142
|
return null;
|
|
127
143
|
}
|
|
128
144
|
function convertSQLToAST(sql) {
|
|
@@ -155,10 +171,17 @@ function processAST(jsonMessage, parsedSqlObject, callback) {
|
|
|
155
171
|
// runWithOperationAuthorizationBypass), never body state — jsonMessage.bypass_auth is
|
|
156
172
|
// caller-controlled and is stripped before operation code sees it (see
|
|
157
173
|
// server/serverHelpers/serverHandlers.js and components/mcp/tools/operations.ts).
|
|
158
|
-
if (!
|
|
159
|
-
|
|
160
|
-
if (
|
|
161
|
-
|
|
174
|
+
if (!parsedSqlObject.permissions_checked) {
|
|
175
|
+
const authorizationState = (0, operationAuthorizationState_ts_1.getOperationAuthorizationState)();
|
|
176
|
+
if (authorizationState?.bypassAuth !== true) {
|
|
177
|
+
let permissionsCheck = checkASTPermissions(jsonMessage, parsedSqlObject, authorizationState?.apiOperation);
|
|
178
|
+
// A denial is a PermissionResponseObject, which has no `length`.
|
|
179
|
+
if (permissionsCheck) {
|
|
180
|
+
// Logged here because this is the last place the reason exists: evaluateSQL drops the
|
|
181
|
+
// second callback argument, so a job worker records only the bare status.
|
|
182
|
+
harper_logger_ts_1.default.warn('SQL statement refused by AST permission check:', permissionsCheck);
|
|
183
|
+
return callback(UNAUTHORIZED_RESPONSE, permissionsCheck);
|
|
184
|
+
}
|
|
162
185
|
}
|
|
163
186
|
}
|
|
164
187
|
let statement = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../sqlTranslator/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCb,kCA6BC;AAQD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../sqlTranslator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
// 5.3.0 — introduces system.hdb_oidc_trust and system.hdb_oidc_token_use for OIDC trusted
|
|
40
|
+
// publishing (#2171).
|
|
41
|
+
//
|
|
42
|
+
// Fresh installs get the table from json/systemSchema.json; this covers existing installs. The
|
|
43
|
+
// version must match the release that ships the dependent operations — see 5-1-0.ts for what
|
|
44
|
+
// happens when it does not, and DESIGN.md "System table bootstrap" for the three touchpoints.
|
|
45
|
+
const databases_ts_1 = require("../../resources/databases.js");
|
|
46
|
+
const systemSchema_json_1 = __importDefault(require("../../json/systemSchema.json"));
|
|
47
|
+
const terms = __importStar(require("../../utility/hdbTerms.js"));
|
|
48
|
+
const initPaths = __importStar(require("../../dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js"));
|
|
49
|
+
const harperBridge_ts_1 = __importDefault(require("../../dataLayer/harperBridge/harperBridge.js"));
|
|
50
|
+
const harper_logger_ts_1 = __importDefault(require("../../utility/logging/harper_logger.js"));
|
|
51
|
+
const OIDC_TRUST_TABLE = terms.SYSTEM_TABLE_NAMES.OIDC_TRUST_TABLE_NAME;
|
|
52
|
+
const OIDC_TOKEN_USE_TABLE = terms.SYSTEM_TABLE_NAMES.OIDC_TOKEN_USE_TABLE_NAME;
|
|
53
|
+
/**
|
|
54
|
+
* The replay table gets the same bootstrap as the trust table, for a reason specific to it: replay
|
|
55
|
+
* records must replicate, and a node that has never completed an exchange would otherwise not have
|
|
56
|
+
* the table at all when a peer's record arrives. Provisioning it at install/upgrade time removes
|
|
57
|
+
* that question entirely rather than depending on how replication treats a row for an unknown table.
|
|
58
|
+
*
|
|
59
|
+
* Only the primary key is declared here. The `expiresAt` TTL attribute is not expressible through
|
|
60
|
+
* CreateTableObject, so tokenExchange.ts layers it on with an unconditional `table()` call — the
|
|
61
|
+
* same two-step hdb_certificate_cache uses.
|
|
62
|
+
*
|
|
63
|
+
* KNOWN LIMITATION, shared with hdb_certificate_cache rather than specific to this table: that
|
|
64
|
+
* second step runs on the exchange path, so a node that never performs an exchange — the passive
|
|
65
|
+
* members of a cluster, which is most of them when CI always targets one endpoint — has the table
|
|
66
|
+
* from this directive but never registers `expiresAt` locally. Replicated replay rows still land
|
|
67
|
+
* there (that is what `audit: true` buys) but get no eviction, so the table grows on exactly the
|
|
68
|
+
* nodes doing no work. Rows are small and bounded by exchange volume, so this is slow rather than
|
|
69
|
+
* dangerous. Fixing it properly means installing the TTL at system-table setup instead of on first
|
|
70
|
+
* use, which is a change to how every lazily-extended system table is provisioned — worth doing
|
|
71
|
+
* once, for both tables, rather than special-casing this one.
|
|
72
|
+
*/
|
|
73
|
+
async function createHdbOidcTokenUseIfMissing() {
|
|
74
|
+
if (databases_ts_1.databases.system?.[OIDC_TOKEN_USE_TABLE]) {
|
|
75
|
+
harper_logger_ts_1.default.info(`system.${OIDC_TOKEN_USE_TABLE} already exists; skipping create.`);
|
|
76
|
+
await patchIsHashAttribute(OIDC_TOKEN_USE_TABLE);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
harper_logger_ts_1.default.info(`Creating system.${OIDC_TOKEN_USE_TABLE} table for OIDC replay protection.`);
|
|
80
|
+
const CreateTableObject = require('../../dataLayer/CreateTableObject').default || require('../../dataLayer/CreateTableObject');
|
|
81
|
+
const schema = systemSchema_json_1.default[OIDC_TOKEN_USE_TABLE];
|
|
82
|
+
if (!schema) {
|
|
83
|
+
throw new Error(`systemSchema.${OIDC_TOKEN_USE_TABLE} is missing; cannot run 5.3.0 directive.`);
|
|
84
|
+
}
|
|
85
|
+
initPaths.initSystemSchemaPaths(terms.SYSTEM_SCHEMA_NAME, OIDC_TOKEN_USE_TABLE);
|
|
86
|
+
const createTable = new CreateTableObject(terms.SYSTEM_SCHEMA_NAME, OIDC_TOKEN_USE_TABLE, schema.hash_attribute);
|
|
87
|
+
createTable.attributes = schema.attributes;
|
|
88
|
+
const primaryKeyAttribute = createTable.attributes.find(({ attribute }) => attribute === schema.hash_attribute);
|
|
89
|
+
if (primaryKeyAttribute)
|
|
90
|
+
primaryKeyAttribute.isPrimaryKey = true;
|
|
91
|
+
// Must match `"audit": true` in systemSchema.json — and here auditing is not cosmetic: it is the
|
|
92
|
+
// replication change feed, without which replay protection would be node-local.
|
|
93
|
+
createTable.audit = true;
|
|
94
|
+
await harperBridge_ts_1.default.createTable(OIDC_TOKEN_USE_TABLE, createTable);
|
|
95
|
+
await patchIsHashAttribute(OIDC_TOKEN_USE_TABLE);
|
|
96
|
+
}
|
|
97
|
+
async function createHdbOidcTrustIfMissing() {
|
|
98
|
+
if (databases_ts_1.databases.system?.[OIDC_TRUST_TABLE]) {
|
|
99
|
+
harper_logger_ts_1.default.info(`system.${OIDC_TRUST_TABLE} already exists; skipping create.`);
|
|
100
|
+
await patchIsHashAttribute(OIDC_TRUST_TABLE);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
harper_logger_ts_1.default.info(`Creating system.${OIDC_TRUST_TABLE} table for OIDC trusted publishing.`);
|
|
104
|
+
const CreateTableObject = require('../../dataLayer/CreateTableObject').default || require('../../dataLayer/CreateTableObject');
|
|
105
|
+
const schema = systemSchema_json_1.default[OIDC_TRUST_TABLE];
|
|
106
|
+
if (!schema) {
|
|
107
|
+
throw new Error(`systemSchema.${OIDC_TRUST_TABLE} is missing; cannot run 5.3.0 directive.`);
|
|
108
|
+
}
|
|
109
|
+
initPaths.initSystemSchemaPaths(terms.SYSTEM_SCHEMA_NAME, OIDC_TRUST_TABLE);
|
|
110
|
+
const createTable = new CreateTableObject(terms.SYSTEM_SCHEMA_NAME, OIDC_TRUST_TABLE, schema.hash_attribute);
|
|
111
|
+
createTable.attributes = schema.attributes;
|
|
112
|
+
const primaryKeyAttribute = createTable.attributes.find(({ attribute }) => attribute === schema.hash_attribute);
|
|
113
|
+
if (primaryKeyAttribute)
|
|
114
|
+
primaryKeyAttribute.isPrimaryKey = true;
|
|
115
|
+
// Must match `"audit": true` in systemSchema.json, or the fresh-install and upgrade paths diverge.
|
|
116
|
+
createTable.audit = true;
|
|
117
|
+
await harperBridge_ts_1.default.createTable(OIDC_TRUST_TABLE, createTable);
|
|
118
|
+
await patchIsHashAttribute(OIDC_TRUST_TABLE);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Ensure a table's __dbis__ primary-key entry carries is_hash_attribute: true.
|
|
122
|
+
*
|
|
123
|
+
* harperdb@4.x reads is_hash_attribute from __dbis__ to derive the LMDB DBI open flags; without it
|
|
124
|
+
* the DBI is opened with the opposite flags (DUPSORT set) and LMDB throws MDB_INCOMPATIBLE, breaking
|
|
125
|
+
* downgrade — the same guard 5-1-0.ts and 5-2-0.ts apply to their tables. Both tables created here
|
|
126
|
+
* go through the identical CreateTableObject + bridge.createTable path, so both need it; exempting
|
|
127
|
+
* one would be a silent asymmetry rather than a decision. Idempotent: no-op when already set.
|
|
128
|
+
*/
|
|
129
|
+
async function patchIsHashAttribute(tableName) {
|
|
130
|
+
const systemTable = databases_ts_1.databases.system?.[tableName];
|
|
131
|
+
if (!systemTable?.dbisDB)
|
|
132
|
+
return;
|
|
133
|
+
const dbiName = `${tableName}/`;
|
|
134
|
+
const primaryAttr = systemTable.dbisDB.getSync(dbiName);
|
|
135
|
+
if (!primaryAttr || primaryAttr.is_hash_attribute)
|
|
136
|
+
return; // already correct
|
|
137
|
+
primaryAttr.is_hash_attribute = true;
|
|
138
|
+
await systemTable.dbisDB.put(dbiName, primaryAttr);
|
|
139
|
+
harper_logger_ts_1.default.info(`Patched system.${tableName} __dbis__ entry with is_hash_attribute=true for harperdb@4.x downgrade compatibility.`);
|
|
140
|
+
}
|
|
141
|
+
const directive530 = {
|
|
142
|
+
version: '5.3.0',
|
|
143
|
+
description: 'create system.hdb_oidc_trust and system.hdb_oidc_token_use tables for OIDC trusted publishing',
|
|
144
|
+
sync_functions: [],
|
|
145
|
+
async_functions: [createHdbOidcTrustIfMissing, createHdbOidcTokenUseIfMissing],
|
|
146
|
+
};
|
|
147
|
+
exports.default = [directive530];
|
|
148
|
+
//# sourceMappingURL=5-3-0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"5-3-0.js","sourceRoot":"","sources":["../../../upgrade/directives/5-3-0.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,11 +51,12 @@ const hdbTerms = __importStar(require("../../utility/hdbTerms.js"));
|
|
|
51
51
|
const harper_logger_ts_1 = __importDefault(require("../../utility/logging/harper_logger.js"));
|
|
52
52
|
const _5_1_0_ts_1 = __importDefault(require("./5-1-0.js"));
|
|
53
53
|
const _5_2_0_ts_1 = __importDefault(require("./5-2-0.js"));
|
|
54
|
+
const _5_3_0_ts_1 = __importDefault(require("./5-3-0.js"));
|
|
54
55
|
const { DATA_VERSION, UPGRADE_VERSION } = hdbTerms.UPGRADE_JSON_FIELD_NAMES_ENUM;
|
|
55
56
|
let versions = new Map();
|
|
56
57
|
// All directive modules export an array of { version, sync_functions, async_functions }.
|
|
57
58
|
// New directives must be imported above and registered here.
|
|
58
|
-
for (const directive of [..._5_1_0_ts_1.default, ..._5_2_0_ts_1.default]) {
|
|
59
|
+
for (const directive of [..._5_1_0_ts_1.default, ..._5_2_0_ts_1.default, ..._5_3_0_ts_1.default]) {
|
|
59
60
|
versions.set(directive.version, directive);
|
|
60
61
|
}
|
|
61
62
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directivesController.js","sourceRoot":"","sources":["../../../upgrade/directives/directivesController.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"directivesController.js","sourceRoot":"","sources":["../../../upgrade/directives/directivesController.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8Bb,8CAEC;AASD,sDAsBC;AASD,kDAGC;AAQD,sDAQC;AAzFD;;;;;GAKG;AACH,wEAA0D;AAC1D,oEAAsD;AACtD,8FAA4D;AAC5D,2DAAsC;AACtC,2DAAsC;AACtC,2DAAsC;AACtC,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC,6BAAoC,CAAC;AAExF,IAAI,QAAQ,GAAQ,IAAI,GAAG,EAAE,CAAC;AAE9B,yFAAyF;AACzF,6DAA6D;AAC7D,KAAK,MAAM,SAAS,IAAI,CAAC,GAAG,mBAAY,EAAE,GAAG,mBAAY,EAAE,GAAG,mBAAY,CAAC,EAAE,CAAC;IAC7E,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB;IAChC,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,UAAe;IACpD,IAAI,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE7C,IAAI,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3F,4GAA4G;QAC5G,gCAAgC;QAChC,0BAAM,CAAC,IAAI,CACV,2FAA2F,UAAU,EAAE,CACvG,CAAC;QACF,0BAAM,CAAC,KAAK,CACX,mGAAmG;YAClG,qHAAqH,CACtH,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,WAAW;QACtF,OAAO,CACN,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAChH,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,UAAe;IAClD,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACxD,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,OAAY;IACjD,IAAI,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -60,7 +60,8 @@ async function callOperationFunctionAsAwait(promisifiedFunction, functionInput,
|
|
|
60
60
|
// therefore we delete it from the result.
|
|
61
61
|
if (functionInput.operation === terms.OPERATIONS_ENUM.INSERT ||
|
|
62
62
|
functionInput.operation === terms.OPERATIONS_ENUM.UPDATE ||
|
|
63
|
-
functionInput.operation === terms.OPERATIONS_ENUM.UPSERT
|
|
63
|
+
functionInput.operation === terms.OPERATIONS_ENUM.UPSERT ||
|
|
64
|
+
functionInput.operation === terms.OPERATIONS_ENUM.PUT) {
|
|
64
65
|
delete result.new_attributes;
|
|
65
66
|
delete result.txn_time;
|
|
66
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationFunctionCaller.js","sourceRoot":"","sources":["../../utility/OperationFunctionCaller.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAab,
|
|
1
|
+
{"version":3,"file":"OperationFunctionCaller.js","sourceRoot":"","sources":["../../utility/OperationFunctionCaller.ts"],"names":[],"mappings":"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"}
|
|
@@ -255,10 +255,26 @@ export declare function changeExtension(file: string, extension: string): string
|
|
|
255
255
|
* Checks ENV and CLI for ROOTPATH arg
|
|
256
256
|
*/
|
|
257
257
|
export declare function getEnvCliRootPath(): any;
|
|
258
|
+
export declare function resetNoBootFileCache(): void;
|
|
258
259
|
export declare function noBootFile(): any;
|
|
259
260
|
export declare function httpRequest(options: any, data: any): Promise<http.IncomingMessage & {
|
|
260
261
|
body?: string;
|
|
261
262
|
}>;
|
|
263
|
+
/**
|
|
264
|
+
* Which database an operation request targets: `database` wins over the legacy `schema`, and a
|
|
265
|
+
* request that names neither targets the default database.
|
|
266
|
+
*
|
|
267
|
+
* The single source of truth for that question. Authorization has to answer it identically to the
|
|
268
|
+
* handlers — it runs first, and if the two disagree then the permissions checked are not the
|
|
269
|
+
* permissions for the write that happens. Two divergences between this and the copy that used to
|
|
270
|
+
* live in `verifyPerms` (`schema ?? database`) were each exploitable on their own: nullish
|
|
271
|
+
* coalescing let a falsy-but-present `database: 0` through where this defaults, and the reversed
|
|
272
|
+
* precedence let a request authorize against `schema` while the handler wrote `database`.
|
|
273
|
+
*
|
|
274
|
+
* Deliberately falsy rather than nullish: a `database` of `0` or `''` is not a database, and
|
|
275
|
+
* `Joi.number()` is an accepted type for the field, so `0` reaches here validated.
|
|
276
|
+
*/
|
|
277
|
+
export declare function resolveTargetDatabase(req: any): string;
|
|
262
278
|
/**
|
|
263
279
|
* Will set default schema/database or set database to schema
|
|
264
280
|
* @param req
|
|
@@ -81,8 +81,10 @@ exports.stringifyObj = stringifyObj;
|
|
|
81
81
|
exports.ms_to_time = ms_to_time;
|
|
82
82
|
exports.changeExtension = changeExtension;
|
|
83
83
|
exports.getEnvCliRootPath = getEnvCliRootPath;
|
|
84
|
+
exports.resetNoBootFileCache = resetNoBootFileCache;
|
|
84
85
|
exports.noBootFile = noBootFile;
|
|
85
86
|
exports.httpRequest = httpRequest;
|
|
87
|
+
exports.resolveTargetDatabase = resolveTargetDatabase;
|
|
86
88
|
exports.transformReq = transformReq;
|
|
87
89
|
exports.convertToMS = convertToMS;
|
|
88
90
|
exports.prettyDuration = prettyDuration;
|
|
@@ -767,6 +769,11 @@ function getEnvCliRootPath() {
|
|
|
767
769
|
* This is used for running HDB without a boot file
|
|
768
770
|
*/
|
|
769
771
|
let noBootFileChecked;
|
|
772
|
+
// test support: the memoized result is derived from the ROOTPATH env var, so a test that
|
|
773
|
+
// clears that variable for its own scope must also drop a value cached while it was set
|
|
774
|
+
function resetNoBootFileCache() {
|
|
775
|
+
noBootFileChecked = undefined;
|
|
776
|
+
}
|
|
770
777
|
function noBootFile() {
|
|
771
778
|
if (noBootFileChecked)
|
|
772
779
|
return noBootFileChecked;
|
|
@@ -852,17 +859,36 @@ function httpRequest(options, data) {
|
|
|
852
859
|
}
|
|
853
860
|
});
|
|
854
861
|
}
|
|
862
|
+
/**
|
|
863
|
+
* Which database an operation request targets: `database` wins over the legacy `schema`, and a
|
|
864
|
+
* request that names neither targets the default database.
|
|
865
|
+
*
|
|
866
|
+
* The single source of truth for that question. Authorization has to answer it identically to the
|
|
867
|
+
* handlers — it runs first, and if the two disagree then the permissions checked are not the
|
|
868
|
+
* permissions for the write that happens. Two divergences between this and the copy that used to
|
|
869
|
+
* live in `verifyPerms` (`schema ?? database`) were each exploitable on their own: nullish
|
|
870
|
+
* coalescing let a falsy-but-present `database: 0` through where this defaults, and the reversed
|
|
871
|
+
* precedence let a request authorize against `schema` while the handler wrote `database`.
|
|
872
|
+
*
|
|
873
|
+
* Deliberately falsy rather than nullish: a `database` of `0` or `''` is not a database, and
|
|
874
|
+
* `Joi.number()` is an accepted type for the field, so `0` reaches here validated.
|
|
875
|
+
*/
|
|
876
|
+
function resolveTargetDatabase(req) {
|
|
877
|
+
return req.database || req.schema || terms.DEFAULT_DATABASE_NAME;
|
|
878
|
+
}
|
|
855
879
|
/**
|
|
856
880
|
* Will set default schema/database or set database to schema
|
|
857
881
|
* @param req
|
|
858
882
|
*/
|
|
859
883
|
function transformReq(req) {
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
884
|
+
const database = resolveTargetDatabase(req);
|
|
885
|
+
// Only write when it would change something. The previous implementation left `req.schema` alone
|
|
886
|
+
// whenever it was already the resolved value, and an unconditional assignment is not equivalent:
|
|
887
|
+
// re-assigning an identical value still throws on a frozen or sealed object under strict mode,
|
|
888
|
+
// which every module here is. Nothing is known to pass one, but a write that cannot change the
|
|
889
|
+
// outcome is not worth the failure mode.
|
|
890
|
+
if (req.schema !== database)
|
|
891
|
+
req.schema = database;
|
|
866
892
|
}
|
|
867
893
|
function convertToMS(interval) {
|
|
868
894
|
let seconds = 0;
|