@cyanheads/mcp-ts-core 0.11.4 → 0.12.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/AGENTS.md +28 -24
- package/CLAUDE.md +28 -24
- package/README.md +10 -10
- package/biome.json +1 -1
- package/changelog/0.11.x/0.11.5.md +28 -0
- package/changelog/0.12.x/0.12.0.md +96 -0
- package/changelog/template.md +55 -16
- package/dist/cli/init.js +1 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/config/index.d.ts +0 -18
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +0 -25
- package/dist/config/index.js.map +1 -1
- package/dist/core/app.d.ts +5 -7
- package/dist/core/app.d.ts.map +1 -1
- package/dist/core/app.js +18 -27
- package/dist/core/app.js.map +1 -1
- package/dist/core/context.d.ts +90 -57
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +32 -33
- package/dist/core/context.js.map +1 -1
- package/dist/core/gcPressure.d.ts.map +1 -1
- package/dist/core/gcPressure.js +3 -4
- package/dist/core/gcPressure.js.map +1 -1
- package/dist/core/index.d.ts +6 -7
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +10 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/serverManifest.d.ts +1 -3
- package/dist/core/serverManifest.d.ts.map +1 -1
- package/dist/core/serverManifest.js +9 -4
- package/dist/core/serverManifest.js.map +1 -1
- package/dist/core/worker.d.ts.map +1 -1
- package/dist/core/worker.js +32 -35
- package/dist/core/worker.js.map +1 -1
- package/dist/logs/combined.log +10 -0
- package/dist/logs/error.log +6 -0
- package/dist/logs/interactions.log +0 -0
- package/dist/mcp-server/inputRequired.d.ts +52 -0
- package/dist/mcp-server/inputRequired.d.ts.map +1 -0
- package/dist/mcp-server/inputRequired.js +76 -0
- package/dist/mcp-server/inputRequired.js.map +1 -0
- package/dist/mcp-server/notifications.d.ts +33 -31
- package/dist/mcp-server/notifications.d.ts.map +1 -1
- package/dist/mcp-server/notifications.js +34 -26
- package/dist/mcp-server/notifications.js.map +1 -1
- package/dist/mcp-server/prompts/prompt-registration.d.ts +2 -2
- package/dist/mcp-server/prompts/prompt-registration.d.ts.map +1 -1
- package/dist/mcp-server/prompts/prompt-registration.js +15 -5
- package/dist/mcp-server/prompts/prompt-registration.js.map +1 -1
- package/dist/mcp-server/prompts/utils/promptDefinition.d.ts +1 -1
- package/dist/mcp-server/prompts/utils/promptDefinition.d.ts.map +1 -1
- package/dist/mcp-server/resources/resource-registration.d.ts +3 -3
- package/dist/mcp-server/resources/resource-registration.d.ts.map +1 -1
- package/dist/mcp-server/resources/resource-registration.js +8 -15
- package/dist/mcp-server/resources/resource-registration.js.map +1 -1
- package/dist/mcp-server/resources/resourceSubscriptions.d.ts +45 -0
- package/dist/mcp-server/resources/resourceSubscriptions.d.ts.map +1 -0
- package/dist/mcp-server/resources/resourceSubscriptions.js +51 -0
- package/dist/mcp-server/resources/resourceSubscriptions.js.map +1 -0
- package/dist/mcp-server/resources/utils/resourceDefinition.d.ts +3 -5
- package/dist/mcp-server/resources/utils/resourceDefinition.d.ts.map +1 -1
- package/dist/mcp-server/resources/utils/resourceDefinition.js +1 -1
- package/dist/mcp-server/resources/utils/resourceDefinition.js.map +1 -1
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts +8 -15
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +21 -22
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -1
- package/dist/mcp-server/server.d.ts +12 -21
- package/dist/mcp-server/server.d.ts.map +1 -1
- package/dist/mcp-server/server.js +38 -28
- package/dist/mcp-server/server.js.map +1 -1
- package/dist/mcp-server/tools/tool-registration.d.ts +11 -33
- package/dist/mcp-server/tools/tool-registration.d.ts.map +1 -1
- package/dist/mcp-server/tools/tool-registration.js +17 -243
- package/dist/mcp-server/tools/tool-registration.js.map +1 -1
- package/dist/mcp-server/tools/utils/toolDefinition.d.ts +1 -3
- package/dist/mcp-server/tools/utils/toolDefinition.d.ts.map +1 -1
- package/dist/mcp-server/tools/utils/toolDefinition.js +48 -1
- package/dist/mcp-server/tools/utils/toolDefinition.js.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +46 -20
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js +131 -25
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
- package/dist/mcp-server/transports/ITransport.d.ts +2 -2
- package/dist/mcp-server/transports/ITransport.d.ts.map +1 -1
- package/dist/mcp-server/transports/auth/authFactory.js +1 -1
- package/dist/mcp-server/transports/auth/authFactory.js.map +1 -1
- package/dist/mcp-server/transports/auth/lib/authTypes.d.ts +1 -1
- package/dist/mcp-server/transports/auth/lib/authTypes.d.ts.map +1 -1
- package/dist/mcp-server/transports/auth/lib/authUtils.d.ts.map +1 -1
- package/dist/mcp-server/transports/auth/lib/authUtils.js +5 -13
- package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -1
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +5 -11
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -1
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -1
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +9 -22
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -1
- package/dist/mcp-server/transports/heartbeat.d.ts.map +1 -1
- package/dist/mcp-server/transports/heartbeat.js +4 -8
- package/dist/mcp-server/transports/heartbeat.js.map +1 -1
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpErrorHandler.js +6 -24
- package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -1
- package/dist/mcp-server/transports/http/httpServer.d.ts +3 -3
- package/dist/mcp-server/transports/http/httpServer.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpServer.js +15 -32
- package/dist/mcp-server/transports/http/httpServer.js.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.d.ts +25 -8
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.js +156 -310
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
- package/dist/mcp-server/transports/http/landing-page/assets/styles.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/landing-page/assets/styles.js +0 -1
- package/dist/mcp-server/transports/http/landing-page/assets/styles.js.map +1 -1
- package/dist/mcp-server/transports/http/landing-page/handler.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/landing-page/handler.js +4 -8
- package/dist/mcp-server/transports/http/landing-page/handler.js.map +1 -1
- package/dist/mcp-server/transports/http/landing-page/sections/tools.js +0 -2
- package/dist/mcp-server/transports/http/landing-page/sections/tools.js.map +1 -1
- package/dist/mcp-server/transports/http/protectedResourceMetadata.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/protectedResourceMetadata.js +2 -6
- package/dist/mcp-server/transports/http/protectedResourceMetadata.js.map +1 -1
- package/dist/mcp-server/transports/http/robotsTxt.js +2 -2
- package/dist/mcp-server/transports/http/robotsTxt.js.map +1 -1
- package/dist/mcp-server/transports/http/serverCard.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/serverCard.js +2 -6
- package/dist/mcp-server/transports/http/serverCard.js.map +1 -1
- package/dist/mcp-server/transports/http/sessionStore.d.ts +48 -45
- package/dist/mcp-server/transports/http/sessionStore.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/sessionStore.js +141 -185
- package/dist/mcp-server/transports/http/sessionStore.js.map +1 -1
- package/dist/mcp-server/transports/manager.d.ts +12 -4
- package/dist/mcp-server/transports/manager.d.ts.map +1 -1
- package/dist/mcp-server/transports/manager.js +35 -33
- package/dist/mcp-server/transports/manager.js.map +1 -1
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts +24 -31
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -1
- package/dist/mcp-server/transports/stdio/stdioTransport.js +23 -38
- package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -1
- package/dist/mcp-server/types.d.ts +25 -0
- package/dist/mcp-server/types.d.ts.map +1 -0
- package/dist/mcp-server/types.js +10 -0
- package/dist/mcp-server/types.js.map +1 -0
- package/dist/services/canvas/core/CanvasInstance.d.ts +2 -2
- package/dist/services/canvas/core/CanvasInstance.d.ts.map +1 -1
- package/dist/services/canvas/core/CanvasInstance.js.map +1 -1
- package/dist/services/canvas/core/CanvasRegistry.d.ts +4 -4
- package/dist/services/canvas/core/CanvasRegistry.d.ts.map +1 -1
- package/dist/services/canvas/core/CanvasRegistry.js +8 -18
- package/dist/services/canvas/core/CanvasRegistry.js.map +1 -1
- package/dist/services/canvas/core/DataCanvas.d.ts +5 -5
- package/dist/services/canvas/core/DataCanvas.d.ts.map +1 -1
- package/dist/services/canvas/core/DataCanvas.js +2 -3
- package/dist/services/canvas/core/DataCanvas.js.map +1 -1
- package/dist/services/canvas/core/IDataCanvasProvider.d.ts +11 -11
- package/dist/services/canvas/core/IDataCanvasProvider.d.ts.map +1 -1
- package/dist/services/canvas/providers/duckdb/DuckdbProvider.d.ts +11 -11
- package/dist/services/canvas/providers/duckdb/DuckdbProvider.d.ts.map +1 -1
- package/dist/services/canvas/providers/duckdb/DuckdbProvider.js +4 -10
- package/dist/services/canvas/providers/duckdb/DuckdbProvider.js.map +1 -1
- package/dist/services/llm/providers/openrouter.provider.d.ts.map +1 -1
- package/dist/services/llm/providers/openrouter.provider.js +2 -5
- package/dist/services/llm/providers/openrouter.provider.js.map +1 -1
- package/dist/services/mirror/core/defineMirror.js +1 -1
- package/dist/services/mirror/core/defineMirror.js.map +1 -1
- package/dist/services/mirror/types.d.ts +5 -5
- package/dist/services/mirror/types.d.ts.map +1 -1
- package/dist/services/speech/providers/elevenlabs.provider.js +1 -1
- package/dist/services/speech/providers/elevenlabs.provider.js.map +1 -1
- package/dist/services/speech/providers/whisper.provider.js +1 -1
- package/dist/services/speech/providers/whisper.provider.js.map +1 -1
- package/dist/storage/core/StorageService.d.ts +1 -1
- package/dist/storage/core/StorageService.d.ts.map +1 -1
- package/dist/storage/core/StorageService.js +12 -20
- package/dist/storage/core/StorageService.js.map +1 -1
- package/dist/storage/core/storageFactory.d.ts.map +1 -1
- package/dist/storage/core/storageFactory.js.map +1 -1
- package/dist/storage/core/storageValidation.d.ts +1 -1
- package/dist/storage/core/storageValidation.d.ts.map +1 -1
- package/dist/storage/core/storageValidation.js +2 -2
- package/dist/storage/core/storageValidation.js.map +1 -1
- package/dist/storage/providers/cloudflare/d1Provider.d.ts +1 -1
- package/dist/storage/providers/cloudflare/d1Provider.d.ts.map +1 -1
- package/dist/storage/providers/cloudflare/d1Provider.js +4 -12
- package/dist/storage/providers/cloudflare/d1Provider.js.map +1 -1
- package/dist/storage/providers/cloudflare/kvProvider.d.ts +1 -1
- package/dist/storage/providers/cloudflare/kvProvider.d.ts.map +1 -1
- package/dist/storage/providers/cloudflare/kvProvider.js +3 -8
- package/dist/storage/providers/cloudflare/kvProvider.js.map +1 -1
- package/dist/storage/providers/cloudflare/r2Provider.d.ts +1 -1
- package/dist/storage/providers/cloudflare/r2Provider.d.ts.map +1 -1
- package/dist/storage/providers/cloudflare/r2Provider.js +3 -8
- package/dist/storage/providers/cloudflare/r2Provider.js.map +1 -1
- package/dist/storage/providers/inMemory/inMemoryProvider.d.ts +1 -1
- package/dist/storage/providers/inMemory/inMemoryProvider.d.ts.map +1 -1
- package/dist/storage/providers/inMemory/inMemoryProvider.js +2 -4
- package/dist/storage/providers/inMemory/inMemoryProvider.js.map +1 -1
- package/dist/testing/index.d.ts +35 -12
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +53 -38
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/vitest.d.ts +1 -1
- package/dist/testing/vitest.d.ts.map +1 -1
- package/dist/types-global/errors.d.ts +28 -15
- package/dist/types-global/errors.d.ts.map +1 -1
- package/dist/types-global/errors.js +8 -1
- package/dist/types-global/errors.js.map +1 -1
- package/dist/utils/formatting/diffFormatter.d.ts +5 -5
- package/dist/utils/formatting/diffFormatter.d.ts.map +1 -1
- package/dist/utils/formatting/diffFormatter.js +7 -20
- package/dist/utils/formatting/diffFormatter.js.map +1 -1
- package/dist/utils/formatting/tableFormatter.d.ts +3 -3
- package/dist/utils/formatting/tableFormatter.d.ts.map +1 -1
- package/dist/utils/formatting/tableFormatter.js +6 -17
- package/dist/utils/formatting/tableFormatter.js.map +1 -1
- package/dist/utils/formatting/treeFormatter.d.ts +3 -3
- package/dist/utils/formatting/treeFormatter.d.ts.map +1 -1
- package/dist/utils/formatting/treeFormatter.js +5 -18
- package/dist/utils/formatting/treeFormatter.js.map +1 -1
- package/dist/utils/index.d.ts +4 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/internal/error-handler/errorHandler.d.ts +1 -1
- package/dist/utils/internal/error-handler/errorHandler.d.ts.map +1 -1
- package/dist/utils/internal/error-handler/errorHandler.js +23 -11
- package/dist/utils/internal/error-handler/errorHandler.js.map +1 -1
- package/dist/utils/internal/error-handler/types.d.ts +10 -13
- package/dist/utils/internal/error-handler/types.d.ts.map +1 -1
- package/dist/utils/internal/logger.d.ts +3 -3
- package/dist/utils/internal/logger.d.ts.map +1 -1
- package/dist/utils/internal/logger.js +11 -5
- package/dist/utils/internal/logger.js.map +1 -1
- package/dist/utils/internal/performance.d.ts +1 -1
- package/dist/utils/internal/performance.d.ts.map +1 -1
- package/dist/utils/internal/performance.js +57 -13
- package/dist/utils/internal/performance.js.map +1 -1
- package/dist/utils/internal/requestContext.d.ts +79 -55
- package/dist/utils/internal/requestContext.d.ts.map +1 -1
- package/dist/utils/internal/requestContext.js +77 -32
- package/dist/utils/internal/requestContext.js.map +1 -1
- package/dist/utils/metrics/tokenCounter.d.ts +3 -3
- package/dist/utils/metrics/tokenCounter.d.ts.map +1 -1
- package/dist/utils/metrics/tokenCounter.js.map +1 -1
- package/dist/utils/network/fetchWithTimeout.d.ts +2 -2
- package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -1
- package/dist/utils/network/fetchWithTimeout.js +8 -24
- package/dist/utils/network/fetchWithTimeout.js.map +1 -1
- package/dist/utils/network/retry.d.ts +2 -2
- package/dist/utils/network/retry.d.ts.map +1 -1
- package/dist/utils/overflow/outlineOnOverflow.d.ts +1 -1
- package/dist/utils/overflow/outlineOnOverflow.d.ts.map +1 -1
- package/dist/utils/pagination/pagination.d.ts +3 -3
- package/dist/utils/pagination/pagination.d.ts.map +1 -1
- package/dist/utils/pagination/pagination.js +3 -3
- package/dist/utils/pagination/pagination.js.map +1 -1
- package/dist/utils/parsing/csvParser.d.ts +2 -2
- package/dist/utils/parsing/csvParser.d.ts.map +1 -1
- package/dist/utils/parsing/csvParser.js +4 -8
- package/dist/utils/parsing/csvParser.js.map +1 -1
- package/dist/utils/parsing/dateParser.d.ts +3 -3
- package/dist/utils/parsing/dateParser.d.ts.map +1 -1
- package/dist/utils/parsing/dateParser.js +3 -2
- package/dist/utils/parsing/dateParser.js.map +1 -1
- package/dist/utils/parsing/frontmatterParser.d.ts +2 -2
- package/dist/utils/parsing/frontmatterParser.d.ts.map +1 -1
- package/dist/utils/parsing/frontmatterParser.js +7 -10
- package/dist/utils/parsing/frontmatterParser.js.map +1 -1
- package/dist/utils/parsing/htmlExtractor.d.ts +2 -2
- package/dist/utils/parsing/htmlExtractor.d.ts.map +1 -1
- package/dist/utils/parsing/htmlExtractor.js +6 -11
- package/dist/utils/parsing/htmlExtractor.js.map +1 -1
- package/dist/utils/parsing/jsonParser.d.ts +2 -2
- package/dist/utils/parsing/jsonParser.d.ts.map +1 -1
- package/dist/utils/parsing/jsonParser.js +4 -8
- package/dist/utils/parsing/jsonParser.js.map +1 -1
- package/dist/utils/parsing/pdfParser.d.ts +10 -10
- package/dist/utils/parsing/pdfParser.d.ts.map +1 -1
- package/dist/utils/parsing/pdfParser.js +26 -89
- package/dist/utils/parsing/pdfParser.js.map +1 -1
- package/dist/utils/parsing/xmlParser.d.ts +2 -2
- package/dist/utils/parsing/xmlParser.d.ts.map +1 -1
- package/dist/utils/parsing/xmlParser.js +4 -8
- package/dist/utils/parsing/xmlParser.js.map +1 -1
- package/dist/utils/parsing/yamlParser.d.ts +2 -2
- package/dist/utils/parsing/yamlParser.d.ts.map +1 -1
- package/dist/utils/parsing/yamlParser.js +4 -8
- package/dist/utils/parsing/yamlParser.js.map +1 -1
- package/dist/utils/scheduling/scheduler.d.ts.map +1 -1
- package/dist/utils/scheduling/scheduler.js +5 -6
- package/dist/utils/scheduling/scheduler.js.map +1 -1
- package/dist/utils/security/rateLimiter.d.ts +2 -2
- package/dist/utils/security/rateLimiter.d.ts.map +1 -1
- package/dist/utils/security/rateLimiter.js +1 -1
- package/dist/utils/security/rateLimiter.js.map +1 -1
- package/dist/utils/telemetry/attributes.d.ts +23 -7
- package/dist/utils/telemetry/attributes.d.ts.map +1 -1
- package/dist/utils/telemetry/attributes.js +23 -10
- package/dist/utils/telemetry/attributes.js.map +1 -1
- package/dist/utils/telemetry/trace.d.ts +3 -3
- package/dist/utils/telemetry/trace.d.ts.map +1 -1
- package/dist/utils/telemetry/trace.js +4 -2
- package/dist/utils/telemetry/trace.js.map +1 -1
- package/package.json +22 -26
- package/scripts/lint-mcp.ts +1 -3
- package/scripts/lint-packaging.ts +1 -1
- package/skills/add-service/SKILL.md +2 -2
- package/skills/add-test/SKILL.md +42 -20
- package/skills/add-tool/SKILL.md +68 -19
- package/skills/api-canvas/SKILL.md +2 -2
- package/skills/api-config/SKILL.md +1 -11
- package/skills/api-context/SKILL.md +175 -111
- package/skills/api-linter/SKILL.md +2 -2
- package/skills/api-telemetry/SKILL.md +8 -12
- package/skills/api-testing/SKILL.md +53 -52
- package/skills/code-simplifier/SKILL.md +2 -2
- package/skills/design-mcp-server/SKILL.md +34 -18
- package/skills/field-test/SKILL.md +4 -2
- package/skills/git-wrapup/SKILL.md +3 -3
- package/skills/polish-docs-meta/SKILL.md +1 -1
- package/skills/polish-docs-meta/references/agent-protocol.md +2 -2
- package/skills/polish-docs-meta/references/readme.md +1 -1
- package/skills/release-and-publish/SKILL.md +3 -1
- package/skills/report-issue-framework/SKILL.md +2 -2
- package/skills/report-issue-local/SKILL.md +2 -2
- package/skills/security-pass/SKILL.md +16 -14
- package/templates/.github/CODE_OF_CONDUCT.md +28 -0
- package/templates/.github/CONTRIBUTING.md +50 -0
- package/templates/.github/SECURITY.md +24 -0
- package/templates/AGENTS.md +6 -6
- package/templates/CLAUDE.md +6 -6
- package/templates/changelog/template.md +55 -16
- package/templates/tests/resources/echo.resource.test.ts +16 -9
- package/dist/mcp-server/elicitation.d.ts +0 -64
- package/dist/mcp-server/elicitation.d.ts.map +0 -1
- package/dist/mcp-server/elicitation.js +0 -81
- package/dist/mcp-server/elicitation.js.map +0 -1
- package/dist/mcp-server/protocolSession.d.ts +0 -34
- package/dist/mcp-server/protocolSession.d.ts.map +0 -1
- package/dist/mcp-server/protocolSession.js +0 -13
- package/dist/mcp-server/protocolSession.js.map +0 -1
- package/dist/mcp-server/tasks/core/evictingTaskMessageQueue.d.ts +0 -53
- package/dist/mcp-server/tasks/core/evictingTaskMessageQueue.d.ts.map +0 -1
- package/dist/mcp-server/tasks/core/evictingTaskMessageQueue.js +0 -65
- package/dist/mcp-server/tasks/core/evictingTaskMessageQueue.js.map +0 -1
- package/dist/mcp-server/tasks/core/sessionAwareTaskStore.d.ts +0 -70
- package/dist/mcp-server/tasks/core/sessionAwareTaskStore.d.ts.map +0 -1
- package/dist/mcp-server/tasks/core/sessionAwareTaskStore.js +0 -130
- package/dist/mcp-server/tasks/core/sessionAwareTaskStore.js.map +0 -1
- package/dist/mcp-server/tasks/core/storageBackedTaskStore.d.ts +0 -109
- package/dist/mcp-server/tasks/core/storageBackedTaskStore.d.ts.map +0 -1
- package/dist/mcp-server/tasks/core/storageBackedTaskStore.js +0 -209
- package/dist/mcp-server/tasks/core/storageBackedTaskStore.js.map +0 -1
- package/dist/mcp-server/tasks/core/taskManager.d.ts +0 -91
- package/dist/mcp-server/tasks/core/taskManager.d.ts.map +0 -1
- package/dist/mcp-server/tasks/core/taskManager.js +0 -210
- package/dist/mcp-server/tasks/core/taskManager.js.map +0 -1
- package/dist/mcp-server/tasks/core/taskTypes.d.ts +0 -18
- package/dist/mcp-server/tasks/core/taskTypes.d.ts.map +0 -1
- package/dist/mcp-server/tasks/core/taskTypes.js +0 -20
- package/dist/mcp-server/tasks/core/taskTypes.js.map +0 -1
- package/dist/mcp-server/tasks/utils/taskToolDefinition.d.ts +0 -101
- package/dist/mcp-server/tasks/utils/taskToolDefinition.d.ts.map +0 -1
- package/dist/mcp-server/tasks/utils/taskToolDefinition.js +0 -14
- package/dist/mcp-server/tasks/utils/taskToolDefinition.js.map +0 -1
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Worker-safe Hono application factory for the HTTP MCP transport.
|
|
3
|
-
* Builds the routing, auth, session, and
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* `node:http` via tree-shaking.
|
|
3
|
+
* Builds the routing, auth, session, and serving wiring using only web-standard
|
|
4
|
+
* APIs. The Node-only `serve()` start path lives in `httpServer.ts` so the
|
|
5
|
+
* Worker bundle drops `@hono/node-server` and `node:http` via tree-shaking.
|
|
7
6
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Serving is split by session mode:
|
|
8
|
+
*
|
|
9
|
+
* - **stateless** — one `createMcpHandler(factory)` answers both protocol eras
|
|
10
|
+
* per request (its default `legacy: 'stateless'` posture).
|
|
11
|
+
* - **stateful / auto** — `isLegacyRequest(request)` splits the traffic. 2025-era
|
|
12
|
+
* requests go to a sessionful `WebStandardStreamableHTTPServerTransport` with
|
|
13
|
+
* one persistent `McpServer` per `Mcp-Session-Id`; 2026-07-28 requests go to a
|
|
14
|
+
* strict (`legacy: 'reject'`) modern handler, which is per-request by
|
|
15
|
+
* construction — that revision has no session.
|
|
16
|
+
*
|
|
17
|
+
* The sessionful arm is load-bearing rather than legacy courtesy: the SDK's
|
|
18
|
+
* multi-round-trip legacy shim needs a live session, so dropping it would break
|
|
19
|
+
* interactive tools for every 2025 client that is not on stdio.
|
|
20
|
+
*
|
|
21
|
+
* @see {@link https://modelcontextprotocol.io/specification/2026-07-28/basic/transports | MCP Transports}
|
|
10
22
|
* @module src/mcp-server/transports/http/httpTransport
|
|
11
23
|
*/
|
|
12
|
-
import {
|
|
24
|
+
import { createMcpHandler, isJsonContentType, isLegacyRequest, WebStandardStreamableHTTPServerTransport, } from '@modelcontextprotocol/server';
|
|
13
25
|
import { Hono } from 'hono';
|
|
14
26
|
import { cors } from 'hono/cors';
|
|
15
27
|
import { config } from '../../../config/index.js';
|
|
@@ -22,109 +34,18 @@ import { protectedResourceMetadataHandler } from '../../../mcp-server/transports
|
|
|
22
34
|
import { createRobotsTxtHandler } from '../../../mcp-server/transports/http/robotsTxt.js';
|
|
23
35
|
import { createServerCardHandler } from '../../../mcp-server/transports/http/serverCard.js';
|
|
24
36
|
import { generateSecureSessionId } from '../../../mcp-server/transports/http/sessionIdUtils.js';
|
|
25
|
-
import { SessionStore } from '../../../mcp-server/transports/http/sessionStore.js';
|
|
37
|
+
import { closeConnection, SessionStore, } from '../../../mcp-server/transports/http/sessionStore.js';
|
|
26
38
|
import { logger } from '../../../utils/internal/logger.js';
|
|
27
|
-
import { requestContextService } from '../../../utils/internal/requestContext.js';
|
|
28
|
-
import {
|
|
29
|
-
/**
|
|
30
|
-
* Extends the base StreamableHTTPTransport to include a session ID.
|
|
31
|
-
*/
|
|
32
|
-
class McpSessionTransport extends StreamableHTTPTransport {
|
|
33
|
-
sessionId;
|
|
34
|
-
constructor(sessionId) {
|
|
35
|
-
super();
|
|
36
|
-
this.sessionId = sessionId;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
/** Max time (ms) we wait for per-request transport/server close to complete
|
|
40
|
-
* before giving up and logging a failure. Silent hangs here accumulate
|
|
41
|
-
* retained closures — bounded wait surfaces the issue as a metric. */
|
|
42
|
-
const PER_REQUEST_CLOSE_TIMEOUT_MS = 5_000;
|
|
39
|
+
import { requestContextService, withExtra, } from '../../../utils/internal/requestContext.js';
|
|
40
|
+
import { createObservableGauge } from '../../../utils/telemetry/metrics.js';
|
|
43
41
|
/** Matches loopback origins (http(s)://localhost|127.0.0.1|[::1] with optional port).
|
|
44
42
|
* Used as the fail-closed default for the Origin guard when no explicit
|
|
45
43
|
* MCP_ALLOWED_ORIGINS is configured — an unauthenticated MCP server must not
|
|
46
|
-
* accept browser Origin headers from arbitrary hosts (
|
|
47
|
-
*
|
|
44
|
+
* accept browser Origin headers from arbitrary hosts (DNS rebinding
|
|
45
|
+
* protection). The SDK's `validateOriginHeader` matches bare hostnames from a
|
|
46
|
+
* fixed list and so cannot express "any loopback port", which is exactly the
|
|
47
|
+
* dev-server case this guard exists for. */
|
|
48
48
|
const LOOPBACK_ORIGIN_RE = /^https?:\/\/(?:localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/i;
|
|
49
|
-
let closeFailureCounter;
|
|
50
|
-
function getCloseFailureCounter() {
|
|
51
|
-
closeFailureCounter ??= createCounter('mcp.http.close_failures', 'Per-request HTTP close failures (transport or server close threw or timed out)', '{failures}');
|
|
52
|
-
return closeFailureCounter;
|
|
53
|
-
}
|
|
54
|
-
// ---------------------------------------------------------------------------
|
|
55
|
-
// Finalization-lag diagnostic (issue #50)
|
|
56
|
-
//
|
|
57
|
-
// The HTTP transport constructs a fresh `McpServer` + `McpSessionTransport`
|
|
58
|
-
// per request (SDK 1.26 GHSA-345p-7cg4-v4c7). Production heap graphs show
|
|
59
|
-
// linear growth proportional to request volume, which suggests some of
|
|
60
|
-
// these per-request instances are being retained past their scope.
|
|
61
|
-
//
|
|
62
|
-
// Compare `mcp.http.per_request.created_total` against
|
|
63
|
-
// `mcp.http.per_request.finalized_total` (both tagged with `kind`) to
|
|
64
|
-
// detect retention. A persistent gap that grows with traffic is the
|
|
65
|
-
// signature of the leak; a gap that closes within minutes is just GC
|
|
66
|
-
// timing.
|
|
67
|
-
// ---------------------------------------------------------------------------
|
|
68
|
-
let perRequestCreatedCounter;
|
|
69
|
-
let perRequestFinalizedCounter;
|
|
70
|
-
function getPerRequestCreatedCounter() {
|
|
71
|
-
perRequestCreatedCounter ??= createCounter('mcp.http.per_request.created', 'Per-request McpServer/McpSessionTransport instances created', '{instances}');
|
|
72
|
-
return perRequestCreatedCounter;
|
|
73
|
-
}
|
|
74
|
-
function getPerRequestFinalizedCounter() {
|
|
75
|
-
perRequestFinalizedCounter ??= createCounter('mcp.http.per_request.finalized', 'Per-request McpServer/McpSessionTransport instances reclaimed by GC', '{instances}');
|
|
76
|
-
return perRequestFinalizedCounter;
|
|
77
|
-
}
|
|
78
|
-
/** Lazy so the registry only exists when HTTP transport is active. The
|
|
79
|
-
* FinalizationRegistry callback itself does not run during this process's
|
|
80
|
-
* exit teardown — so we deliberately don't try to drain it. */
|
|
81
|
-
let perRequestFinalizationRegistry;
|
|
82
|
-
function getPerRequestFinalizationRegistry() {
|
|
83
|
-
perRequestFinalizationRegistry ??= new FinalizationRegistry((kind) => {
|
|
84
|
-
getPerRequestFinalizedCounter().add(1, { kind });
|
|
85
|
-
});
|
|
86
|
-
return perRequestFinalizationRegistry;
|
|
87
|
-
}
|
|
88
|
-
function trackPerRequestInstance(obj, kind) {
|
|
89
|
-
getPerRequestCreatedCounter().add(1, { kind });
|
|
90
|
-
getPerRequestFinalizationRegistry().register(obj, kind);
|
|
91
|
-
}
|
|
92
|
-
/** Await a promise with a bounded timeout. Rejects with the timeout error
|
|
93
|
-
* if the promise doesn't settle first. */
|
|
94
|
-
function withTimeout(p, ms, label) {
|
|
95
|
-
let timer;
|
|
96
|
-
return Promise.race([
|
|
97
|
-
p,
|
|
98
|
-
new Promise((_, reject) => {
|
|
99
|
-
timer = setTimeout(() => reject(new Error(`${label} timed out after ${ms}ms`)), ms);
|
|
100
|
-
}),
|
|
101
|
-
]).finally(() => {
|
|
102
|
-
if (timer !== undefined)
|
|
103
|
-
clearTimeout(timer);
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
/** Closes the per-request transport and server under a bounded timeout.
|
|
107
|
-
* Runs the two closes in parallel so one hanging close doesn't delay the
|
|
108
|
-
* other, and records each failure to `mcp.http.close_failures` with
|
|
109
|
-
* `surface` and `trigger` tags. */
|
|
110
|
-
async function closePerRequestInstances(transport, server, sessionId, requestContext, trigger) {
|
|
111
|
-
const tasks = [['transport', () => transport.close()]];
|
|
112
|
-
if (server)
|
|
113
|
-
tasks.push(['server', () => server.close()]);
|
|
114
|
-
await Promise.all(tasks.map(async ([surface, close]) => {
|
|
115
|
-
try {
|
|
116
|
-
await withTimeout(close(), PER_REQUEST_CLOSE_TIMEOUT_MS, `${surface}.close`);
|
|
117
|
-
}
|
|
118
|
-
catch (err) {
|
|
119
|
-
getCloseFailureCounter().add(1, { surface, trigger });
|
|
120
|
-
logger.warning(`Failed to close ${surface} (trigger=${trigger})`, {
|
|
121
|
-
...requestContext,
|
|
122
|
-
sessionId,
|
|
123
|
-
error: err instanceof Error ? err.message : String(err),
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
}));
|
|
127
|
-
}
|
|
128
49
|
/** Reads at most one stream chunk beyond `maxBytes`, cancelling as soon as the
|
|
129
50
|
* limit is crossed. Fetch body chunks are not size-bounded by the consumer, so
|
|
130
51
|
* the final chunk may itself be larger than the remaining allowance. */
|
|
@@ -175,10 +96,7 @@ async function readBodyWithinLimit(request, maxBytes) {
|
|
|
175
96
|
*/
|
|
176
97
|
export async function createHttpApp(serverFactory, parentContext, manifest) {
|
|
177
98
|
const app = new Hono();
|
|
178
|
-
const transportContext = {
|
|
179
|
-
...parentContext,
|
|
180
|
-
component: 'HttpTransportSetup',
|
|
181
|
-
};
|
|
99
|
+
const transportContext = withExtra(parentContext, { component: 'HttpTransportSetup' });
|
|
182
100
|
// Initialize session store for stateful mode.
|
|
183
101
|
// 'auto' resolves to stateful for HTTP (per MCP spec conformance).
|
|
184
102
|
const isStateful = config.mcpSessionMode === 'stateful' || config.mcpSessionMode === 'auto';
|
|
@@ -255,13 +173,12 @@ export async function createHttpApp(serverFactory, parentContext, manifest) {
|
|
|
255
173
|
if (!isAllowed) {
|
|
256
174
|
const requestContext = requestContextService.createRequestContext({
|
|
257
175
|
operation: 'HttpOriginGuard',
|
|
258
|
-
component: 'HttpTransport',
|
|
176
|
+
additionalContext: { component: 'HttpTransport' },
|
|
259
177
|
});
|
|
260
|
-
logger.warning('Rejected request with invalid Origin header', {
|
|
261
|
-
...requestContext,
|
|
178
|
+
logger.warning('Rejected request with invalid Origin header', withExtra(requestContext, {
|
|
262
179
|
origin,
|
|
263
180
|
allowedOrigins: explicitOrigins ?? 'loopback-only',
|
|
264
|
-
});
|
|
181
|
+
}));
|
|
265
182
|
return c.json({ error: 'Invalid origin. DNS rebinding protection.' }, 403);
|
|
266
183
|
}
|
|
267
184
|
}
|
|
@@ -286,13 +203,9 @@ export async function createHttpApp(serverFactory, parentContext, manifest) {
|
|
|
286
203
|
const rejectOversized = (bytes) => {
|
|
287
204
|
const requestContext = requestContextService.createRequestContext({
|
|
288
205
|
operation: 'HttpBodyLimit',
|
|
289
|
-
component: 'HttpTransport',
|
|
290
|
-
});
|
|
291
|
-
logger.warning('Rejected request exceeding body size limit', {
|
|
292
|
-
...requestContext,
|
|
293
|
-
bytes,
|
|
294
|
-
maxBodyBytes,
|
|
206
|
+
additionalContext: { component: 'HttpTransport' },
|
|
295
207
|
});
|
|
208
|
+
logger.warning('Rejected request exceeding body size limit', withExtra(requestContext, { bytes, maxBodyBytes }));
|
|
296
209
|
return c.json({
|
|
297
210
|
error: `Request body exceeds the ${maxBodyBytes}-byte limit (configurable via MCP_HTTP_MAX_BODY_BYTES).`,
|
|
298
211
|
}, 413);
|
|
@@ -445,226 +358,159 @@ export async function createHttpApp(serverFactory, parentContext, manifest) {
|
|
|
445
358
|
subject: authInfo.subject,
|
|
446
359
|
}).filter(([, v]) => v != null));
|
|
447
360
|
}
|
|
448
|
-
//
|
|
449
|
-
//
|
|
450
|
-
//
|
|
451
|
-
|
|
361
|
+
// DELETE terminates a session. Ownership is validated here, before the SDK
|
|
362
|
+
// transport is allowed to tear the session down; the transport itself owns
|
|
363
|
+
// the spec-shaped response and fires `onsessionclosed`.
|
|
364
|
+
// https://modelcontextprotocol.io/specification/2026-07-28/basic/transports
|
|
365
|
+
app.delete(config.mcpHttpEndpointPath, async (c, next) => {
|
|
452
366
|
const requestContext = requestContextService.createRequestContext({
|
|
453
367
|
operation: 'HttpSessionTermination',
|
|
454
|
-
component: 'HttpTransport',
|
|
368
|
+
additionalContext: { component: 'HttpTransport' },
|
|
455
369
|
});
|
|
456
370
|
const sessionId = c.req.header('mcp-session-id');
|
|
371
|
+
// Stateless mode has no session to terminate — the stateless handler
|
|
372
|
+
// answers with the spec's 405.
|
|
373
|
+
if (!sessionStore)
|
|
374
|
+
return await next();
|
|
457
375
|
if (!sessionId) {
|
|
458
376
|
logger.warning('DELETE request without session ID', requestContext);
|
|
459
377
|
return c.json({ error: 'Mcp-Session-Id header required' }, 400);
|
|
460
378
|
}
|
|
461
|
-
logger.info('Session termination requested', {
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
});
|
|
465
|
-
// For stateless mode or if session management is disabled, return 405
|
|
466
|
-
if (config.mcpSessionMode === 'stateless' || !sessionStore) {
|
|
467
|
-
return c.json({ error: 'Session termination not supported in stateless mode' }, 405);
|
|
468
|
-
}
|
|
469
|
-
// SECURITY: Validate session ownership before termination
|
|
470
|
-
const sessionIdentity = extractSessionIdentity();
|
|
471
|
-
if (!sessionStore.isValidForIdentity(sessionId, sessionIdentity)) {
|
|
379
|
+
logger.info('Session termination requested', { ...requestContext, sessionId });
|
|
380
|
+
// SECURITY: validate session ownership before termination.
|
|
381
|
+
if (!sessionStore.isValidForIdentity(sessionId, extractSessionIdentity())) {
|
|
472
382
|
logger.warning('Session termination rejected - ownership validation failed', {
|
|
473
383
|
...requestContext,
|
|
474
384
|
sessionId,
|
|
475
|
-
requestTenant: sessionIdentity?.tenantId,
|
|
476
|
-
requestClient: sessionIdentity?.clientId,
|
|
477
385
|
});
|
|
478
386
|
return c.json({ error: 'Session not found or access denied' }, 404);
|
|
479
387
|
}
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
388
|
+
const connection = sessionStore.getConnection(sessionId);
|
|
389
|
+
if (!connection) {
|
|
390
|
+
// Identity-valid but no live connection (already torn down). Drop the
|
|
391
|
+
// record and answer exactly as the transport does below — one status and
|
|
392
|
+
// one body shape for one operation.
|
|
393
|
+
await sessionStore.terminate(sessionId);
|
|
394
|
+
return c.body(null, 200);
|
|
395
|
+
}
|
|
396
|
+
return await connection.transport.handleRequest(c.req.raw);
|
|
487
397
|
});
|
|
398
|
+
// -------------------------------------------------------------------------
|
|
488
399
|
// JSON-RPC over HTTP (Streamable)
|
|
400
|
+
// -------------------------------------------------------------------------
|
|
401
|
+
/** Validated auth info for pass-through to the SDK's `ctx.http.authInfo`. */
|
|
402
|
+
const currentAuthInfo = () => authContext.getStore()?.authInfo;
|
|
403
|
+
// The modern (2026-07-28) leg. In stateless mode the same handler also serves
|
|
404
|
+
// 2025-era traffic per request (`legacy: 'stateless'`, the default); in
|
|
405
|
+
// stateful mode it is strict and the sessionful arm below owns 2025.
|
|
406
|
+
const handler = createMcpHandler(serverFactory, {
|
|
407
|
+
...(isStateful && { legacy: 'reject' }),
|
|
408
|
+
onerror: (error) => {
|
|
409
|
+
logger.debug(`MCP handler reported: ${error.message}`, transportContext);
|
|
410
|
+
},
|
|
411
|
+
});
|
|
412
|
+
/** Serves one 2025-era request on the sessionful arm. */
|
|
413
|
+
const handleLegacySessionful = async (store, request, parsedBody, requestContext) => {
|
|
414
|
+
const authInfo = currentAuthInfo();
|
|
415
|
+
const identity = extractSessionIdentity();
|
|
416
|
+
const providedSessionId = request.headers.get('mcp-session-id') ?? undefined;
|
|
417
|
+
const options = {
|
|
418
|
+
...(parsedBody !== undefined && { parsedBody }),
|
|
419
|
+
...(authInfo && { authInfo }),
|
|
420
|
+
};
|
|
421
|
+
if (providedSessionId) {
|
|
422
|
+
// SECURITY: identity binding is checked before the session is reachable,
|
|
423
|
+
// so a stolen session ID alone cannot resume someone else's session.
|
|
424
|
+
if (!store.isValidForIdentity(providedSessionId, identity)) {
|
|
425
|
+
logger.warning('Session validation failed - invalid or hijacked session', {
|
|
426
|
+
...requestContext,
|
|
427
|
+
sessionId: providedSessionId,
|
|
428
|
+
});
|
|
429
|
+
return Response.json({ error: 'Session not found or expired' }, { status: 404 });
|
|
430
|
+
}
|
|
431
|
+
const connection = store.getConnection(providedSessionId);
|
|
432
|
+
if (!connection) {
|
|
433
|
+
return Response.json({ error: 'Session not found or expired' }, { status: 404 });
|
|
434
|
+
}
|
|
435
|
+
return await connection.transport.handleRequest(request, options);
|
|
436
|
+
}
|
|
437
|
+
// No session yet: this is an `initialize` (anything else is rejected by the
|
|
438
|
+
// SDK transport with the spec's 400). Capacity is checked before the
|
|
439
|
+
// instance is built so a saturated server never allocates one.
|
|
440
|
+
store.assertCapacity();
|
|
441
|
+
const server = await serverFactory({
|
|
442
|
+
era: 'legacy',
|
|
443
|
+
...(authInfo && { authInfo }),
|
|
444
|
+
requestInfo: request,
|
|
445
|
+
});
|
|
446
|
+
const transport = new WebStandardStreamableHTTPServerTransport({
|
|
447
|
+
sessionIdGenerator: generateSecureSessionId,
|
|
448
|
+
onsessioninitialized: (sessionId) => {
|
|
449
|
+
store.register(sessionId, { server, transport }, identity);
|
|
450
|
+
logger.debug('Session initialized', { ...requestContext, sessionId });
|
|
451
|
+
},
|
|
452
|
+
onsessionclosed: (sessionId) => store.terminate(sessionId),
|
|
453
|
+
});
|
|
454
|
+
await server.connect(transport);
|
|
455
|
+
try {
|
|
456
|
+
const response = await transport.handleRequest(request, options);
|
|
457
|
+
// A handshake the transport refused never mints a session, so the
|
|
458
|
+
// instance pair it would have owned has no owner — close it here.
|
|
459
|
+
if (!transport.sessionId)
|
|
460
|
+
await closeConnection({ server, transport });
|
|
461
|
+
return response;
|
|
462
|
+
}
|
|
463
|
+
catch (error) {
|
|
464
|
+
await closeConnection({ server, transport });
|
|
465
|
+
throw error;
|
|
466
|
+
}
|
|
467
|
+
};
|
|
489
468
|
app.all(config.mcpHttpEndpointPath, async (c) => {
|
|
490
469
|
const requestContext = requestContextService.createRequestContext({
|
|
491
470
|
operation: 'HttpRpcRequest',
|
|
492
|
-
component: 'HttpTransport',
|
|
493
|
-
});
|
|
494
|
-
const protocolVersion = c.req.header('mcp-protocol-version') ?? '2025-03-26';
|
|
495
|
-
logger.debug('Handling MCP request.', {
|
|
496
|
-
...requestContext,
|
|
497
|
-
path: c.req.path,
|
|
498
|
-
method: c.req.method,
|
|
499
|
-
protocolVersion,
|
|
471
|
+
additionalContext: { component: 'HttpTransport' },
|
|
500
472
|
});
|
|
501
|
-
|
|
502
|
-
//
|
|
503
|
-
//
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
supportedVersions,
|
|
510
|
-
});
|
|
511
|
-
return c.json({
|
|
512
|
-
error: 'Unsupported MCP protocol version',
|
|
513
|
-
protocolVersion,
|
|
514
|
-
supportedVersions,
|
|
515
|
-
}, 400);
|
|
473
|
+
logger.debug('Handling MCP request.', withExtra(requestContext, { path: c.req.path, method: c.req.method }));
|
|
474
|
+
// Media type before body: a POST whose Content-Type is not JSON is a 415,
|
|
475
|
+
// not a parse error, and the SDK answers it that way. Parsing first turns
|
|
476
|
+
// even a well-formed body into a misleading `-32700`, so hand those
|
|
477
|
+
// straight to the handler and let it produce the canonical response.
|
|
478
|
+
if (c.req.method === 'POST' && !isJsonContentType(c.req.header('content-type'))) {
|
|
479
|
+
const authInfo = currentAuthInfo();
|
|
480
|
+
return await handler.fetch(c.req.raw, { ...(authInfo && { authInfo }) });
|
|
516
481
|
}
|
|
517
|
-
|
|
518
|
-
//
|
|
519
|
-
//
|
|
520
|
-
|
|
521
|
-
let rpcMessages = [];
|
|
482
|
+
// Read the POST body once, from the cache the body-limit guard may have
|
|
483
|
+
// seeded. Every downstream consumer takes it as `parsedBody` because the raw
|
|
484
|
+
// stream is not guaranteed re-readable after that guard runs.
|
|
485
|
+
let parsedBody;
|
|
522
486
|
if (c.req.method === 'POST') {
|
|
523
487
|
try {
|
|
524
|
-
|
|
525
|
-
const messages = Array.isArray(rawBody) ? rawBody : [rawBody];
|
|
526
|
-
rpcMessages = messages.filter((message) => typeof message === 'object' && message !== null);
|
|
488
|
+
parsedBody = await c.req.json();
|
|
527
489
|
}
|
|
528
490
|
catch {
|
|
529
|
-
// Malformed
|
|
491
|
+
// Malformed JSON never reaches classification — answer the spec's parse
|
|
492
|
+
// error directly rather than letting an unreadable body reach a transport.
|
|
493
|
+
return c.json({ jsonrpc: '2.0', id: null, error: { code: -32700, message: 'Parse error' } }, 400);
|
|
530
494
|
}
|
|
531
495
|
}
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
const initializeCapabilities = typeof declaredCapabilities === 'object' && declaredCapabilities !== null
|
|
535
|
-
? declaredCapabilities
|
|
536
|
-
: undefined;
|
|
537
|
-
// Extract identity from auth context (if auth is enabled)
|
|
538
|
-
// This MUST happen before session validation for security
|
|
539
|
-
const sessionIdentity = extractSessionIdentity();
|
|
540
|
-
// MCP Spec 2025-06-18: Return 404 for invalid/terminated sessions
|
|
541
|
-
// https://modelcontextprotocol.io/specification/2025-06-18/basic/transports#session-management
|
|
542
|
-
// SECURITY: Validate session WITH identity binding to prevent hijacking
|
|
543
|
-
if (sessionStore &&
|
|
544
|
-
providedSessionId &&
|
|
545
|
-
!sessionStore.isValidForIdentity(providedSessionId, sessionIdentity)) {
|
|
546
|
-
logger.warning('Session validation failed - invalid or hijacked session', {
|
|
547
|
-
...requestContext,
|
|
548
|
-
sessionId: providedSessionId,
|
|
549
|
-
requestTenant: sessionIdentity?.tenantId,
|
|
550
|
-
requestClient: sessionIdentity?.clientId,
|
|
551
|
-
});
|
|
552
|
-
return c.json({ error: 'Session not found or expired' }, 404);
|
|
553
|
-
}
|
|
554
|
-
// MCP Spec 2025-06-18: stateful sessions require Mcp-Session-Id on all
|
|
555
|
-
// non-initialize requests. Without this gate, the SDK processes the RPC
|
|
556
|
-
// on a fresh per-request McpServer (no protocol state to reject against)
|
|
557
|
-
// and the session store mints an uninitialized session on response.ok.
|
|
558
|
-
if (sessionStore && !providedSessionId && !initializeMessage) {
|
|
559
|
-
logger.warning('Rejected non-initialize request without session in stateful mode', {
|
|
560
|
-
...requestContext,
|
|
561
|
-
method: c.req.method,
|
|
562
|
-
});
|
|
563
|
-
return c.json({
|
|
564
|
-
error: 'Bad Request: Mcp-Session-Id header is required. Send an initialize request first.',
|
|
565
|
-
}, 400);
|
|
566
|
-
}
|
|
567
|
-
const sessionId = providedSessionId ?? generateSecureSessionId();
|
|
568
|
-
// The cancellation notification is handled by a different SDK Server
|
|
569
|
-
// instance than the original request. Mirror it into the durable session
|
|
570
|
-
// registry before passing it to the SDK so the original handler's merged
|
|
571
|
-
// `ctx.signal` is aborted without sharing Server instances across clients.
|
|
572
|
-
if (sessionStore) {
|
|
573
|
-
for (const message of rpcMessages) {
|
|
574
|
-
if (message.method !== 'notifications/cancelled')
|
|
575
|
-
continue;
|
|
576
|
-
const params = message.params;
|
|
577
|
-
const requestId = params?.requestId;
|
|
578
|
-
if (typeof requestId !== 'string' && typeof requestId !== 'number')
|
|
579
|
-
continue;
|
|
580
|
-
const reason = params?.reason;
|
|
581
|
-
sessionStore.cancelRequest(sessionId, requestId, typeof reason === 'string' ? reason : undefined);
|
|
582
|
-
}
|
|
583
|
-
}
|
|
584
|
-
const transport = new McpSessionTransport(sessionId);
|
|
585
|
-
trackPerRequestInstance(transport, 'transport');
|
|
586
|
-
let server;
|
|
587
|
-
let closePromise;
|
|
588
|
-
const closeOnce = (trigger) => {
|
|
589
|
-
closePromise ??= closePerRequestInstances(transport, server, sessionId, requestContext, trigger);
|
|
590
|
-
return closePromise;
|
|
591
|
-
};
|
|
592
|
-
const handleRpc = async () => {
|
|
593
|
-
// SDK 1.26.0: Protocol.connect() throws if already connected.
|
|
594
|
-
// Create a fresh McpServer per request to prevent cross-client data leaks.
|
|
595
|
-
// See GHSA-345p-7cg4-v4c7.
|
|
596
|
-
server = await serverFactory(sessionStore?.createProtocolSessionHooks(sessionId));
|
|
597
|
-
trackPerRequestInstance(server, 'server');
|
|
598
|
-
await server.connect(transport);
|
|
599
|
-
const response = await transport.handleRequest(c);
|
|
600
|
-
if (response) {
|
|
601
|
-
// Only register the session in the store AFTER a successful response.
|
|
602
|
-
// This avoids minting sessions for requests that fail protocol
|
|
603
|
-
// validation (e.g. tools/list without prior initialize).
|
|
604
|
-
if (sessionStore && response.ok) {
|
|
605
|
-
sessionStore.getOrCreate(sessionId, sessionIdentity);
|
|
606
|
-
if (initializeCapabilities) {
|
|
607
|
-
sessionStore.setClientCapabilities(sessionId, initializeCapabilities);
|
|
608
|
-
}
|
|
609
|
-
}
|
|
610
|
-
// MCP Spec 2025-06-18: For stateful sessions, return Mcp-Session-Id header
|
|
611
|
-
// in InitializeResponse (and all subsequent responses).
|
|
612
|
-
// 'auto' resolves to stateful for HTTP, matching the SessionStore creation above.
|
|
613
|
-
if (isStateful && response.ok) {
|
|
614
|
-
response.headers.set('Mcp-Session-Id', sessionId);
|
|
615
|
-
logger.debug('Added Mcp-Session-Id header to response', {
|
|
616
|
-
...requestContext,
|
|
617
|
-
sessionId,
|
|
618
|
-
});
|
|
619
|
-
}
|
|
620
|
-
// Non-SSE responses (POST/202): close immediately via queueMicrotask.
|
|
621
|
-
// SSE streams must stay open until the client disconnects — closing now
|
|
622
|
-
// would abort the ReadableStream before Hono can write to it (see
|
|
623
|
-
// GHSA-345p-7cg4-v4c7 above) — so cleanup is bound to the request's
|
|
624
|
-
// AbortSignal instead. `@hono/mcp` `stream.onAbort` only clears its
|
|
625
|
-
// internal stream map; it never fires `transport.close()` or `onclose`,
|
|
626
|
-
// and real clients almost always disconnect ungracefully (no DELETE).
|
|
627
|
-
// Without this hook every SSE GET leaks its per-request McpServer +
|
|
628
|
-
// Transport pair (issue #50). `c.req.raw.signal` aborts on client
|
|
629
|
-
// disconnect across runtimes (`@hono/node-server`, modern Bun, Workers).
|
|
630
|
-
const isSSE = response.headers.get('content-type')?.includes('text/event-stream');
|
|
631
|
-
if (!isSSE) {
|
|
632
|
-
queueMicrotask(() => {
|
|
633
|
-
void closeOnce('success');
|
|
634
|
-
});
|
|
635
|
-
}
|
|
636
|
-
else {
|
|
637
|
-
const sseCleanup = () => {
|
|
638
|
-
void closeOnce('sse-abort');
|
|
639
|
-
};
|
|
640
|
-
const reqSignal = c.req.raw.signal;
|
|
641
|
-
if (reqSignal.aborted) {
|
|
642
|
-
queueMicrotask(sseCleanup);
|
|
643
|
-
}
|
|
644
|
-
else {
|
|
645
|
-
reqSignal.addEventListener('abort', sseCleanup, { once: true });
|
|
646
|
-
}
|
|
647
|
-
}
|
|
648
|
-
return response;
|
|
649
|
-
}
|
|
650
|
-
queueMicrotask(() => {
|
|
651
|
-
void closeOnce('success');
|
|
652
|
-
});
|
|
653
|
-
return c.body(null, 204);
|
|
654
|
-
};
|
|
655
|
-
// Auth context is already populated by the middleware's authContext.run().
|
|
656
|
-
// ALS propagates through all async continuations in this handler.
|
|
657
|
-
try {
|
|
658
|
-
return await handleRpc();
|
|
659
|
-
}
|
|
660
|
-
catch (err) {
|
|
661
|
-
// Close every surface that was successfully created. The idempotent
|
|
662
|
-
// closure also protects against any cleanup already scheduled elsewhere.
|
|
663
|
-
await closeOnce('error');
|
|
664
|
-
throw err instanceof Error ? err : new Error(String(err));
|
|
496
|
+
if (sessionStore && (await isLegacyRequest(c.req.raw, parsedBody))) {
|
|
497
|
+
return await handleLegacySessionful(sessionStore, c.req.raw, parsedBody, requestContext);
|
|
665
498
|
}
|
|
499
|
+
const authInfo = currentAuthInfo();
|
|
500
|
+
return await handler.fetch(c.req.raw, {
|
|
501
|
+
...(parsedBody !== undefined && { parsedBody }),
|
|
502
|
+
...(authInfo && { authInfo }),
|
|
503
|
+
});
|
|
666
504
|
});
|
|
667
505
|
logger.info('Hono application setup complete.', transportContext);
|
|
668
|
-
return {
|
|
506
|
+
return {
|
|
507
|
+
app,
|
|
508
|
+
handler,
|
|
509
|
+
sessionStore,
|
|
510
|
+
close: async () => {
|
|
511
|
+
await handler.close();
|
|
512
|
+
await sessionStore?.destroy();
|
|
513
|
+
},
|
|
514
|
+
};
|
|
669
515
|
}
|
|
670
516
|
//# sourceMappingURL=httpTransport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpTransport.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpTransport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"httpTransport.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/mcp-server/transports/http/landing-page/assets/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,4BAA4B,CAAC;AAKtE;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/mcp-server/transports/http/landing-page/assets/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,4BAA4B,CAAC;AAKtE;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAwyCrD"}
|