harper 5.1.20 → 5.2.0-alpha.5
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/operations.ts +13 -16
- package/components/Application.ts +188 -7
- package/components/ApplicationScope.ts +3 -0
- package/components/Scope.ts +12 -0
- package/components/anthropic/index.ts +9 -2
- package/components/bedrock/index.ts +25 -2
- package/components/componentLoader.ts +56 -7
- package/components/componentSecrets.ts +451 -0
- package/components/deploymentRecorder.ts +7 -1
- package/components/mcp/adapters/fastify.ts +3 -0
- package/components/mcp/adapters/harperHttp.ts +3 -0
- package/components/mcp/audit.ts +21 -6
- package/components/mcp/customResourceRegistry.ts +17 -38
- package/components/mcp/listChanged.ts +37 -20
- package/components/mcp/quota.ts +145 -0
- package/components/mcp/rateLimit.ts +152 -14
- package/components/mcp/resources.ts +2 -4
- package/components/mcp/toolRegistry.ts +73 -4
- package/components/mcp/tools/application.ts +77 -8
- package/components/mcp/tools/operations.ts +106 -36
- package/components/mcp/tools/schemas/operationDescriptions.ts +4 -4
- package/components/mcp/tools/schemas/operations.ts +5 -0
- package/components/mcp/transport.ts +55 -4
- package/components/ollama/index.ts +6 -2
- package/components/openai/index.ts +9 -2
- package/components/operations.js +204 -10
- package/components/operationsValidation.js +173 -0
- package/components/secretOperations.ts +498 -0
- package/config/configUtils.ts +25 -1
- package/config-app.schema.json +81 -0
- package/config-root.schema.json +8 -1
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -3
- package/dataLayer/readAuditLog.ts +14 -0
- package/dataLayer/schemaDescribe.ts +1 -0
- package/dist/agent/operations.d.ts +7 -4
- package/dist/agent/operations.js +13 -15
- package/dist/agent/operations.js.map +1 -1
- package/dist/components/Application.d.ts +25 -2
- package/dist/components/Application.js +166 -7
- package/dist/components/Application.js.map +1 -1
- package/dist/components/ApplicationScope.d.ts +2 -0
- package/dist/components/ApplicationScope.js +3 -0
- package/dist/components/ApplicationScope.js.map +1 -1
- package/dist/components/Scope.d.ts +8 -0
- package/dist/components/Scope.js +11 -0
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/anthropic/index.d.ts +4 -1
- package/dist/components/anthropic/index.js +4 -2
- package/dist/components/anthropic/index.js.map +1 -1
- package/dist/components/bedrock/index.d.ts +4 -1
- package/dist/components/bedrock/index.js +22 -2
- package/dist/components/bedrock/index.js.map +1 -1
- package/dist/components/componentLoader.d.ts +2 -0
- package/dist/components/componentLoader.js +52 -10
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/componentSecrets.d.ts +63 -0
- package/dist/components/componentSecrets.js +405 -0
- package/dist/components/componentSecrets.js.map +1 -0
- package/dist/components/deploymentRecorder.d.ts +3 -0
- package/dist/components/deploymentRecorder.js +4 -3
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/mcp/adapters/fastify.d.ts +2 -0
- package/dist/components/mcp/adapters/fastify.js +1 -0
- package/dist/components/mcp/adapters/fastify.js.map +1 -1
- package/dist/components/mcp/adapters/harperHttp.d.ts +2 -0
- package/dist/components/mcp/adapters/harperHttp.js +1 -0
- package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
- package/dist/components/mcp/audit.d.ts +2 -2
- package/dist/components/mcp/audit.js +20 -5
- package/dist/components/mcp/audit.js.map +1 -1
- package/dist/components/mcp/customResourceRegistry.d.ts +5 -12
- package/dist/components/mcp/customResourceRegistry.js +15 -30
- package/dist/components/mcp/customResourceRegistry.js.map +1 -1
- package/dist/components/mcp/listChanged.d.ts +7 -2
- package/dist/components/mcp/listChanged.js +28 -0
- package/dist/components/mcp/listChanged.js.map +1 -1
- package/dist/components/mcp/quota.d.ts +31 -0
- package/dist/components/mcp/quota.js +155 -0
- package/dist/components/mcp/quota.js.map +1 -0
- package/dist/components/mcp/rateLimit.d.ts +19 -3
- package/dist/components/mcp/rateLimit.js +129 -13
- package/dist/components/mcp/rateLimit.js.map +1 -1
- package/dist/components/mcp/resources.js.map +1 -1
- package/dist/components/mcp/toolRegistry.d.ts +39 -1
- package/dist/components/mcp/toolRegistry.js +60 -5
- package/dist/components/mcp/toolRegistry.js.map +1 -1
- package/dist/components/mcp/tools/application.d.ts +8 -1
- package/dist/components/mcp/tools/application.js +65 -5
- package/dist/components/mcp/tools/application.js.map +1 -1
- package/dist/components/mcp/tools/operations.d.ts +15 -3
- package/dist/components/mcp/tools/operations.js +99 -38
- package/dist/components/mcp/tools/operations.js.map +1 -1
- package/dist/components/mcp/tools/schemas/operationDescriptions.js +4 -4
- package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
- package/dist/components/mcp/tools/schemas/operations.js +4 -0
- package/dist/components/mcp/tools/schemas/operations.js.map +1 -1
- package/dist/components/mcp/transport.d.ts +6 -0
- package/dist/components/mcp/transport.js +47 -3
- package/dist/components/mcp/transport.js.map +1 -1
- package/dist/components/ollama/index.d.ts +4 -1
- package/dist/components/ollama/index.js +4 -2
- package/dist/components/ollama/index.js.map +1 -1
- package/dist/components/openai/index.d.ts +4 -1
- package/dist/components/openai/index.js +4 -2
- package/dist/components/openai/index.js.map +1 -1
- package/dist/components/operations.d.ts +39 -0
- package/dist/components/operations.js +194 -2
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.d.ts +38 -0
- package/dist/components/operationsValidation.js +155 -0
- package/dist/components/operationsValidation.js.map +1 -1
- package/dist/components/secretOperations.d.ts +113 -0
- package/dist/components/secretOperations.js +475 -0
- package/dist/components/secretOperations.js.map +1 -0
- package/dist/config/configUtils.d.ts +4 -1
- package/dist/config/configUtils.js +18 -1
- package/dist/config/configUtils.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +4 -3
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -1
- package/dist/dataLayer/readAuditLog.js +11 -0
- package/dist/dataLayer/readAuditLog.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.js +2 -0
- package/dist/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/globals.d.ts +1 -1
- package/dist/globals.js +1 -0
- package/dist/globals.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +38 -0
- package/dist/resources/DatabaseTransaction.d.ts +31 -3
- package/dist/resources/DatabaseTransaction.js +190 -29
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +1 -1
- package/dist/resources/LMDBTransaction.js +43 -5
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/PrimaryRocksDatabase.d.ts +51 -0
- package/dist/resources/PrimaryRocksDatabase.js +194 -0
- package/dist/resources/PrimaryRocksDatabase.js.map +1 -0
- package/dist/resources/RecordEncoder.d.ts +1 -0
- package/dist/resources/RecordEncoder.js +81 -75
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/RequestTarget.d.ts +19 -0
- package/dist/resources/RequestTarget.js.map +1 -1
- package/dist/resources/Resource.d.ts +0 -1
- package/dist/resources/Resource.js +103 -16
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +6 -2
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/Resources.js.map +1 -1
- package/dist/resources/Table.d.ts +6 -4
- package/dist/resources/Table.js +247 -24
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/read.js +25 -28
- package/dist/resources/analytics/read.js.map +1 -1
- package/dist/resources/blob.js +165 -22
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/crdt.d.ts +2 -0
- package/dist/resources/crdt.js +45 -36
- package/dist/resources/crdt.js.map +1 -1
- package/dist/resources/databases.d.ts +1 -0
- package/dist/resources/databases.js +134 -7
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/graphql.js +8 -0
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +35 -5
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +239 -14
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/jsResource.js +6 -0
- package/dist/resources/jsResource.js.map +1 -1
- package/dist/resources/loadEnv.js +30 -3
- package/dist/resources/loadEnv.js.map +1 -1
- package/dist/resources/login.js +2 -2
- package/dist/resources/login.js.map +1 -1
- package/dist/resources/models/Models.js +14 -3
- package/dist/resources/models/Models.js.map +1 -1
- package/dist/resources/models/embedHook.js +10 -2
- package/dist/resources/models/embedHook.js.map +1 -1
- package/dist/resources/models/openaiStream.d.ts +56 -0
- package/dist/resources/models/openaiStream.js +94 -0
- package/dist/resources/models/openaiStream.js.map +1 -0
- package/dist/resources/replayLogs.js +4 -3
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/search.d.ts +1 -1
- package/dist/resources/search.js +104 -11
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/secretDecryptor.d.ts +54 -0
- package/dist/resources/secretDecryptor.js +131 -0
- package/dist/resources/secretDecryptor.js.map +1 -0
- package/dist/resources/tracked.js +15 -5
- package/dist/resources/tracked.js.map +1 -1
- package/dist/security/auth.js +71 -8
- package/dist/security/auth.js.map +1 -1
- package/dist/security/jsLoader.js +11 -0
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/tokenAuthentication.d.ts +9 -1
- package/dist/security/tokenAuthentication.js +31 -1
- package/dist/security/tokenAuthentication.js.map +1 -1
- package/dist/server/DurableSubscriptionsSession.d.ts +1 -1
- package/dist/server/DurableSubscriptionsSession.js +8 -4
- package/dist/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/server/REST.js +28 -9
- package/dist/server/REST.js.map +1 -1
- package/dist/server/fastifyRoutes.js +11 -1
- package/dist/server/fastifyRoutes.js.map +1 -1
- package/dist/server/graphqlQuerying.js +4 -3
- package/dist/server/graphqlQuerying.js.map +1 -1
- package/dist/server/http.d.ts +40 -2
- package/dist/server/http.js +560 -77
- package/dist/server/http.js.map +1 -1
- package/dist/server/itc/serverHandlers.js +64 -0
- package/dist/server/itc/serverHandlers.js.map +1 -1
- package/dist/server/liveSubscriptionAuth.d.ts +12 -0
- package/dist/server/liveSubscriptionAuth.js +140 -0
- package/dist/server/liveSubscriptionAuth.js.map +1 -0
- package/dist/server/loadRootComponents.js +2 -1
- package/dist/server/loadRootComponents.js.map +1 -1
- package/dist/server/middlewareChain.d.ts +44 -1
- package/dist/server/middlewareChain.js +86 -10
- package/dist/server/middlewareChain.js.map +1 -1
- package/dist/server/mqtt.js +2 -1
- package/dist/server/mqtt.js.map +1 -1
- package/dist/server/operationsServer.js +1 -1
- package/dist/server/operationsServer.js.map +1 -1
- package/dist/server/serverHelpers/Headers.d.ts +9 -0
- package/dist/server/serverHelpers/Headers.js +22 -0
- package/dist/server/serverHelpers/Headers.js.map +1 -1
- package/dist/server/serverHelpers/JSONStream.js +3 -3
- package/dist/server/serverHelpers/JSONStream.js.map +1 -1
- package/dist/server/serverHelpers/Request.d.ts +52 -1
- package/dist/server/serverHelpers/Request.js +122 -1
- package/dist/server/serverHelpers/Request.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.js +3 -8
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/progressEmitter.d.ts +19 -0
- package/dist/server/serverHelpers/progressEmitter.js +52 -4
- package/dist/server/serverHelpers/progressEmitter.js.map +1 -1
- package/dist/server/serverHelpers/registeredOperations.d.ts +40 -0
- package/dist/server/serverHelpers/registeredOperations.js +286 -0
- package/dist/server/serverHelpers/registeredOperations.js.map +1 -0
- package/dist/server/serverHelpers/serverHandlers.js +11 -5
- package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.d.ts +1 -0
- package/dist/server/serverHelpers/serverUtilities.js +67 -5
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/serverHelpers/uwsServer.d.ts +80 -0
- package/dist/server/serverHelpers/uwsServer.js +433 -0
- package/dist/server/serverHelpers/uwsServer.js.map +1 -0
- package/dist/server/static.d.ts +0 -15
- package/dist/server/static.js +161 -2
- package/dist/server/static.js.map +1 -1
- package/dist/server/status/index.d.ts +4 -1
- package/dist/server/status/index.js +64 -4
- package/dist/server/status/index.js.map +1 -1
- package/dist/server/threads/manageThreads.d.ts +10 -0
- package/dist/server/threads/manageThreads.js +107 -4
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.js +5 -1
- package/dist/server/threads/socketRouter.js.map +1 -1
- package/dist/server/threads/threadServer.js +92 -14
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/upgrade/directives/5-2-0.d.ts +7 -0
- package/dist/upgrade/directives/5-2-0.js +108 -0
- package/dist/upgrade/directives/5-2-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/common_utils.js +5 -0
- package/dist/utility/common_utils.js.map +1 -1
- package/dist/utility/envFile.d.ts +41 -0
- package/dist/utility/envFile.js +221 -0
- package/dist/utility/envFile.js.map +1 -0
- package/dist/utility/globalSchema.d.ts +9 -0
- package/dist/utility/hdbTerms.d.ts +25 -0
- package/dist/utility/hdbTerms.js +31 -0
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/logging/harper_logger.d.ts +21 -0
- package/dist/utility/logging/harper_logger.js +160 -8
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/dist/utility/logging/logRotator.js +29 -17
- package/dist/utility/logging/logRotator.js.map +1 -1
- package/dist/utility/logging/readLog.d.ts +1 -1
- package/dist/utility/logging/readLog.js +305 -2
- package/dist/utility/logging/readLog.js.map +1 -1
- package/dist/utility/operationPermissions.d.ts +18 -0
- package/dist/utility/operationPermissions.js +35 -1
- package/dist/utility/operationPermissions.js.map +1 -1
- package/dist/utility/operation_authorization.d.ts +17 -0
- package/dist/utility/operation_authorization.js +38 -0
- package/dist/utility/operation_authorization.js.map +1 -1
- package/dist/utility/secretEnvelope.d.ts +30 -0
- package/dist/utility/secretEnvelope.js +94 -0
- package/dist/utility/secretEnvelope.js.map +1 -0
- package/dist/utility/signalling.d.ts +7 -0
- package/dist/utility/signalling.js +16 -0
- package/dist/utility/signalling.js.map +1 -1
- package/dist/validation/configValidator.js +70 -24
- package/dist/validation/configValidator.js.map +1 -1
- package/index.ts +4 -0
- package/json/systemSchema.json +38 -0
- package/npm-shrinkwrap.json +15066 -9347
- package/package.json +13 -8
- package/resources/DESIGN.md +15 -12
- package/resources/DatabaseTransaction.ts +206 -37
- package/resources/LMDBTransaction.ts +43 -9
- package/resources/PrimaryRocksDatabase.ts +201 -0
- package/resources/RecordEncoder.ts +81 -69
- package/resources/RequestTarget.ts +21 -0
- package/resources/Resource.ts +109 -25
- package/resources/ResourceInterface.ts +6 -2
- package/resources/Resources.ts +1 -3
- package/resources/Table.ts +238 -29
- package/resources/analytics/read.ts +25 -30
- package/resources/blob.ts +159 -23
- package/resources/crdt.ts +37 -31
- package/resources/databases.ts +143 -6
- package/resources/graphql.ts +8 -0
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +251 -17
- package/resources/jsResource.ts +6 -0
- package/resources/loadEnv.ts +34 -3
- package/resources/login.ts +2 -2
- package/resources/models/Models.ts +19 -3
- package/resources/models/embedHook.ts +13 -2
- package/resources/models/openaiStream.ts +133 -0
- package/resources/replayLogs.ts +4 -3
- package/resources/search.ts +113 -11
- package/resources/secretDecryptor.ts +159 -0
- package/resources/tracked.ts +24 -17
- package/security/auth.ts +70 -10
- package/security/jsLoader.ts +12 -0
- package/security/tokenAuthentication.ts +42 -1
- package/server/DESIGN.md +10 -0
- package/server/DurableSubscriptionsSession.ts +8 -4
- package/server/REST.ts +26 -9
- package/server/fastifyRoutes.ts +10 -1
- package/server/graphqlQuerying.ts +4 -3
- package/server/http.ts +563 -77
- package/server/itc/serverHandlers.js +70 -0
- package/server/liveSubscriptionAuth.ts +152 -0
- package/server/loadRootComponents.js +2 -1
- package/server/middlewareChain.ts +107 -17
- package/server/mqtt.ts +2 -1
- package/server/operationsServer.ts +2 -2
- package/server/serverHelpers/Headers.ts +24 -0
- package/server/serverHelpers/JSONStream.ts +3 -3
- package/server/serverHelpers/Request.ts +127 -0
- package/server/serverHelpers/contentTypes.ts +3 -8
- package/server/serverHelpers/progressEmitter.ts +55 -5
- package/server/serverHelpers/registeredOperations.ts +259 -0
- package/server/serverHelpers/serverHandlers.js +11 -5
- package/server/serverHelpers/serverUtilities.ts +88 -5
- package/server/serverHelpers/uwsServer.ts +488 -0
- package/server/static.ts +180 -2
- package/server/status/index.ts +72 -4
- package/server/threads/manageThreads.js +102 -4
- package/server/threads/socketRouter.ts +5 -1
- package/server/threads/threadServer.js +93 -10
- package/studio/web/assets/{Chat-SdD1EZca.js → Chat-Cv_2paZE.js} +2 -2
- package/studio/web/assets/{Chat-SdD1EZca.js.map → Chat-Cv_2paZE.js.map} +1 -1
- package/studio/web/assets/{FloatingChat-GMq6tHK9.js → FloatingChat-CPyPIcVR.js} +4 -4
- package/studio/web/assets/{FloatingChat-GMq6tHK9.js.map → FloatingChat-CPyPIcVR.js.map} +1 -1
- package/studio/web/assets/{applications-B5hhv7uA.js → applications-C0jT2vdZ.js} +2 -2
- package/studio/web/assets/{applications-B5hhv7uA.js.map → applications-C0jT2vdZ.js.map} +1 -1
- package/studio/web/assets/{index-VFcpNWgq.js → index-D_GKOkhn.js} +6 -6
- package/studio/web/assets/index-D_GKOkhn.js.map +1 -0
- package/studio/web/assets/{index.lazy-DgcJojIA.js → index.lazy-CAmCIA65.js} +4 -4
- package/studio/web/assets/{index.lazy-DgcJojIA.js.map → index.lazy-CAmCIA65.js.map} +1 -1
- package/studio/web/assets/{profile-BqN-8vzm.js → profile-CaF-4aZe.js} +2 -2
- package/studio/web/assets/{profile-BqN-8vzm.js.map → profile-CaF-4aZe.js.map} +1 -1
- package/studio/web/assets/{setComponentFile-CHFvFq9u.js → setComponentFile-DLW1DHCt.js} +2 -2
- package/studio/web/assets/{setComponentFile-CHFvFq9u.js.map → setComponentFile-DLW1DHCt.js.map} +1 -1
- package/studio/web/assets/{setup-CQ3vWJSr.js → setup-TGCErIhq.js} +2 -2
- package/studio/web/assets/{setup-CQ3vWJSr.js.map → setup-TGCErIhq.js.map} +1 -1
- package/studio/web/assets/{status-BsW5fjuh.js → status-DG0Maoao.js} +2 -2
- package/studio/web/assets/{status-BsW5fjuh.js.map → status-DG0Maoao.js.map} +1 -1
- package/studio/web/assets/{swagger-ui-react-DITdeB9-.js → swagger-ui-react-8T4SgQ1m.js} +2 -2
- package/studio/web/assets/{swagger-ui-react-DITdeB9-.js.map → swagger-ui-react-8T4SgQ1m.js.map} +1 -1
- package/studio/web/assets/{tsMode-Dyph-OUs.js → tsMode-DJ6Sl24Q.js} +2 -2
- package/studio/web/assets/{tsMode-Dyph-OUs.js.map → tsMode-DJ6Sl24Q.js.map} +1 -1
- package/studio/web/assets/{useEntityRestURL-D0QTUqex.js → useEntityRestURL-JO2mfWTQ.js} +2 -2
- package/studio/web/assets/{useEntityRestURL-D0QTUqex.js.map → useEntityRestURL-JO2mfWTQ.js.map} +1 -1
- package/studio/web/index.html +1 -1
- package/upgrade/directives/5-2-0.ts +82 -0
- package/upgrade/directives/directivesController.ts +2 -1
- package/utility/common_utils.ts +5 -0
- package/utility/envFile.ts +218 -0
- package/utility/hdbTerms.ts +31 -0
- package/utility/logging/harper_logger.ts +156 -8
- package/utility/logging/logRotator.ts +24 -14
- package/utility/logging/readLog.ts +323 -2
- package/utility/operationPermissions.ts +35 -1
- package/utility/operation_authorization.ts +74 -1
- package/utility/secretEnvelope.ts +113 -0
- package/utility/signalling.ts +15 -0
- package/validation/configValidator.ts +78 -25
- package/studio/web/assets/index-VFcpNWgq.js.map +0 -1
|
@@ -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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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/** A per-component secrets view: read-only name→value map exposed as `import { secrets } from 'harper'`. */
|
|
2
|
+
export type SecretsView = Readonly<Record<string, string>>;
|
|
3
|
+
export type UnsatisfiedReason = 'missing' | 'ungranted' | 'custody-unavailable';
|
|
4
|
+
/** A declared-but-unsatisfied env expectation — metadata only, never values. */
|
|
5
|
+
export interface UnsatisfiedDeclaration {
|
|
6
|
+
name: string;
|
|
7
|
+
required: boolean;
|
|
8
|
+
description?: string;
|
|
9
|
+
reason: UnsatisfiedReason;
|
|
10
|
+
/** The store tier of the matching row, when one exists (`missing` has no row, so no tier). */
|
|
11
|
+
tier?: 'global' | 'scoped';
|
|
12
|
+
/** Human-readable detail (e.g. the decrypt failure) — never the value. */
|
|
13
|
+
detail?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Read the hdb_secret store, decrypt what this node's custody allows, materialize the global tier
|
|
17
|
+
* (`processEnv: true` rows) into the real process.env, and snapshot the scoped tier for the accessor. Runs
|
|
18
|
+
* at the start of each load cycle, and again per env-declaring component load so out-of-cycle
|
|
19
|
+
* loads (e.g. deploy validation in a long-lived worker) gate against a fresh snapshot. Never
|
|
20
|
+
* throws — every degraded mode (table missing pre-upgrade, no custody registered, undecryptable
|
|
21
|
+
* rows) logs and leaves the node bootable; the unsatisfied state surfaces per-component when
|
|
22
|
+
* declarations are evaluated.
|
|
23
|
+
*
|
|
24
|
+
* The per-component declaration registries are deliberately NOT reset here: on the main thread
|
|
25
|
+
* `loadedPaths` is never cleared in production, so already-loaded components are not reprocessed
|
|
26
|
+
* on a reload cycle — a cycle-level wipe would permanently empty their status state. Registries
|
|
27
|
+
* are overwrite-on-reprocess instead; state for a deleted component is unreachable from
|
|
28
|
+
* `get_components` (which is keyed by the existing component directories).
|
|
29
|
+
*/
|
|
30
|
+
export declare function materializeGlobalSecrets(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Process a component's `env:` config block: evaluate declarations against the store snapshot +
|
|
33
|
+
* process.env, and inject string literals into process.env. Two passes so nothing is mutated
|
|
34
|
+
* before the whole block validates and the load-gate passes: an invalid shape or an unsatisfied
|
|
35
|
+
* `required: true` declaration throws (naming each variable and why) WITHOUT applying any of the
|
|
36
|
+
* block's literals. Optional unsatisfied declarations log a warning and are recorded for status
|
|
37
|
+
* exposure.
|
|
38
|
+
*/
|
|
39
|
+
export declare function processComponentEnv(componentName: string, envConfig: unknown): void;
|
|
40
|
+
/** Declared-but-unsatisfied env expectations for a component — metadata only, for status surfaces. */
|
|
41
|
+
export declare function getUnsatisfiedEnv(componentName: string): UnsatisfiedDeclaration[];
|
|
42
|
+
/**
|
|
43
|
+
* The secrets view for a component: scoped-tier rows granted to it, plus its DECLARED names
|
|
44
|
+
* resolved from process.env (global-tier materialized values, env literals, or real env vars).
|
|
45
|
+
* The superset lets app code use `secrets.FOO` uniformly, and lets ops later tighten a secret from
|
|
46
|
+
* global to granted without breaking the app. Values are decrypted eagerly at load; the object is
|
|
47
|
+
* frozen and enumerable (`Object.keys`, spread).
|
|
48
|
+
*/
|
|
49
|
+
export declare function getSecretsForComponent(componentName: string): SecretsView;
|
|
50
|
+
/** Run `fn` with `secrets` bound to the named component (no-op when name is undefined). */
|
|
51
|
+
export declare function runWithComponentBinding<T>(componentName: string | undefined, fn: () => T): T;
|
|
52
|
+
/**
|
|
53
|
+
* The process-wide `secrets` export (`import { secrets } from 'harper'` under the native loader /
|
|
54
|
+
* bundled code; under vm and compartment loaders the per-scope `harper` module carries an exactly
|
|
55
|
+
* bound view instead). Resolves the current component from the component-load context; access from
|
|
56
|
+
* an ambiguous context fails loudly. Symbols and `then` return undefined so awaiting/inspecting
|
|
57
|
+
* the object does not throw, and the enumeration traps (`has`/`ownKeys`/`getOwnPropertyDescriptor`)
|
|
58
|
+
* report an empty object outside a binding context so inspectors/serializers (`util.inspect`,
|
|
59
|
+
* spread) never crash the process — only direct property reads are loud.
|
|
60
|
+
*/
|
|
61
|
+
export declare const secrets: SecretsView;
|
|
62
|
+
/** Reset all module state and retract materialized env values. Intended for tests. */
|
|
63
|
+
export declare function resetComponentSecrets(): void;
|
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.secrets = void 0;
|
|
7
|
+
exports.materializeGlobalSecrets = materializeGlobalSecrets;
|
|
8
|
+
exports.processComponentEnv = processComponentEnv;
|
|
9
|
+
exports.getUnsatisfiedEnv = getUnsatisfiedEnv;
|
|
10
|
+
exports.getSecretsForComponent = getSecretsForComponent;
|
|
11
|
+
exports.runWithComponentBinding = runWithComponentBinding;
|
|
12
|
+
exports.resetComponentSecrets = resetComponentSecrets;
|
|
13
|
+
/**
|
|
14
|
+
* Component-facing consumption of the hdb_secret store (#1550) — two explicit, mutually-exclusive
|
|
15
|
+
* delivery tiers keyed off the row itself (set_secret decides the tier; see components/secretOperations.ts):
|
|
16
|
+
*
|
|
17
|
+
* - Global tier: rows flagged `processEnv: true` are decrypted at startup (before components load)
|
|
18
|
+
* and materialized into the REAL `process.env`, exactly like `.env` values. Precedence: a
|
|
19
|
+
* pre-existing real environment variable always wins over the store. Child processes inherit
|
|
20
|
+
* these values (same as `.env` today). There is no isolation promise on this tier.
|
|
21
|
+
* - Scoped tier: rows with `grants` (and no `processEnv`) NEVER land in `process.env` — they are
|
|
22
|
+
* exposed only through the per-component accessor (`import { secrets } from 'harper'` /
|
|
23
|
+
* `scope.secrets`), so they are not inherited by child processes and are invisible to env dumps.
|
|
24
|
+
* The `grants` list on the row is the authority for which components see them; a row with neither
|
|
25
|
+
* `processEnv` nor any grant is inert (visible to no component) until it is granted.
|
|
26
|
+
*
|
|
27
|
+
* Component configs declare their environment expectations in an `env:` block:
|
|
28
|
+
*
|
|
29
|
+
* env:
|
|
30
|
+
* NODE_ENV: production # string = inline literal → process.env
|
|
31
|
+
* STRIPE_KEY: { required: true, description: Stripe } # object = declaration, satisfied from the store
|
|
32
|
+
* SENTRY_DSN: { required: false } # optional declaration
|
|
33
|
+
*
|
|
34
|
+
* Declarations are requests, never grants — a declaration cannot widen access to a scoped secret.
|
|
35
|
+
* A `required: true` declaration that is unsatisfied stops that component from loading (the
|
|
36
|
+
* instance keeps running); the failure reason is one of `missing` (no row, no env var),
|
|
37
|
+
* `ungranted` (a scoped row exists but this component is not in its grants), or
|
|
38
|
+
* `custody-unavailable` (a row exists but cannot be decrypted on this node).
|
|
39
|
+
*
|
|
40
|
+
* Scoping caveat (documented, deliberate): JS-level scoping is a slowdown layer, not a security
|
|
41
|
+
* boundary — component code shares a process, so containers/uids remain the real boundary. Under
|
|
42
|
+
* the vm/compartment loaders the `harper` module is per-scope, so `import { secrets } from
|
|
43
|
+
* 'harper'` binds exactly; under the native loader (and for bundler-loaded code) the `harper`
|
|
44
|
+
* package is a process-wide singleton, so `secrets` binds via the component-load AsyncLocalStorage
|
|
45
|
+
* context. Accessing the process-wide `secrets` outside a component-load context fails loudly
|
|
46
|
+
* rather than guessing. The recommended idiom is a module-top-level destructure
|
|
47
|
+
* (`const { MY_KEY } = secrets;`), where binding is exact in every mode.
|
|
48
|
+
*
|
|
49
|
+
* Late custody / changed secrets heal on restart or component reload (each load cycle re-reads the
|
|
50
|
+
* store) — there is no live re-materialization.
|
|
51
|
+
*/
|
|
52
|
+
const node_async_hooks_1 = require("node:async_hooks");
|
|
53
|
+
const databases_ts_1 = require("../resources/databases.js");
|
|
54
|
+
const hdbTerms_ts_1 = require("../utility/hdbTerms.js");
|
|
55
|
+
const secretDecryptor_ts_1 = require("../resources/secretDecryptor.js");
|
|
56
|
+
const envFile_ts_1 = require("../utility/envFile.js");
|
|
57
|
+
const harper_logger_ts_1 = __importDefault(require("../utility/logging/harper_logger.js"));
|
|
58
|
+
const globals_js_1 = require("../globals.js");
|
|
59
|
+
const SECRET_TABLE = hdbTerms_ts_1.SYSTEM_TABLE_NAMES.SECRET_TABLE_NAME;
|
|
60
|
+
// Snapshot of the store, refreshed by materializeGlobalSecrets() at the start of each load cycle.
|
|
61
|
+
let secretRows = new Map();
|
|
62
|
+
let storeAvailable = false;
|
|
63
|
+
// Keys THIS module wrote into process.env, so a reload can update them (changed secret) or retract
|
|
64
|
+
// them (row deleted / grants tightened to scoped) without ever touching genuinely pre-existing env.
|
|
65
|
+
const ownedEnvKeys = new Set();
|
|
66
|
+
// Per-component registries, rebuilt as each component's env block is processed.
|
|
67
|
+
const declaredEnvNames = new Map();
|
|
68
|
+
const unsatisfiedEnv = new Map();
|
|
69
|
+
const accessorCache = new Map();
|
|
70
|
+
/**
|
|
71
|
+
* Read the hdb_secret store, decrypt what this node's custody allows, materialize the global tier
|
|
72
|
+
* (`processEnv: true` rows) into the real process.env, and snapshot the scoped tier for the accessor. Runs
|
|
73
|
+
* at the start of each load cycle, and again per env-declaring component load so out-of-cycle
|
|
74
|
+
* loads (e.g. deploy validation in a long-lived worker) gate against a fresh snapshot. Never
|
|
75
|
+
* throws — every degraded mode (table missing pre-upgrade, no custody registered, undecryptable
|
|
76
|
+
* rows) logs and leaves the node bootable; the unsatisfied state surfaces per-component when
|
|
77
|
+
* declarations are evaluated.
|
|
78
|
+
*
|
|
79
|
+
* The per-component declaration registries are deliberately NOT reset here: on the main thread
|
|
80
|
+
* `loadedPaths` is never cleared in production, so already-loaded components are not reprocessed
|
|
81
|
+
* on a reload cycle — a cycle-level wipe would permanently empty their status state. Registries
|
|
82
|
+
* are overwrite-on-reprocess instead; state for a deleted component is unreachable from
|
|
83
|
+
* `get_components` (which is keyed by the existing component directories).
|
|
84
|
+
*/
|
|
85
|
+
function materializeGlobalSecrets() {
|
|
86
|
+
// Single-flight: concurrent callers (the load-cycle call plus per-env-component refreshes fanned
|
|
87
|
+
// out by Promise.all over component loads) join one table scan instead of issuing N scans with
|
|
88
|
+
// N×rows RSA decrypts, and two scans can never interleave — so an older, slower scan cannot
|
|
89
|
+
// overwrite newer state. A caller arriving after completion starts a fresh scan, preserving the
|
|
90
|
+
// deploy-validation freshness guarantee (set_secret → deploy is sequential).
|
|
91
|
+
return (materializeInFlight ??= doMaterializeGlobalSecrets().finally(() => {
|
|
92
|
+
materializeInFlight = undefined;
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
let materializeInFlight;
|
|
96
|
+
async function doMaterializeGlobalSecrets() {
|
|
97
|
+
const table = databases_ts_1.databases.system?.[SECRET_TABLE];
|
|
98
|
+
if (!table) {
|
|
99
|
+
storeAvailable = false;
|
|
100
|
+
secretRows = new Map();
|
|
101
|
+
accessorCache.clear();
|
|
102
|
+
harper_logger_ts_1.default.debug?.(`Secrets store not initialized (system.${SECRET_TABLE} missing); component env declarations can only be satisfied from process.env`);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const rows = new Map();
|
|
106
|
+
const decryptor = (0, secretDecryptor_ts_1.getSecretDecryptor)();
|
|
107
|
+
try {
|
|
108
|
+
for await (const row of table.search([])) {
|
|
109
|
+
const name = row.name;
|
|
110
|
+
if (typeof name !== 'string' || !name)
|
|
111
|
+
continue;
|
|
112
|
+
const state = {
|
|
113
|
+
grants: Array.isArray(row.grants) ? [...new Set(row.grants)] : [],
|
|
114
|
+
processEnv: row.processEnv === true,
|
|
115
|
+
};
|
|
116
|
+
if (typeof row.envelope === 'string') {
|
|
117
|
+
if (!decryptor) {
|
|
118
|
+
state.failure = 'no secrets custody is registered on this node';
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
try {
|
|
122
|
+
state.value = decryptor(row.envelope);
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
state.failure = `decrypt failed: ${error.message}`;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
state.failure = 'stored row has no envelope';
|
|
131
|
+
}
|
|
132
|
+
rows.set(name, state);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
// Leave the previous snapshot (and process.env) untouched rather than acting on a partial read.
|
|
137
|
+
harper_logger_ts_1.default.error(`Failed to read the secrets store (system.${SECRET_TABLE}): ${error.message}`);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
storeAvailable = true;
|
|
141
|
+
for (const [name, state] of rows) {
|
|
142
|
+
if (!state.processEnv) {
|
|
143
|
+
// Scoped tier (or an inert un-granted row): never in process.env. If a previous cycle
|
|
144
|
+
// materialized this name as a processEnv secret and it has since been converted to scoped,
|
|
145
|
+
// retract our value.
|
|
146
|
+
if (ownedEnvKeys.has(name)) {
|
|
147
|
+
delete process.env[name];
|
|
148
|
+
ownedEnvKeys.delete(name);
|
|
149
|
+
}
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
if (state.value === undefined) {
|
|
153
|
+
// Undecryptable global row: loud, never silent. If we own a previously-materialized value,
|
|
154
|
+
// keep it (last known good) — a restart with custody heals.
|
|
155
|
+
harper_logger_ts_1.default.error(`Secret '${name}' could not be materialized into process.env: ${state.failure}`);
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
if (process.env[name] !== undefined && !ownedEnvKeys.has(name)) {
|
|
159
|
+
harper_logger_ts_1.default.warn(`Secret '${name}' is already set on process.env; the pre-existing environment value wins`);
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
process.env[name] = state.value;
|
|
163
|
+
ownedEnvKeys.add(name);
|
|
164
|
+
}
|
|
165
|
+
// Rows deleted from the store since we materialized them: retract our value.
|
|
166
|
+
for (const name of [...ownedEnvKeys]) {
|
|
167
|
+
if (!rows.has(name)) {
|
|
168
|
+
delete process.env[name];
|
|
169
|
+
ownedEnvKeys.delete(name);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
secretRows = rows;
|
|
173
|
+
accessorCache.clear();
|
|
174
|
+
}
|
|
175
|
+
function parseDeclaration(componentName, name, spec) {
|
|
176
|
+
if (spec === null)
|
|
177
|
+
return { required: false }; // bare `NAME:` in YAML — an optional declaration
|
|
178
|
+
if (typeof spec !== 'object' || Array.isArray(spec)) {
|
|
179
|
+
throw new Error(`env.${name} for component '${componentName}' must be a string literal or a declaration object like { required: true, description: ... }`);
|
|
180
|
+
}
|
|
181
|
+
const { required, description } = spec;
|
|
182
|
+
if (required !== undefined && typeof required !== 'boolean') {
|
|
183
|
+
throw new Error(`env.${name} for component '${componentName}': 'required' must be a boolean`);
|
|
184
|
+
}
|
|
185
|
+
if (description !== undefined && typeof description !== 'string') {
|
|
186
|
+
throw new Error(`env.${name} for component '${componentName}': 'description' must be a string`);
|
|
187
|
+
}
|
|
188
|
+
return { required: required === true, description: description };
|
|
189
|
+
}
|
|
190
|
+
// Inline string literal — same semantics as a `.env` line loaded by resources/loadEnv.ts:
|
|
191
|
+
// `enc:v1:` envelopes are decrypted via the registered decryptor (undecryptable → error log + skip,
|
|
192
|
+
// so the app fails on a missing var rather than receiving ciphertext), and a value already present
|
|
193
|
+
// on process.env wins. Like `.env` files today, literals mutate the SHARED process.env: another
|
|
194
|
+
// component's declaration of the same name can be satisfied (or its store row shadowed) depending
|
|
195
|
+
// on load order — an inherent property of the global env tier, not per-component isolation.
|
|
196
|
+
function applyEnvLiteral(componentName, name, value) {
|
|
197
|
+
if ((0, envFile_ts_1.isEncryptedEnvValue)(value)) {
|
|
198
|
+
const decryptor = (0, secretDecryptor_ts_1.getSecretDecryptor)();
|
|
199
|
+
if (!decryptor) {
|
|
200
|
+
harper_logger_ts_1.default.error(`env.${name} for component '${componentName}' is encrypted but no secret decryptor is registered; skipping`);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
try {
|
|
204
|
+
value = decryptor(value);
|
|
205
|
+
}
|
|
206
|
+
catch (error) {
|
|
207
|
+
harper_logger_ts_1.default.error(`Failed to decrypt env.${name} for component '${componentName}': ${error.message}; skipping`);
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
if (process.env[name] !== undefined) {
|
|
212
|
+
harper_logger_ts_1.default.warn(`Environment variable conflict: env.${name} from component '${componentName}' is already set on process.env; keeping the existing value`);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
process.env[name] = value;
|
|
216
|
+
}
|
|
217
|
+
function evaluateDeclaration(componentName, name, declaration) {
|
|
218
|
+
const unsatisfied = (reason, tier, detail) => ({
|
|
219
|
+
name,
|
|
220
|
+
required: declaration.required,
|
|
221
|
+
description: declaration.description,
|
|
222
|
+
reason,
|
|
223
|
+
tier,
|
|
224
|
+
detail,
|
|
225
|
+
});
|
|
226
|
+
const row = secretRows.get(name);
|
|
227
|
+
if (row && !row.processEnv) {
|
|
228
|
+
// Scoped tier: satisfied only through the accessor for a granted component. An empty-grants row
|
|
229
|
+
// is inert (granted to nobody), so it falls through to the `ungranted` branch.
|
|
230
|
+
if (row.grants.includes(componentName)) {
|
|
231
|
+
if (row.value !== undefined)
|
|
232
|
+
return undefined; // satisfied via the scoped accessor
|
|
233
|
+
// The accessor serves a real env var for declared names when the row is undecryptable, so
|
|
234
|
+
// the gate must accept the same fallback — never gate out a value the runtime would have.
|
|
235
|
+
if (process.env[name] !== undefined)
|
|
236
|
+
return undefined;
|
|
237
|
+
return unsatisfied('custody-unavailable', 'scoped', row.failure);
|
|
238
|
+
}
|
|
239
|
+
if (process.env[name] !== undefined)
|
|
240
|
+
return undefined; // a real env var still satisfies the request
|
|
241
|
+
return unsatisfied('ungranted', 'scoped', `the secret exists but is not granted to component '${componentName}'`);
|
|
242
|
+
}
|
|
243
|
+
if (process.env[name] !== undefined)
|
|
244
|
+
return undefined; // processEnv tier materialized, literal, or real env
|
|
245
|
+
if (row)
|
|
246
|
+
return unsatisfied('custody-unavailable', 'global', row.failure);
|
|
247
|
+
return unsatisfied('missing', undefined, storeAvailable ? 'not in the secrets store or process.env' : 'not in process.env (secrets store unavailable)');
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Process a component's `env:` config block: evaluate declarations against the store snapshot +
|
|
251
|
+
* process.env, and inject string literals into process.env. Two passes so nothing is mutated
|
|
252
|
+
* before the whole block validates and the load-gate passes: an invalid shape or an unsatisfied
|
|
253
|
+
* `required: true` declaration throws (naming each variable and why) WITHOUT applying any of the
|
|
254
|
+
* block's literals. Optional unsatisfied declarations log a warning and are recorded for status
|
|
255
|
+
* exposure.
|
|
256
|
+
*/
|
|
257
|
+
function processComponentEnv(componentName, envConfig) {
|
|
258
|
+
if (envConfig === null || typeof envConfig !== 'object' || Array.isArray(envConfig)) {
|
|
259
|
+
throw new Error(`the 'env' config block must be a mapping of environment variable names to a string value or a declaration object`);
|
|
260
|
+
}
|
|
261
|
+
const declared = new Set();
|
|
262
|
+
const literals = [];
|
|
263
|
+
const unsatisfied = [];
|
|
264
|
+
const requiredFailures = [];
|
|
265
|
+
for (const [name, spec] of Object.entries(envConfig)) {
|
|
266
|
+
if (typeof spec === 'string' || typeof spec === 'number' || typeof spec === 'boolean') {
|
|
267
|
+
literals.push([name, String(spec)]);
|
|
268
|
+
continue;
|
|
269
|
+
}
|
|
270
|
+
const declaration = parseDeclaration(componentName, name, spec);
|
|
271
|
+
declared.add(name);
|
|
272
|
+
const problem = evaluateDeclaration(componentName, name, declaration);
|
|
273
|
+
if (problem) {
|
|
274
|
+
unsatisfied.push(problem);
|
|
275
|
+
if (declaration.required) {
|
|
276
|
+
requiredFailures.push(`${name} (${problem.reason}${problem.detail ? ` — ${problem.detail}` : ''})`);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
harper_logger_ts_1.default.warn(`Optional environment variable '${name}' declared by component '${componentName}' is unsatisfied (${problem.reason}); omitting`);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
declaredEnvNames.set(componentName, declared);
|
|
284
|
+
unsatisfiedEnv.set(componentName, unsatisfied);
|
|
285
|
+
accessorCache.delete(componentName);
|
|
286
|
+
if (requiredFailures.length > 0) {
|
|
287
|
+
throw new Error(`unsatisfied required environment variables: ${requiredFailures.join('; ')}`);
|
|
288
|
+
}
|
|
289
|
+
for (const [name, value] of literals)
|
|
290
|
+
applyEnvLiteral(componentName, name, value);
|
|
291
|
+
}
|
|
292
|
+
/** Declared-but-unsatisfied env expectations for a component — metadata only, for status surfaces. */
|
|
293
|
+
function getUnsatisfiedEnv(componentName) {
|
|
294
|
+
return unsatisfiedEnv.get(componentName) ?? [];
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* The secrets view for a component: scoped-tier rows granted to it, plus its DECLARED names
|
|
298
|
+
* resolved from process.env (global-tier materialized values, env literals, or real env vars).
|
|
299
|
+
* The superset lets app code use `secrets.FOO` uniformly, and lets ops later tighten a secret from
|
|
300
|
+
* global to granted without breaking the app. Values are decrypted eagerly at load; the object is
|
|
301
|
+
* frozen and enumerable (`Object.keys`, spread).
|
|
302
|
+
*/
|
|
303
|
+
function getSecretsForComponent(componentName) {
|
|
304
|
+
let view = accessorCache.get(componentName);
|
|
305
|
+
if (view)
|
|
306
|
+
return view;
|
|
307
|
+
// Null prototype so inherited Object.prototype members (toString, hasOwnProperty, constructor)
|
|
308
|
+
// can never masquerade as secret values under dynamic access like `secrets[key]`.
|
|
309
|
+
const entries = Object.create(null);
|
|
310
|
+
const declared = declaredEnvNames.get(componentName);
|
|
311
|
+
if (declared) {
|
|
312
|
+
for (const name of declared) {
|
|
313
|
+
const value = process.env[name];
|
|
314
|
+
if (value !== undefined)
|
|
315
|
+
entries[name] = value;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
// Scoped rows granted to this component; on a name collision the scoped value wins.
|
|
319
|
+
for (const [name, row] of secretRows) {
|
|
320
|
+
if (row.value !== undefined && !row.processEnv && row.grants.includes(componentName)) {
|
|
321
|
+
entries[name] = row.value;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
view = Object.freeze(entries);
|
|
325
|
+
accessorCache.set(componentName, view);
|
|
326
|
+
return view;
|
|
327
|
+
}
|
|
328
|
+
// Component-load binding for the process-wide `secrets` export: the loader runs each component's
|
|
329
|
+
// module loading inside this context, so the singleton `harper` package (native loader, bundled
|
|
330
|
+
// code, natively-loaded deps) can still resolve which component is loading.
|
|
331
|
+
const componentBinding = new node_async_hooks_1.AsyncLocalStorage();
|
|
332
|
+
/** Run `fn` with `secrets` bound to the named component (no-op when name is undefined). */
|
|
333
|
+
function runWithComponentBinding(componentName, fn) {
|
|
334
|
+
return componentName === undefined ? fn() : componentBinding.run(componentName, fn);
|
|
335
|
+
}
|
|
336
|
+
function resolveBoundSecrets() {
|
|
337
|
+
const componentName = componentBinding.getStore();
|
|
338
|
+
if (componentName === undefined) {
|
|
339
|
+
throw new Error(`The 'secrets' accessor was used outside of a component-loading context, so Harper cannot resolve which ` +
|
|
340
|
+
`component's secrets to expose (and will not guess — that could hand one component another component's ` +
|
|
341
|
+
`scoped secrets). Read secrets at module top level during component load ` +
|
|
342
|
+
`(e.g. \`const { MY_KEY } = secrets;\`) or use \`scope.secrets\` in an extension.`);
|
|
343
|
+
}
|
|
344
|
+
return getSecretsForComponent(componentName);
|
|
345
|
+
}
|
|
346
|
+
function readOnly() {
|
|
347
|
+
throw new TypeError('secrets is read-only');
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* The process-wide `secrets` export (`import { secrets } from 'harper'` under the native loader /
|
|
351
|
+
* bundled code; under vm and compartment loaders the per-scope `harper` module carries an exactly
|
|
352
|
+
* bound view instead). Resolves the current component from the component-load context; access from
|
|
353
|
+
* an ambiguous context fails loudly. Symbols and `then` return undefined so awaiting/inspecting
|
|
354
|
+
* the object does not throw, and the enumeration traps (`has`/`ownKeys`/`getOwnPropertyDescriptor`)
|
|
355
|
+
* report an empty object outside a binding context so inspectors/serializers (`util.inspect`,
|
|
356
|
+
* spread) never crash the process — only direct property reads are loud.
|
|
357
|
+
*/
|
|
358
|
+
exports.secrets = new Proxy({}, {
|
|
359
|
+
get(_target, property) {
|
|
360
|
+
if (typeof property === 'symbol' || property === 'then')
|
|
361
|
+
return undefined;
|
|
362
|
+
return resolveBoundSecrets()[property];
|
|
363
|
+
},
|
|
364
|
+
has(_target, property) {
|
|
365
|
+
if (typeof property === 'symbol')
|
|
366
|
+
return false;
|
|
367
|
+
if (componentBinding.getStore() === undefined)
|
|
368
|
+
return false;
|
|
369
|
+
return property in resolveBoundSecrets();
|
|
370
|
+
},
|
|
371
|
+
ownKeys() {
|
|
372
|
+
if (componentBinding.getStore() === undefined)
|
|
373
|
+
return [];
|
|
374
|
+
return Reflect.ownKeys(resolveBoundSecrets());
|
|
375
|
+
},
|
|
376
|
+
getOwnPropertyDescriptor(_target, property) {
|
|
377
|
+
if (typeof property === 'symbol' || componentBinding.getStore() === undefined)
|
|
378
|
+
return undefined;
|
|
379
|
+
const descriptor = Object.getOwnPropertyDescriptor(resolveBoundSecrets(), property);
|
|
380
|
+
// The views are frozen; report configurable so the proxy invariant against its (extensible,
|
|
381
|
+
// empty) target holds.
|
|
382
|
+
return descriptor && { ...descriptor, configurable: true };
|
|
383
|
+
},
|
|
384
|
+
set: readOnly,
|
|
385
|
+
defineProperty: readOnly,
|
|
386
|
+
deleteProperty: readOnly,
|
|
387
|
+
// Never allow the (shared, extensible) target to be made non-extensible — a successful
|
|
388
|
+
// Object.freeze/preventExtensions would pin the proxy's key-set invariants to the empty
|
|
389
|
+
// target and break enumeration for every later consumer.
|
|
390
|
+
preventExtensions: readOnly,
|
|
391
|
+
setPrototypeOf: readOnly,
|
|
392
|
+
});
|
|
393
|
+
(0, globals_js_1._assignPackageExport)('secrets', exports.secrets);
|
|
394
|
+
/** Reset all module state and retract materialized env values. Intended for tests. */
|
|
395
|
+
function resetComponentSecrets() {
|
|
396
|
+
for (const name of ownedEnvKeys)
|
|
397
|
+
delete process.env[name];
|
|
398
|
+
ownedEnvKeys.clear();
|
|
399
|
+
secretRows = new Map();
|
|
400
|
+
storeAvailable = false;
|
|
401
|
+
declaredEnvNames.clear();
|
|
402
|
+
unsatisfiedEnv.clear();
|
|
403
|
+
accessorCache.clear();
|
|
404
|
+
}
|
|
405
|
+
//# sourceMappingURL=componentSecrets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"componentSecrets.js","sourceRoot":"","sources":["../../components/componentSecrets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Readable } from 'node:stream';
|
|
2
|
+
import type { RegistryAuthReference } from './secretOperations.ts';
|
|
2
3
|
import { ProgressEmitter } from '../server/serverHelpers/progressEmitter.ts';
|
|
3
4
|
export declare function getActiveEmitter(deploymentId: string): ProgressEmitter | undefined;
|
|
4
5
|
type DeploymentStatus = 'pending' | 'extracting' | 'installing' | 'loading' | 'replicating' | 'restarting' | 'success' | 'failed' | 'rolled_back';
|
|
@@ -8,6 +9,7 @@ interface CreateOptions {
|
|
|
8
9
|
user?: string;
|
|
9
10
|
restart_mode?: 'immediate' | 'rolling' | null;
|
|
10
11
|
rollback_of?: string | null;
|
|
12
|
+
registry_auth?: RegistryAuthReference[] | null;
|
|
11
13
|
emitter?: ProgressEmitter;
|
|
12
14
|
}
|
|
13
15
|
export declare class DeploymentRecorder {
|
|
@@ -97,6 +99,7 @@ export declare class DeploymentRecorder {
|
|
|
97
99
|
get row(): Record<string, any>;
|
|
98
100
|
private put;
|
|
99
101
|
}
|
|
102
|
+
export declare const DEFAULT_AWAIT_ROW_TIMEOUT_MS = 120000;
|
|
100
103
|
/**
|
|
101
104
|
* Peer-side helper — wait for the hdb_deployment row to arrive via table replication,
|
|
102
105
|
* then return it. The row is committed on origin before `replicateOperation` is
|
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.DeploymentRecorder = void 0;
|
|
36
|
+
exports.DEFAULT_AWAIT_ROW_TIMEOUT_MS = exports.DeploymentRecorder = void 0;
|
|
37
37
|
exports.getActiveEmitter = getActiveEmitter;
|
|
38
38
|
exports.awaitDeploymentRow = awaitDeploymentRow;
|
|
39
39
|
// DeploymentRecorder — lifecycle owner for one row in system.hdb_deployment.
|
|
@@ -105,6 +105,7 @@ class DeploymentRecorder {
|
|
|
105
105
|
completed_at: null,
|
|
106
106
|
user: options.user ?? null,
|
|
107
107
|
rollback_of: options.rollback_of ?? null,
|
|
108
|
+
registry_auth: options.registry_auth ?? null,
|
|
108
109
|
error: null,
|
|
109
110
|
};
|
|
110
111
|
const recorder = new DeploymentRecorder(deploymentId, record);
|
|
@@ -450,7 +451,7 @@ exports.DeploymentRecorder = DeploymentRecorder;
|
|
|
450
451
|
// take well over the original 30s to arrive on a peer (harper-pro#402). 120s matches the
|
|
451
452
|
// blob-stream receive default and gives a loaded cluster room to converge. Override per-deploy
|
|
452
453
|
// via the `deployment_timeout` operation parameter.
|
|
453
|
-
|
|
454
|
+
exports.DEFAULT_AWAIT_ROW_TIMEOUT_MS = 120_000;
|
|
454
455
|
/**
|
|
455
456
|
* Peer-side helper — wait for the hdb_deployment row to arrive via table replication,
|
|
456
457
|
* then return it. The row is committed on origin before `replicateOperation` is
|
|
@@ -476,7 +477,7 @@ async function awaitDeploymentRow(deploymentId, options = {}) {
|
|
|
476
477
|
// non-finite or negative falls back to the default rather than producing a NaN deadline
|
|
477
478
|
// (which would never satisfy `>= deadline` and loop forever).
|
|
478
479
|
const requested = Number(options.timeoutMs);
|
|
479
|
-
const timeoutMs = Number.isFinite(requested) && requested >= 0 ? requested : DEFAULT_AWAIT_ROW_TIMEOUT_MS;
|
|
480
|
+
const timeoutMs = Number.isFinite(requested) && requested >= 0 ? requested : exports.DEFAULT_AWAIT_ROW_TIMEOUT_MS;
|
|
480
481
|
const maxIntervalMs = options.pollIntervalMs ?? 100;
|
|
481
482
|
// Start fast (5ms) so the common case — replication has already caught up — sees no
|
|
482
483
|
// human-noticeable latency, then back off exponentially up to maxIntervalMs for the
|