@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
|
@@ -40,6 +40,7 @@ exports.getJWTRSAKeys = getJWTRSAKeys;
|
|
|
40
40
|
exports.clearJWTRSAKeysCache = clearJWTRSAKeysCache;
|
|
41
41
|
exports.createTokens = createTokens;
|
|
42
42
|
exports.refreshOperationToken = refreshOperationToken;
|
|
43
|
+
exports.createOperationToken = createOperationToken;
|
|
43
44
|
exports.validateOperationToken = validateOperationToken;
|
|
44
45
|
exports.validateRefreshToken = validateRefreshToken;
|
|
45
46
|
exports.validateLoginToken = validateLoginToken;
|
|
@@ -56,6 +57,11 @@ const { HTTP_STATUS_CODES, AUTHENTICATION_ERROR_MSGS } = hdbError_ts_1.hdbErrors
|
|
|
56
57
|
const harper_logger_ts_1 = __importDefault(require("../utility/logging/harper_logger.js"));
|
|
57
58
|
const password = __importStar(require("../utility/password.js"));
|
|
58
59
|
const user_ts_1 = require("./user.js");
|
|
60
|
+
const operationScope_ts_1 = require("./operationScope.js");
|
|
61
|
+
const credentialProvenance_ts_1 = require("./credentialProvenance.js");
|
|
62
|
+
const impersonation_ts_1 = require("./impersonation.js");
|
|
63
|
+
const credentialRejection_ts_1 = require("./credentialRejection.js");
|
|
64
|
+
const operationPermissions_ts_1 = require("../utility/operationPermissions.js");
|
|
59
65
|
const insert_ts_1 = require("../dataLayer/insert.js");
|
|
60
66
|
const UpdateObject_ts_1 = __importDefault(require("../dataLayer/UpdateObject.js"));
|
|
61
67
|
const signalling = __importStar(require("../utility/signalling.js"));
|
|
@@ -78,6 +84,10 @@ const TOKEN_TYPE = {
|
|
|
78
84
|
// TOKEN_TYPE.OPERATION, so validateOperationToken's Bearer-API path rejects it automatically —
|
|
79
85
|
// it can't be replayed as a general API credential the way a full operation token could.
|
|
80
86
|
LOGIN: 'login',
|
|
87
|
+
// Minted by createTokens with an inline `role` object (super_user-gated): the token embeds its
|
|
88
|
+
// own downgraded permission set and its bearer needs no hdb_user row. Accepted by
|
|
89
|
+
// validateOperationToken, which builds a synthetic user from the embedded role.
|
|
90
|
+
SCOPED: 'scoped-operation',
|
|
81
91
|
};
|
|
82
92
|
/**
|
|
83
93
|
* fetches the rsa keys from cache var or disk
|
|
@@ -134,12 +144,39 @@ async function createTokens(authObj) {
|
|
|
134
144
|
const validation = (0, validationWrapper_ts_1.validateBySchema)(authObj, joi_1.default.object({
|
|
135
145
|
username: joi_1.default.string().optional(),
|
|
136
146
|
password: joi_1.default.string().optional(),
|
|
137
|
-
role: joi_1.default.string().optional(),
|
|
147
|
+
role: joi_1.default.alternatives(joi_1.default.string(), joi_1.default.object()).optional(),
|
|
138
148
|
expires_in: joi_1.default.alternatives(joi_1.default.string(), joi_1.default.number()).optional(),
|
|
139
149
|
purpose: joi_1.default.string().valid('login').optional(),
|
|
140
150
|
}));
|
|
141
151
|
if (validation)
|
|
142
152
|
throw new hdbError_ts_1.ClientError(validation.message);
|
|
153
|
+
// create_authentication_tokens is NO_AUTH, so verifyPerms — and the token-scope gate inside it —
|
|
154
|
+
// never runs here. A caller holding a workload-identity token (#2171) must not mint any standing
|
|
155
|
+
// credential through it: honoring expires_in verbatim turns a minutes-long leak into an
|
|
156
|
+
// arbitrarily long-lived one, and the refresh_token write below hands out a 30-day credential —
|
|
157
|
+
// both defeating the exchange's ephemerality guarantee. A CI token needs none of this; it already
|
|
158
|
+
// holds the operation token the exchange gave it, and gets a fresh one next run.
|
|
159
|
+
//
|
|
160
|
+
// Gated on provenance, NOT on the scope: a trust policy carries `operations` only when the
|
|
161
|
+
// operator opts in, so the ordinary exchanged token is unscoped and a scope-only check would let
|
|
162
|
+
// exactly the common case through. The scope check stays as well, covering a scoped credential
|
|
163
|
+
// from any other source.
|
|
164
|
+
//
|
|
165
|
+
// First, ahead of the user lookup and the `purpose` branch: this reads only the caller's own
|
|
166
|
+
// principal, so a refused request should cost no database read and write nothing. That also
|
|
167
|
+
// covers the login path, where a session is minted from a username alone and so cannot be
|
|
168
|
+
// narrowed after the fact.
|
|
169
|
+
// `authObj?.` — a bare createTokens() reaches here, and must still fail as invalid credentials
|
|
170
|
+
// below rather than as a TypeError out of this guard.
|
|
171
|
+
if ((0, credentialProvenance_ts_1.isWorkloadIdentityPrincipal)(authObj?.hdb_user)) {
|
|
172
|
+
throw new hdbError_ts_1.ClientError('a workload identity token cannot mint authentication tokens', HTTP_STATUS_CODES.FORBIDDEN);
|
|
173
|
+
}
|
|
174
|
+
if ((0, operationScope_ts_1.hasOperationScope)(authObj?.hdb_user?.tokenOperations)) {
|
|
175
|
+
throw new hdbError_ts_1.ClientError('a scoped token cannot mint authentication tokens', HTTP_STATUS_CODES.FORBIDDEN);
|
|
176
|
+
}
|
|
177
|
+
if (authObj?.role && typeof authObj.role === 'object') {
|
|
178
|
+
return createScopedToken(authObj);
|
|
179
|
+
}
|
|
143
180
|
let user;
|
|
144
181
|
try {
|
|
145
182
|
// Trusted bypass is dispatch/async-context state (set by a component calling
|
|
@@ -148,6 +185,12 @@ async function createTokens(authObj) {
|
|
|
148
185
|
// without a password (see operationAuthorizationState.ts).
|
|
149
186
|
let validatePassword = !(0, operationAuthorizationState_ts_1.isOperationAuthorizationBypassed)();
|
|
150
187
|
if (!authObj.username && !authObj.password) {
|
|
188
|
+
// A scoped-token bearer must not self-mint: its username is an unverified attribution
|
|
189
|
+
// label, and resolving it here without a password would hand out standing operation/
|
|
190
|
+
// refresh tokens for whatever real user later takes that name (privilege escalation).
|
|
191
|
+
if (authObj.hdb_user?._scopedToken) {
|
|
192
|
+
throw new hdbError_ts_1.ClientError(AUTHENTICATION_ERROR_MSGS.INVALID_CREDENTIALS, HTTP_STATUS_CODES.UNAUTHORIZED);
|
|
193
|
+
}
|
|
151
194
|
// if the username and password are not provided, use the hdb_user making the request.
|
|
152
195
|
authObj.username = authObj.hdb_user?.username;
|
|
153
196
|
// the password would have been checked by authHandler before getting here
|
|
@@ -202,6 +245,43 @@ async function createTokens(authObj) {
|
|
|
202
245
|
refresh_token: refreshToken,
|
|
203
246
|
};
|
|
204
247
|
}
|
|
248
|
+
/**
|
|
249
|
+
* Mints a scoped token: a single operation-usable JWT that embeds an inline role object, so its
|
|
250
|
+
* bearer needs no hdb_user or hdb_role row. Requires an authenticated super_user minter (or
|
|
251
|
+
* trusted internal dispatch). `username` is attribution only, must NOT name an existing user,
|
|
252
|
+
* and defaults to `scoped:<minter>`. No refresh token is issued and no user record is touched,
|
|
253
|
+
* so the token is irrevocable until expiry — size expires_in accordingly.
|
|
254
|
+
*/
|
|
255
|
+
// Measured on the signed token (base64url payload + signature), so it reflects what the
|
|
256
|
+
// Authorization header actually carries; keeps tokens inside common 16KB header limits.
|
|
257
|
+
const MAX_SCOPED_TOKEN_LENGTH = 12288;
|
|
258
|
+
async function createScopedToken(authObj) {
|
|
259
|
+
if (authObj.password) {
|
|
260
|
+
throw new hdbError_ts_1.ClientError("'password' cannot be combined with an inline 'role' object");
|
|
261
|
+
}
|
|
262
|
+
if (authObj.purpose) {
|
|
263
|
+
throw new hdbError_ts_1.ClientError("'purpose' cannot be combined with an inline 'role' object");
|
|
264
|
+
}
|
|
265
|
+
const scopedUser = await (0, impersonation_ts_1.buildScopedTokenUser)(authObj.hdb_user, { username: authObj.username, role: authObj.role }, (0, operationAuthorizationState_ts_1.isOperationAuthorizationBypassed)());
|
|
266
|
+
const keys = await getJWTRSAKeys();
|
|
267
|
+
const operationToken = jsonwebtoken_1.default.sign({
|
|
268
|
+
username: scopedUser.username,
|
|
269
|
+
super_user: false,
|
|
270
|
+
role: { permission: scopedUser.role.permission },
|
|
271
|
+
minted_by: authObj.hdb_user?.username,
|
|
272
|
+
}, { key: keys.privateKey, passphrase: keys.passphrase }, {
|
|
273
|
+
expiresIn: (authObj.expires_in ?? OPERATION_TOKEN_TIMEOUT),
|
|
274
|
+
algorithm: RSA_ALGORITHM,
|
|
275
|
+
subject: TOKEN_TYPE.SCOPED,
|
|
276
|
+
});
|
|
277
|
+
if (operationToken.length > MAX_SCOPED_TOKEN_LENGTH) {
|
|
278
|
+
throw new hdbError_ts_1.ClientError(`the minted token exceeds ${MAX_SCOPED_TOKEN_LENGTH} bytes and would not fit in an Authorization header; reduce the role permission size`);
|
|
279
|
+
}
|
|
280
|
+
// role.role is the content hash of the granted permission set — logged so an operator can
|
|
281
|
+
// correlate outstanding tokens with what they grant.
|
|
282
|
+
harper_logger_ts_1.default.info(`Scoped token minted by "${authObj.hdb_user?.username ?? '<internal>'}" for "${scopedUser.username}" (${scopedUser.role.role})`);
|
|
283
|
+
return { operation_token: operationToken };
|
|
284
|
+
}
|
|
205
285
|
/**
|
|
206
286
|
* Refreshes the operation token using the refresh token.
|
|
207
287
|
* @param tokenObj
|
|
@@ -214,13 +294,49 @@ async function refreshOperationToken(tokenObj) {
|
|
|
214
294
|
await validateRefreshToken(refresh_token);
|
|
215
295
|
const keys = await getJWTRSAKeys();
|
|
216
296
|
const decodedJWT = jsonwebtoken_1.default.decode(refresh_token, { json: true });
|
|
217
|
-
const
|
|
297
|
+
const refreshedPayload = {
|
|
298
|
+
username: decodedJWT.username,
|
|
299
|
+
super_user: decodedJWT.super_user,
|
|
300
|
+
};
|
|
301
|
+
// Refreshing a scoped refresh token must not widen back to the full role.
|
|
302
|
+
(0, operationScope_ts_1.attachScopeToToken)(refreshedPayload, decodedJWT.operations);
|
|
303
|
+
const operationToken = jsonwebtoken_1.default.sign(refreshedPayload, { key: keys.privateKey, passphrase: keys.passphrase }, {
|
|
218
304
|
expiresIn: OPERATION_TOKEN_TIMEOUT,
|
|
219
305
|
algorithm: RSA_ALGORITHM,
|
|
220
306
|
subject: TOKEN_TYPE.OPERATION,
|
|
221
307
|
});
|
|
222
308
|
return { operation_token: operationToken };
|
|
223
309
|
}
|
|
310
|
+
/**
|
|
311
|
+
* Signs a standalone operation token. No refresh token, no write to the user record.
|
|
312
|
+
*
|
|
313
|
+
* createTokens cannot serve this: it overwrites hdb_user.refresh_token as a side effect, silently
|
|
314
|
+
* revoking whatever credential that user already held (#2018). The OIDC exchange (#2171) exists so
|
|
315
|
+
* CI holds no durable credential at all, so minting one on its behalf would defeat the point.
|
|
316
|
+
*
|
|
317
|
+
* The caller is responsible for having established that the user exists, is active, and is entitled
|
|
318
|
+
* to this token — nothing here re-checks that.
|
|
319
|
+
*/
|
|
320
|
+
async function createOperationToken(user, expiresIn) {
|
|
321
|
+
const keys = await getJWTRSAKeys();
|
|
322
|
+
const payload = {
|
|
323
|
+
username: user.username,
|
|
324
|
+
super_user: user.super_user,
|
|
325
|
+
};
|
|
326
|
+
// A narrowing scope, never a grant: verifyPerms intersects it with the user's role. An empty scope
|
|
327
|
+
// (deny-all) is preserved rather than dropped — attachScopeToToken carries any array, which is
|
|
328
|
+
// what keeps this from failing open.
|
|
329
|
+
(0, operationScope_ts_1.attachScopeToToken)(payload, user.operations);
|
|
330
|
+
// Unconditional, because every token this function mints is minted without a password — the
|
|
331
|
+
// caller vouched for the user instead. That is precisely the credential that must not be able to
|
|
332
|
+
// trade itself for a longer-lived one, whether or not a scope narrows it.
|
|
333
|
+
(0, credentialProvenance_ts_1.markTokenAsWorkloadIdentity)(payload);
|
|
334
|
+
return jsonwebtoken_1.default.sign(payload, { key: keys.privateKey, passphrase: keys.passphrase }, {
|
|
335
|
+
expiresIn,
|
|
336
|
+
algorithm: RSA_ALGORITHM,
|
|
337
|
+
subject: TOKEN_TYPE.OPERATION,
|
|
338
|
+
});
|
|
339
|
+
}
|
|
224
340
|
async function validateOperationToken(token) {
|
|
225
341
|
return validateToken(token, TOKEN_TYPE.OPERATION);
|
|
226
342
|
}
|
|
@@ -238,29 +354,94 @@ async function validateLoginToken(token) {
|
|
|
238
354
|
async function validateToken(token, tokenType) {
|
|
239
355
|
try {
|
|
240
356
|
const keys = await getJWTRSAKeys();
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
357
|
+
assertUsableVerificationKey(keys.publicKey);
|
|
358
|
+
// The OPERATION type also accepts scoped tokens, so the subject is checked after
|
|
359
|
+
// verification rather than pinned in the verify options.
|
|
360
|
+
const tokenVerified = jsonwebtoken_1.default.verify(token, keys.publicKey, tokenType === TOKEN_TYPE.OPERATION
|
|
361
|
+
? { algorithms: [RSA_ALGORITHM] }
|
|
362
|
+
: { algorithms: [RSA_ALGORITHM], subject: tokenType });
|
|
363
|
+
if (tokenType === TOKEN_TYPE.OPERATION && tokenVerified.sub === TOKEN_TYPE.SCOPED) {
|
|
364
|
+
return buildUserFromScopedToken(tokenVerified);
|
|
365
|
+
}
|
|
366
|
+
if (tokenVerified.sub !== tokenType) {
|
|
367
|
+
throw (0, credentialRejection_ts_1.credentialRejectionError)(AUTHENTICATION_ERROR_MSGS.INVALID_TOKEN, HTTP_STATUS_CODES.UNAUTHORIZED);
|
|
368
|
+
}
|
|
245
369
|
// If a role is present, it means the token is not an operation token. The validation of
|
|
246
370
|
// the token will happen in the respective function/component that uses the token.
|
|
247
371
|
if (tokenVerified.role) {
|
|
248
|
-
throw
|
|
372
|
+
throw (0, credentialRejection_ts_1.credentialRejectionError)(AUTHENTICATION_ERROR_MSGS.INVALID_TOKEN, HTTP_STATUS_CODES.UNAUTHORIZED);
|
|
249
373
|
}
|
|
250
374
|
const user = await (0, user_ts_1.findAndValidateUser)(tokenVerified.username, undefined, false);
|
|
251
375
|
if (tokenType === TOKEN_TYPE.REFRESH && !password.validate(user.refresh_token, token)) {
|
|
252
|
-
throw
|
|
376
|
+
throw (0, credentialRejection_ts_1.credentialRejectionError)(AUTHENTICATION_ERROR_MSGS.INVALID_TOKEN, HTTP_STATUS_CODES.UNAUTHORIZED);
|
|
253
377
|
}
|
|
378
|
+
// Surfaced as `tokenOperations` rather than merged into role.permission.operations: that field
|
|
379
|
+
// is not purely narrowing (verifyPerms gate 2 treats an explicit SU-only listing as a grant),
|
|
380
|
+
// so merging a token scope into it could widen. verifyPerms intersects this separately, ahead
|
|
381
|
+
// of every bypass.
|
|
382
|
+
(0, operationScope_ts_1.attachScopeToUser)(user, tokenVerified.operations);
|
|
383
|
+
// Provenance rides the same lift: the claim is signed, so a caller cannot strip it to look
|
|
384
|
+
// like a password-minted principal at createTokens.
|
|
385
|
+
(0, credentialProvenance_ts_1.attachWorkloadIdentityToUser)(user, tokenVerified[credentialProvenance_ts_1.WORKLOAD_IDENTITY_CLAIM]);
|
|
254
386
|
return user;
|
|
255
387
|
}
|
|
256
388
|
catch (err) {
|
|
257
389
|
harper_logger_ts_1.default.warn(err);
|
|
258
390
|
if (err?.name === 'TokenExpiredError') {
|
|
259
|
-
throw
|
|
391
|
+
throw (0, credentialRejection_ts_1.credentialRejectionError)(AUTHENTICATION_ERROR_MSGS.TOKEN_EXPIRED, HTTP_STATUS_CODES.FORBIDDEN);
|
|
260
392
|
}
|
|
261
|
-
|
|
393
|
+
// Only positively classified token failures may cross the route-ownership boundary as rejections.
|
|
394
|
+
if (!isTokenRejection(err))
|
|
395
|
+
throw err;
|
|
396
|
+
throw (0, credentialRejection_ts_1.credentialRejectionError)(AUTHENTICATION_ERROR_MSGS.INVALID_TOKEN, HTTP_STATUS_CODES.UNAUTHORIZED);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
const JWT_REJECTION_ERROR_NAMES = new Set(['JsonWebTokenError', 'NotBeforeError', 'TokenExpiredError']);
|
|
400
|
+
// jsonwebtoken reports unusable verification keys and bad tokens through the same error type.
|
|
401
|
+
const KEY_MATERIAL_FAULT = /secretOrPublicKey|asymmetric key|PEM routines|^error:/i;
|
|
402
|
+
function isTokenRejection(err) {
|
|
403
|
+
if ((0, credentialRejection_ts_1.isCredentialRejection)(err))
|
|
404
|
+
return true;
|
|
405
|
+
if (!JWT_REJECTION_ERROR_NAMES.has(err?.name))
|
|
406
|
+
return false;
|
|
407
|
+
return !KEY_MATERIAL_FAULT.test(String(err?.message ?? ''));
|
|
408
|
+
}
|
|
409
|
+
function assertUsableVerificationKey(publicKey) {
|
|
410
|
+
if (typeof publicKey !== 'string' || !publicKey.includes('-----BEGIN')) {
|
|
411
|
+
throw new hdbError_ts_1.ServerError(AUTHENTICATION_ERROR_MSGS.NO_ENCRYPTION_KEYS, HTTP_STATUS_CODES.INTERNAL_SERVER_ERROR);
|
|
262
412
|
}
|
|
263
413
|
}
|
|
414
|
+
/**
|
|
415
|
+
* Builds the request user for a verified scoped token from its embedded role. No hdb_user lookup:
|
|
416
|
+
* the signed claims are the whole identity. The downgrade is re-applied here as defense-in-depth,
|
|
417
|
+
* so no scoped token — whatever minted it — can ever assert super_user or cluster_user.
|
|
418
|
+
*/
|
|
419
|
+
function buildUserFromScopedToken(claims) {
|
|
420
|
+
const embedded = claims.role?.permission;
|
|
421
|
+
if (!embedded || typeof embedded !== 'object' || Array.isArray(embedded) || typeof claims.username !== 'string') {
|
|
422
|
+
throw (0, credentialRejection_ts_1.credentialRejectionError)(AUTHENTICATION_ERROR_MSGS.INVALID_TOKEN, HTTP_STATUS_CODES.UNAUTHORIZED);
|
|
423
|
+
}
|
|
424
|
+
const permission = { ...embedded, super_user: false, cluster_user: false };
|
|
425
|
+
// Hashed from the server-side downgraded clone (before the _expandedOperations Set is attached),
|
|
426
|
+
// so the memo key reflects the effective permissions — see syntheticRoleName.
|
|
427
|
+
const roleName = (0, impersonation_ts_1.syntheticRoleName)('_scoped_token', permission);
|
|
428
|
+
if (Array.isArray(permission.operations)) {
|
|
429
|
+
permission._expandedOperations = (0, operationPermissions_ts_1.expandOperationsPerms)(permission.operations);
|
|
430
|
+
}
|
|
431
|
+
return {
|
|
432
|
+
username: claims.username,
|
|
433
|
+
active: true,
|
|
434
|
+
_scopedToken: true,
|
|
435
|
+
_mintedBy: claims.minted_by,
|
|
436
|
+
role: {
|
|
437
|
+
permission: permission,
|
|
438
|
+
role: roleName,
|
|
439
|
+
id: roleName,
|
|
440
|
+
__updatedtime__: 0,
|
|
441
|
+
__createdtime__: 0,
|
|
442
|
+
},
|
|
443
|
+
};
|
|
444
|
+
}
|
|
264
445
|
/**
|
|
265
446
|
* Decodes a JWT and returns its payload.
|
|
266
447
|
* @param {string} token The JWT token to decode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenAuthentication.js","sourceRoot":"","sources":["../../security/tokenAuthentication.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tokenAuthentication.js","sourceRoot":"","sources":["../../security/tokenAuthentication.ts"],"names":[],"mappings":"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"}
|
package/dist/security/user.js
CHANGED
|
@@ -82,6 +82,7 @@ const Server_ts_1 = require("../server/Server.js");
|
|
|
82
82
|
const terms = __importStar(require("../utility/hdbTerms.js"));
|
|
83
83
|
const operationPermissions_ts_1 = require("../utility/operationPermissions.js");
|
|
84
84
|
const superUserGuard_ts_1 = require("./superUserGuard.js");
|
|
85
|
+
const credentialRejection_ts_1 = require("./credentialRejection.js");
|
|
85
86
|
Server_ts_1.server.getUser = (username, password) => {
|
|
86
87
|
return findAndValidateUser(username, password, password != null);
|
|
87
88
|
};
|
|
@@ -349,10 +350,10 @@ async function findAndValidateUser(username, pw, validatePassword = true) {
|
|
|
349
350
|
if (!userTmp) {
|
|
350
351
|
if (!validatePassword)
|
|
351
352
|
return { username };
|
|
352
|
-
throw
|
|
353
|
+
throw (0, credentialRejection_ts_1.credentialRejectionError)(AUTHENTICATION_ERROR_MSGS.GENERIC_AUTH_FAIL, HTTP_STATUS_CODES.UNAUTHORIZED);
|
|
353
354
|
}
|
|
354
355
|
if (userTmp && !userTmp.active)
|
|
355
|
-
throw
|
|
356
|
+
throw (0, credentialRejection_ts_1.credentialRejectionError)(AUTHENTICATION_ERROR_MSGS.USER_INACTIVE, HTTP_STATUS_CODES.UNAUTHORIZED);
|
|
356
357
|
const user = {
|
|
357
358
|
active: userTmp.active,
|
|
358
359
|
username: userTmp.username,
|
|
@@ -377,7 +378,7 @@ async function findAndValidateUser(username, pw, validatePassword = true) {
|
|
|
377
378
|
if (validated === true)
|
|
378
379
|
passwordHashCache.set(pw, userTmp.password);
|
|
379
380
|
else
|
|
380
|
-
throw
|
|
381
|
+
throw (0, credentialRejection_ts_1.credentialRejectionError)(AUTHENTICATION_ERROR_MSGS.GENERIC_AUTH_FAIL, HTTP_STATUS_CODES.UNAUTHORIZED);
|
|
381
382
|
}
|
|
382
383
|
}
|
|
383
384
|
return user;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../security/user.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../security/user.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASZ,0BAAO;AACP,8BAAS;AACT,oEAA4B;AAC5B,4BAAQ;AACR,oCAAY;AACZ,4BAAQ;AACR,8BAAS;AACT,8CAAiB;AACjB,wDAAsB;AACtB,kDAAmB;AACnB,wDAAsB;AAjBvB,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAkBhD,8CAAiB;AAjBlB,MAAM,2BAA2B,GAAG,mEAAmE,CAAC;AAkBvG,kEAA2B;AAjB5B,MAAM,cAAc,GAAG,oCAAoC,CAAC;AAkB3D,wCAAc;AAjBf,MAAM,UAAU,GAAG,2CAA2C,CAAC;AAkB9D,gCAAU;AAjBX,MAAM,cAAc,GAAG,8BAA8B,CAAC;AAkBrD,wCAAc;AA4Df,6EAA6E;AAC7E,+DAAiD;AACjD,gEAAkD;AAClD,6EAA+D;AAC/D,+DAAiD;AACjD,qEAAuD;AACvD,uEAAyD;AACzD,sDAAwC;AACxC,4EAA8D;AAC9D,+BAAiC;AACjC,kFAAoE;AACpE,kFAAqD;AACrD,+DAAuE;AACvE,MAAM,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,cAAc,EAAE,GAAG,uBAAS,CAAC;AACnF,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAC7D,0CAA4B;AAC5B,kFAAoE;AAEpE,sFAAsF;AACtF,iIAAiI;AACjI,iEAAmD;AACnD,mDAA6C;AAC7C,8DAAgD;AAChD,gFAA2E;AAC3E,2DAA6D;AAC7D,qEAAoE;AAEpE,kBAAM,CAAC,OAAO,GAAG,CAAC,QAAgB,EAAE,QAAwB,EAAiB,EAAE;IAC9E,OAAO,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,kBAAM,CAAC,gBAAgB,GAAG,CAAC,QAAgB,EAAE,QAAwB,EAAiB,EAAE;IACvF,OAAO,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG;IAChC,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;CACd,CAAC;AACF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;AACpC,MAAM,aAAa,GAAG,IAAA,gBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACjD,MAAM,sBAAsB,GAC3B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,2BAA2B,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAC3F,IAAI,iBAAiB,CAAC;AAEtB,KAAK,UAAU,OAAO,CAAC,IAAgB;IACtC,IAAI,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;IACzE,IAAI,cAAc,GAAG,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC7D,IAAI,cAAc;QAAE,MAAM,IAAI,yBAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAElE,IAAI,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QAC3C,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,SAAS,CAAC,IAAI;QACrB,cAAc,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC;KAC5C,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,yBAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,yBAAW,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACnG,CAAC;IAED,SAAS,CAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IACrF,SAAS,CAAC,aAAa,GAAG,sBAAsB,CAAC;IACjD,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAElC,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QAC1C,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,SAAS,CAAC;KACpB,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE7B,MAAM,sBAAsB,EAAE,CAAC;IAE/B,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,yBAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,OAAO,GAAG,SAAS,CAAC,QAAQ,qBAAqB,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,WAAW;IACnC,IAAI,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;IAEhF,IAAI,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IAED,IACC,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC;QAClD,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC;QAC9C,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,EAC/C,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1G,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3G,SAAS,CAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QACrF,SAAS,CAAC,aAAa,GAAG,sBAAsB,CAAC;IAClD,CAAC;IAED,kHAAkH;IAClH,IAAI,SAAS,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,iDAAiD;IACjD,IAAI,QAAQ,CAAC;IACb,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YAC3C,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,cAAc,EAAE,CAAC,GAAG,CAAC;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YACrC,MAAM,IAAI,yBAAW,CAAC,cAAc,CAAC,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE9G,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YACtB,MAAM,IAAI,yBAAW,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEnG,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvB,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,4BAA4B,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;YACnC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;YACnF,CAAC,CAAC,IAAI,CACP,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QAC1C,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,SAAS,CAAC;KACpB,CAAC,CAAC;IAEH,MAAM,sBAAsB,EAAE,CAAC;IAC/B,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjE,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAgB;IACvC,MAAM,cAAc,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,cAAc;QAAE,MAAM,IAAI,yBAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAElE,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS;QACrD,MAAM,IAAI,yBAAW,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAElG,MAAM,4BAA4B,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/G,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC;QAC1C,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC5B,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7B,MAAM,sBAAsB,EAAE,CAAC;IAC/B,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,OAAO,GAAG,IAAI,CAAC,QAAQ,uBAAuB,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAI;IAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,oCAAoC,CAAC;IAC7C,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,QAAQ,GACX,IAAI,CAAC,IAAI;QACT,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC;YAC1B,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,cAAc,EAAE,CAAC,GAAG,CAAC;SACrB,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC;IACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC;IACjB,OAAO,IAAI,CAAC,aAAa,CAAC;IAE1B,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB;IAC/B,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QACxC,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,MAAM;QACjB,cAAc,EAAE,CAAC,GAAG,CAAC;KACrB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACxB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QACxC,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,UAAU;QACrB,cAAc,EAAE,CAAC,GAAG,CAAC;KACrB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAsB,IAAI,GAAG,EAAE,CAAC;IAC7C,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAC,QAAkB;IACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO;IACR,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACjC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG;YAC5B,MAAM,EAAE,EAAE;SACV,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACxC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;IACxC,CAAC;IACD,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,2BAAY,CAAC,EAAE,CAAC;QAC7C,IAAI,OAAO,GAAG;YACb,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU;YACtC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,qBAAqB,EAAE,EAAE;SACzB,CAAC;QAEF,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IACpD,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,4BAA4B,CAAC,QAAkB;IACvD,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU;QAAE,OAAO;IAC9C,QAAQ,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAA,+CAAqB,EAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACjG,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,KAAK,GAAG,SAAS;IACtD,IAAI,KAAK;QAAE,iBAAiB,GAAG,KAAK,CAAC;;QAChC,iBAAiB,GAAG,MAAM,SAAS,EAAE,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,sBAAsB;IACpC,IAAI,CAAC,iBAAiB;QAAE,MAAM,sBAAsB,EAAE,CAAC;IACvD,OAAO,iBAAiB,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,4BAA4B,CAAC,QAA0C;IACrF,MAAM,KAAK,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,IAAA,0CAAsB,EAAC,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC;QAAE,OAAO;IAC7D,MAAM,IAAI,yBAAW,CAAC,cAAc,CAAC,eAAe,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACnF,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,EAAkB,EAAE,gBAAgB,GAAG,IAAI;IAC/F,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,MAAM,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,IAAI,CAAC,gBAAgB;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC3C,MAAM,IAAA,iDAAwB,EAAC,yBAAyB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC7G,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;QAC7B,MAAM,IAAA,iDAAwB,EAAC,yBAAyB,CAAC,aAAa,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEzG,MAAM,IAAI,GAAS;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC1B,CAAC;IACF,IAAI,OAAO,CAAC,aAAa;QAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IACtE,4EAA4E;IAC5E,yFAAyF;IACzF,wFAAwF;IACxF,IAAI,OAAO,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;IAE9F,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC/B,gEAAgE;QAChE,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAChE,mCAAmC;aAC9B,CAAC;YACL,IAAI,SAAS,GAA+B,QAAQ,CAAC,QAAQ,CAC5D,OAAO,CAAC,QAAQ,EAChB,EAAE,EACF,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,CACnD,CAAC,CAAC,2CAA2C;YAC9C,mEAAmE;YACnE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAK,SAA8B,EAAE,IAAI;gBAAE,SAAS,GAAG,MAAM,SAAS,CAAC;YACxG,IAAI,SAAS,KAAK,IAAI;gBAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;;gBAC/D,MAAM,IAAA,iDAAwB,EAAC,yBAAyB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAClH,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,KAAK,UAAU,YAAY;IAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,MAAM,sBAAsB,EAAE,CAAC;IAChC,CAAC;IACD,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,iBAAiB,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;IACnD,CAAC;AACF,CAAC;AAED,IAAI,mBAAmB,GAAG,EAAE,CAAC;AAC5B,kBAAc,CAAC,cAAc,GAAG,UAAU,IAAgB;IAC1D,KAAK,IAAI,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QAC1C,IAAI,CAAC;YACJ,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,YAAY,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEF,kBAAM,CAAC,iBAAiB,GAAG,UAAU,QAAQ;IAC5C,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC,CAAC"}
|
|
@@ -39,7 +39,7 @@ type Acknowledgement = {
|
|
|
39
39
|
acknowledge?: () => any;
|
|
40
40
|
};
|
|
41
41
|
declare class SubscriptionsSession {
|
|
42
|
-
listener: (
|
|
42
|
+
listener: (topic: any, message: any, messageId: any, subscription: any, version?: any) => any;
|
|
43
43
|
sessionId: any;
|
|
44
44
|
user: any;
|
|
45
45
|
request: any;
|
|
@@ -57,7 +57,7 @@ declare class SubscriptionsSession {
|
|
|
57
57
|
removeSubscription(topic: any): Promise<boolean>;
|
|
58
58
|
publish(message: any, data: any): Promise<any>;
|
|
59
59
|
createContext(): any;
|
|
60
|
-
setListener(listener: (message: any) => any): void;
|
|
60
|
+
setListener(listener: (topic: any, message: any, messageId: any, subscription: any, version?: any) => any): void;
|
|
61
61
|
disconnect(clientTerminated: any): void;
|
|
62
62
|
receivedPacket(): void;
|
|
63
63
|
}
|
|
@@ -35,6 +35,24 @@ function getDurableSession() {
|
|
|
35
35
|
return _DurableSession;
|
|
36
36
|
}
|
|
37
37
|
let _LastWill;
|
|
38
|
+
/**
|
|
39
|
+
* A scoped token's only revocation is expiry, so its will must not publish past it. Keyed off the
|
|
40
|
+
* persisted will principal (not any live session user) so both will paths agree on one source.
|
|
41
|
+
* Fails closed: a scoped will with no recorded expiry is treated as expired rather than published.
|
|
42
|
+
*/
|
|
43
|
+
function isWillFromExpiredScopedToken(will) {
|
|
44
|
+
const user = will?.user;
|
|
45
|
+
if (!user?._scopedToken)
|
|
46
|
+
return false;
|
|
47
|
+
return !user.authExpiresAt || user.authExpiresAt * 1000 <= Date.now();
|
|
48
|
+
}
|
|
49
|
+
/** Drops the runtime-only pre-expanded operations Set so the permission set is storage-safe. */
|
|
50
|
+
function stripRuntimePermissionState(permission) {
|
|
51
|
+
if (!permission || typeof permission !== 'object')
|
|
52
|
+
return permission;
|
|
53
|
+
const { _expandedOperations, ...durable } = permission;
|
|
54
|
+
return durable;
|
|
55
|
+
}
|
|
38
56
|
function getLastWill() {
|
|
39
57
|
if (!_LastWill) {
|
|
40
58
|
_LastWill = (0, databases_ts_1.table)({
|
|
@@ -59,15 +77,28 @@ if ((0, manageThreads_js_1.getWorkerIndex)() === 0) {
|
|
|
59
77
|
for await (const will of getLastWill().search({})) {
|
|
60
78
|
const data = will.data;
|
|
61
79
|
const message = { ...will };
|
|
62
|
-
if (message.user?.username)
|
|
63
|
-
message.user = await Server_ts_1.server.getUser(message.user.username);
|
|
64
80
|
try {
|
|
65
|
-
|
|
81
|
+
if (message.user?._scopedToken) {
|
|
82
|
+
// A scoped token's username is attribution only; never rehydrate it by name (that could
|
|
83
|
+
// substitute a real principal). The will carries the token's own downgraded role.
|
|
84
|
+
if (!isWillFromExpiredScopedToken(message)) {
|
|
85
|
+
await publishMessage(message, data, message);
|
|
86
|
+
}
|
|
87
|
+
else
|
|
88
|
+
(0, harper_logger_ts_1.warn)('Dropping will from an expired scoped token', data);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
if (message.user?.username)
|
|
92
|
+
message.user = await Server_ts_1.server.getUser(message.user.username);
|
|
93
|
+
await publishMessage(message, data, message);
|
|
94
|
+
}
|
|
95
|
+
await getLastWill().delete(will.id);
|
|
66
96
|
}
|
|
67
97
|
catch {
|
|
98
|
+
// One will's publish/delete failure must not abort replay of the rest; the row stays and
|
|
99
|
+
// is retried on the next restart.
|
|
68
100
|
(0, harper_logger_ts_1.warn)('Failed to publish will', data);
|
|
69
101
|
}
|
|
70
|
-
getLastWill().delete(will.id);
|
|
71
102
|
}
|
|
72
103
|
})();
|
|
73
104
|
}
|
|
@@ -118,7 +149,22 @@ async function getSession({ clientId: sessionId, user, clean: nonDurable, proper
|
|
|
118
149
|
}
|
|
119
150
|
if (will) {
|
|
120
151
|
will.id = sessionId;
|
|
121
|
-
will
|
|
152
|
+
// A scoped-token bearer's will must carry the token's own role and expiry: its username is
|
|
153
|
+
// attribution only and cannot be rehydrated from hdb_user at replay time. Persist only the
|
|
154
|
+
// durable permission fields — not the runtime-only _expandedOperations Set, which is rebuilt
|
|
155
|
+
// on read and would not round-trip through storage.
|
|
156
|
+
will.user = user?._scopedToken
|
|
157
|
+
? {
|
|
158
|
+
username: user.username,
|
|
159
|
+
_scopedToken: true,
|
|
160
|
+
authExpiresAt: user.authExpiresAt,
|
|
161
|
+
role: user.role && {
|
|
162
|
+
role: user.role.role,
|
|
163
|
+
id: user.role.id,
|
|
164
|
+
permission: stripRuntimePermissionState(user.role.permission),
|
|
165
|
+
},
|
|
166
|
+
}
|
|
167
|
+
: { username: user?.username };
|
|
122
168
|
// Must be durably persisted before CONNACK is sent (getSession() resolving is what lets
|
|
123
169
|
// mqtt.ts send CONNACK). Otherwise a client that connects and then disconnects abruptly
|
|
124
170
|
// (no DISCONNECT packet) can race ahead of this write: SubscriptionsSession.disconnect()
|
|
@@ -306,7 +352,10 @@ class SubscriptionsSession {
|
|
|
306
352
|
path = (0, Resources_ts_1.keyArrayToString)(path);
|
|
307
353
|
if (path == null)
|
|
308
354
|
path = '';
|
|
309
|
-
|
|
355
|
+
// the version is forwarded so the delivery side can tell a store-sourced event (whose
|
|
356
|
+
// value is a fresh object per version) from an app-yielded one that may be a reused
|
|
357
|
+
// mutable envelope — only the former is safe to encode once and share
|
|
358
|
+
const result = await this.listener(resourcePath + '/' + path, update.value, messageId, subscriptionRequest, update.version);
|
|
310
359
|
if (result === false)
|
|
311
360
|
break;
|
|
312
361
|
if (this.awaitingAcks?.size > AWAITING_ACKS_HIGH_WATER_MARK) {
|
|
@@ -390,8 +439,11 @@ class SubscriptionsSession {
|
|
|
390
439
|
try {
|
|
391
440
|
if (!clientTerminated) {
|
|
392
441
|
const will = await getLastWill().get(this.sessionId);
|
|
393
|
-
if (will) {
|
|
394
|
-
|
|
442
|
+
if (will && !isWillFromExpiredScopedToken(will)) {
|
|
443
|
+
// A scoped will authorizes under its own embedded role, never the disconnecting
|
|
444
|
+
// session's user (which may be a later same-clientId reconnect).
|
|
445
|
+
const willContext = will.user?._scopedToken ? { ...context, user: will.user } : context;
|
|
446
|
+
await publishMessage(will, will.data, willContext);
|
|
395
447
|
}
|
|
396
448
|
}
|
|
397
449
|
}
|
|
@@ -423,8 +475,13 @@ async function publishMessage(message, data, context) {
|
|
|
423
475
|
message = { ...message, data, async: true };
|
|
424
476
|
context.authorize = true;
|
|
425
477
|
const entry = Resources_ts_1.resources.getMatch(topic, 'mqtt');
|
|
426
|
-
if (!entry)
|
|
427
|
-
|
|
478
|
+
if (!entry) {
|
|
479
|
+
// Typed like addSubscription's identical miss, so a protocol layer can map it to a specific
|
|
480
|
+
// code rather than a generic failure.
|
|
481
|
+
const notFoundError = new Error(`Can not publish to topic ${topic} as it does not exist, no resource has been defined to handle this topic`);
|
|
482
|
+
notFoundError.statusCode = 404;
|
|
483
|
+
throw notFoundError;
|
|
484
|
+
}
|
|
428
485
|
message.url = entry.relativeURL;
|
|
429
486
|
const target = new RequestTarget_1.RequestTarget(entry.relativeURL);
|
|
430
487
|
if (entry.params)
|