@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
|
@@ -41,14 +41,19 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
41
41
|
return path;
|
|
42
42
|
};
|
|
43
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
-
exports.getComponentName = exports.mainThreadInitialized = exports.loadedPaths = exports.TRUSTED_RESOURCE_PLUGINS = void 0;
|
|
44
|
+
exports._symlinkHarperModuleForTests = exports.getComponentName = exports.mainThreadInitialized = exports.loadedPaths = exports.TRUSTED_RESOURCE_PLUGINS = void 0;
|
|
45
|
+
exports.readyComponentModules = readyComponentModules;
|
|
45
46
|
exports.loadComponentDirectories = loadComponentDirectories;
|
|
47
|
+
exports.forgetLoadedPath = forgetLoadedPath;
|
|
48
|
+
exports.forgetLoadedModules = forgetLoadedModules;
|
|
49
|
+
exports.getErrorReporter = getErrorReporter;
|
|
46
50
|
exports.setErrorReporter = setErrorReporter;
|
|
47
51
|
exports.loadComponent = loadComponent;
|
|
48
52
|
const manageThreads_js_1 = require("../server/threads/manageThreads.js");
|
|
49
53
|
const node_fs_1 = require("node:fs");
|
|
50
54
|
const node_path_1 = require("node:path");
|
|
51
55
|
const node_worker_threads_1 = require("node:worker_threads");
|
|
56
|
+
const deployValidationState_ts_1 = require("../server/serverHelpers/deployValidationState.js");
|
|
52
57
|
const yaml_1 = require("yaml");
|
|
53
58
|
const env = __importStar(require("../utility/environment/environmentManager.js"));
|
|
54
59
|
const packageUtils_js_1 = require("../utility/packageUtils.js");
|
|
@@ -68,6 +73,9 @@ const manageThreads_js_2 = require("../server/threads/manageThreads.js");
|
|
|
68
73
|
const requestRestart_ts_1 = require("./requestRestart.js");
|
|
69
74
|
const scopeShutdown_ts_1 = require("./scopeShutdown.js");
|
|
70
75
|
const deployLifecycle_ts_1 = require("./deployLifecycle.js");
|
|
76
|
+
const Application_ts_1 = require("./Application.js");
|
|
77
|
+
const branchDatabase_ts_1 = require("../resources/branchDatabase.js");
|
|
78
|
+
const isolatedApplications_ts_1 = require("../server/threads/isolatedApplications.js");
|
|
71
79
|
const scopeMount_ts_1 = require("./scopeMount.js");
|
|
72
80
|
const jsLoader_ts_1 = require("../security/jsLoader.js");
|
|
73
81
|
const Server_ts_1 = require("../server/Server.js");
|
|
@@ -87,12 +95,48 @@ const index_ts_1 = require("../server/status/index.js");
|
|
|
87
95
|
const index_ts_2 = require("./status/index.js");
|
|
88
96
|
const DEFAULT_CONFIG_ts_1 = require("./DEFAULT_CONFIG.js");
|
|
89
97
|
const componentSecrets_ts_1 = require("./componentSecrets.js");
|
|
90
|
-
const
|
|
98
|
+
const Application_ts_2 = require("./Application.js");
|
|
99
|
+
const componentPreparationLock_ts_1 = require("./componentPreparationLock.js");
|
|
91
100
|
const node_url_1 = require("node:url");
|
|
92
101
|
const CF_ROUTES_DIR = (0, configUtils_ts_1.getConfigPath)(hdbTerms_ts_1.CONFIG_PARAMS.COMPONENTSROOT);
|
|
93
102
|
let loadedComponents = new Map();
|
|
103
|
+
// Marks a registry entry as belonging to a deploy validation's throwaway load, so cleanup can tell whether
|
|
104
|
+
// an ordinary load has since ADOPTED that module. Checking "was it already loaded?" before the fact is not
|
|
105
|
+
// enough: ownership changes after that check when a real load reuses the entry while the validation is
|
|
106
|
+
// still running, and deleting it then removes a module a live consumer depends on.
|
|
107
|
+
const VALIDATION_OWNED = Symbol('validationOwnedModule');
|
|
94
108
|
let watchesSetup;
|
|
95
109
|
let resources;
|
|
110
|
+
const componentLoadTails = new Map();
|
|
111
|
+
function serializeComponentLoad(appName, load) {
|
|
112
|
+
const previousLoad = componentLoadTails.get(appName);
|
|
113
|
+
const currentLoad = previousLoad ? previousLoad.then(load) : load();
|
|
114
|
+
const loadTail = currentLoad.then(() => undefined, () => undefined);
|
|
115
|
+
componentLoadTails.set(appName, loadTail);
|
|
116
|
+
void loadTail.then(() => {
|
|
117
|
+
if (componentLoadTails.get(appName) === loadTail)
|
|
118
|
+
componentLoadTails.delete(appName);
|
|
119
|
+
});
|
|
120
|
+
return currentLoad;
|
|
121
|
+
}
|
|
122
|
+
async function readyComponentModules(serverModules, readyComponentPromises = new WeakMap()) {
|
|
123
|
+
const readyPromises = [];
|
|
124
|
+
for (const serverModule of serverModules) {
|
|
125
|
+
if ((typeof serverModule !== 'object' && typeof serverModule !== 'function') ||
|
|
126
|
+
serverModule === null ||
|
|
127
|
+
typeof serverModule.ready !== 'function') {
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
let readyPromise = readyComponentPromises.get(serverModule);
|
|
131
|
+
if (!readyPromise) {
|
|
132
|
+
readyPromise = Promise.resolve().then(() => serverModule.ready());
|
|
133
|
+
readyComponentPromises.set(serverModule, readyPromise);
|
|
134
|
+
void readyPromise.catch(() => readyComponentPromises.delete(serverModule));
|
|
135
|
+
}
|
|
136
|
+
readyPromises.push(readyPromise);
|
|
137
|
+
}
|
|
138
|
+
await Promise.all(readyPromises);
|
|
139
|
+
}
|
|
96
140
|
/**
|
|
97
141
|
* Load all the applications registered in Harper, those in the components directory as well as any directly
|
|
98
142
|
* specified to run
|
|
@@ -120,6 +164,46 @@ function rootConfigMount(appName) {
|
|
|
120
164
|
return undefined;
|
|
121
165
|
return (0, scopeMount_ts_1.toScopeMount)((0, configUtils_ts_1.getConfigObj)()?.[appName]);
|
|
122
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* The databases an operator declared that `appName` should get a private fork of, from the root
|
|
169
|
+
* config — the same place `host`/`urlPath` are declared, and for the same reason. Which databases an
|
|
170
|
+
* application forks is a deployment decision, not something the application checks in: the operator
|
|
171
|
+
* deploying it onto a cluster is who knows whether it should run against its own copy.
|
|
172
|
+
*
|
|
173
|
+
* ```yaml
|
|
174
|
+
* my-app:
|
|
175
|
+
* host: api.example.com
|
|
176
|
+
* branchedDatabases: [data]
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
function rootConfigBranchedDatabases(appName) {
|
|
180
|
+
if (Object.hasOwn(exports.TRUSTED_RESOURCE_PLUGINS, appName))
|
|
181
|
+
return undefined;
|
|
182
|
+
return (0, configUtils_ts_1.getConfigObj)()?.[appName]?.branchedDatabases;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Whether this thread is the one that loads `appName` (harper#642, tier 2). An isolated application
|
|
186
|
+
* is loaded by its dedicated worker and by nothing else; every other thread loads only the
|
|
187
|
+
* applications that are not isolated. Decided before any of the application's modules are imported.
|
|
188
|
+
* With no worker threads at all there is nowhere for an isolated application to run, so it fails
|
|
189
|
+
* closed here rather than silently sharing the only thread.
|
|
190
|
+
*/
|
|
191
|
+
function placedOnThisThread(appName) {
|
|
192
|
+
if (Object.hasOwn(exports.TRUSTED_RESOURCE_PLUGINS, appName))
|
|
193
|
+
return true;
|
|
194
|
+
try {
|
|
195
|
+
(0, Application_ts_1.assertIsolationConfig)(appName, (0, configUtils_ts_1.getConfigObj)()?.[appName]?.isolated);
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
index_ts_2.lifecycle.failed(appName, error, `Component '${appName}' failed to load`);
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
if ((0, isolatedApplications_ts_1.isIsolatedApplication)(appName) && node_worker_threads_1.isMainThread && (0, manageThreads_js_2.getWorkerIndex)() === 0) {
|
|
202
|
+
index_ts_2.lifecycle.failed(appName, new Error(`Application '${appName}' is isolated, which needs a worker thread of its own, but threads.count is 0`), `Component '${appName}' failed to load`);
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
return (0, isolatedApplications_ts_1.shouldLoadApplicationHere)(appName);
|
|
206
|
+
}
|
|
123
207
|
/**
|
|
124
208
|
* Resolves the mount for `appName`, or reports the failure and returns `undefined` if the
|
|
125
209
|
* configured `host`/`urlPath` is invalid. The caller must skip loading the application in that
|
|
@@ -140,17 +224,102 @@ function tryRootConfigMount(appName) {
|
|
|
140
224
|
return { ok: false };
|
|
141
225
|
}
|
|
142
226
|
}
|
|
143
|
-
async function loadComponentDirectories(loadedPluginModules, loadedResources)
|
|
227
|
+
async function loadComponentDirectories(loadedPluginModules, loadedResources, readyComponentPromises = new WeakMap(),
|
|
228
|
+
// Settled by boot BEFORE installApplications(), because that installs from the root config and would
|
|
229
|
+
// otherwise reinstall the previous release over an already-live candidate. `undefined` on a worker,
|
|
230
|
+
// which never runs that pass — distinct from an empty map, which would claim nothing is unreconciled.
|
|
231
|
+
interruptedActivationFailures) {
|
|
144
232
|
if (loadedResources)
|
|
145
233
|
resources = loadedResources;
|
|
146
234
|
if (loadedPluginModules)
|
|
147
235
|
loadedComponents = loadedPluginModules;
|
|
236
|
+
const cycleResources = resources;
|
|
237
|
+
const failedRecoveries = new Map(interruptedActivationFailures ?? []);
|
|
238
|
+
if (!interruptedActivationFailures) {
|
|
239
|
+
// No verdict from boot means this is a worker, which never runs the recovery pass. It reads the same
|
|
240
|
+
// evidence instead: a component whose activation could not be settled must not load here either,
|
|
241
|
+
// since workers are what actually serve it.
|
|
242
|
+
//
|
|
243
|
+
// Settlement itself runs here too, not just the read-only check. A worker can be auto-restarted at any
|
|
244
|
+
// time — including mid-activation — and the legacy pass below then has an unsettled journal in front
|
|
245
|
+
// of it, which it refuses to restore against: the component stalls instead of loading. Main-thread
|
|
246
|
+
// startup sequencing does not protect a worker that restarts later. Safe to run on any thread: each deployment is settled under
|
|
247
|
+
// the component preparation lock, which is cross-thread and cross-process, and the pass is idempotent.
|
|
248
|
+
try {
|
|
249
|
+
for (const [component, error] of await (0, Application_ts_2.recoverInterruptedActivations)(CF_ROUTES_DIR)) {
|
|
250
|
+
if (!failedRecoveries.has(component))
|
|
251
|
+
failedRecoveries.set(component, error);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
catch (error) {
|
|
255
|
+
harper_logger_ts_1.default.warn('Could not settle interrupted component activations on this thread:', (0, harper_logger_ts_1.errorForLog)(error instanceof Error ? error : new Error(String(error))));
|
|
256
|
+
}
|
|
257
|
+
// Plus anything a previous pass recorded as unsettleable, which settlement above leaves in place.
|
|
258
|
+
try {
|
|
259
|
+
for (const [component, error] of await (0, Application_ts_2.unsettleableComponentsFromDisk)(CF_ROUTES_DIR)) {
|
|
260
|
+
if (!failedRecoveries.has(component))
|
|
261
|
+
failedRecoveries.set(component, error);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
catch (error) {
|
|
265
|
+
harper_logger_ts_1.default.warn('Could not check for unsettled component activations:', (0, harper_logger_ts_1.errorForLog)(error instanceof Error ? error : new Error(String(error))));
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
try {
|
|
269
|
+
for (const [component, error] of await (0, Application_ts_2.recoverInterruptedComponentExtractions)(CF_ROUTES_DIR)) {
|
|
270
|
+
if (!failedRecoveries.has(component))
|
|
271
|
+
failedRecoveries.set(component, error);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
catch (error) {
|
|
275
|
+
const recoveryError = error instanceof Error ? error : new Error(String(error));
|
|
276
|
+
harper_logger_ts_1.default.warn('Loading existing filesystem components without deploy recovery because staging could not be inspected:', (0, harper_logger_ts_1.errorForLog)(recoveryError));
|
|
277
|
+
}
|
|
148
278
|
// Materialize hdb_secret global-tier rows into process.env and snapshot the scoped tier before
|
|
149
279
|
// any application loads (root components — including the Pro custody registration — have
|
|
150
280
|
// already loaded by this point). Re-runs on each reload cycle, which is how changed/late-custody
|
|
151
281
|
// secrets heal. Never throws.
|
|
152
282
|
await (0, componentSecrets_ts_1.materializeGlobalSecrets)();
|
|
153
283
|
const cfsLoaded = [];
|
|
284
|
+
const deferredRecoveries = new Map([...failedRecoveries].filter(([, error]) => error instanceof componentPreparationLock_ts_1.ComponentPreparationLockTimeoutError));
|
|
285
|
+
const unreportedFailedRecoveries = new Map([...failedRecoveries].filter(([, error]) => !(error instanceof componentPreparationLock_ts_1.ComponentPreparationLockTimeoutError)));
|
|
286
|
+
const deferComponentLoad = (appName) => {
|
|
287
|
+
const appFolder = (0, node_path_1.join)(CF_ROUTES_DIR, appName);
|
|
288
|
+
const appWasVisible = (0, node_fs_1.existsSync)(appFolder);
|
|
289
|
+
if (appWasVisible) {
|
|
290
|
+
index_ts_2.lifecycle.loading(appName, `Component '${appName}' is waiting for in-progress preparation to finish`);
|
|
291
|
+
}
|
|
292
|
+
void serializeComponentLoad(appName, () => (0, Application_ts_2.recoverInterruptedComponentExtraction)(CF_ROUTES_DIR, appName)
|
|
293
|
+
.then(async () => {
|
|
294
|
+
if (!(0, node_fs_1.existsSync)(appFolder)) {
|
|
295
|
+
if (appWasVisible) {
|
|
296
|
+
(0, index_ts_2.statusForComponent)(appName).unknown('Component directory no longer exists after preparation settled');
|
|
297
|
+
}
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
if (!placedOnThisThread(appName))
|
|
301
|
+
return;
|
|
302
|
+
const mountResult = tryRootConfigMount(appName);
|
|
303
|
+
if (!mountResult.ok)
|
|
304
|
+
return;
|
|
305
|
+
const loadedModules = new Set();
|
|
306
|
+
await loadComponent(appFolder, cycleResources, hdbTerms_ts_1.HDB_ROOT_DIR_NAME, {
|
|
307
|
+
isRoot: false,
|
|
308
|
+
autoReload: false,
|
|
309
|
+
appName,
|
|
310
|
+
mount: mountResult.mount,
|
|
311
|
+
branchedDatabases: rootConfigBranchedDatabases(appName),
|
|
312
|
+
collectLoadedModules: loadedModules,
|
|
313
|
+
});
|
|
314
|
+
await readyComponentModules(loadedModules, readyComponentPromises);
|
|
315
|
+
})
|
|
316
|
+
.catch((error) => {
|
|
317
|
+
const recoveryError = error instanceof Error ? error : new Error(String(error));
|
|
318
|
+
if (appWasVisible) {
|
|
319
|
+
index_ts_2.lifecycle.failed(appName, recoveryError, `Component '${appName}' failed to load after waiting for in-progress preparation`);
|
|
320
|
+
}
|
|
321
|
+
}));
|
|
322
|
+
};
|
|
154
323
|
if ((0, node_fs_1.existsSync)(CF_ROUTES_DIR)) {
|
|
155
324
|
const cfFolders = (0, node_fs_1.readdirSync)(CF_ROUTES_DIR, { withFileTypes: true });
|
|
156
325
|
for (const appEntry of cfFolders) {
|
|
@@ -161,33 +330,59 @@ async function loadComponentDirectories(loadedPluginModules, loadedResources) {
|
|
|
161
330
|
if (appEntry.name.startsWith('.'))
|
|
162
331
|
continue;
|
|
163
332
|
const appName = appEntry.name;
|
|
333
|
+
const recoveryError = failedRecoveries.get(appName);
|
|
334
|
+
if (recoveryError) {
|
|
335
|
+
if (recoveryError instanceof componentPreparationLock_ts_1.ComponentPreparationLockTimeoutError) {
|
|
336
|
+
deferredRecoveries.delete(appName);
|
|
337
|
+
deferComponentLoad(appName);
|
|
338
|
+
continue;
|
|
339
|
+
}
|
|
340
|
+
unreportedFailedRecoveries.delete(appName);
|
|
341
|
+
index_ts_2.lifecycle.failed(appName, recoveryError, `Component '${appName}' failed to load because its interrupted deployment could not be recovered`);
|
|
342
|
+
continue;
|
|
343
|
+
}
|
|
344
|
+
if (!placedOnThisThread(appName))
|
|
345
|
+
continue;
|
|
164
346
|
const appFolder = (0, node_path_1.join)(CF_ROUTES_DIR, appName);
|
|
165
347
|
const mountResult = tryRootConfigMount(appName);
|
|
166
348
|
if (!mountResult.ok)
|
|
167
349
|
continue;
|
|
168
|
-
cfsLoaded.push(loadComponent(appFolder,
|
|
350
|
+
cfsLoaded.push(serializeComponentLoad(appName, () => loadComponent(appFolder, cycleResources, hdbTerms_ts_1.HDB_ROOT_DIR_NAME, {
|
|
169
351
|
isRoot: false,
|
|
170
352
|
autoReload: false,
|
|
171
353
|
appName,
|
|
172
354
|
mount: mountResult.mount,
|
|
355
|
+
branchedDatabases: rootConfigBranchedDatabases(appName),
|
|
356
|
+
})).catch((error) => {
|
|
357
|
+
const loadError = error instanceof Error ? error : new Error(String(error));
|
|
358
|
+
index_ts_2.lifecycle.failed(appName, loadError, `Component '${appName}' failed to load`);
|
|
173
359
|
}));
|
|
174
360
|
}
|
|
175
361
|
}
|
|
362
|
+
for (const [appName, recoveryError] of unreportedFailedRecoveries) {
|
|
363
|
+
index_ts_2.lifecycle.failed(appName, recoveryError, `Component '${appName}' failed to load because its interrupted deployment could not be recovered`);
|
|
364
|
+
}
|
|
365
|
+
for (const appName of deferredRecoveries.keys())
|
|
366
|
+
deferComponentLoad(appName);
|
|
176
367
|
const hdbAppFolder = process.env.RUN_HDB_APP;
|
|
177
368
|
if (hdbAppFolder) {
|
|
178
369
|
if ((0, manageThreads_js_2.getWorkerIndex)() === 0)
|
|
179
370
|
harper_logger_ts_1.default.info?.('Loading application from ' + hdbAppFolder);
|
|
180
371
|
const mountResult = tryRootConfigMount((0, node_path_1.basename)(hdbAppFolder));
|
|
181
|
-
if (mountResult.ok) {
|
|
182
|
-
cfsLoaded.push(loadComponent(hdbAppFolder,
|
|
372
|
+
if (mountResult.ok && placedOnThisThread((0, node_path_1.basename)(hdbAppFolder))) {
|
|
373
|
+
cfsLoaded.push(serializeComponentLoad(hdbAppFolder, () => loadComponent(hdbAppFolder, cycleResources, hdbAppFolder, {
|
|
183
374
|
isRoot: false,
|
|
184
375
|
autoReload: Boolean(process.env.DEV_MODE),
|
|
185
|
-
|
|
376
|
+
// The directory arg above stays the absolute path -- that's a real filesystem
|
|
377
|
+
// location -- but `appName` here is the branch identity, and a branch path segment
|
|
378
|
+
// cannot contain `/`; use the same basename the config lookup on the next line uses.
|
|
379
|
+
appName: (0, node_path_1.basename)(hdbAppFolder),
|
|
186
380
|
mount: mountResult.mount,
|
|
187
|
-
|
|
381
|
+
branchedDatabases: rootConfigBranchedDatabases((0, node_path_1.basename)(hdbAppFolder)),
|
|
382
|
+
})));
|
|
188
383
|
}
|
|
189
384
|
}
|
|
190
|
-
return Promise.all(cfsLoaded).then(() => {
|
|
385
|
+
return await Promise.all(cfsLoaded).then(() => {
|
|
191
386
|
watchesSetup = true;
|
|
192
387
|
});
|
|
193
388
|
}
|
|
@@ -244,7 +439,7 @@ else {
|
|
|
244
439
|
// workers while still installing the dispatch machinery.
|
|
245
440
|
require('../server/serverHelpers/serverUtilities');
|
|
246
441
|
}
|
|
247
|
-
for (const { name, packageIdentifier } of (0,
|
|
442
|
+
for (const { name, packageIdentifier } of (0, Application_ts_2.getEnvBuiltInComponents)()) {
|
|
248
443
|
exports.TRUSTED_RESOURCE_PLUGINS[name] = packageIdentifier;
|
|
249
444
|
}
|
|
250
445
|
const BUILT_INS = Object.keys(exports.TRUSTED_RESOURCE_PLUGINS);
|
|
@@ -260,6 +455,52 @@ exports.loadedPaths = new Map();
|
|
|
260
455
|
// destructive one-time scans (e.g. the replicator's hdb_nodes subscription scan).
|
|
261
456
|
exports.mainThreadInitialized = new Map();
|
|
262
457
|
let errorReporter;
|
|
458
|
+
/**
|
|
459
|
+
* Forget that a directory was loaded, so a throwaway load does not retain it forever. `loadedPaths` is
|
|
460
|
+
* keyed by realpath and never pruned, and every deploy validates a candidate under a fresh
|
|
461
|
+
* `.deploy-staging/<uuid>/` path — so without this the map grows by one dead entry per deploy for the life
|
|
462
|
+
* of the process.
|
|
463
|
+
*/
|
|
464
|
+
function forgetLoadedPath(componentDirectory) {
|
|
465
|
+
let resolved;
|
|
466
|
+
try {
|
|
467
|
+
resolved = (0, node_fs_1.realpathSync)(componentDirectory);
|
|
468
|
+
}
|
|
469
|
+
catch {
|
|
470
|
+
// Already renamed live or discarded; fall through and prune by prefix anyway.
|
|
471
|
+
}
|
|
472
|
+
if (resolved)
|
|
473
|
+
exports.loadedPaths.delete(resolved);
|
|
474
|
+
// Nested `loadComponent()` calls register plugin and dependency realpaths UNDER the candidate, so
|
|
475
|
+
// deleting only the root leaves those behind — one dead entry per nested load, per deploy, forever.
|
|
476
|
+
const prefixes = [componentDirectory, resolved].filter(Boolean);
|
|
477
|
+
for (const key of exports.loadedPaths.keys()) {
|
|
478
|
+
if (typeof key === 'string' && prefixes.some((prefix) => key === prefix || key.startsWith(prefix + node_path_1.sep))) {
|
|
479
|
+
exports.loadedPaths.delete(key);
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Release exactly the modules a throwaway validation load registered, as collected by that load's
|
|
485
|
+
* `collectLoadedModules` set.
|
|
486
|
+
*
|
|
487
|
+
* Exactly those, not a before/after diff of the global registry: validations are serialized with each other
|
|
488
|
+
* but not with ordinary loads, so a deferred real load for another component can register between the two
|
|
489
|
+
* snapshots — and a diff would then delete that live module.
|
|
490
|
+
*/
|
|
491
|
+
function forgetLoadedModules(modules) {
|
|
492
|
+
// Only entries STILL owned by that validation. Validations serialize with each other but not with
|
|
493
|
+
// ordinary loads, so a real load can adopt a module the validation registered while it is still running —
|
|
494
|
+
// re-registering the same entry as live — and deleting it afterwards would take a live module with it.
|
|
495
|
+
for (const module of modules) {
|
|
496
|
+
if (loadedComponents.get(module) === VALIDATION_OWNED)
|
|
497
|
+
loadedComponents.delete(module);
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
/** So a caller that installs a reporter can put the previous one back when it is done with it. */
|
|
501
|
+
function getErrorReporter() {
|
|
502
|
+
return errorReporter;
|
|
503
|
+
}
|
|
263
504
|
function setErrorReporter(reporter) {
|
|
264
505
|
errorReporter = reporter;
|
|
265
506
|
}
|
|
@@ -278,20 +519,24 @@ exports.getComponentName = getComponentName;
|
|
|
278
519
|
* every non-root component load and repaired if missing or pointing elsewhere.
|
|
279
520
|
*/
|
|
280
521
|
function symlinkHarperModule(componentDirectory) {
|
|
281
|
-
return new Promise((resolve
|
|
522
|
+
return new Promise((resolve) => {
|
|
282
523
|
const store = index_ts_1.Status.primaryStore;
|
|
283
|
-
|
|
284
|
-
const
|
|
285
|
-
store.unlock(componentDirectory);
|
|
286
|
-
reject(new Error('symlinking harperdb module timed out'));
|
|
287
|
-
}, 10_000);
|
|
288
|
-
const callback = () => {
|
|
524
|
+
let timeout;
|
|
525
|
+
const onUnlocked = () => {
|
|
289
526
|
clearTimeout(timeout);
|
|
290
527
|
resolve();
|
|
291
528
|
};
|
|
292
|
-
const lockAcquired = store.tryLock(componentDirectory,
|
|
529
|
+
const lockAcquired = store.tryLock(componentDirectory, onUnlocked);
|
|
293
530
|
if (!lockAcquired) {
|
|
294
|
-
|
|
531
|
+
// The lock holder performs the fixup; wait for its unlock. The timer bounds the wait if
|
|
532
|
+
// the holder dies without unlocking, and must stay ref'd: the unlock wake arrives via an
|
|
533
|
+
// unref'd threadsafe function (see the invariant comment in threadServer.startServers).
|
|
534
|
+
// Timing out resolves rather than rejects: the fixup is idempotent maintenance, never
|
|
535
|
+
// worth failing the component load over.
|
|
536
|
+
timeout = setTimeout(() => {
|
|
537
|
+
harper_logger_ts_1.default.warn(`Timed out waiting for another thread to verify the harper module link in ${componentDirectory}; continuing with the link in its current state`);
|
|
538
|
+
resolve();
|
|
539
|
+
}, 10_000);
|
|
295
540
|
}
|
|
296
541
|
else {
|
|
297
542
|
try {
|
|
@@ -336,6 +581,8 @@ function symlinkHarperModule(componentDirectory) {
|
|
|
336
581
|
}
|
|
337
582
|
});
|
|
338
583
|
}
|
|
584
|
+
// Direct access keeps lock timing deterministic without exposing a broader component-load seam.
|
|
585
|
+
exports._symlinkHarperModuleForTests = symlinkHarperModule;
|
|
339
586
|
/**
|
|
340
587
|
* This function handles the `handleApplication` call for a plugin in a sequential manner.
|
|
341
588
|
* It ensures the execution of `handleApplication` happens on one thread at a time for a given scope.
|
|
@@ -446,7 +693,7 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
|
|
|
446
693
|
if (exports.loadedPaths.has(resolvedFolder))
|
|
447
694
|
return exports.loadedPaths.get(resolvedFolder);
|
|
448
695
|
exports.loadedPaths.set(resolvedFolder, true);
|
|
449
|
-
const { providedLoadedComponents, applicationScope = new ApplicationScope_ts_1.ApplicationScope((0, node_path_1.basename)(componentDirectory), resources, Server_ts_1.server, options.isRoot), isRoot, autoReload, appName, mount, } = options;
|
|
696
|
+
const { providedLoadedComponents, applicationScope = new ApplicationScope_ts_1.ApplicationScope((0, node_path_1.basename)(componentDirectory), resources, Server_ts_1.server, options.isRoot), isRoot, autoReload, appName, mount, collectLoadedModules, } = options;
|
|
450
697
|
applicationScope.runtimeRoot ??= resolvedFolder;
|
|
451
698
|
applicationScope.allowedPath ??= (0, node_fs_1.realpathSync)(componentDirectory);
|
|
452
699
|
if (providedLoadedComponents)
|
|
@@ -468,6 +715,30 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
|
|
|
468
715
|
config = DEFAULT_CONFIG_ts_1.DEFAULT_CONFIG;
|
|
469
716
|
}
|
|
470
717
|
applicationScope.config ??= config;
|
|
718
|
+
// Before any of the application's modules are imported: a branch has to exist by the time its
|
|
719
|
+
// code first reaches `databases`, and a declared branch that cannot be created must fail this
|
|
720
|
+
// application's load rather than let it run against the base it asked not to share.
|
|
721
|
+
// Declaring it in the application's own config.yaml is refused rather than ignored: it is a
|
|
722
|
+
// deployment decision and lives in the root config, and an application that believed it had a
|
|
723
|
+
// private fork while silently sharing the base is the one outcome this feature exists to stop.
|
|
724
|
+
if (!isRoot && config?.branchedDatabases !== undefined) {
|
|
725
|
+
const misplaced = `Application '${options.appName ?? (0, node_path_1.basename)(componentDirectory)}' declares branchedDatabases in its own ` +
|
|
726
|
+
`config; it belongs in the root config entry for the application, alongside host and urlPath`;
|
|
727
|
+
// Logged as well as thrown: a component load that rejects this way surfaces downstream only as
|
|
728
|
+
// the application's routes and operations being absent, which says nothing about the cause.
|
|
729
|
+
harper_logger_ts_1.default.error?.(misplaced);
|
|
730
|
+
throw new Error(misplaced);
|
|
731
|
+
}
|
|
732
|
+
// Only on the application's own load: nested components share its scope and its branches, and
|
|
733
|
+
// re-preparing per component would key a second branch off the same application name.
|
|
734
|
+
if (!isRoot && !options.applicationScope && options.branchedDatabases !== undefined) {
|
|
735
|
+
// The loader's own application identity, not the directory's basename: a branch path is
|
|
736
|
+
// keyed by this, and two components can share a basename (a nested one and a top-level one)
|
|
737
|
+
// while being different applications that must not share a fork each believes is private.
|
|
738
|
+
const branchAppName = options.appName ?? (0, node_path_1.basename)(componentDirectory);
|
|
739
|
+
(0, Application_ts_1.assertBranchedDatabases)(branchAppName, options.branchedDatabases);
|
|
740
|
+
applicationScope.branches = await (0, branchDatabase_ts_1.prepareBranches)(branchAppName, options.branchedDatabases, applicationScope.mode);
|
|
741
|
+
}
|
|
471
742
|
// For non-root components with empty/null config (e.g., comment-only YAML),
|
|
472
743
|
// don't synthesize DEFAULT_CONFIG. Empty config means the component has nothing
|
|
473
744
|
// to load; falling back to DEFAULT_CONFIG would cause OptionsWatcher to wait
|
|
@@ -484,8 +755,10 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
|
|
|
484
755
|
// methods. Per-entry errors are logged and skipped by `bootstrapModels`.
|
|
485
756
|
// Awaited so module-backed entries (#1471) finish importing before the
|
|
486
757
|
// per-component iteration below; built-in entries register synchronously.
|
|
487
|
-
if (isRoot)
|
|
758
|
+
if (isRoot) {
|
|
488
759
|
await (0, bootstrap_ts_1.bootstrapModels)(config);
|
|
760
|
+
(0, bootstrap_ts_1.startModelsConfigHotReload)();
|
|
761
|
+
}
|
|
489
762
|
// The `env:` block declares the component's environment expectations (string literal →
|
|
490
763
|
// process.env; object → declaration satisfied from the hdb_secret store / process.env).
|
|
491
764
|
// Processed before any of the component's plugins load, so literals and the load-gate apply
|
|
@@ -538,6 +811,10 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
|
|
|
538
811
|
if (!componentConfig)
|
|
539
812
|
continue;
|
|
540
813
|
// Initialize loading status for all components (applications and extensions)
|
|
814
|
+
// A root-config application (`package:`) is placed like a directory one: an isolated application
|
|
815
|
+
// loads only in its dedicated worker, and that worker loads no other application.
|
|
816
|
+
if (isRoot && componentConfig.package && !placedOnThisThread(componentName))
|
|
817
|
+
continue;
|
|
541
818
|
index_ts_2.lifecycle.loading(componentStatusName);
|
|
542
819
|
const subApplicationScope = isRoot
|
|
543
820
|
? new ApplicationScope_ts_1.ApplicationScope(componentName, resources, Server_ts_1.server, exports.TRUSTED_RESOURCE_PLUGINS.hasOwnProperty(componentName))
|
|
@@ -585,6 +862,7 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
|
|
|
585
862
|
autoReload: false,
|
|
586
863
|
appName: appName || componentName,
|
|
587
864
|
collectScopes: options.collectScopes,
|
|
865
|
+
collectLoadedModules,
|
|
588
866
|
// `host`/`urlPath` on this entry route the component being loaded. For an
|
|
589
867
|
// application (no plugin module of its own) that entry is the only place an
|
|
590
868
|
// operator can say where the app is served — its own config.yaml declares the
|
|
@@ -620,7 +898,7 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
|
|
|
620
898
|
// our own trusted modules can be directly retrieved from our map, otherwise use the (configurable) secure module loader
|
|
621
899
|
const ensureTable = (options) => {
|
|
622
900
|
options.origin = origin;
|
|
623
|
-
return (0, databases_ts_1.
|
|
901
|
+
return (0, databases_ts_1.scopedTableFactory)(applicationScope.branches, (0, isolatedApplications_ts_1.thisThreadOwnsApplication)(applicationScope.name))(options);
|
|
624
902
|
};
|
|
625
903
|
// call the main start hook
|
|
626
904
|
const network = componentConfig.network || ((componentConfig.port || componentConfig.securePort) && componentConfig);
|
|
@@ -744,7 +1022,18 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
|
|
|
744
1022
|
resources,
|
|
745
1023
|
...componentConfig,
|
|
746
1024
|
})) || extensionModule;
|
|
747
|
-
|
|
1025
|
+
// `collectLoadedModules` serves two different purposes, so the two decisions below are made
|
|
1026
|
+
// separately. A deferred ORDINARY load passes one too, to await readiness — for that it has to
|
|
1027
|
+
// collect what it loaded whether or not the module was already registered. Only a VALIDATION
|
|
1028
|
+
// restricts its set, because there the set doubles as the cleanup list and a shared
|
|
1029
|
+
// `rest`/`graphql` module already live from a real load must not go on it.
|
|
1030
|
+
const validating = (0, deployValidationState_ts_1.isDeployValidating)();
|
|
1031
|
+
if (!validating || !loadedComponents.has(extensionModule))
|
|
1032
|
+
collectLoadedModules?.add(extensionModule);
|
|
1033
|
+
// Ownership follows the validation CONTEXT, not the presence of a collect set. Keying it on the
|
|
1034
|
+
// set labelled a deferred ordinary load's registrations validation-owned, which would let the
|
|
1035
|
+
// next validation that collects that module delete a live one.
|
|
1036
|
+
loadedComponents.set(extensionModule, validating ? VALIDATION_OWNED : true);
|
|
748
1037
|
if ((extensionModule.handleFile ||
|
|
749
1038
|
extensionModule.handleDirectory ||
|
|
750
1039
|
extensionModule.setupFile ||
|
|
@@ -794,7 +1083,7 @@ async function loadComponent(componentDirectory, resources, origin, options = {}
|
|
|
794
1083
|
// — not abort the loop and discard a pending follow-up, like the save that fixes it.
|
|
795
1084
|
try {
|
|
796
1085
|
await loadComponentDirectories();
|
|
797
|
-
await (0, manageThreads_js_2.restartWorkers)();
|
|
1086
|
+
await (0, manageThreads_js_2.restartWorkers)(undefined, undefined, true, null, '*');
|
|
798
1087
|
}
|
|
799
1088
|
catch (error) {
|
|
800
1089
|
harper_logger_ts_1.default.error('Error during component reload', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentLoader.js","sourceRoot":"","sources":["../../components/componentLoader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"componentLoader.js","sourceRoot":"","sources":["../../components/componentLoader.ts"],"names":[],"mappings":"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"}
|