@1mcp/agent 0.38.1 → 0.39.0-beta.0
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/build/admin/assets/{admin-OAuthServicesWorkspace-C3DNmymC.js → admin-OAuthServicesWorkspace-Bmets2jv.js} +1 -1
- package/build/admin/assets/{admin-console-BmdH0cQS.js → admin-console-DyzxXXr5.js} +3 -3
- package/build/admin/index.html +1 -1
- package/build/commands/run/run.d.ts.map +1 -1
- package/build/commands/run/run.js +35 -14
- package/build/commands/run/run.js.map +1 -1
- package/build/commands/run/runUtils.d.ts +2 -3
- package/build/commands/run/runUtils.d.ts.map +1 -1
- package/build/commands/run/runUtils.js +12 -11
- package/build/commands/run/runUtils.js.map +1 -1
- package/build/commands/serve/cooperativeRuntime.d.ts +18 -0
- package/build/commands/serve/cooperativeRuntime.d.ts.map +1 -0
- package/build/commands/serve/cooperativeRuntime.js +588 -0
- package/build/commands/serve/cooperativeRuntime.js.map +1 -0
- package/build/commands/serve/index.d.ts +10 -0
- package/build/commands/serve/index.d.ts.map +1 -1
- package/build/commands/serve/index.js +10 -0
- package/build/commands/serve/index.js.map +1 -1
- package/build/commands/serve/legacyRuntimeStop.d.ts +16 -0
- package/build/commands/serve/legacyRuntimeStop.d.ts.map +1 -0
- package/build/commands/serve/legacyRuntimeStop.js +143 -0
- package/build/commands/serve/legacyRuntimeStop.js.map +1 -0
- package/build/commands/serve/serveStatus.d.ts +2 -0
- package/build/commands/serve/serveStatus.d.ts.map +1 -1
- package/build/commands/serve/serveStatus.js +37 -3
- package/build/commands/serve/serveStatus.js.map +1 -1
- package/build/commands/serve/serveStop.d.ts.map +1 -1
- package/build/commands/serve/serveStop.js +33 -4
- package/build/commands/serve/serveStop.js.map +1 -1
- package/build/commands/shared/apiClient.d.ts.map +1 -1
- package/build/commands/shared/apiClient.js +13 -9
- package/build/commands/shared/apiClient.js.map +1 -1
- package/build/commands/shared/clientSurfaceAttachment.d.ts.map +1 -1
- package/build/commands/shared/clientSurfaceAttachment.js +33 -7
- package/build/commands/shared/clientSurfaceAttachment.js.map +1 -1
- package/build/config/configLoader.d.ts.map +1 -1
- package/build/config/configLoader.js +9 -1
- package/build/config/configLoader.js.map +1 -1
- package/build/config/configManager.d.ts +4 -0
- package/build/config/configManager.d.ts.map +1 -1
- package/build/config/configManager.js +48 -1
- package/build/config/configManager.js.map +1 -1
- package/build/config/configWatcher.d.ts.map +1 -1
- package/build/config/configWatcher.js +3 -1
- package/build/config/configWatcher.js.map +1 -1
- package/build/config/envProcessor.d.ts.map +1 -1
- package/build/config/envProcessor.js +6 -5
- package/build/config/envProcessor.js.map +1 -1
- package/build/config/mcpConfigManager.d.ts +4 -0
- package/build/config/mcpConfigManager.d.ts.map +1 -1
- package/build/config/mcpConfigManager.js +48 -1
- package/build/config/mcpConfigManager.js.map +1 -1
- package/build/config/runtimeBootstrap.d.ts +15 -0
- package/build/config/runtimeBootstrap.d.ts.map +1 -0
- package/build/config/runtimeBootstrap.js +35 -0
- package/build/config/runtimeBootstrap.js.map +1 -0
- package/build/config/runtimeScopeEnv.d.ts.map +1 -1
- package/build/config/runtimeScopeEnv.js +4 -0
- package/build/config/runtimeScopeEnv.js.map +1 -1
- package/build/config/runtimeTargetFingerprint.d.ts.map +1 -1
- package/build/config/runtimeTargetFingerprint.js +5 -2
- package/build/config/runtimeTargetFingerprint.js.map +1 -1
- package/build/constants/mcp.d.ts +1 -1
- package/build/constants/mcp.d.ts.map +1 -1
- package/build/constants/mcp.js +1 -1
- package/build/constants/mcp.js.map +1 -1
- package/build/core/capabilities/asyncLoadingOrchestrator.d.ts +2 -1
- package/build/core/capabilities/asyncLoadingOrchestrator.d.ts.map +1 -1
- package/build/core/capabilities/asyncLoadingOrchestrator.js +2 -21
- package/build/core/capabilities/asyncLoadingOrchestrator.js.map +1 -1
- package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -1
- package/build/core/capabilities/capabilityAggregator.js +12 -4
- package/build/core/capabilities/capabilityAggregator.js.map +1 -1
- package/build/core/capabilities/capabilityCatalog.d.ts +2 -1
- package/build/core/capabilities/capabilityCatalog.d.ts.map +1 -1
- package/build/core/capabilities/capabilityCatalog.js +94 -17
- package/build/core/capabilities/capabilityCatalog.js.map +1 -1
- package/build/core/capabilities/capabilityPagination.d.ts +11 -0
- package/build/core/capabilities/capabilityPagination.d.ts.map +1 -1
- package/build/core/capabilities/capabilityPagination.js +158 -40
- package/build/core/capabilities/capabilityPagination.js.map +1 -1
- package/build/core/capabilities/catalogGeneration.d.ts.map +1 -1
- package/build/core/capabilities/catalogGeneration.js +8 -2
- package/build/core/capabilities/catalogGeneration.js.map +1 -1
- package/build/core/capabilities/lazyLoadingOrchestrator.d.ts +1 -1
- package/build/core/capabilities/lazyLoadingOrchestrator.d.ts.map +1 -1
- package/build/core/capabilities/lazyLoadingOrchestrator.js +8 -8
- package/build/core/capabilities/lazyLoadingOrchestrator.js.map +1 -1
- package/build/core/capabilities/metaToolProvider.d.ts +2 -2
- package/build/core/capabilities/metaToolProvider.d.ts.map +1 -1
- package/build/core/capabilities/metaToolProvider.js +20 -30
- package/build/core/capabilities/metaToolProvider.js.map +1 -1
- package/build/core/capabilities/runtimeCapabilityCatalog.d.ts +8 -0
- package/build/core/capabilities/runtimeCapabilityCatalog.d.ts.map +1 -1
- package/build/core/capabilities/runtimeCapabilityCatalog.js +249 -64
- package/build/core/capabilities/runtimeCapabilityCatalog.js.map +1 -1
- package/build/core/capabilities/schemaCache.d.ts +6 -2
- package/build/core/capabilities/schemaCache.d.ts.map +1 -1
- package/build/core/capabilities/schemaCache.js +101 -19
- package/build/core/capabilities/schemaCache.js.map +1 -1
- package/build/core/client/legacyAdapterRequest.d.ts.map +1 -1
- package/build/core/client/legacyAdapterRequest.js +25 -21
- package/build/core/client/legacyAdapterRequest.js.map +1 -1
- package/build/core/client/postAuthOAuthRecovery.d.ts.map +1 -1
- package/build/core/client/postAuthOAuthRecovery.js +3 -1
- package/build/core/client/postAuthOAuthRecovery.js.map +1 -1
- package/build/core/configChangeHandler.d.ts.map +1 -1
- package/build/core/configChangeHandler.js +11 -2
- package/build/core/configChangeHandler.js.map +1 -1
- package/build/core/context/templateContextTrust.d.ts +3 -1
- package/build/core/context/templateContextTrust.d.ts.map +1 -1
- package/build/core/context/templateContextTrust.js +22 -6
- package/build/core/context/templateContextTrust.js.map +1 -1
- package/build/core/loading/mcpLoadingManager.d.ts +3 -0
- package/build/core/loading/mcpLoadingManager.d.ts.map +1 -1
- package/build/core/loading/mcpLoadingManager.js +11 -1
- package/build/core/loading/mcpLoadingManager.js.map +1 -1
- package/build/core/protocol/resourceTemplateRouting.d.ts +2 -0
- package/build/core/protocol/resourceTemplateRouting.d.ts.map +1 -0
- package/build/core/protocol/resourceTemplateRouting.js +2 -0
- package/build/core/protocol/resourceTemplateRouting.js.map +1 -0
- package/build/core/server/backgroundRuntimeSupervisor.d.ts +2 -0
- package/build/core/server/backgroundRuntimeSupervisor.d.ts.map +1 -1
- package/build/core/server/backgroundRuntimeSupervisor.js +11 -2
- package/build/core/server/backgroundRuntimeSupervisor.js.map +1 -1
- package/build/core/server/backgroundRuntimeSupervisorState.d.ts +2 -1
- package/build/core/server/backgroundRuntimeSupervisorState.d.ts.map +1 -1
- package/build/core/server/backgroundRuntimeSupervisorState.js +3 -2
- package/build/core/server/backgroundRuntimeSupervisorState.js.map +1 -1
- package/build/core/server/legacyRuntimeRecovery.d.ts +14 -0
- package/build/core/server/legacyRuntimeRecovery.d.ts.map +1 -0
- package/build/core/server/legacyRuntimeRecovery.js +209 -0
- package/build/core/server/legacyRuntimeRecovery.js.map +1 -0
- package/build/core/server/pidFileManager.d.ts +35 -0
- package/build/core/server/pidFileManager.d.ts.map +1 -1
- package/build/core/server/pidFileManager.js +16 -5
- package/build/core/server/pidFileManager.js.map +1 -1
- package/build/core/server/processEvidence.d.ts +23 -0
- package/build/core/server/processEvidence.d.ts.map +1 -0
- package/build/core/server/processEvidence.js +114 -0
- package/build/core/server/processEvidence.js.map +1 -0
- package/build/core/server/processIdentity.d.ts +3 -0
- package/build/core/server/processIdentity.d.ts.map +1 -1
- package/build/core/server/processIdentity.js +69 -17
- package/build/core/server/processIdentity.js.map +1 -1
- package/build/core/server/runtimeControl.d.ts +31 -0
- package/build/core/server/runtimeControl.d.ts.map +1 -0
- package/build/core/server/runtimeControl.js +288 -0
- package/build/core/server/runtimeControl.js.map +1 -0
- package/build/core/server/runtimeDrain.d.ts +68 -0
- package/build/core/server/runtimeDrain.d.ts.map +1 -0
- package/build/core/server/runtimeDrain.js +248 -0
- package/build/core/server/runtimeDrain.js.map +1 -0
- package/build/core/server/runtimeLaunchIpc.d.ts +285 -0
- package/build/core/server/runtimeLaunchIpc.d.ts.map +1 -0
- package/build/core/server/runtimeLaunchIpc.js +146 -0
- package/build/core/server/runtimeLaunchIpc.js.map +1 -0
- package/build/core/server/runtimeLifecycle.d.ts +3 -1
- package/build/core/server/runtimeLifecycle.d.ts.map +1 -1
- package/build/core/server/runtimeLifecycle.js +7 -5
- package/build/core/server/runtimeLifecycle.js.map +1 -1
- package/build/core/server/runtimeReplacementConfig.d.ts +295 -0
- package/build/core/server/runtimeReplacementConfig.d.ts.map +1 -0
- package/build/core/server/runtimeReplacementConfig.js +187 -0
- package/build/core/server/runtimeReplacementConfig.js.map +1 -0
- package/build/core/server/runtimeScopeOwnership.d.ts +3 -0
- package/build/core/server/runtimeScopeOwnership.d.ts.map +1 -1
- package/build/core/server/runtimeScopeOwnership.js +23 -4
- package/build/core/server/runtimeScopeOwnership.js.map +1 -1
- package/build/core/tools/internal/discoveryHandlers.d.ts.map +1 -1
- package/build/core/tools/internal/discoveryHandlers.js +8 -6
- package/build/core/tools/internal/discoveryHandlers.js.map +1 -1
- package/build/core/tools/internal/installationHandlers.d.ts.map +1 -1
- package/build/core/tools/internal/installationHandlers.js +46 -39
- package/build/core/tools/internal/installationHandlers.js.map +1 -1
- package/build/core/types/server.d.ts +2 -0
- package/build/core/types/server.d.ts.map +1 -1
- package/build/core/types/transport.d.ts +1 -1
- package/build/core/validation/schemaBoundary.d.ts +51 -0
- package/build/core/validation/schemaBoundary.d.ts.map +1 -0
- package/build/core/validation/schemaBoundary.js +237 -0
- package/build/core/validation/schemaBoundary.js.map +1 -0
- package/build/core/validation/schemaPolicy.d.ts +38 -0
- package/build/core/validation/schemaPolicy.d.ts.map +1 -0
- package/build/core/validation/schemaPolicy.js +127 -0
- package/build/core/validation/schemaPolicy.js.map +1 -0
- package/build/core/validation/schemaWorker.d.ts +2 -0
- package/build/core/validation/schemaWorker.d.ts.map +1 -0
- package/build/core/validation/schemaWorker.js +222 -0
- package/build/core/validation/schemaWorker.js.map +1 -0
- package/build/core/validation/toolSchemaBoundary.d.ts +19 -0
- package/build/core/validation/toolSchemaBoundary.d.ts.map +1 -0
- package/build/core/validation/toolSchemaBoundary.js +51 -0
- package/build/core/validation/toolSchemaBoundary.js.map +1 -0
- package/build/domains/admin/adminOperationService.d.ts +1 -0
- package/build/domains/admin/adminOperationService.d.ts.map +1 -1
- package/build/domains/admin/adminOperationService.js +4 -0
- package/build/domains/admin/adminOperationService.js.map +1 -1
- package/build/domains/config-change/configChange.d.ts.map +1 -1
- package/build/domains/config-change/configChange.js +36 -8
- package/build/domains/config-change/configChange.js.map +1 -1
- package/build/domains/installation/serverInstallationWorkflow.d.ts.map +1 -1
- package/build/domains/installation/serverInstallationWorkflow.js +21 -12
- package/build/domains/installation/serverInstallationWorkflow.js.map +1 -1
- package/build/domains/preset/manager/presetManager.d.ts.map +1 -1
- package/build/domains/preset/manager/presetManager.js +2 -1
- package/build/domains/preset/manager/presetManager.js.map +1 -1
- package/build/domains/registry/mcpRegistryClient.d.ts.map +1 -1
- package/build/domains/registry/mcpRegistryClient.js +10 -3
- package/build/domains/registry/mcpRegistryClient.js.map +1 -1
- package/build/gateway/adapters/modern/modernOutboundEraAdapter.d.ts +2 -1
- package/build/gateway/adapters/modern/modernOutboundEraAdapter.d.ts.map +1 -1
- package/build/gateway/adapters/modern/modernOutboundEraAdapter.js +77 -3
- package/build/gateway/adapters/modern/modernOutboundEraAdapter.js.map +1 -1
- package/build/gateway/contracts/gatewayFailure.d.ts +38 -0
- package/build/gateway/contracts/gatewayFailure.d.ts.map +1 -1
- package/build/gateway/contracts/gatewayFailure.js +137 -20
- package/build/gateway/contracts/gatewayFailure.js.map +1 -1
- package/build/gateway/core/gatewayDispatcher.d.ts +4 -0
- package/build/gateway/core/gatewayDispatcher.d.ts.map +1 -1
- package/build/gateway/core/gatewayDispatcher.js +35 -3
- package/build/gateway/core/gatewayDispatcher.js.map +1 -1
- package/build/gateway/interactions/interactionBroker.d.ts +29 -0
- package/build/gateway/interactions/interactionBroker.d.ts.map +1 -0
- package/build/gateway/interactions/interactionBroker.js +244 -0
- package/build/gateway/interactions/interactionBroker.js.map +1 -0
- package/build/gateway/interactions/interactionCapabilities.d.ts +4 -0
- package/build/gateway/interactions/interactionCapabilities.d.ts.map +1 -0
- package/build/gateway/interactions/interactionCapabilities.js +36 -0
- package/build/gateway/interactions/interactionCapabilities.js.map +1 -0
- package/build/gateway/interactions/interactionOwner.d.ts +45 -0
- package/build/gateway/interactions/interactionOwner.d.ts.map +1 -0
- package/build/gateway/interactions/interactionOwner.js +203 -0
- package/build/gateway/interactions/interactionOwner.js.map +1 -0
- package/build/gateway/interactions/interactionRoute.d.ts +16 -0
- package/build/gateway/interactions/interactionRoute.d.ts.map +1 -0
- package/build/gateway/interactions/interactionRoute.js +41 -0
- package/build/gateway/interactions/interactionRoute.js.map +1 -0
- package/build/gateway/interactions/validateInteractionResponse.d.ts +6 -0
- package/build/gateway/interactions/validateInteractionResponse.d.ts.map +1 -0
- package/build/gateway/interactions/validateInteractionResponse.js +175 -0
- package/build/gateway/interactions/validateInteractionResponse.js.map +1 -0
- package/build/gateway/ports/outboundEraAdapter.d.ts +10 -1
- package/build/gateway/ports/outboundEraAdapter.d.ts.map +1 -1
- package/build/sdk/contracts/legacySdkAdapter.d.ts +5 -0
- package/build/sdk/contracts/legacySdkAdapter.d.ts.map +1 -1
- package/build/sdk/contracts/protocol.d.ts +3 -3
- package/build/sdk/contracts/protocol.d.ts.map +1 -1
- package/build/sdk/contracts/protocol.js +3 -2
- package/build/sdk/contracts/protocol.js.map +1 -1
- package/build/sdk/legacy/client/runtime/backendDispatchLifetime.d.ts +8 -0
- package/build/sdk/legacy/client/runtime/backendDispatchLifetime.d.ts.map +1 -0
- package/build/sdk/legacy/client/runtime/backendDispatchLifetime.js +63 -0
- package/build/sdk/legacy/client/runtime/backendDispatchLifetime.js.map +1 -0
- package/build/sdk/legacy/client/runtime/clientFactory.d.ts +4 -1
- package/build/sdk/legacy/client/runtime/clientFactory.d.ts.map +1 -1
- package/build/sdk/legacy/client/runtime/clientFactory.js +41 -14
- package/build/sdk/legacy/client/runtime/clientFactory.js.map +1 -1
- package/build/sdk/legacy/client/runtime/clientManager.d.ts.map +1 -1
- package/build/sdk/legacy/client/runtime/clientManager.js +20 -7
- package/build/sdk/legacy/client/runtime/clientManager.js.map +1 -1
- package/build/sdk/legacy/client/runtime/legacyInteractionLease.d.ts +8 -0
- package/build/sdk/legacy/client/runtime/legacyInteractionLease.d.ts.map +1 -0
- package/build/sdk/legacy/client/runtime/legacyInteractionLease.js +44 -0
- package/build/sdk/legacy/client/runtime/legacyInteractionLease.js.map +1 -0
- package/build/sdk/legacy/client/runtime/legacySdkClientAdapter.d.ts +4 -0
- package/build/sdk/legacy/client/runtime/legacySdkClientAdapter.d.ts.map +1 -1
- package/build/sdk/legacy/client/runtime/legacySdkClientAdapter.js +20 -0
- package/build/sdk/legacy/client/runtime/legacySdkClientAdapter.js.map +1 -1
- package/build/sdk/legacy/client/runtime/legacyTransport.d.ts +2 -0
- package/build/sdk/legacy/client/runtime/legacyTransport.d.ts.map +1 -1
- package/build/sdk/legacy/client/runtime/modernSdkClientAdapter.d.ts +3 -0
- package/build/sdk/legacy/client/runtime/modernSdkClientAdapter.d.ts.map +1 -1
- package/build/sdk/legacy/client/runtime/modernSdkClientAdapter.js +98 -4
- package/build/sdk/legacy/client/runtime/modernSdkClientAdapter.js.map +1 -1
- package/build/sdk/legacy/commands/serve.d.ts +2 -0
- package/build/sdk/legacy/commands/serve.d.ts.map +1 -1
- package/build/sdk/legacy/commands/serve.js +40 -9
- package/build/sdk/legacy/commands/serve.js.map +1 -1
- package/build/sdk/legacy/server/protocol/notificationHandlers.d.ts.map +1 -1
- package/build/sdk/legacy/server/protocol/notificationHandlers.js +19 -47
- package/build/sdk/legacy/server/protocol/notificationHandlers.js.map +1 -1
- package/build/sdk/legacy/server/protocol/privateInteractionConnection.d.ts +7 -0
- package/build/sdk/legacy/server/protocol/privateInteractionConnection.d.ts.map +1 -0
- package/build/sdk/legacy/server/protocol/privateInteractionConnection.js +134 -0
- package/build/sdk/legacy/server/protocol/privateInteractionConnection.js.map +1 -0
- package/build/sdk/legacy/server/protocol/promptRequestHandlers.d.ts.map +1 -1
- package/build/sdk/legacy/server/protocol/promptRequestHandlers.js +4 -3
- package/build/sdk/legacy/server/protocol/promptRequestHandlers.js.map +1 -1
- package/build/sdk/legacy/server/protocol/requestHandlers.d.ts.map +1 -1
- package/build/sdk/legacy/server/protocol/requestHandlers.js +5 -47
- package/build/sdk/legacy/server/protocol/requestHandlers.js.map +1 -1
- package/build/sdk/legacy/server/protocol/requestInteractionScope.d.ts +17 -0
- package/build/sdk/legacy/server/protocol/requestInteractionScope.d.ts.map +1 -0
- package/build/sdk/legacy/server/protocol/requestInteractionScope.js +223 -0
- package/build/sdk/legacy/server/protocol/requestInteractionScope.js.map +1 -0
- package/build/sdk/legacy/server/protocol/resourceRequestHandlers.d.ts.map +1 -1
- package/build/sdk/legacy/server/protocol/resourceRequestHandlers.js +3 -2
- package/build/sdk/legacy/server/protocol/resourceRequestHandlers.js.map +1 -1
- package/build/sdk/legacy/server/protocol/toolRequestHandlers.d.ts.map +1 -1
- package/build/sdk/legacy/server/protocol/toolRequestHandlers.js +72 -17
- package/build/sdk/legacy/server/protocol/toolRequestHandlers.js.map +1 -1
- package/build/sdk/legacy/server/runtime/connectionManager.d.ts.map +1 -1
- package/build/sdk/legacy/server/runtime/connectionManager.js +3 -0
- package/build/sdk/legacy/server/runtime/connectionManager.js.map +1 -1
- package/build/sdk/legacy/server/runtime/serverManager.d.ts +2 -0
- package/build/sdk/legacy/server/runtime/serverManager.d.ts.map +1 -1
- package/build/sdk/legacy/server/runtime/serverManager.js +35 -8
- package/build/sdk/legacy/server/runtime/serverManager.js.map +1 -1
- package/build/sdk/legacy/shared/capabilityListCapture.d.ts.map +1 -1
- package/build/sdk/legacy/shared/capabilityListCapture.js +3 -0
- package/build/sdk/legacy/shared/capabilityListCapture.js.map +1 -1
- package/build/sdk/legacy/shared/schemaProjection.d.ts +11 -0
- package/build/sdk/legacy/shared/schemaProjection.d.ts.map +1 -0
- package/build/sdk/legacy/shared/schemaProjection.js +45 -0
- package/build/sdk/legacy/shared/schemaProjection.js.map +1 -0
- package/build/sdk/legacy/transport/http/middlewares/scopeAuthMiddleware.d.ts +2 -0
- package/build/sdk/legacy/transport/http/middlewares/scopeAuthMiddleware.d.ts.map +1 -1
- package/build/sdk/legacy/transport/http/middlewares/scopeAuthMiddleware.js +31 -0
- package/build/sdk/legacy/transport/http/middlewares/scopeAuthMiddleware.js.map +1 -1
- package/build/sdk/legacy/transport/http/modernInboundLegacyBridge.d.ts +7 -1
- package/build/sdk/legacy/transport/http/modernInboundLegacyBridge.d.ts.map +1 -1
- package/build/sdk/legacy/transport/http/modernInboundLegacyBridge.js +29 -4
- package/build/sdk/legacy/transport/http/modernInboundLegacyBridge.js.map +1 -1
- package/build/sdk/legacy/transport/http/server.d.ts +1 -1
- package/build/sdk/legacy/transport/http/server.d.ts.map +1 -1
- package/build/sdk/legacy/transport/http/server.js +2 -1
- package/build/sdk/legacy/transport/http/server.js.map +1 -1
- package/build/sdk/legacy/transport/transportFactory.d.ts.map +1 -1
- package/build/sdk/legacy/transport/transportFactory.js +4 -3
- package/build/sdk/legacy/transport/transportFactory.js.map +1 -1
- package/build/sdk/legacy/validation/CustomJsonSchemaValidator.d.ts +4 -52
- package/build/sdk/legacy/validation/CustomJsonSchemaValidator.d.ts.map +1 -1
- package/build/sdk/legacy/validation/CustomJsonSchemaValidator.js +5 -311
- package/build/sdk/legacy/validation/CustomJsonSchemaValidator.js.map +1 -1
- package/build/server.d.ts +2 -2
- package/build/server.d.ts.map +1 -1
- package/build/server.js +8 -6
- package/build/server.js.map +1 -1
- package/build/transport/http/routes/adminRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/adminRoutes.js +37 -0
- package/build/transport/http/routes/adminRoutes.js.map +1 -1
- package/build/transport/http/routes/inspectRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/inspectRoutes.js +77 -85
- package/build/transport/http/routes/inspectRoutes.js.map +1 -1
- package/build/transport/http/routes/modernHttpRoutes.d.ts +7 -1
- package/build/transport/http/routes/modernHttpRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/modernHttpRoutes.js +121 -16
- package/build/transport/http/routes/modernHttpRoutes.js.map +1 -1
- package/build/transport/http/routes/modernInteractionBinding.d.ts +14 -0
- package/build/transport/http/routes/modernInteractionBinding.d.ts.map +1 -0
- package/build/transport/http/routes/modernInteractionBinding.js +142 -0
- package/build/transport/http/routes/modernInteractionBinding.js.map +1 -0
- package/build/transport/http/routes/toolRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/toolRoutes.js +123 -27
- package/build/transport/http/routes/toolRoutes.js.map +1 -1
- package/build/transport/http/utils/contextExtractor.d.ts.map +1 -1
- package/build/transport/http/utils/contextExtractor.js +29 -0
- package/build/transport/http/utils/contextExtractor.js.map +1 -1
- package/build/utils/core/errorHandling.d.ts.map +1 -1
- package/build/utils/core/errorHandling.js +19 -4
- package/build/utils/core/errorHandling.js.map +1 -1
- package/build/utils/filePermissions.d.ts +3 -0
- package/build/utils/filePermissions.d.ts.map +1 -1
- package/build/utils/filePermissions.js +10 -0
- package/build/utils/filePermissions.js.map +1 -1
- package/build/utils/validation/urlDetection.d.ts.map +1 -1
- package/build/utils/validation/urlDetection.js +42 -2
- package/build/utils/validation/urlDetection.js.map +1 -1
- package/build/utils/watchPath.d.ts +3 -0
- package/build/utils/watchPath.d.ts.map +1 -0
- package/build/utils/watchPath.js +7 -0
- package/build/utils/watchPath.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,316 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* This validator mimics the interface of AjvJsonSchemaValidator to handle complex schemas
|
|
5
|
-
* with internal references like $ref: '#/$defs/Finding' that cause validation errors.
|
|
6
|
-
*/
|
|
7
|
-
import logger from '../../../logger/logger.js';
|
|
8
|
-
import Ajv from 'ajv';
|
|
9
|
-
/**
|
|
10
|
-
* Custom validator that handles problematic schemas gracefully
|
|
1
|
+
/** SDK convenience validators are synchronous and cannot own untrusted schema execution.
|
|
2
|
+
* Runtime adapters use raw request codecs; the async SchemaBoundary is authoritative.
|
|
3
|
+
* Accidental SDK convenience-method use fails closed instead of running on the event loop.
|
|
11
4
|
*/
|
|
12
5
|
export class CustomJsonSchemaValidator {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
constructor() {
|
|
16
|
-
// Create Ajv instances using factory pattern to avoid type issues
|
|
17
|
-
this.ajv = this.createAjvInstance({
|
|
18
|
-
strict: false,
|
|
19
|
-
validateFormats: false, // Skip format validation to avoid additional errors
|
|
20
|
-
validateSchema: false, // Skip schema meta-validation
|
|
21
|
-
allErrors: true,
|
|
22
|
-
addUsedSchema: false, // Don't add schemas to prevent conflicts
|
|
23
|
-
inlineRefs: false, // Don't inline refs to maintain proper structure
|
|
24
|
-
verbose: true,
|
|
25
|
-
removeAdditional: true, // Remove additional properties to be more permissive
|
|
26
|
-
});
|
|
27
|
-
// Fallback Ajv instance for when primary validation fails
|
|
28
|
-
this.fallbackAjv = this.createAjvInstance({
|
|
29
|
-
strict: false,
|
|
30
|
-
validateFormats: false,
|
|
31
|
-
validateSchema: false,
|
|
32
|
-
allErrors: false, // Only report first error in fallback
|
|
33
|
-
addUsedSchema: false,
|
|
34
|
-
inlineRefs: false,
|
|
35
|
-
});
|
|
36
|
-
// Add formats support if available
|
|
37
|
-
this.addFormatsSupport();
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Create Ajv instance with type-safe constructor
|
|
41
|
-
*/
|
|
42
|
-
createAjvInstance(options) {
|
|
43
|
-
// Use dynamic instantiation to avoid TypeScript constructor issues
|
|
44
|
-
const AjvConstructor = Ajv;
|
|
45
|
-
return new AjvConstructor(options);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Add format support to Ajv instances if ajv-formats is available
|
|
49
|
-
*/
|
|
50
|
-
async addFormatsSupport() {
|
|
51
|
-
try {
|
|
52
|
-
const addFormatsModule = await import('ajv-formats');
|
|
53
|
-
const addFormats = (addFormatsModule.default || addFormatsModule);
|
|
54
|
-
addFormats(this.ajv);
|
|
55
|
-
addFormats(this.fallbackAjv);
|
|
56
|
-
}
|
|
57
|
-
catch {
|
|
58
|
-
// If ajv-formats is not available, continue without format validation
|
|
59
|
-
logger.warn('ajv-formats not available, continuing without format validation');
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Create a validator for the given JSON Schema
|
|
64
|
-
* Automatically patches schemas to include missing $defs and handles problematic schemas
|
|
65
|
-
*/
|
|
66
|
-
getValidator(schema) {
|
|
67
|
-
try {
|
|
68
|
-
// Automatically patch the original schema to include missing $defs
|
|
69
|
-
this.patchSchemaWithMissingDefs(schema);
|
|
70
|
-
// Try to compile with the now-patched schema
|
|
71
|
-
const primaryValidator = this.ajv.compile(schema);
|
|
72
|
-
return (input) => {
|
|
73
|
-
try {
|
|
74
|
-
const isValid = primaryValidator(input);
|
|
75
|
-
if (isValid) {
|
|
76
|
-
return {
|
|
77
|
-
valid: true,
|
|
78
|
-
data: input,
|
|
79
|
-
errorMessage: undefined,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
const errors = primaryValidator.errors ?? [];
|
|
84
|
-
return {
|
|
85
|
-
valid: false,
|
|
86
|
-
data: undefined,
|
|
87
|
-
errorMessage: this.formatErrors(errors),
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
catch (_error) {
|
|
92
|
-
// If primary validation fails, try fallback
|
|
93
|
-
return this.validateWithFallback(input, schema);
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
catch (_error) {
|
|
98
|
-
// If schema compilation fails, create a very permissive fallback validator
|
|
99
|
-
return this.createLenientValidator(schema);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Automatically patch schema in-place to add missing $defs
|
|
104
|
-
* This ensures the schema object is modified directly, so callers get the complete schema
|
|
105
|
-
*/
|
|
106
|
-
patchSchemaWithMissingDefs(schema) {
|
|
107
|
-
if (!schema || typeof schema !== 'object') {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
const schemaObj = schema;
|
|
111
|
-
// First, collect all referenced definitions that are missing
|
|
112
|
-
const missingDefs = this.findMissingDefinitions(schema);
|
|
113
|
-
// Inject placeholder definitions for missing ones
|
|
114
|
-
if (missingDefs.length > 0) {
|
|
115
|
-
// Check if schema uses $defs or definitions
|
|
116
|
-
if (schemaObj.$defs !== undefined) {
|
|
117
|
-
// Schema already has $defs, add missing ones
|
|
118
|
-
this.injectPlaceholderDefinitions(schemaObj.$defs, missingDefs);
|
|
119
|
-
}
|
|
120
|
-
else if (schemaObj.definitions !== undefined) {
|
|
121
|
-
// Schema uses definitions (legacy format), add missing ones
|
|
122
|
-
this.injectPlaceholderDefinitions(schemaObj.definitions, missingDefs);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
// No definitions section, create $defs (preferred modern format)
|
|
126
|
-
schemaObj.$defs = {};
|
|
127
|
-
this.injectPlaceholderDefinitions(schemaObj.$defs, missingDefs);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
// Remove fake $id that doesn't solve the real problem
|
|
131
|
-
if (schemaObj.$id === 'https://mcp.1mcp.app/generated-schema') {
|
|
132
|
-
delete schemaObj.$id;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Preprocess schema to handle common issues with MCP server schemas
|
|
137
|
-
*/
|
|
138
|
-
preprocessSchema(schema) {
|
|
139
|
-
if (!schema || typeof schema !== 'object') {
|
|
140
|
-
return schema;
|
|
141
|
-
}
|
|
142
|
-
const schemaObj = schema;
|
|
143
|
-
const processed = { ...schemaObj };
|
|
144
|
-
// First, collect all referenced definitions that are missing
|
|
145
|
-
const missingDefs = this.findMissingDefinitions(schema);
|
|
146
|
-
// Inject placeholder definitions for missing ones
|
|
147
|
-
if (missingDefs.length > 0) {
|
|
148
|
-
if (!processed.$defs) {
|
|
149
|
-
processed.$defs = {};
|
|
150
|
-
}
|
|
151
|
-
this.injectPlaceholderDefinitions(processed.$defs, missingDefs);
|
|
152
|
-
}
|
|
153
|
-
// Remove fake $id that doesn't solve the real problem
|
|
154
|
-
if (processed.$id === 'https://mcp.1mcp.app/generated-schema') {
|
|
155
|
-
delete processed.$id;
|
|
156
|
-
}
|
|
157
|
-
return processed;
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Find all missing $defs referenced in the schema
|
|
161
|
-
*/
|
|
162
|
-
findMissingDefinitions(schema) {
|
|
163
|
-
const missingDefs = new Set();
|
|
164
|
-
const existingDefs = new Set();
|
|
165
|
-
// Collect existing definitions from both $defs and definitions
|
|
166
|
-
if (schema && typeof schema === 'object') {
|
|
167
|
-
const schemaObj = schema;
|
|
168
|
-
if (schemaObj.$defs && typeof schemaObj.$defs === 'object') {
|
|
169
|
-
Object.keys(schemaObj.$defs).forEach((key) => existingDefs.add(key));
|
|
170
|
-
}
|
|
171
|
-
if (schemaObj.definitions && typeof schemaObj.definitions === 'object') {
|
|
172
|
-
Object.keys(schemaObj.definitions).forEach((key) => existingDefs.add(key));
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
// Recursively find all $ref references
|
|
176
|
-
const findRefs = (obj) => {
|
|
177
|
-
if (!obj || typeof obj !== 'object') {
|
|
178
|
-
return;
|
|
179
|
-
}
|
|
180
|
-
if (Array.isArray(obj)) {
|
|
181
|
-
obj.forEach(findRefs);
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
const objRecord = obj;
|
|
185
|
-
for (const [key, value] of Object.entries(objRecord)) {
|
|
186
|
-
if (key === '$ref' && typeof value === 'string') {
|
|
187
|
-
// Extract definition name from $ref like "#/$defs/SearchResult" or "#/definitions/SearchResult"
|
|
188
|
-
const defsMatch = value.match(/^#\/\$defs\/([^/]+)$/);
|
|
189
|
-
const definitionsMatch = value.match(/^#\/definitions\/([^/]+)$/);
|
|
190
|
-
const match = defsMatch || definitionsMatch;
|
|
191
|
-
if (match && !existingDefs.has(match[1])) {
|
|
192
|
-
missingDefs.add(match[1]);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
findRefs(value);
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
};
|
|
200
|
-
findRefs(schema);
|
|
201
|
-
return Array.from(missingDefs);
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Inject placeholder definitions for missing ones
|
|
205
|
-
*/
|
|
206
|
-
injectPlaceholderDefinitions(defs, missingDefs) {
|
|
207
|
-
for (const defName of missingDefs) {
|
|
208
|
-
if (!defs[defName]) {
|
|
209
|
-
// Create a permissive placeholder definition
|
|
210
|
-
defs[defName] = this.createPlaceholderDefinition(defName);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Create a placeholder definition that accepts most data types
|
|
216
|
-
*/
|
|
217
|
-
createPlaceholderDefinition(defName) {
|
|
218
|
-
// Common placeholder types based on naming patterns
|
|
219
|
-
if (defName.toLowerCase().includes('result') || defName.toLowerCase().includes('response')) {
|
|
220
|
-
return {
|
|
221
|
-
type: 'object',
|
|
222
|
-
properties: {
|
|
223
|
-
data: {
|
|
224
|
-
type: ['object', 'array', 'string', 'number', 'boolean', 'null'],
|
|
225
|
-
},
|
|
226
|
-
status: { type: 'string' },
|
|
227
|
-
message: { type: 'string' },
|
|
228
|
-
},
|
|
229
|
-
additionalProperties: true,
|
|
230
|
-
description: `Placeholder definition for ${defName} (auto-generated by 1MCP)`,
|
|
231
|
-
};
|
|
232
|
-
}
|
|
233
|
-
if (defName.toLowerCase().includes('error')) {
|
|
234
|
-
return {
|
|
235
|
-
type: 'object',
|
|
236
|
-
properties: {
|
|
237
|
-
code: { type: 'string' },
|
|
238
|
-
message: { type: 'string' },
|
|
239
|
-
details: { type: ['object', 'string'] },
|
|
240
|
-
},
|
|
241
|
-
additionalProperties: true,
|
|
242
|
-
description: `Placeholder error definition for ${defName} (auto-generated by 1MCP)`,
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
// Generic fallback - accepts most common types
|
|
246
|
-
return {
|
|
247
|
-
type: ['object', 'array', 'string', 'number', 'boolean', 'null'],
|
|
248
|
-
description: `Placeholder definition for ${defName} (auto-generated by 1MCP)`,
|
|
249
|
-
};
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Validate using fallback Ajv instance
|
|
253
|
-
*/
|
|
254
|
-
validateWithFallback(input, schema) {
|
|
255
|
-
try {
|
|
256
|
-
const fallbackValidator = this.fallbackAjv.compile(schema);
|
|
257
|
-
const isValid = fallbackValidator(input);
|
|
258
|
-
if (isValid) {
|
|
259
|
-
return {
|
|
260
|
-
valid: true,
|
|
261
|
-
data: input,
|
|
262
|
-
errorMessage: undefined,
|
|
263
|
-
};
|
|
264
|
-
}
|
|
265
|
-
else {
|
|
266
|
-
const errors = fallbackValidator.errors ?? [];
|
|
267
|
-
return {
|
|
268
|
-
valid: false,
|
|
269
|
-
data: undefined,
|
|
270
|
-
errorMessage: this.formatErrors(errors),
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
catch (fallbackError) {
|
|
275
|
-
// If even fallback fails, return a permissive validation
|
|
276
|
-
logger.warn(`Validation bypassed due to schema compilation errors: ${fallbackError instanceof Error ? fallbackError.message : String(fallbackError)}`);
|
|
277
|
-
return {
|
|
278
|
-
valid: true,
|
|
279
|
-
data: input,
|
|
280
|
-
errorMessage: undefined,
|
|
281
|
-
};
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Create a very lenient validator that always passes validation
|
|
286
|
-
* Used as a last resort when schema compilation completely fails
|
|
287
|
-
*/
|
|
288
|
-
createLenientValidator(_schema) {
|
|
289
|
-
logger.warn(`Validation bypassed due to invalid schema structure`);
|
|
290
|
-
return (input) => {
|
|
291
|
-
return {
|
|
292
|
-
valid: true,
|
|
293
|
-
data: input,
|
|
294
|
-
errorMessage: undefined,
|
|
295
|
-
};
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
/**
|
|
299
|
-
* Format Ajv errors into a readable message
|
|
300
|
-
*/
|
|
301
|
-
formatErrors(errors) {
|
|
302
|
-
if (!errors || !Array.isArray(errors) || errors.length === 0) {
|
|
303
|
-
return 'Unknown validation error';
|
|
304
|
-
}
|
|
305
|
-
const errorMessages = errors
|
|
306
|
-
.map((error) => {
|
|
307
|
-
const message = error.message ?? 'Validation error';
|
|
308
|
-
const instancePath = error.instancePath ?? '';
|
|
309
|
-
const schemaPath = error.schemaPath ?? '';
|
|
310
|
-
return `${message} at ${instancePath} (${schemaPath})`;
|
|
311
|
-
})
|
|
312
|
-
.slice(0, 5); // Limit to first 5 errors
|
|
313
|
-
return errorMessages.join('; ');
|
|
6
|
+
getValidator(_schema) {
|
|
7
|
+
return () => ({ valid: false, data: undefined, errorMessage: 'schema_evaluation_unavailable' });
|
|
314
8
|
}
|
|
315
9
|
}
|
|
316
10
|
//# sourceMappingURL=CustomJsonSchemaValidator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomJsonSchemaValidator.js","sourceRoot":"","sources":["../../../../src/sdk/legacy/validation/CustomJsonSchemaValidator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CustomJsonSchemaValidator.js","sourceRoot":"","sources":["../../../../src/sdk/legacy/validation/CustomJsonSchemaValidator.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,yBAAyB;IACpC,YAAY,CAAI,OAAgB;QAC9B,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,+BAA+B,EAAE,CAAC,CAAC;IAClG,CAAC;CACF"}
|
package/build/server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ContextData } from './types/context.js';
|
|
2
|
-
import { AsyncLoadingOrchestrator } from './core/capabilities/asyncLoadingOrchestrator.js';
|
|
2
|
+
import { AsyncLoadingOrchestrator, type BackendStartupPolicy } from './core/capabilities/asyncLoadingOrchestrator.js';
|
|
3
3
|
import { LazyLoadingOrchestrator } from './core/capabilities/lazyLoadingOrchestrator.js';
|
|
4
4
|
import { InstructionAggregator } from './core/instructions/instructionAggregator.js';
|
|
5
5
|
import { type BackendLoadingPolicy } from './core/loading/backendLoadingPolicy.js';
|
|
@@ -26,7 +26,7 @@ export interface ServerSetupResult {
|
|
|
26
26
|
* Main function to set up the MCP server
|
|
27
27
|
* Conditionally uses async or legacy loading based on configuration
|
|
28
28
|
*/
|
|
29
|
-
declare function setupServer(configFilePath?: string, context?: ContextData, backendLoadingPolicy?: BackendLoadingPolicy): Promise<ServerSetupResult>;
|
|
29
|
+
declare function setupServer(configFilePath?: string, context?: ContextData, backendLoadingPolicy?: BackendLoadingPolicy, startupPolicy?: BackendStartupPolicy): Promise<ServerSetupResult>;
|
|
30
30
|
/**
|
|
31
31
|
* Legacy function for backward compatibility
|
|
32
32
|
* @deprecated Use setupServer() which returns ServerSetupResult
|
package/build/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,wBAAwB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAEtH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAEzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,KAAK,oBAAoB,EAAkC,MAAM,wCAAwC,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAkB/D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,aAAa,EAAE,aAAa,CAAC;IAC7B,0DAA0D;IAC1D,cAAc,EAAE,iBAAiB,CAAC;IAClC,gEAAgE;IAChE,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,4EAA4E;IAC5E,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,+DAA+D;IAC/D,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C;AAED;;;GAGG;AACH,iBAAe,WAAW,CACxB,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,WAAW,EACrB,oBAAoB,GAAE,oBAAqD,EAC3E,aAAa,GAAE,oBAAmC,GACjD,OAAO,CAAC,iBAAiB,CAAC,CAyD5B;AAuLD;;;GAGG;AACH,iBAAe,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,CAKzD;AAED,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC"}
|
package/build/server.js
CHANGED
|
@@ -29,7 +29,7 @@ const SERVER_CAPABILITIES_RECORD = toJsonObject(MCP_SERVER_CAPABILITIES, 'Server
|
|
|
29
29
|
* Main function to set up the MCP server
|
|
30
30
|
* Conditionally uses async or legacy loading based on configuration
|
|
31
31
|
*/
|
|
32
|
-
async function setupServer(configFilePath, context, backendLoadingPolicy = DEFAULT_BACKEND_LOADING_POLICY) {
|
|
32
|
+
async function setupServer(configFilePath, context, backendLoadingPolicy = DEFAULT_BACKEND_LOADING_POLICY, startupPolicy = 'configured') {
|
|
33
33
|
try {
|
|
34
34
|
// Initialize the new unified config management system
|
|
35
35
|
const configManager = ConfigManager.getInstance(configFilePath);
|
|
@@ -54,8 +54,9 @@ async function setupServer(configFilePath, context, backendLoadingPolicy = DEFAU
|
|
|
54
54
|
// Create transports from static configuration only (template servers created per-client)
|
|
55
55
|
const transports = createTransports(mcpConfig);
|
|
56
56
|
logger.info(`Created ${Object.keys(transports).length} static transports (template servers will be created per-client)`);
|
|
57
|
-
const
|
|
58
|
-
|
|
57
|
+
const nonblockingStartup = asyncLoadingEnabled || startupPolicy === 'cooperative-activation';
|
|
58
|
+
const setupResult = nonblockingStartup
|
|
59
|
+
? await setupServerAsync(transports, context, backendLoadingPolicy, startupPolicy)
|
|
59
60
|
: await setupServerSync(transports, context, backendLoadingPolicy);
|
|
60
61
|
const { templateServers, errors } = configManager.loadDeclaredServerConfigs();
|
|
61
62
|
if (errors.length === 0) {
|
|
@@ -64,7 +65,7 @@ async function setupServer(configFilePath, context, backendLoadingPolicy = DEFAU
|
|
|
64
65
|
else {
|
|
65
66
|
logger.warn('Skipping initial template index because the declared configuration is invalid', { errors });
|
|
66
67
|
}
|
|
67
|
-
if (
|
|
68
|
+
if (nonblockingStartup) {
|
|
68
69
|
logger.info('Using async loading mode - HTTP server will start immediately, MCP servers load in background');
|
|
69
70
|
}
|
|
70
71
|
else {
|
|
@@ -82,7 +83,7 @@ async function setupServer(configFilePath, context, backendLoadingPolicy = DEFAU
|
|
|
82
83
|
* Set up server with async loading (new mode)
|
|
83
84
|
* HTTP server starts immediately, MCP servers load in background
|
|
84
85
|
*/
|
|
85
|
-
async function setupServerAsync(transports, _context, backendLoadingPolicy) {
|
|
86
|
+
async function setupServerAsync(transports, _context, backendLoadingPolicy, startupPolicy) {
|
|
86
87
|
// Get agent config for feature flags
|
|
87
88
|
const agentConfig = AgentConfigManager.getInstance();
|
|
88
89
|
// Initialize instruction aggregator
|
|
@@ -101,7 +102,7 @@ async function setupServerAsync(transports, _context, backendLoadingPolicy) {
|
|
|
101
102
|
const loadingManager = new McpLoadingManager(clientManager, backendLoadingPolicy);
|
|
102
103
|
// Create async loading orchestrator for capability tracking and notifications
|
|
103
104
|
const asyncOrchestrator = new AsyncLoadingOrchestrator(clients, serverManager, loadingManager);
|
|
104
|
-
await asyncOrchestrator.initialize();
|
|
105
|
+
await asyncOrchestrator.initialize(startupPolicy);
|
|
105
106
|
// Create lazy loading orchestrator if enabled
|
|
106
107
|
const lazyLoadingEnabled = agentConfig.get('lazyLoading').enabled;
|
|
107
108
|
let lazyLoadingOrchestrator;
|
|
@@ -123,6 +124,7 @@ async function setupServerAsync(transports, _context, backendLoadingPolicy) {
|
|
|
123
124
|
// Start async loading (non-blocking)
|
|
124
125
|
const loadingPromise = loadingManager
|
|
125
126
|
.startAsyncLoading(transports)
|
|
127
|
+
.then(() => loadingManager.waitForInitialLoading())
|
|
126
128
|
.then(() => {
|
|
127
129
|
logger.info('All MCP servers finished loading (successfully or failed)');
|
|
128
130
|
})
|
package/build/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adminRoutes.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/routes/adminRoutes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"adminRoutes.d.ts","sourceRoot":"","sources":["../../../../src/transport/http/routes/adminRoutes.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import fs from 'node:fs';
|
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { MCP_PROJECT_METADATA } from '../../../constants.js';
|
|
6
|
+
import { runtimeAdmission, RuntimeDrainingError } from '../../../core/server/runtimeDrain.js';
|
|
6
7
|
import { parseTemplateConnectionKey } from '../../../core/server/templateIdentity.js';
|
|
7
8
|
import { AdminConfiguredServerApplyError, AdminConfiguredServerNotFoundError, } from '../../../domains/admin/adminConfiguredServerService.js';
|
|
8
9
|
import { ADMIN_SESSION_COOKIE_NAME, AdminIdentityError, } from '../../../domains/admin/adminIdentityService.js';
|
|
@@ -162,6 +163,42 @@ export function createAdminRoutes(options) {
|
|
|
162
163
|
return null;
|
|
163
164
|
}
|
|
164
165
|
const router = Router();
|
|
166
|
+
router.use((req, res, next) => {
|
|
167
|
+
if (!isUnsafeMethod(req.method)) {
|
|
168
|
+
next();
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
// Retain the root through the response; nested mutation work also retains it after disconnect.
|
|
172
|
+
void runtimeAdmission
|
|
173
|
+
.run(() => new Promise((resolve) => {
|
|
174
|
+
const finished = () => {
|
|
175
|
+
res.off('finish', finished);
|
|
176
|
+
res.off('close', finished);
|
|
177
|
+
resolve();
|
|
178
|
+
};
|
|
179
|
+
res.once('finish', finished);
|
|
180
|
+
res.once('close', finished);
|
|
181
|
+
next();
|
|
182
|
+
}))
|
|
183
|
+
.catch((error) => {
|
|
184
|
+
if (!(error instanceof RuntimeDrainingError)) {
|
|
185
|
+
next(error);
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
res.setHeader('Retry-After', '1');
|
|
189
|
+
if (req.path.startsWith('/cli/')) {
|
|
190
|
+
sendCliError(req, res, {
|
|
191
|
+
status: 503,
|
|
192
|
+
code: 'runtime_draining',
|
|
193
|
+
message: error.message,
|
|
194
|
+
retryable: true,
|
|
195
|
+
details: error.data,
|
|
196
|
+
});
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
res.status(503).json({ ok: false, error: 'runtime_draining', retryable: true, details: error.data });
|
|
200
|
+
});
|
|
201
|
+
});
|
|
165
202
|
const rateLimitPolicy = options.rateLimit ?? DEFAULT_ADMIN_RATE_LIMIT_POLICY;
|
|
166
203
|
const failedLoginLimiter = new FailedLoginLimiter(Date.now, FAILED_LOGIN_MAX_ACTIVE_KEYS, rateLimitPolicy.login.windowMs, rateLimitPolicy.login.maxFailedAttempts);
|
|
167
204
|
const authenticationLimiter = rateLimit({
|