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
|
@@ -92,9 +92,47 @@ export interface ToolDef extends ToolDescriptor {
|
|
|
92
92
|
visibleTo: (user: AuthedUser) => boolean;
|
|
93
93
|
handler: (args: unknown, context: ToolCallContext) => Promise<ToolResult> | ToolResult;
|
|
94
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Dynamic, per-profile tool source. A profile may register a provider that
|
|
97
|
+
* computes its tool set *lazily* — walked on every `tools/list` / `tools/call`
|
|
98
|
+
* rather than snapshotted into the static registry at registration time. The
|
|
99
|
+
* operations profile uses this so component operations registered after MCP
|
|
100
|
+
* boot (`server.registerOperation`, e.g. the built-in agent's `agent_prompt`)
|
|
101
|
+
* still surface once allow-listed, instead of being missed by a one-time walk
|
|
102
|
+
* of `OPERATION_FUNCTION_MAP` — see components/mcp/tools/operations.ts (#1562).
|
|
103
|
+
*
|
|
104
|
+
* On a name collision, a statically-registered tool (`addTool`) for the same
|
|
105
|
+
* profile wins over a provider entry — a curated tool overrides a generic
|
|
106
|
+
* same-named provider tool.
|
|
107
|
+
*/
|
|
108
|
+
export interface ProfileToolProvider {
|
|
109
|
+
/** Every tool the provider currently exposes for its profile. */
|
|
110
|
+
list(): ToolDef[];
|
|
111
|
+
/** Resolve a single tool by name, or `undefined` if not currently exposed. */
|
|
112
|
+
get(name: string): ToolDef | undefined;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Install (or, with `undefined`, remove) the dynamic tool provider for a
|
|
116
|
+
* profile. Idempotent — re-installing swaps the provider. Drops the pagination
|
|
117
|
+
* caches so the next `tools/list` recomputes against the new provider.
|
|
118
|
+
*/
|
|
119
|
+
export declare function setProfileToolProvider(profile: McpProfile, provider: ProfileToolProvider | undefined): void;
|
|
95
120
|
export declare function addTool(def: ToolDef): void;
|
|
96
121
|
export declare function removeTool(name: string): boolean;
|
|
97
|
-
|
|
122
|
+
/**
|
|
123
|
+
* Resolve a tool by name for `tools/call`. Pass the caller's `profile` so
|
|
124
|
+
* resolution is profile-scoped: the flat name→def registry is a single
|
|
125
|
+
* namespace shared by both profiles, so without scoping a static tool in one
|
|
126
|
+
* profile shadows a same-named provider tool in another — the shadowed tool
|
|
127
|
+
* then lists but is uncallable (the transport rejects the wrong-profile def).
|
|
128
|
+
*
|
|
129
|
+
* With a profile: a static registration of that profile wins over its provider
|
|
130
|
+
* entry (curated tool overrides a generic same-named provider tool), then the
|
|
131
|
+
* profile's provider, then any static registration by name (harmless — the
|
|
132
|
+
* transport re-checks `tool.profile`). Without a profile (internal/tests):
|
|
133
|
+
* static registry first, then any provider.
|
|
134
|
+
*/
|
|
135
|
+
export declare function getTool(name: string, profile?: McpProfile): ToolDef | undefined;
|
|
98
136
|
/**
|
|
99
137
|
* Snapshot every tool currently registered for a profile. Used to capture the
|
|
100
138
|
* live tool set before an atomic rebuild so a mid-rebuild failure can restore
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setProfileToolProvider = setProfileToolProvider;
|
|
3
4
|
exports.addTool = addTool;
|
|
4
5
|
exports.removeTool = removeTool;
|
|
5
6
|
exports.getTool = getTool;
|
|
@@ -39,8 +40,21 @@ exports.canRoleInvokeOperation = canRoleInvokeOperation;
|
|
|
39
40
|
*/
|
|
40
41
|
const pagination_ts_1 = require("./pagination.js");
|
|
41
42
|
const registry = new Map();
|
|
43
|
+
const profileProviders = new Map();
|
|
42
44
|
/** Per-session pagination cache. Invalidated when a fresh `tools/list` (no cursor) call recomputes. */
|
|
43
45
|
const sessionListCache = new Map();
|
|
46
|
+
/**
|
|
47
|
+
* Install (or, with `undefined`, remove) the dynamic tool provider for a
|
|
48
|
+
* profile. Idempotent — re-installing swaps the provider. Drops the pagination
|
|
49
|
+
* caches so the next `tools/list` recomputes against the new provider.
|
|
50
|
+
*/
|
|
51
|
+
function setProfileToolProvider(profile, provider) {
|
|
52
|
+
if (provider)
|
|
53
|
+
profileProviders.set(profile, provider);
|
|
54
|
+
else
|
|
55
|
+
profileProviders.delete(profile);
|
|
56
|
+
sessionListCache.clear();
|
|
57
|
+
}
|
|
44
58
|
function addTool(def) {
|
|
45
59
|
if (!def?.name)
|
|
46
60
|
throw new Error('addTool: name is required');
|
|
@@ -54,8 +68,37 @@ function removeTool(name) {
|
|
|
54
68
|
sessionListCache.clear();
|
|
55
69
|
return existed;
|
|
56
70
|
}
|
|
57
|
-
|
|
58
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Resolve a tool by name for `tools/call`. Pass the caller's `profile` so
|
|
73
|
+
* resolution is profile-scoped: the flat name→def registry is a single
|
|
74
|
+
* namespace shared by both profiles, so without scoping a static tool in one
|
|
75
|
+
* profile shadows a same-named provider tool in another — the shadowed tool
|
|
76
|
+
* then lists but is uncallable (the transport rejects the wrong-profile def).
|
|
77
|
+
*
|
|
78
|
+
* With a profile: a static registration of that profile wins over its provider
|
|
79
|
+
* entry (curated tool overrides a generic same-named provider tool), then the
|
|
80
|
+
* profile's provider, then any static registration by name (harmless — the
|
|
81
|
+
* transport re-checks `tool.profile`). Without a profile (internal/tests):
|
|
82
|
+
* static registry first, then any provider.
|
|
83
|
+
*/
|
|
84
|
+
function getTool(name, profile) {
|
|
85
|
+
const statik = registry.get(name);
|
|
86
|
+
if (profile !== undefined) {
|
|
87
|
+
if (statik?.profile === profile)
|
|
88
|
+
return statik;
|
|
89
|
+
const def = profileProviders.get(profile)?.get(name);
|
|
90
|
+
if (def)
|
|
91
|
+
return def;
|
|
92
|
+
return statik;
|
|
93
|
+
}
|
|
94
|
+
if (statik)
|
|
95
|
+
return statik;
|
|
96
|
+
for (const provider of profileProviders.values()) {
|
|
97
|
+
const def = provider.get(name);
|
|
98
|
+
if (def)
|
|
99
|
+
return def;
|
|
100
|
+
}
|
|
101
|
+
return undefined;
|
|
59
102
|
}
|
|
60
103
|
/**
|
|
61
104
|
* Snapshot every tool currently registered for a profile. Used to capture the
|
|
@@ -99,6 +142,7 @@ function clearSessionCache(sessionId) {
|
|
|
99
142
|
/** Test seam: drop all registrations. */
|
|
100
143
|
function _resetRegistryForTest() {
|
|
101
144
|
registry.clear();
|
|
145
|
+
profileProviders.clear();
|
|
102
146
|
sessionListCache.clear();
|
|
103
147
|
}
|
|
104
148
|
/**
|
|
@@ -138,10 +182,21 @@ function listTools(args) {
|
|
|
138
182
|
};
|
|
139
183
|
}
|
|
140
184
|
function computeFilteredList(user, profile) {
|
|
141
|
-
|
|
185
|
+
// Merge the profile's dynamic provider (if any) with its statically-registered
|
|
186
|
+
// tools, deduping by name. Provider entries are inserted first so a static
|
|
187
|
+
// registration of the same name overrides them (curated wins — see getTool).
|
|
188
|
+
const byName = new Map();
|
|
189
|
+
const provider = profileProviders.get(profile);
|
|
190
|
+
if (provider) {
|
|
191
|
+
for (const def of provider.list())
|
|
192
|
+
byName.set(def.name, def);
|
|
193
|
+
}
|
|
142
194
|
for (const def of registry.values()) {
|
|
143
|
-
if (def.profile
|
|
144
|
-
|
|
195
|
+
if (def.profile === profile)
|
|
196
|
+
byName.set(def.name, def);
|
|
197
|
+
}
|
|
198
|
+
const out = [];
|
|
199
|
+
for (const def of byName.values()) {
|
|
145
200
|
if (!def.visibleTo(user))
|
|
146
201
|
continue;
|
|
147
202
|
out.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["../../../components/mcp/toolRegistry.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["../../../components/mcp/toolRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,7 +101,14 @@ interface ToolAnnotationsLike {
|
|
|
101
101
|
idempotentHint?: boolean;
|
|
102
102
|
openWorldHint?: boolean;
|
|
103
103
|
}
|
|
104
|
-
|
|
104
|
+
/** A compiled parameterised route (e.g. `/widget/:id`), stored outside the base Map. */
|
|
105
|
+
interface ParamRouteEntry {
|
|
106
|
+
pattern: string;
|
|
107
|
+
entry: ResourceRegistryEntry;
|
|
108
|
+
}
|
|
109
|
+
type ResourcesRegistry = Map<string, ResourceRegistryEntry> & {
|
|
110
|
+
paramRoutes?: ParamRouteEntry[];
|
|
111
|
+
};
|
|
105
112
|
type RequestTargetCtor = new () => Record<string, unknown> & {
|
|
106
113
|
conditions?: unknown[];
|
|
107
114
|
operator?: string;
|
|
@@ -76,6 +76,30 @@ const customResourceRegistry_ts_1 = require("../customResourceRegistry.js");
|
|
|
76
76
|
const listChanged_ts_1 = require("../listChanged.js");
|
|
77
77
|
const pagination_ts_1 = require("../pagination.js");
|
|
78
78
|
const derive_ts_1 = require("./schemas/derive.js");
|
|
79
|
+
/**
|
|
80
|
+
* True when `pattern`'s only dynamic segment is a single trailing `:id` param (e.g. `widget/:id`).
|
|
81
|
+
* That is the ONLY shape the verb handlers below bind — `target.id = args.id`, treating `:id` as
|
|
82
|
+
* the record itself — so a differently-named param (`:widgetId`), more than one param, a `*wildcard`
|
|
83
|
+
* segment, or an `:id` that is NOT the final segment (`widget/:id/action`, where the route names a
|
|
84
|
+
* sub-resource, not the widget) would advertise an `id` input the handler never actually threads
|
|
85
|
+
* onto the real segment(s).
|
|
86
|
+
*/
|
|
87
|
+
function isSimpleIdRoute(pattern) {
|
|
88
|
+
const segments = pattern.split('/');
|
|
89
|
+
if (segments[segments.length - 1] !== ':id')
|
|
90
|
+
return false;
|
|
91
|
+
let paramCount = 0;
|
|
92
|
+
for (const segment of segments) {
|
|
93
|
+
if (segment.startsWith('*'))
|
|
94
|
+
return false;
|
|
95
|
+
if (segment.startsWith(':')) {
|
|
96
|
+
if (segment !== ':id')
|
|
97
|
+
return false;
|
|
98
|
+
paramCount++;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return paramCount === 1;
|
|
102
|
+
}
|
|
79
103
|
// Test seams: avoid Harper's eager graph init in unit tests.
|
|
80
104
|
let _resourcesOverride;
|
|
81
105
|
let _requestTargetCtorOverride;
|
|
@@ -131,9 +155,15 @@ function loadRequestTarget() {
|
|
|
131
155
|
*
|
|
132
156
|
* Falls back to the registration-time class only if the registry lookup fails
|
|
133
157
|
* (e.g. the entry was removed), so a stale tool still dispatches *something*.
|
|
158
|
+
*
|
|
159
|
+
* Parameterised routes (e.g. `/widget/:id`) live outside the base Map in
|
|
160
|
+
* `paramRoutes`, so a plain `Map.get(path)` always misses for them — checked
|
|
161
|
+
* there too, or the live-dispatch guarantee above silently doesn't apply to
|
|
162
|
+
* param-route resources.
|
|
134
163
|
*/
|
|
135
164
|
function liveResource(path, fallback) {
|
|
136
|
-
const
|
|
165
|
+
const registry = loadResources();
|
|
166
|
+
const entry = registry?.get(path) ?? registry?.paramRoutes?.find((route) => route.pattern === path)?.entry;
|
|
137
167
|
return entry?.Resource ?? fallback;
|
|
138
168
|
}
|
|
139
169
|
const DEFAULT_SEARCH_LIMIT = 100;
|
|
@@ -919,24 +949,42 @@ function buildApplicationTools(resources) {
|
|
|
919
949
|
const claimedSuffixes = new Set();
|
|
920
950
|
let toolsRegistered = 0;
|
|
921
951
|
let resourcesConsidered = 0;
|
|
922
|
-
|
|
952
|
+
// How much of a param route the GENERATED verb handlers can bind:
|
|
953
|
+
// 'id' — single-`:id` routes: get/update/patch/delete bind `target.id = args.id`,
|
|
954
|
+
// but makeCreateHandler forces `target.isCollection = true` (never binds id)
|
|
955
|
+
// and makeSearchHandler is collection-scoped, so create/search are dropped.
|
|
956
|
+
// 'none' — multi-segment/named-wildcard routes: no generated handler can bind the
|
|
957
|
+
// segments yet, so ALL generated verbs are dropped. Author-defined
|
|
958
|
+
// mcpTools/mcpPrompts carry their own schemas and handler methods, so they
|
|
959
|
+
// register regardless of binding mode.
|
|
960
|
+
const considerEntry = (path, entry, paramBinding) => {
|
|
961
|
+
if (!entry)
|
|
962
|
+
return;
|
|
923
963
|
resourcesConsidered++;
|
|
924
964
|
if (!shouldEnumerate(entry))
|
|
925
|
-
|
|
965
|
+
return;
|
|
926
966
|
const ResourceClass = entry.Resource;
|
|
927
967
|
// @hidden type-level: suppress the Resource from MCP tool listing entirely.
|
|
928
968
|
// Data remains accessible via direct query/RBAC; only descriptive surfaces drop it.
|
|
929
969
|
if (ResourceClass?.hidden === true) {
|
|
930
970
|
harper_logger_ts_1.default.trace(`MCP application: '/${path}' suppressed from tool listing (@hidden)`);
|
|
931
|
-
|
|
971
|
+
return;
|
|
932
972
|
}
|
|
933
973
|
const verbs = detectVerbs(ResourceClass);
|
|
974
|
+
if (paramBinding === 'id') {
|
|
975
|
+
verbs.search = false;
|
|
976
|
+
verbs.create = false;
|
|
977
|
+
}
|
|
978
|
+
else if (paramBinding === 'none') {
|
|
979
|
+
harper_logger_ts_1.default.trace(`MCP application: '/${path}' generated verb tools skipped — multi-segment/named-wildcard binding not yet supported`);
|
|
980
|
+
verbs.get = verbs.search = verbs.create = verbs.updatePut = verbs.updatePatch = verbs.delete = false;
|
|
981
|
+
}
|
|
934
982
|
const hasVerbs = verbs.get || verbs.search || verbs.create || verbs.updatePut || verbs.updatePatch || verbs.delete;
|
|
935
983
|
const hasCustomTools = Array.isArray(ResourceClass?.mcpTools) && ResourceClass.mcpTools.length > 0;
|
|
936
984
|
const hasCustomPrompts = Array.isArray(ResourceClass?.mcpPrompts) && ResourceClass.mcpPrompts.length > 0;
|
|
937
985
|
const hasCustomResources = Array.isArray(ResourceClass?.mcpResources) && ResourceClass.mcpResources.length > 0;
|
|
938
986
|
if (!hasVerbs && !hasCustomTools && !hasCustomPrompts && !hasCustomResources)
|
|
939
|
-
|
|
987
|
+
return;
|
|
940
988
|
const databaseName = ResourceClass?.databaseName;
|
|
941
989
|
const tableName = ResourceClass?.tableName;
|
|
942
990
|
const suffix = uniqueSuffix(path, databaseName, claimedSuffixes);
|
|
@@ -956,6 +1004,18 @@ function buildApplicationTools(resources) {
|
|
|
956
1004
|
toolsRegistered += registerCustomMcpTools(ResourceClass, path);
|
|
957
1005
|
registerCustomMcpPrompts(ResourceClass, path);
|
|
958
1006
|
registerCustomMcpResources(ResourceClass, path);
|
|
1007
|
+
};
|
|
1008
|
+
for (const [path, entry] of resources)
|
|
1009
|
+
considerEntry(path, entry);
|
|
1010
|
+
// Parameterised routes (e.g. `/widget/:id`) live OUTSIDE the base Map: Resources.setParamRoute
|
|
1011
|
+
// stores them in `paramRoutes` and returns before the Map insert, so the loop above never sees
|
|
1012
|
+
// them. Without this, a custom resource declaring `static path = '/widget/:id'` produces ZERO MCP
|
|
1013
|
+
// tools — even though it appears in the OpenAPI document, which already iterates `paramRoutes`.
|
|
1014
|
+
// Enumerate them so the tool surface matches the REST surface; the binding mode restricts the
|
|
1015
|
+
// GENERATED verb tools to what their handlers actually bind (see considerEntry), while custom
|
|
1016
|
+
// mcpTools/mcpPrompts register on every route shape.
|
|
1017
|
+
for (const route of resources.paramRoutes ?? []) {
|
|
1018
|
+
considerEntry(route.pattern, route.entry, isSimpleIdRoute(route.pattern) ? 'id' : 'none');
|
|
959
1019
|
}
|
|
960
1020
|
harper_logger_ts_1.default.info(`MCP application profile: considered ${resourcesConsidered} resource(s), registered ${toolsRegistered} tool(s)`);
|
|
961
1021
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../components/mcp/tools/application.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../components/mcp/tools/application.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,21 @@ export declare function _setProcessLocalTransactionForTest(fn: ProcessLocalTrans
|
|
|
15
15
|
*/
|
|
16
16
|
export declare const DEFAULT_ALLOW: readonly string[];
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* Operations excluded from the DEFAULT allow surface even when a glob matches
|
|
19
|
+
* (`list_*` would otherwise pull in `list_secrets`). The secrets store is key
|
|
20
|
+
* custody management, not data reads — none of it belongs on an LLM-facing
|
|
21
|
+
* surface by default, same rationale as the sensitive `get_*` exclusions
|
|
22
|
+
* above. Operators can still expose these deliberately via
|
|
23
|
+
* `mcp.operations.allow` (an explicit allow list replaces the default and is
|
|
24
|
+
* not filtered by this set), where the audit-log redaction of
|
|
25
|
+
* `value`/`values`/`envelope` applies.
|
|
26
|
+
*/
|
|
27
|
+
export declare const DEFAULT_EXCLUDED: ReadonlySet<string>;
|
|
28
|
+
/**
|
|
29
|
+
* Install the operations-profile tool provider. The provider is walked lazily
|
|
30
|
+
* per request rather than snapshotting the op map here, so component operations
|
|
31
|
+
* registered after this runs still surface once allow-listed (#1562).
|
|
32
|
+
* Idempotent — re-installing the provider is a no-op swap.
|
|
21
33
|
*/
|
|
22
34
|
export declare function registerOperationsTools(): void;
|
|
23
35
|
export {};
|
|
@@ -36,15 +36,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.DEFAULT_ALLOW = void 0;
|
|
39
|
+
exports.DEFAULT_EXCLUDED = exports.DEFAULT_ALLOW = void 0;
|
|
40
40
|
exports._setOperationFunctionMapForTest = _setOperationFunctionMapForTest;
|
|
41
41
|
exports._setChooseOperationForTest = _setChooseOperationForTest;
|
|
42
42
|
exports._setProcessLocalTransactionForTest = _setProcessLocalTransactionForTest;
|
|
43
43
|
exports.registerOperationsTools = registerOperationsTools;
|
|
44
44
|
/**
|
|
45
|
-
* Operations-profile tool generation.
|
|
46
|
-
*
|
|
47
|
-
*
|
|
45
|
+
* Operations-profile tool generation. Exposes one MCP tool per Harper
|
|
46
|
+
* operation that survives the `mcp.operations.allow` / `deny` filter, computed
|
|
47
|
+
* *lazily* by walking Harper's live `OPERATION_FUNCTION_MAP` on each
|
|
48
|
+
* `tools/list` / `tools/call`.
|
|
49
|
+
*
|
|
50
|
+
* The list is computed lazily (not snapshotted at registration) because
|
|
51
|
+
* components register their operations via `server.registerOperation` during
|
|
52
|
+
* `startOnMainThread`, which runs AFTER the MCP operations profile registers
|
|
53
|
+
* (see components/mcp/index.ts → registerMcpProfile). A one-time walk at
|
|
54
|
+
* registration time would miss every component-registered operation (e.g. the
|
|
55
|
+
* built-in agent's `agent_prompt`), so `mcp.operations.allow` listing them
|
|
56
|
+
* would silently have no effect — #1562. Walking the live map per request
|
|
57
|
+
* removes the ordering dependence and stays consistent as components load.
|
|
48
58
|
*
|
|
49
59
|
* The default v1 allow list is read-only and intentionally narrow:
|
|
50
60
|
* `describe_*`, `list_*`, `search_*`, plus an explicit set of safe
|
|
@@ -135,6 +145,24 @@ exports.DEFAULT_ALLOW = [
|
|
|
135
145
|
'read_log',
|
|
136
146
|
'read_audit_log',
|
|
137
147
|
];
|
|
148
|
+
/**
|
|
149
|
+
* Operations excluded from the DEFAULT allow surface even when a glob matches
|
|
150
|
+
* (`list_*` would otherwise pull in `list_secrets`). The secrets store is key
|
|
151
|
+
* custody management, not data reads — none of it belongs on an LLM-facing
|
|
152
|
+
* surface by default, same rationale as the sensitive `get_*` exclusions
|
|
153
|
+
* above. Operators can still expose these deliberately via
|
|
154
|
+
* `mcp.operations.allow` (an explicit allow list replaces the default and is
|
|
155
|
+
* not filtered by this set), where the audit-log redaction of
|
|
156
|
+
* `value`/`values`/`envelope` applies.
|
|
157
|
+
*/
|
|
158
|
+
exports.DEFAULT_EXCLUDED = new Set([
|
|
159
|
+
'set_secret',
|
|
160
|
+
'grant_secret',
|
|
161
|
+
'revoke_secret',
|
|
162
|
+
'list_secrets',
|
|
163
|
+
'delete_secret',
|
|
164
|
+
'get_secrets_public_key',
|
|
165
|
+
]);
|
|
138
166
|
/**
|
|
139
167
|
* Operations that carry `destructiveHint: true` when opted into the allow
|
|
140
168
|
* list. The hint lets MCP clients surface a confirmation prompt before
|
|
@@ -217,7 +245,10 @@ function matchesAny(operation, patterns) {
|
|
|
217
245
|
return false;
|
|
218
246
|
}
|
|
219
247
|
function isOperationAllowed(operation, config) {
|
|
220
|
-
const
|
|
248
|
+
const usingDefaultAllow = !(config.allow && config.allow.length > 0);
|
|
249
|
+
if (usingDefaultAllow && exports.DEFAULT_EXCLUDED.has(operation))
|
|
250
|
+
return false;
|
|
251
|
+
const allowList = usingDefaultAllow ? exports.DEFAULT_ALLOW : config.allow;
|
|
221
252
|
if (!matchesAny(operation, allowList))
|
|
222
253
|
return false;
|
|
223
254
|
if (matchesAny(operation, config.deny))
|
|
@@ -292,40 +323,70 @@ function makeOperationToolHandler(operationName) {
|
|
|
292
323
|
};
|
|
293
324
|
}
|
|
294
325
|
/**
|
|
295
|
-
*
|
|
296
|
-
*
|
|
297
|
-
*
|
|
326
|
+
* Build the `ToolDef` for one operation. Cheap and stateless — a def is a pure
|
|
327
|
+
* function of the operation name (its schema, description, annotations, RBAC
|
|
328
|
+
* predicate, and handler don't depend on the allow/deny config, which only
|
|
329
|
+
* decides *whether* the op is exposed, checked per request in the provider).
|
|
330
|
+
* `tools/list` isn't a hot path, so the provider rebuilds defs per call rather
|
|
331
|
+
* than caching (no module-level state to leak or stale-cache across tests).
|
|
332
|
+
*/
|
|
333
|
+
function buildOperationToolDef(operationName) {
|
|
334
|
+
const inputSchema = operations_ts_1.OPERATION_INPUT_SCHEMAS[operationName] ?? operations_ts_1.PERMISSIVE_SCHEMA;
|
|
335
|
+
const annotations = {};
|
|
336
|
+
if (isReadOnly(operationName))
|
|
337
|
+
annotations.readOnlyHint = true;
|
|
338
|
+
if (isDestructive(operationName))
|
|
339
|
+
annotations.destructiveHint = true;
|
|
340
|
+
if (isIdempotent(operationName))
|
|
341
|
+
annotations.idempotentHint = true;
|
|
342
|
+
return {
|
|
343
|
+
name: operationName,
|
|
344
|
+
description: buildDescription(operationName, operationName in operations_ts_1.OPERATION_INPUT_SCHEMAS),
|
|
345
|
+
inputSchema,
|
|
346
|
+
profile: 'operations',
|
|
347
|
+
...(Object.keys(annotations).length > 0 ? { annotations } : {}),
|
|
348
|
+
visibleTo: (user) => (0, toolRegistry_ts_1.canRoleInvokeOperation)(user, operationName),
|
|
349
|
+
handler: makeOperationToolHandler(operationName),
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Lazy operations-profile tool provider. Consulted by the registry on every
|
|
354
|
+
* `tools/list` / `tools/call`, so it reflects the live `OPERATION_FUNCTION_MAP`
|
|
355
|
+
* — including operations registered by components after MCP boot (#1562).
|
|
356
|
+
*/
|
|
357
|
+
const operationsToolProvider = {
|
|
358
|
+
list() {
|
|
359
|
+
const opMap = getOperationFunctionMap();
|
|
360
|
+
if (!opMap) {
|
|
361
|
+
harper_logger_ts_1.default.warn('MCP operations profile: OPERATION_FUNCTION_MAP not available; no tools listed');
|
|
362
|
+
return [];
|
|
363
|
+
}
|
|
364
|
+
const config = getOperationsConfig();
|
|
365
|
+
const defs = [];
|
|
366
|
+
for (const operationName of opMap.keys()) {
|
|
367
|
+
if (!isOperationAllowed(operationName, config))
|
|
368
|
+
continue;
|
|
369
|
+
defs.push(buildOperationToolDef(operationName));
|
|
370
|
+
}
|
|
371
|
+
return defs;
|
|
372
|
+
},
|
|
373
|
+
get(operationName) {
|
|
374
|
+
const opMap = getOperationFunctionMap();
|
|
375
|
+
if (!opMap || !opMap.has(operationName))
|
|
376
|
+
return undefined;
|
|
377
|
+
if (!isOperationAllowed(operationName, getOperationsConfig()))
|
|
378
|
+
return undefined;
|
|
379
|
+
return buildOperationToolDef(operationName);
|
|
380
|
+
},
|
|
381
|
+
};
|
|
382
|
+
/**
|
|
383
|
+
* Install the operations-profile tool provider. The provider is walked lazily
|
|
384
|
+
* per request rather than snapshotting the op map here, so component operations
|
|
385
|
+
* registered after this runs still surface once allow-listed (#1562).
|
|
386
|
+
* Idempotent — re-installing the provider is a no-op swap.
|
|
298
387
|
*/
|
|
299
388
|
function registerOperationsTools() {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
harper_logger_ts_1.default.warn('MCP operations profile: OPERATION_FUNCTION_MAP not available; no tools registered');
|
|
303
|
-
return;
|
|
304
|
-
}
|
|
305
|
-
const config = getOperationsConfig();
|
|
306
|
-
let registered = 0;
|
|
307
|
-
for (const operationName of opMap.keys()) {
|
|
308
|
-
if (!isOperationAllowed(operationName, config))
|
|
309
|
-
continue;
|
|
310
|
-
const inputSchema = operations_ts_1.OPERATION_INPUT_SCHEMAS[operationName] ?? operations_ts_1.PERMISSIVE_SCHEMA;
|
|
311
|
-
const annotations = {};
|
|
312
|
-
if (isReadOnly(operationName))
|
|
313
|
-
annotations.readOnlyHint = true;
|
|
314
|
-
if (isDestructive(operationName))
|
|
315
|
-
annotations.destructiveHint = true;
|
|
316
|
-
if (isIdempotent(operationName))
|
|
317
|
-
annotations.idempotentHint = true;
|
|
318
|
-
(0, toolRegistry_ts_1.addTool)({
|
|
319
|
-
name: operationName,
|
|
320
|
-
description: buildDescription(operationName, operationName in operations_ts_1.OPERATION_INPUT_SCHEMAS),
|
|
321
|
-
inputSchema,
|
|
322
|
-
profile: 'operations',
|
|
323
|
-
...(Object.keys(annotations).length > 0 ? { annotations } : {}),
|
|
324
|
-
visibleTo: (user) => (0, toolRegistry_ts_1.canRoleInvokeOperation)(user, operationName),
|
|
325
|
-
handler: makeOperationToolHandler(operationName),
|
|
326
|
-
});
|
|
327
|
-
registered++;
|
|
328
|
-
}
|
|
329
|
-
harper_logger_ts_1.default.info(`MCP operations profile: registered ${registered} tool(s)`);
|
|
389
|
+
(0, toolRegistry_ts_1.setProfileToolProvider)('operations', operationsToolProvider);
|
|
390
|
+
harper_logger_ts_1.default.info('MCP operations profile: lazy tool provider installed');
|
|
330
391
|
}
|
|
331
392
|
//# sourceMappingURL=operations.js.map
|