@harperfast/harper 5.2.13 → 5.3.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent/mcpTools.ts +1 -1
- package/agent/session.ts +25 -14
- package/bin/cliOperations.ts +58 -9
- package/bin/copyDb.ts +282 -59
- package/bin/deploySetup.ts +16 -5
- package/bin/harper.ts +1 -1
- package/bin/help.ts +4 -1
- package/bin/lite.ts +4 -1
- package/bin/restart.ts +120 -4
- package/bin/run.ts +6 -11
- package/bin/upgrade.js +7 -3
- package/bin/workloadIdentity.ts +119 -0
- package/components/Application.ts +3436 -242
- package/components/ApplicationScope.ts +8 -0
- package/components/EntryHandler.ts +59 -39
- package/components/OptionsWatcher.ts +440 -98
- package/components/RuntimeModuleTracker.ts +38 -7
- package/components/Scope.ts +56 -15
- package/components/awaitRestart.ts +84 -0
- package/components/componentLoader.ts +381 -32
- package/components/componentPreparationLock.ts +16 -5
- package/components/deploymentOperations.ts +4 -1
- package/components/deploymentRecorder.ts +9 -2
- package/components/mcp/adapters/harperHttp.ts +4 -0
- package/components/mcp/listChanged.ts +4 -0
- package/components/mcp/toolRegistry.ts +2 -0
- package/components/mcp/tools/operations.ts +9 -0
- package/components/mcp/tools/schemas/operationDescriptions.ts +2 -2
- package/components/operations.js +537 -113
- package/components/operationsValidation.js +98 -3
- package/components/packageComponent.ts +25 -1
- package/components/requestRestart.ts +11 -0
- package/components/status/ComponentStatusRegistry.ts +59 -0
- package/config/RootConfigWatcher.ts +240 -40
- package/config/configReadRetry.ts +62 -0
- package/config/configUtils.ts +357 -48
- package/config/harperConfigEnvVars.ts +170 -27
- package/config/parseConfigFile.ts +34 -0
- package/config/readConfigFileSync.ts +44 -0
- package/config/watcherArming.ts +59 -0
- package/config-root.schema.json +33 -0
- package/dataLayer/blobBackup.ts +160 -50
- package/dataLayer/delete.ts +6 -1
- package/dataLayer/harperBridge/ResourceBridge.ts +80 -10
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
- package/dataLayer/hdbInfoController.ts +34 -1
- package/dataLayer/insert.ts +44 -1
- package/dataLayer/rocksdbBackup.ts +53 -10
- package/dataLayer/schema.ts +11 -1
- package/dataLayer/schemaDescribe.ts +8 -1
- package/dist/agent/mcpTools.js +1 -1
- package/dist/agent/mcpTools.js.map +1 -1
- package/dist/agent/session.d.ts +22 -0
- package/dist/agent/session.js +26 -15
- package/dist/agent/session.js.map +1 -1
- package/dist/bin/cliOperations.js +61 -9
- package/dist/bin/cliOperations.js.map +1 -1
- package/dist/bin/copyDb.d.ts +12 -1
- package/dist/bin/copyDb.js +248 -60
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/bin/deploySetup.d.ts +2 -0
- package/dist/bin/deploySetup.js +11 -3
- package/dist/bin/deploySetup.js.map +1 -1
- package/dist/bin/harper.js +1 -1
- package/dist/bin/harper.js.map +1 -1
- package/dist/bin/help.js +4 -1
- package/dist/bin/help.js.map +1 -1
- package/dist/bin/lite.js +4 -1
- package/dist/bin/lite.js.map +1 -1
- package/dist/bin/restart.js +91 -6
- package/dist/bin/restart.js.map +1 -1
- package/dist/bin/run.js +4 -10
- package/dist/bin/run.js.map +1 -1
- package/dist/bin/upgrade.js +4 -3
- package/dist/bin/upgrade.js.map +1 -1
- package/dist/bin/workloadIdentity.d.ts +18 -0
- package/dist/bin/workloadIdentity.js +100 -0
- package/dist/bin/workloadIdentity.js.map +1 -0
- package/dist/components/Application.d.ts +235 -17
- package/dist/components/Application.js +3038 -238
- package/dist/components/Application.js.map +1 -1
- package/dist/components/ApplicationScope.d.ts +8 -0
- package/dist/components/ApplicationScope.js +7 -0
- package/dist/components/ApplicationScope.js.map +1 -1
- package/dist/components/EntryHandler.js +26 -10
- package/dist/components/EntryHandler.js.map +1 -1
- package/dist/components/OptionsWatcher.d.ts +4 -0
- package/dist/components/OptionsWatcher.js +440 -99
- package/dist/components/OptionsWatcher.js.map +1 -1
- package/dist/components/RuntimeModuleTracker.js +40 -6
- package/dist/components/RuntimeModuleTracker.js.map +1 -1
- package/dist/components/Scope.js +52 -13
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/awaitRestart.d.ts +33 -0
- package/dist/components/awaitRestart.js +61 -0
- package/dist/components/awaitRestart.js.map +1 -0
- package/dist/components/componentLoader.d.ts +38 -1
- package/dist/components/componentLoader.js +313 -24
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/componentPreparationLock.d.ts +5 -0
- package/dist/components/componentPreparationLock.js +14 -6
- package/dist/components/componentPreparationLock.js.map +1 -1
- package/dist/components/deploymentOperations.js +4 -1
- package/dist/components/deploymentOperations.js.map +1 -1
- package/dist/components/deploymentRecorder.d.ts +4 -2
- package/dist/components/deploymentRecorder.js +1 -0
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/mcp/adapters/harperHttp.js +4 -0
- package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
- package/dist/components/mcp/listChanged.js +5 -0
- package/dist/components/mcp/listChanged.js.map +1 -1
- package/dist/components/mcp/toolRegistry.d.ts +1 -0
- package/dist/components/mcp/toolRegistry.js.map +1 -1
- package/dist/components/mcp/tools/operations.d.ts +5 -0
- package/dist/components/mcp/tools/operations.js +9 -0
- package/dist/components/mcp/tools/operations.js.map +1 -1
- package/dist/components/mcp/tools/schemas/operationDescriptions.js +2 -2
- package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
- package/dist/components/operations.d.ts +28 -0
- package/dist/components/operations.js +476 -113
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.js +97 -3
- package/dist/components/operationsValidation.js.map +1 -1
- package/dist/components/packageComponent.js +24 -0
- package/dist/components/packageComponent.js.map +1 -1
- package/dist/components/requestRestart.d.ts +1 -0
- package/dist/components/requestRestart.js +7 -0
- package/dist/components/requestRestart.js.map +1 -1
- package/dist/components/status/ComponentStatusRegistry.d.ts +0 -4
- package/dist/components/status/ComponentStatusRegistry.js +63 -0
- package/dist/components/status/ComponentStatusRegistry.js.map +1 -1
- package/dist/config/RootConfigWatcher.d.ts +9 -1
- package/dist/config/RootConfigWatcher.js +228 -37
- package/dist/config/RootConfigWatcher.js.map +1 -1
- package/dist/config/configReadRetry.d.ts +8 -0
- package/dist/config/configReadRetry.js +62 -0
- package/dist/config/configReadRetry.js.map +1 -0
- package/dist/config/configUtils.d.ts +11 -2
- package/dist/config/configUtils.js +304 -47
- package/dist/config/configUtils.js.map +1 -1
- package/dist/config/harperConfigEnvVars.d.ts +16 -0
- package/dist/config/harperConfigEnvVars.js +162 -25
- package/dist/config/harperConfigEnvVars.js.map +1 -1
- package/dist/config/parseConfigFile.d.ts +4 -0
- package/dist/config/parseConfigFile.js +35 -0
- package/dist/config/parseConfigFile.js.map +1 -0
- package/dist/config/readConfigFileSync.d.ts +1 -0
- package/dist/config/readConfigFileSync.js +47 -0
- package/dist/config/readConfigFileSync.js.map +1 -0
- package/dist/config/watcherArming.d.ts +15 -0
- package/dist/config/watcherArming.js +59 -0
- package/dist/config/watcherArming.js.map +1 -0
- package/dist/dataLayer/blobBackup.d.ts +49 -20
- package/dist/dataLayer/blobBackup.js +139 -50
- package/dist/dataLayer/blobBackup.js.map +1 -1
- package/dist/dataLayer/delete.js +1 -1
- package/dist/dataLayer/delete.js.map +1 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +14 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.js +72 -12
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.d.ts +3 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js.map +1 -1
- package/dist/dataLayer/hdbInfoController.d.ts +10 -0
- package/dist/dataLayer/hdbInfoController.js +30 -1
- package/dist/dataLayer/hdbInfoController.js.map +1 -1
- package/dist/dataLayer/insert.d.ts +9 -1
- package/dist/dataLayer/insert.js +30 -0
- package/dist/dataLayer/insert.js.map +1 -1
- package/dist/dataLayer/rocksdbBackup.d.ts +2 -2
- package/dist/dataLayer/rocksdbBackup.js +45 -8
- package/dist/dataLayer/rocksdbBackup.js.map +1 -1
- package/dist/dataLayer/schema.js +8 -0
- package/dist/dataLayer/schema.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.js +8 -1
- package/dist/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +55 -0
- package/dist/resources/DatabaseTransaction.d.ts +77 -0
- package/dist/resources/DatabaseTransaction.js +586 -54
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +2 -1
- package/dist/resources/LMDBTransaction.js +43 -6
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/PrimaryRocksDatabase.d.ts +1 -0
- package/dist/resources/PrimaryRocksDatabase.js +49 -5
- package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
- package/dist/resources/RecordEncoder.d.ts +20 -0
- package/dist/resources/RecordEncoder.js +110 -9
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/RequestTarget.d.ts +2 -0
- package/dist/resources/RequestTarget.js.map +1 -1
- package/dist/resources/Resource.js +117 -24
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +28 -1
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/RocksIndexStore.d.ts +6 -1
- package/dist/resources/RocksIndexStore.js +24 -9
- package/dist/resources/RocksIndexStore.js.map +1 -1
- package/dist/resources/RocksTransactionLogStore.d.ts +24 -1
- package/dist/resources/RocksTransactionLogStore.js +160 -49
- package/dist/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/resources/Table.d.ts +165 -10
- package/dist/resources/Table.js +1805 -303
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.js +10 -3
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/auditStore.d.ts +181 -2
- package/dist/resources/auditStore.js +640 -29
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/blob.d.ts +129 -9
- package/dist/resources/blob.js +992 -114
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/branchDatabase.d.ts +48 -0
- package/dist/resources/branchDatabase.js +892 -0
- package/dist/resources/branchDatabase.js.map +1 -0
- package/dist/resources/crdt.js +50 -12
- package/dist/resources/crdt.js.map +1 -1
- package/dist/resources/dataLoader.js +3 -4
- package/dist/resources/dataLoader.js.map +1 -1
- package/dist/resources/databases.d.ts +157 -14
- package/dist/resources/databases.js +1462 -325
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/defineTable.d.ts +10 -2
- package/dist/resources/defineTable.js +9 -1
- package/dist/resources/defineTable.js.map +1 -1
- package/dist/resources/derivedIndexRegistry.d.ts +5 -0
- package/dist/resources/derivedIndexRegistry.js +68 -0
- package/dist/resources/derivedIndexRegistry.js.map +1 -0
- package/dist/resources/derivedIndexRuntime.d.ts +215 -0
- package/dist/resources/derivedIndexRuntime.js +2027 -0
- package/dist/resources/derivedIndexRuntime.js.map +1 -0
- package/dist/resources/graphql.d.ts +1 -1
- package/dist/resources/graphql.js +52 -16
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +103 -9
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +854 -41
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/indexes/hnswDerivedIndex.d.ts +67 -0
- package/dist/resources/indexes/hnswDerivedIndex.js +464 -0
- package/dist/resources/indexes/hnswDerivedIndex.js.map +1 -0
- package/dist/resources/indexes/hnswPlaneBinding.d.ts +65 -0
- package/dist/resources/indexes/hnswPlaneBinding.js +91 -0
- package/dist/resources/indexes/hnswPlaneBinding.js.map +1 -0
- package/dist/resources/longLivedTransactions.d.ts +71 -0
- package/dist/resources/longLivedTransactions.js +358 -0
- package/dist/resources/longLivedTransactions.js.map +1 -0
- package/dist/resources/models/backendRegistry.d.ts +26 -0
- package/dist/resources/models/backendRegistry.js +60 -2
- package/dist/resources/models/backendRegistry.js.map +1 -1
- package/dist/resources/models/bootstrap.d.ts +33 -1
- package/dist/resources/models/bootstrap.js +416 -31
- package/dist/resources/models/bootstrap.js.map +1 -1
- package/dist/resources/nodeIdMapping.d.ts +5 -0
- package/dist/resources/nodeIdMapping.js +49 -0
- package/dist/resources/nodeIdMapping.js.map +1 -1
- package/dist/resources/recordLock.d.ts +123 -0
- package/dist/resources/recordLock.js +315 -0
- package/dist/resources/recordLock.js.map +1 -0
- package/dist/resources/recordLockCoordinator.d.ts +557 -0
- package/dist/resources/recordLockCoordinator.js +2565 -0
- package/dist/resources/recordLockCoordinator.js.map +1 -0
- package/dist/resources/replayLogs.d.ts +14 -1
- package/dist/resources/replayLogs.js +157 -24
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/replayLogsGuards.d.ts +94 -7
- package/dist/resources/replayLogsGuards.js +111 -7
- package/dist/resources/replayLogsGuards.js.map +1 -1
- package/dist/resources/replicatedApplyFailure.d.ts +16 -0
- package/dist/resources/replicatedApplyFailure.js +63 -0
- package/dist/resources/replicatedApplyFailure.js.map +1 -0
- package/dist/resources/scheduler/scheduler.js +3 -3
- package/dist/resources/scheduler/scheduler.js.map +1 -1
- package/dist/resources/search.d.ts +10 -4
- package/dist/resources/search.js +283 -37
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/tracked.d.ts +5 -1
- package/dist/resources/tracked.js +74 -23
- package/dist/resources/tracked.js.map +1 -1
- package/dist/resources/transactionBroadcast.d.ts +1 -1
- package/dist/resources/transactionBroadcast.js +2 -2
- package/dist/resources/transactionBroadcast.js.map +1 -1
- package/dist/security/auth.js +61 -30
- package/dist/security/auth.js.map +1 -1
- package/dist/security/authn/oidc/claims.d.ts +22 -0
- package/dist/security/authn/oidc/claims.js +71 -0
- package/dist/security/authn/oidc/claims.js.map +1 -0
- package/dist/security/authn/oidc/identityToken.d.ts +27 -0
- package/dist/security/authn/oidc/identityToken.js +111 -0
- package/dist/security/authn/oidc/identityToken.js.map +1 -0
- package/dist/security/authn/oidc/jwks.d.ts +25 -0
- package/dist/security/authn/oidc/jwks.js +261 -0
- package/dist/security/authn/oidc/jwks.js.map +1 -0
- package/dist/security/authn/oidc/providers/generic.d.ts +13 -0
- package/dist/security/authn/oidc/providers/generic.js +34 -0
- package/dist/security/authn/oidc/providers/generic.js.map +1 -0
- package/dist/security/authn/oidc/providers/githubActions.d.ts +11 -0
- package/dist/security/authn/oidc/providers/githubActions.js +129 -0
- package/dist/security/authn/oidc/providers/githubActions.js.map +1 -0
- package/dist/security/authn/oidc/providers/index.d.ts +37 -0
- package/dist/security/authn/oidc/providers/index.js +24 -0
- package/dist/security/authn/oidc/providers/index.js.map +1 -0
- package/dist/security/authn/oidc/tokenExchange.d.ts +12 -0
- package/dist/security/authn/oidc/tokenExchange.js +306 -0
- package/dist/security/authn/oidc/tokenExchange.js.map +1 -0
- package/dist/security/authn/oidc/trustPolicyOperations.d.ts +49 -0
- package/dist/security/authn/oidc/trustPolicyOperations.js +358 -0
- package/dist/security/authn/oidc/trustPolicyOperations.js.map +1 -0
- package/dist/security/authn/oidc/types.d.ts +38 -0
- package/dist/security/authn/oidc/types.js +6 -0
- package/dist/security/authn/oidc/types.js.map +1 -0
- package/dist/security/certificateVerification/index.js +40 -11
- package/dist/security/certificateVerification/index.js.map +1 -1
- package/dist/security/certificateVerification/trustedIssuers.d.ts +24 -0
- package/dist/security/certificateVerification/trustedIssuers.js +79 -0
- package/dist/security/certificateVerification/trustedIssuers.js.map +1 -0
- package/dist/security/certificateVerification/types.d.ts +1 -0
- package/dist/security/credentialProvenance.d.ts +35 -0
- package/dist/security/credentialProvenance.js +51 -0
- package/dist/security/credentialProvenance.js.map +1 -0
- package/dist/security/credentialRejection.d.ts +4 -0
- package/dist/security/credentialRejection.js +24 -0
- package/dist/security/credentialRejection.js.map +1 -0
- package/dist/security/deferredAuthentication.d.ts +36 -0
- package/dist/security/deferredAuthentication.js +70 -0
- package/dist/security/deferredAuthentication.js.map +1 -0
- package/dist/security/impersonation.d.ts +21 -0
- package/dist/security/impersonation.js +108 -9
- package/dist/security/impersonation.js.map +1 -1
- package/dist/security/jsLoader.d.ts +6 -0
- package/dist/security/jsLoader.js +77 -15
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/keys.js +301 -71
- package/dist/security/keys.js.map +1 -1
- package/dist/security/operationScope.d.ts +21 -0
- package/dist/security/operationScope.js +36 -0
- package/dist/security/operationScope.js.map +1 -0
- package/dist/security/permissionsTranslator.js +21 -0
- package/dist/security/permissionsTranslator.js.map +1 -1
- package/dist/security/tokenAuthentication.d.ts +19 -1
- package/dist/security/tokenAuthentication.js +191 -10
- package/dist/security/tokenAuthentication.js.map +1 -1
- package/dist/security/user.js +4 -3
- package/dist/security/user.js.map +1 -1
- package/dist/server/DurableSubscriptionsSession.d.ts +2 -2
- package/dist/server/DurableSubscriptionsSession.js +67 -10
- package/dist/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/server/REST.js +106 -2
- package/dist/server/REST.js.map +1 -1
- package/dist/server/graphqlQuerying.js +4 -0
- package/dist/server/graphqlQuerying.js.map +1 -1
- package/dist/server/http.d.ts +16 -1
- package/dist/server/http.js +122 -17
- package/dist/server/http.js.map +1 -1
- package/dist/server/itc/serverHandlers.js +8 -1
- package/dist/server/itc/serverHandlers.js.map +1 -1
- package/dist/server/jobs/jobProcess.js +6 -2
- package/dist/server/jobs/jobProcess.js.map +1 -1
- package/dist/server/jobs/jobs.js +4 -1
- package/dist/server/jobs/jobs.js.map +1 -1
- package/dist/server/liveSubscriptionAuth.d.ts +26 -4
- package/dist/server/liveSubscriptionAuth.js +105 -39
- package/dist/server/liveSubscriptionAuth.js.map +1 -1
- package/dist/server/loadRootComponents.js +49 -10
- package/dist/server/loadRootComponents.js.map +1 -1
- package/dist/server/mqtt.d.ts +2 -0
- package/dist/server/mqtt.js +165 -30
- package/dist/server/mqtt.js.map +1 -1
- package/dist/server/nodeName.d.ts +2 -0
- package/dist/server/nodeName.js +107 -23
- package/dist/server/nodeName.js.map +1 -1
- package/dist/server/serverHelpers/Headers.d.ts +27 -0
- package/dist/server/serverHelpers/Headers.js +145 -1
- package/dist/server/serverHelpers/Headers.js.map +1 -1
- package/dist/server/serverHelpers/NodeAdapterResponse.d.ts +48 -0
- package/dist/server/serverHelpers/NodeAdapterResponse.js +220 -0
- package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -0
- package/dist/server/serverHelpers/Request.d.ts +5 -10
- package/dist/server/serverHelpers/Request.js +38 -136
- package/dist/server/serverHelpers/Request.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.d.ts +11 -0
- package/dist/server/serverHelpers/contentTypes.js +221 -40
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/deployValidationState.d.ts +3 -0
- package/dist/server/serverHelpers/deployValidationState.js +9 -19
- package/dist/server/serverHelpers/deployValidationState.js.map +1 -1
- package/dist/server/serverHelpers/operationAuthorizationState.d.ts +12 -0
- package/dist/server/serverHelpers/operationAuthorizationState.js +24 -2
- package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -1
- package/dist/server/serverHelpers/registeredOperations.d.ts +5 -4
- package/dist/server/serverHelpers/registeredOperations.js +74 -21
- package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
- package/dist/server/serverHelpers/requestSanitization.d.ts +11 -0
- package/dist/server/serverHelpers/requestSanitization.js +20 -0
- package/dist/server/serverHelpers/requestSanitization.js.map +1 -0
- package/dist/server/serverHelpers/serverHandlers.js +6 -3
- package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.d.ts +18 -0
- package/dist/server/serverHelpers/serverUtilities.js +178 -29
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/serverHelpers/sharedMessageEncoding.d.ts +67 -0
- package/dist/server/serverHelpers/sharedMessageEncoding.js +280 -0
- package/dist/server/serverHelpers/sharedMessageEncoding.js.map +1 -0
- package/dist/server/serverHelpers/uwsServer.js +19 -1
- package/dist/server/serverHelpers/uwsServer.js.map +1 -1
- package/dist/server/static.js +24 -28
- package/dist/server/static.js.map +1 -1
- package/dist/server/storageReclamation.d.ts +5 -0
- package/dist/server/storageReclamation.js +17 -1
- package/dist/server/storageReclamation.js.map +1 -1
- package/dist/server/threads/isolatedApplications.d.ts +47 -0
- package/dist/server/threads/isolatedApplications.js +171 -0
- package/dist/server/threads/isolatedApplications.js.map +1 -0
- package/dist/server/threads/itc.d.ts +7 -2
- package/dist/server/threads/itc.js +5 -1
- package/dist/server/threads/itc.js.map +1 -1
- package/dist/server/threads/logRotationTransport.d.ts +1 -0
- package/dist/server/threads/logRotationTransport.js +33 -0
- package/dist/server/threads/logRotationTransport.js.map +1 -0
- package/dist/server/threads/manageThreads.d.ts +83 -3
- package/dist/server/threads/manageThreads.js +769 -75
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.d.ts +1 -0
- package/dist/server/threads/socketRouter.js +277 -31
- package/dist/server/threads/socketRouter.js.map +1 -1
- package/dist/server/threads/threadHeapMemory.d.ts +2 -0
- package/dist/server/threads/threadHeapMemory.js +31 -0
- package/dist/server/threads/threadHeapMemory.js.map +1 -0
- package/dist/server/threads/threadServer.js +76 -22
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/sqlEngine/config.d.ts +1 -3
- package/dist/sqlEngine/config.js +19 -16
- package/dist/sqlEngine/config.js.map +1 -1
- package/dist/sqlTranslator/index.d.ts +1 -1
- package/dist/sqlTranslator/index.js +30 -7
- package/dist/sqlTranslator/index.js.map +1 -1
- package/dist/upgrade/directives/5-3-0.d.ts +7 -0
- package/dist/upgrade/directives/5-3-0.js +148 -0
- package/dist/upgrade/directives/5-3-0.js.map +1 -0
- package/dist/upgrade/directives/directivesController.js +2 -1
- package/dist/upgrade/directives/directivesController.js.map +1 -1
- package/dist/utility/OperationFunctionCaller.js +2 -1
- package/dist/utility/OperationFunctionCaller.js.map +1 -1
- package/dist/utility/common_utils.d.ts +16 -0
- package/dist/utility/common_utils.js +32 -6
- package/dist/utility/common_utils.js.map +1 -1
- package/dist/utility/componentNames.d.ts +8 -0
- package/dist/utility/componentNames.js +12 -1
- package/dist/utility/componentNames.js.map +1 -1
- package/dist/utility/environment/environmentManager.js +3 -6
- package/dist/utility/environment/environmentManager.js.map +1 -1
- package/dist/utility/environment/systemInformation.d.ts +1 -0
- package/dist/utility/environment/systemInformation.js +1 -0
- package/dist/utility/environment/systemInformation.js.map +1 -1
- package/dist/utility/errors/commonErrors.d.ts +2 -0
- package/dist/utility/errors/commonErrors.js +2 -0
- package/dist/utility/errors/commonErrors.js.map +1 -1
- package/dist/utility/errors/hdbError.d.ts +33 -0
- package/dist/utility/errors/hdbError.js +58 -1
- package/dist/utility/errors/hdbError.js.map +1 -1
- package/dist/utility/globalSchema.d.ts +18 -0
- package/dist/utility/hdbTerms.d.ts +18 -0
- package/dist/utility/hdbTerms.js +20 -2
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/logging/harper_logger.d.ts +2 -0
- package/dist/utility/logging/harper_logger.js +286 -30
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/dist/utility/logging/logGenerationCoordinator.d.ts +35 -0
- package/dist/utility/logging/logGenerationCoordinator.js +184 -0
- package/dist/utility/logging/logGenerationCoordinator.js.map +1 -0
- package/dist/utility/logging/logRotation.d.ts +46 -0
- package/dist/utility/logging/logRotation.js +365 -0
- package/dist/utility/logging/logRotation.js.map +1 -0
- package/dist/utility/logging/logRotator.d.ts +1 -1
- package/dist/utility/logging/logRotator.js +192 -85
- package/dist/utility/logging/logRotator.js.map +1 -1
- package/dist/utility/nodeIdentity.d.ts +9 -0
- package/dist/utility/nodeIdentity.js +58 -0
- package/dist/utility/nodeIdentity.js.map +1 -0
- package/dist/utility/npmUtilities.js +11 -7
- package/dist/utility/npmUtilities.js.map +1 -1
- package/dist/utility/operationPermissions.d.ts +3 -1
- package/dist/utility/operationPermissions.js +16 -1
- package/dist/utility/operationPermissions.js.map +1 -1
- package/dist/utility/operation_authorization.d.ts +10 -7
- package/dist/utility/operation_authorization.js +212 -41
- package/dist/utility/operation_authorization.js.map +1 -1
- package/dist/utility/watchPath.d.ts +29 -0
- package/dist/utility/watchPath.js +68 -0
- package/dist/utility/watchPath.js.map +1 -0
- package/dist/utility/watcherFallback.d.ts +41 -0
- package/dist/utility/watcherFallback.js +153 -0
- package/dist/utility/watcherFallback.js.map +1 -1
- package/dist/validation/configValidator.d.ts +12 -0
- package/dist/validation/configValidator.js +205 -75
- package/dist/validation/configValidator.js.map +1 -1
- package/dist/validation/installValidator.js +12 -0
- package/dist/validation/installValidator.js.map +1 -1
- package/dist/validation/validationWrapper.d.ts +11 -0
- package/dist/validation/validationWrapper.js +16 -3
- package/dist/validation/validationWrapper.js.map +1 -1
- package/index.ts +8 -0
- package/json/systemSchema.json +55 -0
- package/npm-shrinkwrap.json +286 -194
- package/package.json +15 -7
- package/resources/DESIGN.md +219 -52
- package/resources/DatabaseTransaction.ts +657 -52
- package/resources/LMDBTransaction.ts +46 -6
- package/resources/PrimaryRocksDatabase.ts +46 -7
- package/resources/RecordEncoder.ts +124 -9
- package/resources/RequestTarget.ts +2 -0
- package/resources/Resource.ts +114 -22
- package/resources/ResourceInterface.ts +31 -0
- package/resources/RocksIndexStore.ts +30 -9
- package/resources/RocksTransactionLogStore.ts +188 -51
- package/resources/Table.ts +1960 -301
- package/resources/analytics/write.ts +10 -3
- package/resources/auditStore.ts +647 -32
- package/resources/blob.ts +1029 -110
- package/resources/branchDatabase.ts +941 -0
- package/resources/crdt.ts +76 -12
- package/resources/dataLoader.ts +3 -4
- package/resources/databases.ts +1584 -320
- package/resources/defineTable.ts +18 -2
- package/resources/derivedIndexRegistry.ts +56 -0
- package/resources/derivedIndexRuntime.ts +2292 -0
- package/resources/graphql.ts +72 -17
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +911 -48
- package/resources/indexes/hnswDerivedIndex.ts +531 -0
- package/resources/indexes/hnswPlaneBinding.ts +174 -0
- package/resources/longLivedTransactions.ts +360 -0
- package/resources/models/backendRegistry.ts +84 -2
- package/resources/models/bootstrap.ts +473 -28
- package/resources/nodeIdMapping.ts +50 -0
- package/resources/recordLock.ts +419 -0
- package/resources/recordLockCoordinator.ts +3043 -0
- package/resources/replayLogs.ts +152 -26
- package/resources/replayLogsGuards.ts +171 -8
- package/resources/replicatedApplyFailure.ts +77 -0
- package/resources/scheduler/scheduler.ts +4 -4
- package/resources/search.ts +288 -46
- package/resources/tracked.ts +73 -22
- package/resources/transactionBroadcast.ts +3 -3
- package/security/auth.ts +68 -29
- package/security/authn/oidc/claims.ts +72 -0
- package/security/authn/oidc/identityToken.ts +129 -0
- package/security/authn/oidc/jwks.ts +260 -0
- package/security/authn/oidc/providers/generic.ts +40 -0
- package/security/authn/oidc/providers/githubActions.ts +137 -0
- package/security/authn/oidc/providers/index.ts +52 -0
- package/security/authn/oidc/tokenExchange.ts +300 -0
- package/security/authn/oidc/trustPolicyOperations.ts +343 -0
- package/security/authn/oidc/types.ts +41 -0
- package/security/certificateVerification/index.ts +54 -13
- package/security/certificateVerification/trustedIssuers.ts +76 -0
- package/security/certificateVerification/types.ts +1 -0
- package/security/credentialProvenance.ts +47 -0
- package/security/credentialRejection.ts +22 -0
- package/security/deferredAuthentication.ts +71 -0
- package/security/impersonation.ts +117 -12
- package/security/jsLoader.ts +83 -18
- package/security/keys.ts +298 -72
- package/security/operationScope.ts +33 -0
- package/security/permissionsTranslator.js +23 -0
- package/security/tokenAuthentication.ts +233 -12
- package/security/user.ts +4 -3
- package/server/DESIGN.md +194 -16
- package/server/DurableSubscriptionsSession.ts +71 -11
- package/server/REST.ts +115 -4
- package/server/graphqlQuerying.ts +4 -0
- package/server/http.ts +133 -20
- package/server/itc/serverHandlers.js +8 -1
- package/server/jobs/jobProcess.ts +8 -2
- package/server/jobs/jobs.ts +4 -1
- package/server/liveSubscriptionAuth.ts +129 -46
- package/server/loadRootComponents.js +50 -8
- package/server/mqtt.ts +179 -38
- package/server/nodeName.ts +103 -21
- package/server/serverHelpers/Headers.ts +135 -0
- package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
- package/server/serverHelpers/Request.ts +33 -131
- package/server/serverHelpers/contentTypes.ts +217 -36
- package/server/serverHelpers/deployValidationState.ts +24 -13
- package/server/serverHelpers/operationAuthorizationState.ts +34 -3
- package/server/serverHelpers/registeredOperations.ts +79 -22
- package/server/serverHelpers/requestSanitization.ts +15 -0
- package/server/serverHelpers/serverHandlers.js +6 -3
- package/server/serverHelpers/serverUtilities.ts +232 -40
- package/server/serverHelpers/sharedMessageEncoding.ts +307 -0
- package/server/serverHelpers/uwsServer.ts +17 -2
- package/server/static.ts +23 -29
- package/server/storageReclamation.ts +15 -2
- package/server/threads/isolatedApplications.ts +157 -0
- package/server/threads/itc.js +11 -1
- package/server/threads/logRotationTransport.ts +40 -0
- package/server/threads/manageThreads.js +771 -66
- package/server/threads/socketRouter.ts +291 -30
- package/server/threads/threadHeapMemory.ts +26 -0
- package/server/threads/threadServer.js +73 -22
- package/sqlTranslator/index.ts +31 -8
- package/studio/web/assets/{Chat-4RrB5134.js → Chat-D3j-1yY1.js} +1 -1
- package/studio/web/assets/{FloatingChat-omlNMDcJ.js → FloatingChat-BxJGYcfB.js} +3 -3
- package/studio/web/assets/{apiToken-Bke3wvfZ.js → apiToken-CT55oWOe.js} +1 -1
- package/studio/web/assets/{applications-DvFDYJgK.js → applications-D9Ct9_vm.js} +1 -1
- package/studio/web/assets/{cssMode-C1vRa7zh.js → cssMode-DV8H7VwA.js} +1 -1
- package/studio/web/assets/{editor-3XRWEDWX.js → editor-uatc0unt.js} +1 -1
- package/studio/web/assets/{html-CTY5tdMr.js → html-Bm6D6paN.js} +1 -1
- package/studio/web/assets/{htmlMode-CG1vSD9t.js → htmlMode-CEn7tpLG.js} +1 -1
- package/studio/web/assets/{index-Dfpeofdu.js → index-BIXW6Pu4.js} +5 -5
- package/studio/web/assets/{index.lazy-B1VOIv-t.js → index.lazy-UI7L-Vrk.js} +1 -1
- package/studio/web/assets/{javascript-CJeJzGnI.js → javascript-CJ0G3AFZ.js} +1 -1
- package/studio/web/assets/{jsonMode-CYPBwM82.js → jsonMode-DQADAYEa.js} +1 -1
- package/studio/web/assets/{languageServices-IKH4GUHl.js → languageServices-CAQJXWcI.js} +1 -1
- package/studio/web/assets/{lspLanguageFeatures-BC8_gxKG.js → lspLanguageFeatures-CCQ8P5sY.js} +1 -1
- package/studio/web/assets/{notifications-BfKBpYcq.js → notifications-BbxTU6Aw.js} +1 -1
- package/studio/web/assets/{notifications-DFbArTfC.js → notifications-Cvb3P1lB.js} +1 -1
- package/studio/web/assets/{profile-Q4-T6c-S.js → profile-Yyb7gsvL.js} +1 -1
- package/studio/web/assets/{regions-CtkV0xje.js → regions-OgjGHlU5.js} +1 -1
- package/studio/web/assets/{register-1ZZuMsiA.js → register-6qwNEOY3.js} +2 -2
- package/studio/web/assets/{setComponentFile-ZWLcWv5X.js → setComponentFile-BilDMtgB.js} +1 -1
- package/studio/web/assets/{setup-DWprJyJy.js → setup-J6qJ7OIU.js} +2 -2
- package/studio/web/assets/{status--aNm8isn.js → status-0RWGcfyD.js} +1 -1
- package/studio/web/assets/{toggleHighContrast-Cq_lt3XD.js → toggleHighContrast-BIn-vErT.js} +1 -1
- package/studio/web/assets/{tsMode-pjgytARx.js → tsMode-DgUXku4d.js} +1 -1
- package/studio/web/assets/{typescript-Cdg0mqUh.js → typescript-C9orXcsM.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-RZhaY8Rn.js → useEntityRestURL-BEoXXbUB.js} +1 -1
- package/studio/web/assets/{workers-BgoXIqQe.js → workers-JVzSDmgx.js} +1 -1
- package/studio/web/assets/{xml-BwSeDMiP.js → xml-Cq-S8S4X.js} +1 -1
- package/studio/web/assets/{yaml-DotCUG5l.js → yaml-sfoRdh1M.js} +1 -1
- package/studio/web/index.html +1 -1
- package/upgrade/directives/5-3-0.ts +132 -0
- package/upgrade/directives/directivesController.ts +2 -1
- package/utility/OperationFunctionCaller.ts +2 -1
- package/utility/common_utils.ts +30 -5
- package/utility/componentNames.ts +12 -0
- package/utility/environment/environmentManager.ts +3 -7
- package/utility/environment/systemInformation.ts +7 -0
- package/utility/errors/commonErrors.ts +4 -0
- package/utility/errors/hdbError.ts +57 -0
- package/utility/hdbTerms.ts +19 -0
- package/utility/logging/harper_logger.ts +278 -26
- package/utility/logging/logGenerationCoordinator.ts +196 -0
- package/utility/logging/logRotation.ts +367 -0
- package/utility/logging/logRotator.ts +213 -81
- package/utility/nodeIdentity.ts +45 -0
- package/utility/npmUtilities.ts +12 -8
- package/utility/operationPermissions.ts +18 -1
- package/utility/operation_authorization.ts +231 -42
- package/utility/watchPath.ts +63 -0
- package/utility/watcherFallback.ts +148 -0
- package/validation/configValidator.ts +215 -75
- package/validation/installValidator.ts +15 -0
- package/validation/validationWrapper.ts +18 -4
package/dist/server/http.js
CHANGED
|
@@ -43,6 +43,7 @@ exports.markUdsBindFailed = markUdsBindFailed;
|
|
|
43
43
|
exports.cleanupUdsFiles = cleanupUdsFiles;
|
|
44
44
|
exports.writeUdsMetadata = writeUdsMetadata;
|
|
45
45
|
exports.cleanupSocketsDirectory = cleanupSocketsDirectory;
|
|
46
|
+
exports.cleanupApplicationSockets = cleanupApplicationSockets;
|
|
46
47
|
exports._resetSecurityHeadersOwnedForTest = _resetSecurityHeadersOwnedForTest;
|
|
47
48
|
exports.handleApplication = handleApplication;
|
|
48
49
|
exports.getHttpOptions = getHttpOptions;
|
|
@@ -51,7 +52,10 @@ exports.proxyRequest = proxyRequest;
|
|
|
51
52
|
exports.registerServer = registerServer;
|
|
52
53
|
exports.httpServer = httpServer;
|
|
53
54
|
exports.pipeBodyToResponse = pipeBodyToResponse;
|
|
55
|
+
exports.makeUwsHandler = makeUwsHandler;
|
|
54
56
|
exports.registerFastifyInstance = registerFastifyInstance;
|
|
57
|
+
exports.registerFallbackServer = registerFallbackServer;
|
|
58
|
+
exports.bunDelegateToNodeServer = bunDelegateToNodeServer;
|
|
55
59
|
exports.describeMiddlewareChains = describeMiddlewareChains;
|
|
56
60
|
exports.enableProxyProtocol = enableProxyProtocol;
|
|
57
61
|
exports.createH2CProxyFront = createH2CProxyFront;
|
|
@@ -70,6 +74,7 @@ const env = __importStar(require("../utility/environment/environmentManager.js")
|
|
|
70
74
|
const terms = __importStar(require("../utility/hdbTerms.js"));
|
|
71
75
|
const configUtils_ts_1 = require("../config/configUtils.js");
|
|
72
76
|
const manageThreads_js_1 = require("./threads/manageThreads.js");
|
|
77
|
+
const isolatedApplications_ts_1 = require("./threads/isolatedApplications.js");
|
|
73
78
|
const keys_ts_1 = require("../security/keys.js");
|
|
74
79
|
const node_http2_1 = require("node:http2");
|
|
75
80
|
const node_https_1 = require("node:https");
|
|
@@ -226,9 +231,21 @@ function cleanupUdsFiles() {
|
|
|
226
231
|
}
|
|
227
232
|
}
|
|
228
233
|
/** Write YAML metadata for a UDS mirror socket, describing the TLS certs from the corresponding secure server. */
|
|
229
|
-
function writeUdsMetadata(yamlPath, port, secureServer, protocol, mtlsForwarding = true) {
|
|
234
|
+
function writeUdsMetadata(yamlPath, port, secureServer, protocol, mtlsForwarding = true, route = (0, isolatedApplications_ts_1.isolatedApplicationRoute)()) {
|
|
230
235
|
const contexts = secureServer.secureContexts;
|
|
231
236
|
let yaml = `pid: ${process.pid}\ntid: ${(0, rocksdb_js_1.currentThreadId)()}\nport: ${port}\n`;
|
|
237
|
+
// Routing identity, separate from certificate coverage: a proxy sends this application's hosts to
|
|
238
|
+
// this socket alone, whatever hostnames the (shared, possibly wildcard) certificates carry.
|
|
239
|
+
if (route) {
|
|
240
|
+
yaml += `application: ${JSON.stringify(route.application)}\n`;
|
|
241
|
+
if (route.hosts.length === 0)
|
|
242
|
+
yaml += `applicationHosts: []\n`;
|
|
243
|
+
else {
|
|
244
|
+
yaml += `applicationHosts:\n`;
|
|
245
|
+
for (const host of route.hosts)
|
|
246
|
+
yaml += ` - ${JSON.stringify(host)}\n`;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
232
249
|
// Which application protocol this socket speaks (absent = http/1.1, the historical
|
|
233
250
|
// default) — lets a fronting proxy route by negotiated ALPN.
|
|
234
251
|
if (protocol)
|
|
@@ -301,6 +318,21 @@ function cleanupSocketsDirectory() {
|
|
|
301
318
|
}
|
|
302
319
|
catch { }
|
|
303
320
|
}
|
|
321
|
+
function cleanupApplicationSockets(application) {
|
|
322
|
+
const socketsDir = (0, node_path_1.join)(env.getHdbBasePath(), 'sockets');
|
|
323
|
+
const prefix = (0, isolatedApplications_ts_1.applicationSocketName)(application, '');
|
|
324
|
+
try {
|
|
325
|
+
for (const file of (0, node_fs_1.readdirSync)(socketsDir)) {
|
|
326
|
+
if (!file.startsWith(prefix) || (!file.endsWith('.sock') && !file.endsWith('.yaml')))
|
|
327
|
+
continue;
|
|
328
|
+
try {
|
|
329
|
+
(0, node_fs_1.unlinkSync)((0, node_path_1.join)(socketsDir, file));
|
|
330
|
+
}
|
|
331
|
+
catch { }
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
catch { }
|
|
335
|
+
}
|
|
304
336
|
// Entries in `universalHeaders` that were pushed by `applySecurityHeaders`, so a config
|
|
305
337
|
// hot-reload can remove exactly the entries it owns without clobbering entries pushed by
|
|
306
338
|
// other components.
|
|
@@ -546,7 +578,7 @@ function httpServer(listener, options) {
|
|
|
546
578
|
}
|
|
547
579
|
else if (Request_ts_1.isBun) {
|
|
548
580
|
// On Bun, store non-function listeners (e.g. Fastify's http.Server) for fallback delegation
|
|
549
|
-
|
|
581
|
+
registerFallbackServer(port, listener);
|
|
550
582
|
}
|
|
551
583
|
else if (httpServers[port]?.uws) {
|
|
552
584
|
// uWS HTTP path (#914, HARPER_UWS_HTTP): the port is backed by uWebSockets.js, not a Node
|
|
@@ -556,13 +588,13 @@ function httpServer(listener, options) {
|
|
|
556
588
|
// port. Divert it to the fallback map like the Bun path; makeUwsHandler delegates unhandled
|
|
557
589
|
// requests to it via inject(). The { uws: true } marker is guaranteed present here: the
|
|
558
590
|
// getServer(port) call above (same loop iteration) sets it before this branch runs.
|
|
559
|
-
|
|
591
|
+
registerFallbackServer(port, listener);
|
|
560
592
|
}
|
|
561
593
|
else {
|
|
562
594
|
listener.isSecure = secure;
|
|
563
595
|
registerServer(listener, port, false);
|
|
564
596
|
}
|
|
565
|
-
httpChain
|
|
597
|
+
buildChains(httpChain, httpResponders, port);
|
|
566
598
|
}
|
|
567
599
|
return servers;
|
|
568
600
|
}
|
|
@@ -595,9 +627,46 @@ function pipeBodyToResponse(body, nodeResponse, handlerPath, method, endTime) {
|
|
|
595
627
|
else {
|
|
596
628
|
(0, write_ts_1.recordAction)(performance.now() - endTime, 'transfer', handlerPath, method);
|
|
597
629
|
(0, write_ts_1.recordAction)(bytesSent, 'bytes-sent', handlerPath, method);
|
|
630
|
+
endConnectionIfClientExpectsClose(nodeResponse);
|
|
598
631
|
}
|
|
599
632
|
});
|
|
600
633
|
}
|
|
634
|
+
/**
|
|
635
|
+
* Bun's node:http never derives keep-alive from the request, so a stream-ended response delivers its
|
|
636
|
+
* full body and then leaves the client attached until its own timeout (#2210). Ending the *request's*
|
|
637
|
+
* socket is the only remedy that works there, and it is graceful, so nothing is truncated (measured
|
|
638
|
+
* on plain TCP and TLS). DESIGN.md carries the measurements and the alternatives that don't work.
|
|
639
|
+
*/
|
|
640
|
+
function endConnectionIfClientExpectsClose(nodeResponse) {
|
|
641
|
+
if (!Request_ts_1.isBun)
|
|
642
|
+
return;
|
|
643
|
+
const nodeRequest = nodeResponse.req;
|
|
644
|
+
if (nodeRequest?.httpVersionMajor !== 1)
|
|
645
|
+
return;
|
|
646
|
+
const socket = nodeRequest.socket;
|
|
647
|
+
// a peer that RSTs right after the terminal chunk can leave this callback holding a destroyed
|
|
648
|
+
// socket; end()ing it would throw from inside stream internals, i.e. an uncaughtException
|
|
649
|
+
if (!socket || socket.destroyed)
|
|
650
|
+
return;
|
|
651
|
+
const connection = nodeRequest.headers?.connection;
|
|
652
|
+
const tokens = typeof connection === 'string' ? connection.split(',') : [];
|
|
653
|
+
if (hasConnectionToken(tokens, 'close')) {
|
|
654
|
+
socket.end();
|
|
655
|
+
return;
|
|
656
|
+
}
|
|
657
|
+
// HTTP/1.0 persistence needs an explicit keep-alive AND a length to read to, so a 1.0 response
|
|
658
|
+
// that got no Content-Length is delimited by the close — the same line Node draws
|
|
659
|
+
if (nodeRequest.httpVersionMinor === 0 &&
|
|
660
|
+
!(hasConnectionToken(tokens, 'keep-alive') && nodeResponse.hasHeader?.('content-length')))
|
|
661
|
+
socket.end();
|
|
662
|
+
}
|
|
663
|
+
function hasConnectionToken(tokens, wanted) {
|
|
664
|
+
for (const token of tokens) {
|
|
665
|
+
if (token.trim().toLowerCase() === wanted)
|
|
666
|
+
return true;
|
|
667
|
+
}
|
|
668
|
+
return false;
|
|
669
|
+
}
|
|
601
670
|
function getHTTPServer(port, secure, options) {
|
|
602
671
|
const { mtls: isMtls, usageType } = options || {};
|
|
603
672
|
const isOperationsServer = usageType === 'operations-api';
|
|
@@ -693,9 +762,7 @@ function getHTTPServer(port, secure, options) {
|
|
|
693
762
|
// This means the HDB stack didn't handle the request, and we can then cascade the request
|
|
694
763
|
// to the server-level handler, forming the bridge to the slower legacy fastify framework that expects
|
|
695
764
|
// to interact with a node HTTP server object.
|
|
696
|
-
|
|
697
|
-
nodeResponse.setHeader(headerPair[0], headerPair[1]);
|
|
698
|
-
}
|
|
765
|
+
(0, Headers_ts_1.bridgeChainHeadersToNodeResponse)(response.headers, nodeResponse);
|
|
699
766
|
nodeRequest.baseRequest = request;
|
|
700
767
|
nodeResponse.baseResponse = response;
|
|
701
768
|
return httpServers[port].emit('unhandled', nodeRequest, nodeResponse);
|
|
@@ -897,7 +964,10 @@ function getHTTPServer(port, secure, options) {
|
|
|
897
964
|
if (secure && env.get(terms.CONFIG_PARAMS.TLS_UNIXDOMAINSOCKETS)) {
|
|
898
965
|
const socketsDir = (0, node_path_1.join)(env.getHdbBasePath(), 'sockets');
|
|
899
966
|
(0, node_fs_1.mkdirSync)(socketsDir, { recursive: true });
|
|
900
|
-
const
|
|
967
|
+
const isolatedApplication = (0, isolatedApplications_ts_1.thisThreadsIsolatedApplication)();
|
|
968
|
+
const socketName = isolatedApplication
|
|
969
|
+
? (0, isolatedApplications_ts_1.applicationSocketName)(isolatedApplication, port)
|
|
970
|
+
: `${(0, manageThreads_js_1.getWorkerIndex)()}-${port}`;
|
|
901
971
|
const udsPath = (0, node_path_1.join)(socketsDir, `${socketName}.sock`);
|
|
902
972
|
const yamlPath = (0, node_path_1.join)(socketsDir, `${socketName}.yaml`);
|
|
903
973
|
if (process.env.HARPER_UWS_UDS) {
|
|
@@ -1050,6 +1120,7 @@ function makeUwsHandler(port, isOperationsServer, requestQueueLimit) {
|
|
|
1050
1120
|
else
|
|
1051
1121
|
respHeaders.set(k, String(v));
|
|
1052
1122
|
}
|
|
1123
|
+
(0, Headers_ts_1.mergeChainHeadersIntoFallback)(headers, respHeaders);
|
|
1053
1124
|
if (exports.universalHeaders.length > 0)
|
|
1054
1125
|
applyUniversalHeaders(respHeaders);
|
|
1055
1126
|
logHttpRequest(request, injectResult.statusCode, requestId, performance.now() - startTime);
|
|
@@ -1075,6 +1146,7 @@ function makeUwsHandler(port, isOperationsServer, requestQueueLimit) {
|
|
|
1075
1146
|
}
|
|
1076
1147
|
logHttpRequest(request, 404, requestId, performance.now() - startTime);
|
|
1077
1148
|
const notFoundHeaders = new Headers_ts_1.Headers({ 'content-type': 'text/plain' });
|
|
1149
|
+
(0, Headers_ts_1.mergeChainHeadersIntoFallback)(headers, notFoundHeaders);
|
|
1078
1150
|
if (exports.universalHeaders.length > 0)
|
|
1079
1151
|
applyUniversalHeaders(notFoundHeaders);
|
|
1080
1152
|
return { status: 404, headers: notFoundHeaders, body: 'Not found\n' };
|
|
@@ -1245,10 +1317,11 @@ function getBunHTTPServer(port, secure, options) {
|
|
|
1245
1317
|
// Delegate to the fallback server (e.g. Fastify) via node:http compatibility.
|
|
1246
1318
|
// We create a Node-compatible IncomingMessage/ServerResponse and emit 'request'
|
|
1247
1319
|
// on the fallback server, then capture the response.
|
|
1248
|
-
return await bunDelegateToNodeServer(fallbackServer, webRequest, request);
|
|
1320
|
+
return await bunDelegateToNodeServer(fallbackServer, webRequest, request, response.headers);
|
|
1249
1321
|
}
|
|
1250
1322
|
logHttpRequest(request, 404, requestId, performance.now() - startTime);
|
|
1251
1323
|
const notFoundHeaders = new globalThis.Headers();
|
|
1324
|
+
(0, Headers_ts_1.mergeChainHeadersIntoFallback)(response.headers, notFoundHeaders);
|
|
1252
1325
|
if (exports.universalHeaders.length > 0)
|
|
1253
1326
|
applyUniversalHeaders(notFoundHeaders);
|
|
1254
1327
|
return new Response('Not found\n', { status: 404, headers: notFoundHeaders });
|
|
@@ -1444,6 +1517,9 @@ let fastifyInstances = {};
|
|
|
1444
1517
|
function registerFastifyInstance(port, instance) {
|
|
1445
1518
|
fastifyInstances[port] = instance;
|
|
1446
1519
|
}
|
|
1520
|
+
function registerFallbackServer(port, listener) {
|
|
1521
|
+
fallbackServers[port] = listener;
|
|
1522
|
+
}
|
|
1447
1523
|
const INTERNAL_USER_HEADER = 'x-harper-internal-pre-auth-user';
|
|
1448
1524
|
/**
|
|
1449
1525
|
* Run a request through a Fastify instance via inject() — its internal router, no socket needed.
|
|
@@ -1470,7 +1546,7 @@ function injectToFastify(fastify, req) {
|
|
|
1470
1546
|
}
|
|
1471
1547
|
return fastify.inject({ method: req.method, url: req.url, headers, payload: req.body, payloadAsStream: true });
|
|
1472
1548
|
}
|
|
1473
|
-
async function bunDelegateToNodeServer(nodeServer, webRequest, bunRequest) {
|
|
1549
|
+
async function bunDelegateToNodeServer(nodeServer, webRequest, bunRequest, chainHeaders) {
|
|
1474
1550
|
// Check if there's a Fastify instance registered for this port (preferred path)
|
|
1475
1551
|
for (const port in fallbackServers) {
|
|
1476
1552
|
if (fallbackServers[port] === nodeServer && fastifyInstances[port]) {
|
|
@@ -1490,14 +1566,25 @@ async function bunDelegateToNodeServer(nodeServer, webRequest, bunRequest) {
|
|
|
1490
1566
|
});
|
|
1491
1567
|
const webHeaders = new globalThis.Headers();
|
|
1492
1568
|
for (const [k, v] of Object.entries(injectResult.headers)) {
|
|
1493
|
-
if (v
|
|
1494
|
-
|
|
1569
|
+
if (v == null)
|
|
1570
|
+
continue;
|
|
1571
|
+
if (Array.isArray(v)) {
|
|
1572
|
+
if (k.toLowerCase() === 'set-cookie') {
|
|
1573
|
+
for (const single of v)
|
|
1574
|
+
webHeaders.append(k, String(single));
|
|
1575
|
+
}
|
|
1576
|
+
else
|
|
1577
|
+
webHeaders.set(k, v.join(', '));
|
|
1578
|
+
}
|
|
1579
|
+
else
|
|
1580
|
+
webHeaders.set(k, String(v));
|
|
1495
1581
|
}
|
|
1496
1582
|
// Propagate Connection: close so Bun closes the TCP connection after this response,
|
|
1497
1583
|
// preventing stale keep-alive sockets from causing silent hangs on subsequent requests.
|
|
1498
1584
|
if (webRequest.headers.get('connection')?.toLowerCase() === 'close') {
|
|
1499
1585
|
webHeaders.set('connection', 'close');
|
|
1500
1586
|
}
|
|
1587
|
+
(0, Headers_ts_1.mergeChainHeadersIntoFallback)(chainHeaders, webHeaders);
|
|
1501
1588
|
if (exports.universalHeaders.length > 0)
|
|
1502
1589
|
applyUniversalHeaders(webHeaders);
|
|
1503
1590
|
const responseStream = injectResult.stream();
|
|
@@ -1534,6 +1621,7 @@ async function bunDelegateToNodeServer(nodeServer, webRequest, bunRequest) {
|
|
|
1534
1621
|
}
|
|
1535
1622
|
// No Fastify instance found — return 404
|
|
1536
1623
|
const notFoundHeaders = new globalThis.Headers();
|
|
1624
|
+
(0, Headers_ts_1.mergeChainHeadersIntoFallback)(chainHeaders, notFoundHeaders);
|
|
1537
1625
|
if (exports.universalHeaders.length > 0)
|
|
1538
1626
|
applyUniversalHeaders(notFoundHeaders);
|
|
1539
1627
|
return new Response('Not found\n', { status: 404, headers: notFoundHeaders });
|
|
@@ -1541,13 +1629,30 @@ async function bunDelegateToNodeServer(nodeServer, webRequest, bunRequest) {
|
|
|
1541
1629
|
// Resolved order captured at chain-build time, keyed identically to httpChain/upgradeChains/
|
|
1542
1630
|
// websocketChains (kind → port → routes). Reporting the stored build-time order rather than
|
|
1543
1631
|
// recomputing from current responders guarantees get_status matches the callback chain actually
|
|
1544
|
-
// serving that port
|
|
1545
|
-
//
|
|
1632
|
+
// serving that port: buildChains() writes both in the same pass, so a description can never
|
|
1633
|
+
// describe an order the port isn't running (#1573).
|
|
1546
1634
|
const resolvedChainDescriptions = {
|
|
1547
1635
|
http: {},
|
|
1548
1636
|
upgrade: {},
|
|
1549
1637
|
websocket: {},
|
|
1550
1638
|
};
|
|
1639
|
+
// Preserve the original port type because route selection uses strict equality.
|
|
1640
|
+
const builtChainPorts = {
|
|
1641
|
+
http: new Map(),
|
|
1642
|
+
upgrade: new Map(),
|
|
1643
|
+
websocket: new Map(),
|
|
1644
|
+
};
|
|
1645
|
+
// A late registration on 'all' must rebuild every already-bound concrete port (#2418).
|
|
1646
|
+
function buildChains(chains, listeners, port, requestArgIndex = 0, kind = 'http') {
|
|
1647
|
+
builtChainPorts[kind].set(String(port), port);
|
|
1648
|
+
if (port !== 'all') {
|
|
1649
|
+
chains[port] = makeCallbackChain(listeners, port, requestArgIndex, kind);
|
|
1650
|
+
return;
|
|
1651
|
+
}
|
|
1652
|
+
for (const builtPort of builtChainPorts[kind].values()) {
|
|
1653
|
+
chains[builtPort] = makeCallbackChain(listeners, builtPort, requestArgIndex, kind);
|
|
1654
|
+
}
|
|
1655
|
+
}
|
|
1551
1656
|
function makeCallbackChain(responders, portNum, requestArgIndex = 0, kind = 'http') {
|
|
1552
1657
|
const onCycle = () => {
|
|
1553
1658
|
harper_logger_ts_1.default.warn(`Cycle detected in ${kind} middleware before/after ordering on port ${portNum}; falling back to registration order.`);
|
|
@@ -1649,7 +1754,7 @@ function onUpgrade(listener, options) {
|
|
|
1649
1754
|
host: options?.host || undefined,
|
|
1650
1755
|
};
|
|
1651
1756
|
upgradeListeners[options?.runFirst ? 'unshift' : 'push'](entry);
|
|
1652
|
-
upgradeChains
|
|
1757
|
+
buildChains(upgradeChains, upgradeListeners, port, 0, 'upgrade');
|
|
1653
1758
|
}
|
|
1654
1759
|
}
|
|
1655
1760
|
const websocketListeners = [], websocketChains = {};
|
|
@@ -1768,9 +1873,9 @@ function onWebSocket(listener, options) {
|
|
|
1768
1873
|
host: options?.host || undefined,
|
|
1769
1874
|
};
|
|
1770
1875
|
websocketListeners[options?.runFirst ? 'unshift' : 'push'](wsEntry);
|
|
1771
|
-
websocketChains
|
|
1876
|
+
buildChains(websocketChains, websocketListeners, port, 1, 'websocket');
|
|
1772
1877
|
// mqtt doesn't invoke the http handler so this needs to be here to load up the http chains.
|
|
1773
|
-
httpChain
|
|
1878
|
+
buildChains(httpChain, httpResponders, port);
|
|
1774
1879
|
}
|
|
1775
1880
|
return servers;
|
|
1776
1881
|
}
|
package/dist/server/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../server/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../server/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ const harperBridge = require("../../dataLayer/harperBridge/harperBridge.js").def
|
|
|
9
9
|
require("../../dataLayer/harperBridge/harperBridge.js");
|
|
10
10
|
const process = require('process');
|
|
11
11
|
const { isMainThread, threadId, workerData } = require('node:worker_threads');
|
|
12
|
-
const { resetDatabases, closeDatabase } = require("../../resources/databases.js");
|
|
12
|
+
const { resetDatabases, closeDatabase, reloadBranchAt } = require("../../resources/databases.js");
|
|
13
13
|
/**
|
|
14
14
|
* This object/functions are passed to the ITC client instance and dynamically added as event handlers.
|
|
15
15
|
* @type {{schema: ((function(*): Promise<void>)|*), job: ((function(*): Promise<void>)|*), user: ((function(): Promise<void>)|*)}}
|
|
@@ -67,6 +67,13 @@ schemaHandler.addListener = function (listener) {
|
|
|
67
67
|
*/
|
|
68
68
|
async function syncSchemaMetadata(msg) {
|
|
69
69
|
try {
|
|
70
|
+
// A change to a scope-private branch is not a change to any database in the global map, so the
|
|
71
|
+
// rescan below has nothing to find; a thread holding that branch open reloads it instead.
|
|
72
|
+
if (msg.branchPath) {
|
|
73
|
+
// No write barrier here: the symbol-keyed put below has never been one (harper#2522).
|
|
74
|
+
reloadBranchAt(msg.branchPath);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
70
77
|
// TODO: Eventually should indicate which database/table changed so we don't have to scan everything
|
|
71
78
|
let databases = resetDatabases();
|
|
72
79
|
if (msg.table && msg.database)
|