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
package/dist/server/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../server/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../server/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const { validateEvent } = require('../threads/itc.js');
|
|
|
8
8
|
const harperBridge = require("../../dataLayer/harperBridge/harperBridge.js").default ||
|
|
9
9
|
require("../../dataLayer/harperBridge/harperBridge.js");
|
|
10
10
|
const process = require('process');
|
|
11
|
+
const { isMainThread, workerData } = require('worker_threads');
|
|
11
12
|
const { resetDatabases } = require("../../resources/databases.js");
|
|
12
13
|
/**
|
|
13
14
|
* This object/functions are passed to the ITC client instance and dynamically added as event handlers.
|
|
@@ -18,6 +19,11 @@ const serverItcHandlers = {
|
|
|
18
19
|
[hdbTerms.ITC_EVENT_TYPES.USER]: userHandler,
|
|
19
20
|
[hdbTerms.ITC_EVENT_TYPES.COMPONENT_STATUS_REQUEST]: componentStatusRequestHandler,
|
|
20
21
|
[hdbTerms.ITC_EVENT_TYPES.RESOURCE_OPENAPI_REQUEST]: resourceOpenApiRequestHandler,
|
|
22
|
+
[hdbTerms.ITC_EVENT_TYPES.MIDDLEWARE_CHAINS_REQUEST]: middlewareChainsRequestHandler,
|
|
23
|
+
// #1736 cross-thread registered-operation bridge. Lazy require: this module loads on every
|
|
24
|
+
// thread via itc.js, and registeredOperations pulls in the serverUtilities module graph.
|
|
25
|
+
[hdbTerms.ITC_EVENT_TYPES.OPERATION_REGISTERED]: (event) => require("../serverHelpers/registeredOperations.js").operationRegisteredHandler(event),
|
|
26
|
+
[hdbTerms.ITC_EVENT_TYPES.OPERATION_EXECUTE_REQUEST]: (event) => require("../serverHelpers/registeredOperations.js").operationExecuteRequestHandler(event),
|
|
21
27
|
};
|
|
22
28
|
/**
|
|
23
29
|
* Updates the global hdbSchema object.
|
|
@@ -98,6 +104,31 @@ async function userHandler(event) {
|
|
|
98
104
|
userHandler.addListener = function (listener) {
|
|
99
105
|
userListeners.push(listener);
|
|
100
106
|
};
|
|
107
|
+
const resourceListeners = [];
|
|
108
|
+
/**
|
|
109
|
+
* Local-only fan-out for "JS resources just registered" (resources.js loaded via the jsResource
|
|
110
|
+
* plugin). Unlike schema/user changes this is NOT an ITC event: each worker loads and registers
|
|
111
|
+
* its own JS resources, so a listener (e.g. the MCP application-tool rebuild) only needs to run in
|
|
112
|
+
* the worker where the registration happened. Surfaces author opt-ins (`static mcpTools`/
|
|
113
|
+
* `mcpPrompts`) that land on the resource registry after the MCP component's boot scan (#1448).
|
|
114
|
+
*/
|
|
115
|
+
function resourceHandler() {
|
|
116
|
+
for (const listener of resourceListeners) {
|
|
117
|
+
try {
|
|
118
|
+
listener();
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
hdbLogger.error(err);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
resourceHandler.addListener = function (listener) {
|
|
126
|
+
resourceListeners.push(listener);
|
|
127
|
+
};
|
|
128
|
+
// Test seam: drop registered listeners so a unit suite doesn't leak fakes into later suites.
|
|
129
|
+
resourceHandler._resetListenersForTest = function () {
|
|
130
|
+
resourceListeners.length = 0;
|
|
131
|
+
};
|
|
101
132
|
/**
|
|
102
133
|
* Handles incoming requests for component status from inter-thread communication (ITC).
|
|
103
134
|
* Validates the event, retrieves the current thread's component statuses, and sends a response
|
|
@@ -192,9 +223,42 @@ async function resourceOpenApiRequestHandler(event) {
|
|
|
192
223
|
hdbLogger.error('Error handling resource OpenAPI request:', error);
|
|
193
224
|
}
|
|
194
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* Handles the main thread's request for the resolved HTTP/upgrade/WebSocket middleware chains (#1573).
|
|
228
|
+
* Only HTTP workers reply: the main thread carries just the operations-API middleware (so it stays
|
|
229
|
+
* silent even though it has responders), and job workers have none. HTTP workers answer even when
|
|
230
|
+
* they have no middleware (empty chains) so get_status doesn't wait out the request timeout. First
|
|
231
|
+
* worker to answer wins — all HTTP workers register identically, so any one is representative.
|
|
232
|
+
*/
|
|
233
|
+
async function middlewareChainsRequestHandler(event) {
|
|
234
|
+
try {
|
|
235
|
+
const validate = validateEvent(event);
|
|
236
|
+
if (validate) {
|
|
237
|
+
hdbLogger.error(validate);
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
if (isMainThread || workerData?.name !== hdbTerms.THREAD_TYPES.HTTP)
|
|
241
|
+
return;
|
|
242
|
+
const { describeMiddlewareChains } = require("../http.js");
|
|
243
|
+
const responseMessage = {
|
|
244
|
+
type: hdbTerms.ITC_EVENT_TYPES.MIDDLEWARE_CHAINS_RESPONSE,
|
|
245
|
+
message: {
|
|
246
|
+
requestId: event.message.requestId,
|
|
247
|
+
chains: describeMiddlewareChains(),
|
|
248
|
+
},
|
|
249
|
+
};
|
|
250
|
+
if (!threads.sendToThread(event.message.originator, responseMessage)) {
|
|
251
|
+
hdbLogger.trace(`Dropping middleware chains response for request ${event.message.requestId}: originator thread ${event.message.originator} is unreachable`);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
catch (error) {
|
|
255
|
+
hdbLogger.error('Error handling middleware chains request:', error);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
195
258
|
module.exports = serverItcHandlers;
|
|
196
259
|
// Named exports so consumers (e.g., MCP listChanged) can subscribe via
|
|
197
260
|
// `userHandler.addListener(fn)` / `schemaHandler.addListener(fn)`.
|
|
198
261
|
module.exports.userHandler = userHandler;
|
|
199
262
|
module.exports.schemaHandler = schemaHandler;
|
|
263
|
+
module.exports.resourceHandler = resourceHandler;
|
|
200
264
|
//# sourceMappingURL=serverHandlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverHandlers.js","sourceRoot":"","sources":["../../../server/itc/serverHandlers.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,oBAAoB;AACpB,MAAM,SAAS,GAAG,OAAO,CAAC,wCAAwC,CAAC,CAAC;AACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AACtD,MAAM,YAAY,GACjB,OAAO,CAAC,oCAAoC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,oCAAoC,CAAC,CAAC;AACxG,MAAM,UAAU,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACrD,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACvD,MAAM,YAAY,GACjB,OAAO,CAAC,8CAA8C,CAAC,CAAC,OAAO;IAC/D,OAAO,CAAC,8CAA8C,CAAC,CAAC;AACzD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAEnE;;;GAGG;AACH,MAAM,iBAAiB,GAAG;IACzB,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,aAAa;IAChD,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW;IAC5C,CAAC,QAAQ,CAAC,eAAe,CAAC,wBAAwB,CAAC,EAAE,6BAA6B;IAClF,CAAC,QAAQ,CAAC,eAAe,CAAC,wBAAwB,CAAC,EAAE,6BAA6B;
|
|
1
|
+
{"version":3,"file":"serverHandlers.js","sourceRoot":"","sources":["../../../server/itc/serverHandlers.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Register a live subscription for continuous re-authorization. The returned subscription's normal
|
|
3
|
+
* teardown (end()/close) automatically unregisters it, so callers don't need to.
|
|
4
|
+
*/
|
|
5
|
+
export declare function registerLiveSubscription(opts: {
|
|
6
|
+
subscription: any;
|
|
7
|
+
username: string;
|
|
8
|
+
authExpiresAt?: number;
|
|
9
|
+
recheck: () => Promise<boolean>;
|
|
10
|
+
}): void;
|
|
11
|
+
/** Test-only: current number of tracked subscriptions. */
|
|
12
|
+
export declare function _liveSubscriptionCount(): number;
|
|
@@ -0,0 +1,140 @@
|
|
|
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.registerLiveSubscription = registerLiveSubscription;
|
|
7
|
+
exports._liveSubscriptionCount = _liveSubscriptionCount;
|
|
8
|
+
const harper_logger_ts_1 = __importDefault(require("../utility/logging/harper_logger.js"));
|
|
9
|
+
/**
|
|
10
|
+
* Continuous re-authorization for live subscriptions (#1414).
|
|
11
|
+
*
|
|
12
|
+
* Subscribe-time authorization is a point-in-time check: once a stream (SSE / WebSocket / MQTT)
|
|
13
|
+
* is open, it keeps delivering even if the principal later loses access (drop_user, role/permission
|
|
14
|
+
* change) or its bearer token expires. This registry re-evaluates each live subscription's
|
|
15
|
+
* authorization — at the TABLE/RBAC level, matching how the subscription was granted; there is no
|
|
16
|
+
* per-record evaluation — and terminates any that no longer authorize.
|
|
17
|
+
*
|
|
18
|
+
* Triggers: (1) immediately on the ITC user-change broadcast (the same signal that rebuilds the
|
|
19
|
+
* user/role cache), and (2) on a fixed interval as a backstop and to catch token expiry, which is
|
|
20
|
+
* not event-signaled.
|
|
21
|
+
*/
|
|
22
|
+
// Backstop interval; also catches token expiry, which is not event-signaled. Overridable for tests.
|
|
23
|
+
const RECHECK_INTERVAL_MS = Number(process.env.HARPER_SUBSCRIPTION_REAUTH_INTERVAL_MS) || 30_000;
|
|
24
|
+
const registry = new Set();
|
|
25
|
+
let sweepTimer = null;
|
|
26
|
+
let itcListenerInstalled = false;
|
|
27
|
+
let sweeping = false;
|
|
28
|
+
function ensureStarted() {
|
|
29
|
+
if (!sweepTimer) {
|
|
30
|
+
sweepTimer = setInterval(() => void sweep(), RECHECK_INTERVAL_MS);
|
|
31
|
+
// don't keep the worker alive solely for the recheck timer
|
|
32
|
+
sweepTimer.unref?.();
|
|
33
|
+
}
|
|
34
|
+
if (!itcListenerInstalled) {
|
|
35
|
+
try {
|
|
36
|
+
// Fire an immediate sweep when a user/role mutation propagates. serverHandlers rebuilds the
|
|
37
|
+
// user/role cache before invoking listeners, so recheck() observes the new permissions.
|
|
38
|
+
const handlers = require('./itc/serverHandlers.js');
|
|
39
|
+
if (handlers?.userHandler?.addListener) {
|
|
40
|
+
handlers.userHandler.addListener(() => void sweep());
|
|
41
|
+
itcListenerInstalled = true;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
harper_logger_ts_1.default.trace?.(`liveSubscriptionAuth: ITC userHandler unavailable: ${error.message}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function stopIfIdle() {
|
|
50
|
+
if (registry.size === 0 && sweepTimer) {
|
|
51
|
+
clearInterval(sweepTimer);
|
|
52
|
+
sweepTimer = null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Register a live subscription for continuous re-authorization. The returned subscription's normal
|
|
57
|
+
* teardown (end()/close) automatically unregisters it, so callers don't need to.
|
|
58
|
+
*/
|
|
59
|
+
function registerLiveSubscription(opts) {
|
|
60
|
+
const { subscription, username, authExpiresAt, recheck } = opts;
|
|
61
|
+
if (!subscription || typeof subscription !== 'object')
|
|
62
|
+
return;
|
|
63
|
+
const entry = {
|
|
64
|
+
username,
|
|
65
|
+
authExpiresAt,
|
|
66
|
+
recheck,
|
|
67
|
+
terminate: () => {
|
|
68
|
+
// emit('close') runs the subscription's own teardown wiring; end() removes it from the
|
|
69
|
+
// broadcast notify loop so no further events are delivered. Both are idempotent.
|
|
70
|
+
try {
|
|
71
|
+
subscription.emit?.('close');
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
/* ignore */
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
subscription.end?.();
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
/* ignore */
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
registry.add(entry);
|
|
85
|
+
const unregister = () => {
|
|
86
|
+
registry.delete(entry);
|
|
87
|
+
stopIfIdle();
|
|
88
|
+
};
|
|
89
|
+
// Both transports ultimately call end() on normal teardown (MQTT unsubscribe/disconnect; SSE close
|
|
90
|
+
// is wired to end()); wrap it so a closed stream never leaks a registry entry. Also listen for
|
|
91
|
+
// 'close' to cover any iterable that closes without an end().
|
|
92
|
+
const originalEnd = typeof subscription.end === 'function' ? subscription.end.bind(subscription) : null;
|
|
93
|
+
if (originalEnd) {
|
|
94
|
+
subscription.end = function (...args) {
|
|
95
|
+
unregister();
|
|
96
|
+
return originalEnd(...args);
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
subscription.on?.('close', unregister);
|
|
100
|
+
ensureStarted();
|
|
101
|
+
}
|
|
102
|
+
async function sweep() {
|
|
103
|
+
if (sweeping)
|
|
104
|
+
return; // a slow recheck must not overlap with the next tick/event
|
|
105
|
+
sweeping = true;
|
|
106
|
+
try {
|
|
107
|
+
const now = Date.now();
|
|
108
|
+
for (const entry of registry) {
|
|
109
|
+
try {
|
|
110
|
+
const expired = entry.authExpiresAt != null && now >= entry.authExpiresAt * 1000;
|
|
111
|
+
const stillAuthorized = expired ? false : await entry.recheck();
|
|
112
|
+
const revoke = expired || !stillAuthorized;
|
|
113
|
+
if (revoke) {
|
|
114
|
+
registry.delete(entry);
|
|
115
|
+
entry.terminate();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
// fail closed: if authorization can't be confirmed, revoke
|
|
120
|
+
registry.delete(entry);
|
|
121
|
+
try {
|
|
122
|
+
entry.terminate();
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
/* ignore */
|
|
126
|
+
}
|
|
127
|
+
harper_logger_ts_1.default.warn?.(`liveSubscriptionAuth: revoked subscription for ${entry.username} after recheck error: ${error.message}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
finally {
|
|
132
|
+
sweeping = false;
|
|
133
|
+
stopIfIdle();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/** Test-only: current number of tracked subscriptions. */
|
|
137
|
+
function _liveSubscriptionCount() {
|
|
138
|
+
return registry.size;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=liveSubscriptionAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveSubscriptionAuth.js","sourceRoot":"","sources":["../../server/liveSubscriptionAuth.ts"],"names":[],"mappings":";;;;;AAkEA,4DA+CC;AAoCD,wDAEC;AAvJD,2FAA4D;AAE5D;;;;;;;;;;;;GAYG;AAEH,oGAAoG;AACpG,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,IAAI,MAAM,CAAC;AAYjG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;AAC7C,IAAI,UAAU,GAAQ,IAAI,CAAC;AAC3B,IAAI,oBAAoB,GAAG,KAAK,CAAC;AACjC,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,SAAS,aAAa;IACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,EAAE,mBAAmB,CAAC,CAAC;QAClE,2DAA2D;QAC3D,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC3B,IAAI,CAAC;YACJ,4FAA4F;YAC5F,wFAAwF;YACxF,MAAM,QAAQ,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;YACpD,IAAI,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;gBACxC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;gBACrD,oBAAoB,GAAG,IAAI,CAAC;YAC7B,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,0BAAS,CAAC,KAAK,EAAE,CAAC,sDAAuD,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACrG,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,UAAU;IAClB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QACvC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1B,UAAU,GAAG,IAAI,CAAC;IACnB,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,IAKxC;IACA,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ;QAAE,OAAO;IAE9D,MAAM,KAAK,GAAqB;QAC/B,QAAQ;QACR,aAAa;QACb,OAAO;QACP,SAAS,EAAE,GAAG,EAAE;YACf,uFAAuF;YACvF,iFAAiF;YACjF,IAAI,CAAC;gBACJ,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACR,YAAY;YACb,CAAC;YACD,IAAI,CAAC;gBACJ,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACR,YAAY;YACb,CAAC;QACF,CAAC;KACD,CAAC;IACF,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEpB,MAAM,UAAU,GAAG,GAAG,EAAE;QACvB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,UAAU,EAAE,CAAC;IACd,CAAC,CAAC;IACF,mGAAmG;IACnG,+FAA+F;IAC/F,8DAA8D;IAC9D,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxG,IAAI,WAAW,EAAE,CAAC;QACjB,YAAY,CAAC,GAAG,GAAG,UAAU,GAAG,IAAW;YAC1C,UAAU,EAAE,CAAC;YACb,OAAO,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC;IACH,CAAC;IACD,YAAY,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEvC,aAAa,EAAE,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,KAAK;IACnB,IAAI,QAAQ;QAAE,OAAO,CAAC,2DAA2D;IACjF,QAAQ,GAAG,IAAI,CAAC;IAChB,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,IAAI,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;gBACjF,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChE,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,eAAe,CAAC;gBAC3C,IAAI,MAAM,EAAE,CAAC;oBACZ,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvB,KAAK,CAAC,SAAS,EAAE,CAAC;gBACnB,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,2DAA2D;gBAC3D,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvB,IAAI,CAAC;oBACJ,KAAK,CAAC,SAAS,EAAE,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACR,YAAY;gBACb,CAAC;gBACD,0BAAS,CAAC,IAAI,EAAE,CACf,kDAAkD,KAAK,CAAC,QAAQ,yBAA0B,KAAe,CAAC,OAAO,EAAE,CACnH,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;YAAS,CAAC;QACV,QAAQ,GAAG,KAAK,CAAC;QACjB,UAAU,EAAE,CAAC;IACd,CAAC;AACF,CAAC;AAED,0DAA0D;AAC1D,SAAgB,sBAAsB;IACrC,OAAO,QAAQ,CAAC,IAAI,CAAC;AACtB,CAAC"}
|
|
@@ -7,6 +7,7 @@ const configUtils = require("../config/configUtils.js");
|
|
|
7
7
|
const { dirname } = require('path');
|
|
8
8
|
const { loadCertificates } = require("../security/keys.js");
|
|
9
9
|
const { installApplications } = require("../components/Application.js");
|
|
10
|
+
const { errorForLog } = require("../utility/logging/harper_logger.js");
|
|
10
11
|
let loadedComponents = new Map();
|
|
11
12
|
/**
|
|
12
13
|
* This is main entry point for loading the main set of global server modules that power Harper.
|
|
@@ -18,7 +19,7 @@ async function loadRootComponents(isWorkerThread = false) {
|
|
|
18
19
|
await installApplications();
|
|
19
20
|
}
|
|
20
21
|
catch (error) {
|
|
21
|
-
console.error(error);
|
|
22
|
+
console.error(errorForLog(error));
|
|
22
23
|
}
|
|
23
24
|
let resources = resetResources();
|
|
24
25
|
getTables();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadRootComponents.js","sourceRoot":"","sources":["../../server/loadRootComponents.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACnD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAC3D,MAAM,EAAE,wBAAwB,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAChG,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAChE,MAAM,WAAW,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACxD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACpC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC5D,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"loadRootComponents.js","sourceRoot":"","sources":["../../server/loadRootComponents.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACnD,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAC3D,MAAM,EAAE,wBAAwB,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAChG,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAChE,MAAM,WAAW,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACxD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACpC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC5D,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AACxE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;AAEvE,IAAI,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;AACjC;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAAC,cAAc,GAAG,KAAK;IACvD,IAAI,CAAC;QACJ,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAAE,MAAM,mBAAmB,EAAE,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,SAAS,GAAG,cAAc,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC;IACZ,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC;IAEpC,MAAM,gBAAgB,EAAE,CAAC;IACzB,4BAA4B;IAC5B,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;QAC/E,MAAM,EAAE,IAAI;QACZ,wBAAwB,EAAE,gBAAgB;QAC1C,UAAU,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnC,yGAAyG;QACzG,MAAM,wBAAwB,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC7C,IAAI,YAAY,CAAC,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,kBAAkB,GAAG,kBAAkB,CAAC"}
|
|
@@ -7,6 +7,17 @@ export type HttpEntry = {
|
|
|
7
7
|
urlPath?: string;
|
|
8
8
|
host?: string;
|
|
9
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* A single route's resolved middleware order. `order` is the topologically sorted
|
|
12
|
+
* list of entries the chain will invoke, outermost first. `host`/`urlPath` are the
|
|
13
|
+
* route scope (both undefined for the default route). This is the observable form of
|
|
14
|
+
* what `buildRoutedChain`/`buildLinearChain` actually execute — see `describeChains`.
|
|
15
|
+
*/
|
|
16
|
+
export type ResolvedChain = {
|
|
17
|
+
host?: string;
|
|
18
|
+
urlPath?: string;
|
|
19
|
+
order: HttpEntry[];
|
|
20
|
+
};
|
|
10
21
|
/**
|
|
11
22
|
* Topological sort of middleware entries respecting `before`/`after` constraints.
|
|
12
23
|
* Uses the original registration index as a tiebreaker so config order is preserved
|
|
@@ -75,10 +86,42 @@ export declare function stripPrefix(request: any, prefix: string): any;
|
|
|
75
86
|
* The matched (and prefix-stripped) request is substituted back into the same
|
|
76
87
|
* position before forwarding to the inner chain.
|
|
77
88
|
*/
|
|
89
|
+
/**
|
|
90
|
+
* Resolves the per-route middleware order for a port that has sub-routes.
|
|
91
|
+
* Returns each sub-route in dispatch priority order (host+path > host-only > path-only;
|
|
92
|
+
* longer paths win ties), followed by the default route last. Each route's `order` is the
|
|
93
|
+
* `after`-dependency-resolved, topologically sorted entry list the chain will invoke.
|
|
94
|
+
*
|
|
95
|
+
* This is the single source of ordering truth: `buildRoutedChain` builds callbacks from it,
|
|
96
|
+
* and `describeChains` reports it, so the observed order can never drift from the served one.
|
|
97
|
+
*/
|
|
98
|
+
export declare function resolveRoutedChains(portEntries: HttpEntry[], onCycle?: () => void): ResolvedChain[];
|
|
78
99
|
export declare function buildRoutedChain(portEntries: HttpEntry[], fallback: Function, onCycle?: () => void, requestArgIndex?: number): Function;
|
|
100
|
+
export type UnresolvedOrderingRef = {
|
|
101
|
+
entryName?: string;
|
|
102
|
+
kind: 'before' | 'after';
|
|
103
|
+
target: string;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Returns the `before`/`after` references among `entries` that name no registered entry.
|
|
107
|
+
* topoSort silently ignores these, so they deserve a diagnostic (see makeCallbackChain).
|
|
108
|
+
*/
|
|
109
|
+
export declare function findUnresolvedOrderingRefs(entries: HttpEntry[]): UnresolvedOrderingRef[];
|
|
79
110
|
/**
|
|
80
111
|
* Builds the complete middleware chain for a given port from the full responders list.
|
|
81
112
|
* Uses a flat linear chain when no sub-routes are present (fast path),
|
|
82
113
|
* or a route-dispatching chain when any entry has urlPath or host.
|
|
114
|
+
*
|
|
115
|
+
* @param onUnresolved - called (once per unresolved reference) when a `before`/`after` names no
|
|
116
|
+
* registered entry, so a typo or legacy config key doesn't silently drop the ordering constraint.
|
|
117
|
+
* Reported on the chain's first dispatch, not at build time: the chain is rebuilt on every
|
|
118
|
+
* registration, so an early build may reference an entry that a later registration resolves.
|
|
119
|
+
*/
|
|
120
|
+
export declare function makeCallbackChain(responders: HttpEntry[], portNum: number | string, fallback: Function, onCycle?: () => void, requestArgIndex?: number, onUnresolved?: (ref: UnresolvedOrderingRef) => void): Function;
|
|
121
|
+
/**
|
|
122
|
+
* Describes the resolved middleware order for a port without building callbacks.
|
|
123
|
+
* Mirrors `makeCallbackChain`'s branch selection and reuses the same resolvers, so the
|
|
124
|
+
* returned order is exactly what a request on that port would traverse. Used for the
|
|
125
|
+
* chain-build debug log and for `get_status` introspection (issue #1573).
|
|
83
126
|
*/
|
|
84
|
-
export declare function
|
|
127
|
+
export declare function describeChains(responders: HttpEntry[], portNum: number | string, onCycle?: () => void): ResolvedChain[];
|