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,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Operations API surface for the built-in agent (#626).
|
|
3
3
|
*
|
|
4
|
-
* Six handlers,
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Six handlers, super_user by default. Authorization is declared via
|
|
5
|
+
* `requiresSuperUser: true` on each OperationDefinition, so `registerOperation`
|
|
6
|
+
* registers them with the central `verifyPerms` system and they participate in
|
|
7
|
+
* the role `operations` allowlist — an operator can grant a scoped, non-super_user
|
|
8
|
+
* "delegation" role access to these ops (e.g. `operations: ['agent']`) without
|
|
9
|
+
* granting full super_user. verifyPerms runs before the handler for every
|
|
10
|
+
* ops-API request, so no inline gate is needed here.
|
|
8
11
|
*/
|
|
9
12
|
import type { OperationDefinition } from '../server/serverHelpers/serverUtilities.ts';
|
|
10
13
|
import type { AgentConfig } from './types.ts';
|
package/dist/agent/operations.js
CHANGED
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Operations API surface for the built-in agent (#626).
|
|
4
4
|
*
|
|
5
|
-
* Six handlers,
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* Six handlers, super_user by default. Authorization is declared via
|
|
6
|
+
* `requiresSuperUser: true` on each OperationDefinition, so `registerOperation`
|
|
7
|
+
* registers them with the central `verifyPerms` system and they participate in
|
|
8
|
+
* the role `operations` allowlist — an operator can grant a scoped, non-super_user
|
|
9
|
+
* "delegation" role access to these ops (e.g. `operations: ['agent']`) without
|
|
10
|
+
* granting full super_user. verifyPerms runs before the handler for every
|
|
11
|
+
* ops-API request, so no inline gate is needed here.
|
|
9
12
|
*/
|
|
10
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
14
|
exports.buildOperations = buildOperations;
|
|
@@ -17,36 +20,36 @@ function buildOperations(deps) {
|
|
|
17
20
|
{
|
|
18
21
|
name: hdbTerms_ts_1.OPERATIONS_ENUM.AGENT_PROMPT,
|
|
19
22
|
execute: async (op) => agentPrompt(op, deps),
|
|
23
|
+
requiresSuperUser: true,
|
|
20
24
|
},
|
|
21
25
|
{
|
|
22
26
|
name: hdbTerms_ts_1.OPERATIONS_ENUM.GET_AGENT_SESSION,
|
|
23
27
|
execute: async (op) => getAgentSession(op),
|
|
28
|
+
requiresSuperUser: true,
|
|
24
29
|
},
|
|
25
30
|
{
|
|
26
31
|
name: hdbTerms_ts_1.OPERATIONS_ENUM.LIST_AGENT_SESSIONS,
|
|
27
32
|
execute: async (op) => listAgentSessions(op),
|
|
33
|
+
requiresSuperUser: true,
|
|
28
34
|
},
|
|
29
35
|
{
|
|
30
36
|
name: hdbTerms_ts_1.OPERATIONS_ENUM.CANCEL_AGENT_RUN,
|
|
31
37
|
execute: async (op) => cancelAgentRun(op, deps),
|
|
38
|
+
requiresSuperUser: true,
|
|
32
39
|
},
|
|
33
40
|
{
|
|
34
41
|
name: hdbTerms_ts_1.OPERATIONS_ENUM.APPROVE_AGENT_ACTION,
|
|
35
42
|
execute: async (op) => approveAgentAction(op, deps),
|
|
43
|
+
requiresSuperUser: true,
|
|
36
44
|
},
|
|
37
45
|
{
|
|
38
46
|
name: hdbTerms_ts_1.OPERATIONS_ENUM.SET_AGENT_CONFIG,
|
|
39
47
|
execute: async (op) => setAgentConfig(op, deps),
|
|
48
|
+
requiresSuperUser: true,
|
|
40
49
|
},
|
|
41
50
|
];
|
|
42
51
|
}
|
|
43
|
-
function requireSuperUser(op) {
|
|
44
|
-
if (!op?.hdb_user?.role?.permission?.super_user) {
|
|
45
|
-
throw new hdbError_ts_1.ClientError('Agent operations require super_user', 403);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
52
|
async function agentPrompt(op, deps) {
|
|
49
|
-
requireSuperUser(op);
|
|
50
53
|
const config = deps.getConfig();
|
|
51
54
|
if (!config.enabled) {
|
|
52
55
|
throw new hdbError_ts_1.ClientError('Agent component is disabled (agent.enabled=false)', 409);
|
|
@@ -77,7 +80,6 @@ async function agentPrompt(op, deps) {
|
|
|
77
80
|
return { session_id: sessionId, status: 'running' };
|
|
78
81
|
}
|
|
79
82
|
async function getAgentSession(op) {
|
|
80
|
-
requireSuperUser(op);
|
|
81
83
|
const sessionId = String(op?.session_id ?? '');
|
|
82
84
|
if (!sessionId)
|
|
83
85
|
throw new hdbError_ts_1.ClientError('session_id is required', 400);
|
|
@@ -87,12 +89,10 @@ async function getAgentSession(op) {
|
|
|
87
89
|
return session;
|
|
88
90
|
}
|
|
89
91
|
async function listAgentSessions(op) {
|
|
90
|
-
requireSuperUser(op);
|
|
91
92
|
const limit = Number.isFinite(op?.limit) ? Number(op.limit) : undefined;
|
|
92
93
|
return { sessions: await (0, session_ts_1.listSessions)({ limit }) };
|
|
93
94
|
}
|
|
94
95
|
async function cancelAgentRun(op, deps) {
|
|
95
|
-
requireSuperUser(op);
|
|
96
96
|
const sessionId = String(op?.session_id ?? '');
|
|
97
97
|
if (!sessionId)
|
|
98
98
|
throw new hdbError_ts_1.ClientError('session_id is required', 400);
|
|
@@ -109,7 +109,6 @@ async function cancelAgentRun(op, deps) {
|
|
|
109
109
|
return { cancelled: !wasTerminal, signalledLiveRun };
|
|
110
110
|
}
|
|
111
111
|
async function approveAgentAction(op, deps) {
|
|
112
|
-
requireSuperUser(op);
|
|
113
112
|
const sessionId = String(op?.session_id ?? '');
|
|
114
113
|
const approvalId = String(op?.approval_id ?? '');
|
|
115
114
|
if (!sessionId || !approvalId) {
|
|
@@ -123,7 +122,6 @@ async function approveAgentAction(op, deps) {
|
|
|
123
122
|
return resolved;
|
|
124
123
|
}
|
|
125
124
|
async function setAgentConfig(op, deps) {
|
|
126
|
-
requireSuperUser(op);
|
|
127
125
|
const patch = {};
|
|
128
126
|
for (const key of ['enabled', 'provider', 'model', 'maxTurns', 'maxCostUsd', 'autoApprove', 'allowDestructive']) {
|
|
129
127
|
if (op?.[key] !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../agent/operations.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../agent/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,11 @@ interface ApplicationConfig {
|
|
|
7
7
|
timeout?: number;
|
|
8
8
|
allowInstallScripts?: boolean;
|
|
9
9
|
};
|
|
10
|
+
registryAuth?: {
|
|
11
|
+
registry: string;
|
|
12
|
+
secret: string;
|
|
13
|
+
scope?: string;
|
|
14
|
+
}[];
|
|
10
15
|
[key: string]: unknown;
|
|
11
16
|
}
|
|
12
17
|
export declare class InvalidPackageIdentifierError extends TypeError {
|
|
@@ -21,6 +26,12 @@ export declare class InvalidInstallCommandError extends TypeError {
|
|
|
21
26
|
export declare class InvalidInstallTimeoutError extends TypeError {
|
|
22
27
|
constructor(applicationName: string, timeout: unknown);
|
|
23
28
|
}
|
|
29
|
+
export declare class InvalidRegistryAuthPropertyError extends TypeError {
|
|
30
|
+
constructor(applicationName: string, registryAuth: unknown);
|
|
31
|
+
}
|
|
32
|
+
export declare class InvalidRegistryAuthEntryError extends TypeError {
|
|
33
|
+
constructor(applicationName: string);
|
|
34
|
+
}
|
|
24
35
|
export declare function assertApplicationConfig(applicationName: string, applicationConfig: Record<'package', unknown> & Record<string, unknown>): asserts applicationConfig is ApplicationConfig;
|
|
25
36
|
/**
|
|
26
37
|
* Returns true when npm/git stderr indicates an SSH authentication failure —
|
|
@@ -69,8 +80,10 @@ interface ApplicationOptions {
|
|
|
69
80
|
allowInstallScripts?: boolean;
|
|
70
81
|
};
|
|
71
82
|
onInstallLine?: OnInstallLine;
|
|
83
|
+
registryAuth?: RegistryAuthEntry[];
|
|
72
84
|
}
|
|
73
85
|
export declare class Application {
|
|
86
|
+
#private;
|
|
74
87
|
name: string;
|
|
75
88
|
payload?: Buffer | string | Readable;
|
|
76
89
|
packageIdentifier?: string;
|
|
@@ -83,7 +96,11 @@ export declare class Application {
|
|
|
83
96
|
dirPath: string;
|
|
84
97
|
logger: Logger;
|
|
85
98
|
packageManagerPrefix: string;
|
|
86
|
-
|
|
99
|
+
registryAuth?: RegistryAuthEntry[];
|
|
100
|
+
npmUserconfigPath?: string;
|
|
101
|
+
constructor({ name, payload, packageIdentifier, install, onInstallLine, registryAuth }: ApplicationOptions);
|
|
102
|
+
writeTransientNpmrc(): Promise<void>;
|
|
103
|
+
cleanupTransientNpmrc(): Promise<void>;
|
|
87
104
|
}
|
|
88
105
|
/**
|
|
89
106
|
* Based on an old implementation for a method called `getPkgPrefix()` that was used
|
|
@@ -114,7 +131,13 @@ export declare function prepareApplication(application: Application): Promise<vo
|
|
|
114
131
|
* operations may conflict with each other (such as writing to the same directory).
|
|
115
132
|
*/
|
|
116
133
|
export declare function installApplications(): Promise<void>;
|
|
117
|
-
export
|
|
134
|
+
export interface RegistryAuthEntry {
|
|
135
|
+
registry: string;
|
|
136
|
+
token: string;
|
|
137
|
+
scope?: string;
|
|
138
|
+
}
|
|
139
|
+
export declare function buildNpmrcContent(registryAuth: RegistryAuthEntry[]): string;
|
|
140
|
+
export declare function nonInteractiveSpawn(applicationName: string, command: string, args: string[], cwd: string, timeoutMs?: number, onLine?: (stream: 'stdout' | 'stderr', line: string) => void, npmUserconfigPath?: string): Promise<{
|
|
118
141
|
stdout: string;
|
|
119
142
|
stderr: string;
|
|
120
143
|
code: number;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Application = exports.ASIDE_STAGING_DIR = exports.InvalidInstallTimeoutError = exports.InvalidInstallCommandError = exports.InvalidInstallPropertyError = exports.InvalidPackageIdentifierError = void 0;
|
|
6
|
+
exports.Application = exports.ASIDE_STAGING_DIR = exports.InvalidRegistryAuthEntryError = exports.InvalidRegistryAuthPropertyError = exports.InvalidInstallTimeoutError = exports.InvalidInstallCommandError = exports.InvalidInstallPropertyError = exports.InvalidPackageIdentifierError = void 0;
|
|
7
7
|
exports.assertApplicationConfig = assertApplicationConfig;
|
|
8
8
|
exports.isSSHAuthFailure = isSSHAuthFailure;
|
|
9
9
|
exports.extractApplication = extractApplication;
|
|
@@ -11,6 +11,7 @@ exports.installApplication = installApplication;
|
|
|
11
11
|
exports.derivePackageIdentifier = derivePackageIdentifier;
|
|
12
12
|
exports.prepareApplication = prepareApplication;
|
|
13
13
|
exports.installApplications = installApplications;
|
|
14
|
+
exports.buildNpmrcContent = buildNpmrcContent;
|
|
14
15
|
exports.nonInteractiveSpawn = nonInteractiveSpawn;
|
|
15
16
|
exports.getEnvBuiltInComponents = getEnvBuiltInComponents;
|
|
16
17
|
const configUtils_ts_1 = require("../config/configUtils.js");
|
|
@@ -20,6 +21,7 @@ const deployLifecycle_ts_1 = require("./deployLifecycle.js");
|
|
|
20
21
|
const node_path_1 = require("node:path");
|
|
21
22
|
const promises_1 = require("node:fs/promises");
|
|
22
23
|
const node_child_process_1 = require("node:child_process");
|
|
24
|
+
const node_os_1 = require("node:os");
|
|
23
25
|
const node_crypto_1 = require("node:crypto");
|
|
24
26
|
const node_fs_1 = require("node:fs");
|
|
25
27
|
const node_stream_1 = require("node:stream");
|
|
@@ -51,6 +53,18 @@ class InvalidInstallTimeoutError extends TypeError {
|
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
exports.InvalidInstallTimeoutError = InvalidInstallTimeoutError;
|
|
56
|
+
class InvalidRegistryAuthPropertyError extends TypeError {
|
|
57
|
+
constructor(applicationName, registryAuth) {
|
|
58
|
+
super(`Invalid 'registryAuth' property for application ${applicationName}: expected array, got ${typeof registryAuth}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.InvalidRegistryAuthPropertyError = InvalidRegistryAuthPropertyError;
|
|
62
|
+
class InvalidRegistryAuthEntryError extends TypeError {
|
|
63
|
+
constructor(applicationName) {
|
|
64
|
+
super(`Invalid 'registryAuth' entry for application ${applicationName}: expected { registry, secret, scope? } reference`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.InvalidRegistryAuthEntryError = InvalidRegistryAuthEntryError;
|
|
54
68
|
function assertApplicationConfig(applicationName, applicationConfig) {
|
|
55
69
|
if (typeof applicationConfig.package !== 'string') {
|
|
56
70
|
throw new InvalidPackageIdentifierError(applicationName, applicationConfig.package);
|
|
@@ -74,6 +88,22 @@ function assertApplicationConfig(applicationName, applicationConfig) {
|
|
|
74
88
|
})(`Invalid 'install.allowInstallScripts' property for application ${applicationName}: expected boolean, got ${typeof applicationConfig.install.allowInstallScripts}`);
|
|
75
89
|
}
|
|
76
90
|
}
|
|
91
|
+
if ('registryAuth' in applicationConfig && applicationConfig.registryAuth !== undefined) {
|
|
92
|
+
const entries = applicationConfig.registryAuth;
|
|
93
|
+
if (!Array.isArray(entries)) {
|
|
94
|
+
throw new InvalidRegistryAuthPropertyError(applicationName, entries);
|
|
95
|
+
}
|
|
96
|
+
for (const entry of entries) {
|
|
97
|
+
// Config carries references only — a literal `token` here would mean a plaintext credential
|
|
98
|
+
// was persisted to disk, which the deploy path is designed to prevent.
|
|
99
|
+
if (typeof entry !== 'object' ||
|
|
100
|
+
entry === null ||
|
|
101
|
+
typeof entry.registry !== 'string' ||
|
|
102
|
+
typeof entry.secret !== 'string') {
|
|
103
|
+
throw new InvalidRegistryAuthEntryError(applicationName);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
77
107
|
}
|
|
78
108
|
/**
|
|
79
109
|
* Returns true when npm/git stderr indicates an SSH authentication failure —
|
|
@@ -164,7 +194,7 @@ async function extractApplication(application) {
|
|
|
164
194
|
}
|
|
165
195
|
else {
|
|
166
196
|
// `npm pack --json` writes a JSON array describing the packed tarball(s).
|
|
167
|
-
const { stdout, code, stderr } = await nonInteractiveSpawn(application.name, 'npm', ['pack', '--json', application.packageIdentifier], parentDirPath);
|
|
197
|
+
const { stdout, code, stderr } = await nonInteractiveSpawn(application.name, 'npm', ['pack', '--json', application.packageIdentifier], parentDirPath, undefined, undefined, application.npmUserconfigPath);
|
|
168
198
|
if (code !== 0) {
|
|
169
199
|
if (isSSHAuthFailure(stderr)) {
|
|
170
200
|
throw new Error(`Failed to deploy private repository ${application.packageIdentifier}: SSH access failed. Verify the repository URL, configure an SSH key on this Harper instance, ensure the key has access to the target repository, and confirm the host is present in the ssh/known_hosts file.`, { cause: new Error(stderr) });
|
|
@@ -289,7 +319,7 @@ async function installApplication(application) {
|
|
|
289
319
|
const customOnLine = application.onInstallLine
|
|
290
320
|
? (stream, line) => application.onInstallLine(command, stream, line)
|
|
291
321
|
: undefined;
|
|
292
|
-
const { stdout, stderr, code } = await nonInteractiveSpawn(application.name, command, args, application.dirPath, application.install?.timeout, customOnLine);
|
|
322
|
+
const { stdout, stderr, code } = await nonInteractiveSpawn(application.name, command, args, application.dirPath, application.install?.timeout, customOnLine, application.npmUserconfigPath);
|
|
293
323
|
// if it succeeds, return
|
|
294
324
|
if (code === 0) {
|
|
295
325
|
return;
|
|
@@ -330,7 +360,7 @@ async function installApplication(application) {
|
|
|
330
360
|
? (stream, line) => application.onInstallLine(packageManager.name, stream, line)
|
|
331
361
|
: undefined;
|
|
332
362
|
const { stdout, stderr, code } = await nonInteractiveSpawn(application.name, (application.packageManagerPrefix ? application.packageManagerPrefix + ' ' : '') + packageManager.name, application.install?.allowInstallScripts ? ['install'] : ['install', '--ignore-scripts'], // All of `npm`, `yarn`, and `pnpm` support the `install` command. If we need to configure options here we may have to use some other defaults though
|
|
333
|
-
application.dirPath, application.install?.timeout, pmOnLine);
|
|
363
|
+
application.dirPath, application.install?.timeout, pmOnLine, application.npmUserconfigPath);
|
|
334
364
|
// if it succeeds, return
|
|
335
365
|
if (code === 0) {
|
|
336
366
|
return;
|
|
@@ -366,7 +396,7 @@ async function installApplication(application) {
|
|
|
366
396
|
const npmOnLine = application.onInstallLine
|
|
367
397
|
? (stream, line) => application.onInstallLine('npm', stream, line)
|
|
368
398
|
: undefined;
|
|
369
|
-
const { stdout, stderr, code } = await nonInteractiveSpawn(application.name, (application.packageManagerPrefix ? application.packageManagerPrefix + ' ' : '') + 'npm', npmInstallArgs, application.dirPath, application.install?.timeout, npmOnLine);
|
|
399
|
+
const { stdout, stderr, code } = await nonInteractiveSpawn(application.name, (application.packageManagerPrefix ? application.packageManagerPrefix + ' ' : '') + 'npm', npmInstallArgs, application.dirPath, application.install?.timeout, npmOnLine, application.npmUserconfigPath);
|
|
370
400
|
// if it succeeds, return
|
|
371
401
|
if (code === 0) {
|
|
372
402
|
return;
|
|
@@ -390,12 +420,20 @@ class Application {
|
|
|
390
420
|
dirPath;
|
|
391
421
|
logger;
|
|
392
422
|
packageManagerPrefix; // can be used to configure a package manager prefix, specifically "sfw".
|
|
393
|
-
|
|
423
|
+
// Transient registry auth provided by a deploy. The token is held only in memory and a
|
|
424
|
+
// per-deploy `.npmrc`; it is never persisted to config, hdb_deployment, or replicated.
|
|
425
|
+
registryAuth;
|
|
426
|
+
// Path to the per-deploy `.npmrc`, set by writeTransientNpmrc() during prepareApplication and
|
|
427
|
+
// passed to the spawn calls; undefined when no registry auth was provided.
|
|
428
|
+
npmUserconfigPath;
|
|
429
|
+
#npmrcTempDir;
|
|
430
|
+
constructor({ name, payload, packageIdentifier, install, onInstallLine, registryAuth }) {
|
|
394
431
|
this.name = name;
|
|
395
432
|
this.payload = payload;
|
|
396
433
|
this.packageIdentifier = packageIdentifier && derivePackageIdentifier(packageIdentifier);
|
|
397
434
|
this.install = install;
|
|
398
435
|
this.onInstallLine = onInstallLine;
|
|
436
|
+
this.registryAuth = registryAuth;
|
|
399
437
|
const componentsRoot = (0, configUtils_ts_1.getConfigPath)(hdbTerms_ts_1.CONFIG_PARAMS.COMPONENTSROOT);
|
|
400
438
|
if (!componentsRoot)
|
|
401
439
|
throw new Error('componentsRoot is not configured');
|
|
@@ -403,6 +441,59 @@ class Application {
|
|
|
403
441
|
this.logger = harper_logger_ts_1.default.loggerWithTag(name);
|
|
404
442
|
this.packageManagerPrefix = (0, configUtils_ts_1.getConfigValue)(hdbTerms_ts_1.CONFIG_PARAMS.APPLICATIONS_PACKAGEMANAGERPREFIX);
|
|
405
443
|
}
|
|
444
|
+
// Write the transient `.npmrc` into a fresh 0700 temp dir (file mode 0600) and record its path
|
|
445
|
+
// so the deploy's npm spawns authenticate against the private registry. No-op without registry auth.
|
|
446
|
+
//
|
|
447
|
+
// Because `nonInteractiveSpawn` points npm at this single file (replacing any inherited
|
|
448
|
+
// npm_config_userconfig), prepend the contents of an already-configured userconfig — e.g. a
|
|
449
|
+
// fabric-injected file carrying cluster registries, a proxy, or a cafile — so those settings
|
|
450
|
+
// survive. The transient auth is appended last so it wins on conflict (npm honors the last
|
|
451
|
+
// value for a given key).
|
|
452
|
+
async writeTransientNpmrc() {
|
|
453
|
+
if (!this.registryAuth?.length)
|
|
454
|
+
return;
|
|
455
|
+
// Defensive: if called more than once, remove the prior temp dir first so it isn't leaked.
|
|
456
|
+
if (this.#npmrcTempDir)
|
|
457
|
+
await this.cleanupTransientNpmrc();
|
|
458
|
+
this.#npmrcTempDir = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'harper-npmrc-'));
|
|
459
|
+
const npmrcPath = (0, node_path_1.join)(this.#npmrcTempDir, '.npmrc');
|
|
460
|
+
let content = '';
|
|
461
|
+
const inheritedUserconfig = process.env.npm_config_userconfig ?? process.env.NPM_CONFIG_USERCONFIG;
|
|
462
|
+
if (inheritedUserconfig) {
|
|
463
|
+
try {
|
|
464
|
+
const inherited = await (0, promises_1.readFile)(inheritedUserconfig, 'utf8');
|
|
465
|
+
content = inherited.endsWith('\n') ? inherited : inherited + '\n';
|
|
466
|
+
}
|
|
467
|
+
catch (error) {
|
|
468
|
+
// Missing inherited file is fine (npm would have created/ignored it); surface anything else.
|
|
469
|
+
if (error?.code !== 'ENOENT')
|
|
470
|
+
throw error;
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
content += buildNpmrcContent(this.registryAuth);
|
|
474
|
+
await (0, promises_1.writeFile)(npmrcPath, content, { mode: 0o600 });
|
|
475
|
+
this.npmUserconfigPath = npmrcPath;
|
|
476
|
+
}
|
|
477
|
+
// Remove the transient `.npmrc` (and its temp dir) once the deploy's npm work is done.
|
|
478
|
+
async cleanupTransientNpmrc() {
|
|
479
|
+
if (!this.#npmrcTempDir)
|
|
480
|
+
return;
|
|
481
|
+
try {
|
|
482
|
+
await (0, promises_1.rm)(this.#npmrcTempDir, { recursive: true, force: true });
|
|
483
|
+
}
|
|
484
|
+
catch (error) {
|
|
485
|
+
// Called from prepareApplication's finally; a throw here (e.g. a Windows file lock) would
|
|
486
|
+
// mask the original deploy error and skip broadcastDeployEnd. Log and always clear state.
|
|
487
|
+
this.logger.warn(`Failed to remove transient .npmrc dir ${this.#npmrcTempDir}:`, error);
|
|
488
|
+
}
|
|
489
|
+
finally {
|
|
490
|
+
this.#npmrcTempDir = undefined;
|
|
491
|
+
this.npmUserconfigPath = undefined;
|
|
492
|
+
// Drop the in-memory token array too, so it can't surface in a later heap dump or error
|
|
493
|
+
// serialization of this Application instance.
|
|
494
|
+
this.registryAuth = undefined;
|
|
495
|
+
}
|
|
496
|
+
}
|
|
406
497
|
}
|
|
407
498
|
exports.Application = Application;
|
|
408
499
|
/**
|
|
@@ -440,10 +531,14 @@ function derivePackageIdentifier(packageIdentifier) {
|
|
|
440
531
|
async function prepareApplication(application) {
|
|
441
532
|
await (0, deployLifecycle_ts_1.broadcastDeployStart)(application.name);
|
|
442
533
|
try {
|
|
534
|
+
// Materialize the per-deploy `.npmrc` before extraction so both `npm pack` (extract) and
|
|
535
|
+
// `npm install` authenticate against the private registry; always remove it afterward.
|
|
536
|
+
await application.writeTransientNpmrc();
|
|
443
537
|
await extractApplication(application);
|
|
444
538
|
await installApplication(application);
|
|
445
539
|
}
|
|
446
540
|
finally {
|
|
541
|
+
await application.cleanupTransientNpmrc();
|
|
447
542
|
(0, deployLifecycle_ts_1.broadcastDeployEnd)(application.name);
|
|
448
543
|
}
|
|
449
544
|
}
|
|
@@ -494,10 +589,26 @@ async function installApplications() {
|
|
|
494
589
|
// Then do proper error-based validation with TypeScript `asserts` to provide type safety
|
|
495
590
|
// This will throw if the config is invalid
|
|
496
591
|
assertApplicationConfig(name, applicationConfig);
|
|
592
|
+
// Resolve any private-registry auth references from the store so a cold install (fresh
|
|
593
|
+
// node, wiped components dir, new peer that never installed) can authenticate without the
|
|
594
|
+
// token being re-supplied. Best-effort: if custody isn't available yet or a referenced
|
|
595
|
+
// secret is missing, log and install without it (a truly private package then fails in
|
|
596
|
+
// npm with its own error) rather than blocking boot.
|
|
597
|
+
let resolvedRegistryAuth;
|
|
598
|
+
if (applicationConfig.registryAuth?.length) {
|
|
599
|
+
try {
|
|
600
|
+
const { resolveRegistryAuth } = await import("./secretOperations.js");
|
|
601
|
+
resolvedRegistryAuth = (await resolveRegistryAuth(applicationConfig.registryAuth, name));
|
|
602
|
+
}
|
|
603
|
+
catch (error) {
|
|
604
|
+
harper_logger_ts_1.default.warn?.(`Could not resolve registryAuth for application ${name} at install time: ${error.message}`);
|
|
605
|
+
}
|
|
606
|
+
}
|
|
497
607
|
const application = new Application({
|
|
498
608
|
name,
|
|
499
609
|
packageIdentifier: applicationConfig.package,
|
|
500
610
|
install: applicationConfig.install,
|
|
611
|
+
registryAuth: resolvedRegistryAuth,
|
|
501
612
|
});
|
|
502
613
|
// Lock check: only install if not already installed with matching configuration
|
|
503
614
|
if ((0, node_fs_1.existsSync)(application.dirPath) &&
|
|
@@ -530,6 +641,42 @@ function getGitSSHCommand() {
|
|
|
530
641
|
}
|
|
531
642
|
}
|
|
532
643
|
}
|
|
644
|
+
// Normalize a registry to a full URL with a scheme and trailing slash, e.g.
|
|
645
|
+
// `npm.pkg.github.com` or `//npm.pkg.github.com` → `https://npm.pkg.github.com/`.
|
|
646
|
+
function normalizeRegistryUrl(registry) {
|
|
647
|
+
let url = registry.trim();
|
|
648
|
+
if (!/^https?:\/\//i.test(url)) {
|
|
649
|
+
url = url.startsWith('//') ? `https:${url}` : `https://${url}`;
|
|
650
|
+
}
|
|
651
|
+
if (!url.endsWith('/'))
|
|
652
|
+
url += '/';
|
|
653
|
+
return url;
|
|
654
|
+
}
|
|
655
|
+
// Build the contents of a transient `.npmrc` from registry auth entries: an auth-token line keyed
|
|
656
|
+
// by npm's registry auth key (scheme stripped, leading `//`, trailing `/`) plus a registry-routing
|
|
657
|
+
// line. A scope routes only that `@scope` to the registry (`@scope:registry=…`); without a scope
|
|
658
|
+
// the entry sets npm's default `registry=…` so an unscoped package spec (e.g. `npm:my-private-app`)
|
|
659
|
+
// or its transitive deps actually resolve against this registry rather than the public default.
|
|
660
|
+
// A scope-less entry therefore requires its registry to serve/proxy whatever npm needs to install;
|
|
661
|
+
// with multiple scope-less entries npm's last-value-wins applies to the default `registry`.
|
|
662
|
+
function buildNpmrcContent(registryAuth) {
|
|
663
|
+
const lines = [];
|
|
664
|
+
for (const { registry, token, scope } of registryAuth) {
|
|
665
|
+
// Enforce the no-newline invariant at the injection point so it holds for every source. The
|
|
666
|
+
// ops validator already rejects CR/LF in a literal `token`, but a token resolved from an
|
|
667
|
+
// hdb_secret row bypasses that guard; without this a `\n` in a secret value would inject
|
|
668
|
+
// arbitrary .npmrc lines (admin-only per the threat model, but the literal path already
|
|
669
|
+
// defends this class).
|
|
670
|
+
if (/[\r\n]/.test(token)) {
|
|
671
|
+
throw new Error(`registry auth token for '${registry}' contains an illegal newline character`);
|
|
672
|
+
}
|
|
673
|
+
const registryUrl = normalizeRegistryUrl(registry);
|
|
674
|
+
const authKey = registryUrl.replace(/^https?:/i, '');
|
|
675
|
+
lines.push(`${authKey}:_authToken=${token}`);
|
|
676
|
+
lines.push(scope ? `${scope}:registry=${registryUrl}` : `registry=${registryUrl}`);
|
|
677
|
+
}
|
|
678
|
+
return lines.join('\n') + '\n';
|
|
679
|
+
}
|
|
533
680
|
/**
|
|
534
681
|
* Execute a command (using `spawn`) with stdin ignored.
|
|
535
682
|
*
|
|
@@ -580,7 +727,7 @@ function createLineSplitter(onLine) {
|
|
|
580
727
|
},
|
|
581
728
|
};
|
|
582
729
|
}
|
|
583
|
-
function nonInteractiveSpawn(applicationName, command, args, cwd, timeoutMs = 60 * 60 * 1000, onLine) {
|
|
730
|
+
function nonInteractiveSpawn(applicationName, command, args, cwd, timeoutMs = 60 * 60 * 1000, onLine, npmUserconfigPath) {
|
|
584
731
|
return new Promise((resolve, reject) => {
|
|
585
732
|
harper_logger_ts_1.default
|
|
586
733
|
.loggerWithTag(`${applicationName}:spawn:${command}`)
|
|
@@ -590,6 +737,18 @@ function nonInteractiveSpawn(applicationName, command, args, cwd, timeoutMs = 60
|
|
|
590
737
|
if (gitSSHCommand) {
|
|
591
738
|
env.GIT_SSH_COMMAND = gitSSHCommand;
|
|
592
739
|
}
|
|
740
|
+
// A deploy carrying transient registry auth points npm at a per-deploy `.npmrc` so
|
|
741
|
+
// `npm pack`/`install` can authenticate against a private registry without the token
|
|
742
|
+
// ever touching disk durably, the package reference, config, or hdb_deployment.
|
|
743
|
+
if (npmUserconfigPath) {
|
|
744
|
+
// On case-insensitive platforms (Windows) an inherited NPM_CONFIG_USERCONFIG would
|
|
745
|
+
// shadow the lowercase key we set, so drop any existing case variant first.
|
|
746
|
+
for (const key of Object.keys(env)) {
|
|
747
|
+
if (key.toLowerCase() === 'npm_config_userconfig')
|
|
748
|
+
delete env[key];
|
|
749
|
+
}
|
|
750
|
+
env.npm_config_userconfig = npmUserconfigPath;
|
|
751
|
+
}
|
|
593
752
|
if (process.platform === 'win32' && command === 'npm') {
|
|
594
753
|
command = 'npm.cmd';
|
|
595
754
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../../components/Application.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Application.js","sourceRoot":"","sources":["../../components/Application.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ export declare class MissingDefaultFilesOptionError extends Error {
|
|
|
7
7
|
* This class is used to represent the application scope for the VM context used for loading modules within an application
|
|
8
8
|
*/
|
|
9
9
|
export declare class ApplicationScope {
|
|
10
|
+
/** Component identity (application directory name) — what secret grants are matched against. */
|
|
11
|
+
name: string;
|
|
10
12
|
logger: any;
|
|
11
13
|
resources: Resources;
|
|
12
14
|
server: Server;
|
|
@@ -49,6 +49,8 @@ exports.MissingDefaultFilesOptionError = MissingDefaultFilesOptionError;
|
|
|
49
49
|
* This class is used to represent the application scope for the VM context used for loading modules within an application
|
|
50
50
|
*/
|
|
51
51
|
class ApplicationScope {
|
|
52
|
+
/** Component identity (application directory name) — what secret grants are matched against. */
|
|
53
|
+
name;
|
|
52
54
|
logger;
|
|
53
55
|
resources;
|
|
54
56
|
server;
|
|
@@ -58,6 +60,7 @@ class ApplicationScope {
|
|
|
58
60
|
config;
|
|
59
61
|
moduleCache; // used by the loader to retain a cache of modules, type is an internal detail of the loader
|
|
60
62
|
constructor(name, resources, server, isInternal = false) {
|
|
63
|
+
this.name = name;
|
|
61
64
|
this.logger = (0, harper_logger_ts_1.forComponent)(name, !isInternal);
|
|
62
65
|
this.resources = resources;
|
|
63
66
|
this.server = server;
|