mcp-server-framework 1.0.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/CHANGELOG.md +174 -0
- package/LICENSE-GPL.md +219 -0
- package/LICENSE.md +187 -0
- package/README.md +439 -0
- package/build/config/config-cache.d.ts +120 -0
- package/build/config/config-cache.d.ts.map +1 -0
- package/build/config/config-cache.js +310 -0
- package/build/config/config-cache.js.map +1 -0
- package/build/config/env.d.ts +476 -0
- package/build/config/env.d.ts.map +1 -0
- package/build/config/env.js +441 -0
- package/build/config/env.js.map +1 -0
- package/build/config/extensions.d.ts +107 -0
- package/build/config/extensions.d.ts.map +1 -0
- package/build/config/extensions.js +152 -0
- package/build/config/extensions.js.map +1 -0
- package/build/config/file/index.d.ts +8 -0
- package/build/config/file/index.d.ts.map +1 -0
- package/build/config/file/index.js +10 -0
- package/build/config/file/index.js.map +1 -0
- package/build/config/file/loader.d.ts +31 -0
- package/build/config/file/loader.d.ts.map +1 -0
- package/build/config/file/loader.js +313 -0
- package/build/config/file/loader.js.map +1 -0
- package/build/config/file/schema.d.ts +583 -0
- package/build/config/file/schema.d.ts.map +1 -0
- package/build/config/file/schema.js +388 -0
- package/build/config/file/schema.js.map +1 -0
- package/build/config/index.d.ts +15 -0
- package/build/config/index.d.ts.map +1 -0
- package/build/config/index.js +27 -0
- package/build/config/index.js.map +1 -0
- package/build/config/startup-warnings.d.ts +46 -0
- package/build/config/startup-warnings.d.ts.map +1 -0
- package/build/config/startup-warnings.js +61 -0
- package/build/config/startup-warnings.js.map +1 -0
- package/build/connection/connection-state.d.ts +196 -0
- package/build/connection/connection-state.d.ts.map +1 -0
- package/build/connection/connection-state.js +426 -0
- package/build/connection/connection-state.js.map +1 -0
- package/build/connection/core/base.d.ts +43 -0
- package/build/connection/core/base.d.ts.map +1 -0
- package/build/connection/core/base.js +82 -0
- package/build/connection/core/base.js.map +1 -0
- package/build/connection/core/constants.d.ts +121 -0
- package/build/connection/core/constants.d.ts.map +1 -0
- package/build/connection/core/constants.js +151 -0
- package/build/connection/core/constants.js.map +1 -0
- package/build/connection/core/index.d.ts +13 -0
- package/build/connection/core/index.d.ts.map +1 -0
- package/build/connection/core/index.js +14 -0
- package/build/connection/core/index.js.map +1 -0
- package/build/connection/core/types.d.ts +102 -0
- package/build/connection/core/types.d.ts.map +1 -0
- package/build/connection/core/types.js +31 -0
- package/build/connection/core/types.js.map +1 -0
- package/build/connection/index.d.ts +19 -0
- package/build/connection/index.d.ts.map +1 -0
- package/build/connection/index.js +22 -0
- package/build/connection/index.js.map +1 -0
- package/build/connection/types.d.ts +125 -0
- package/build/connection/types.d.ts.map +1 -0
- package/build/connection/types.js +39 -0
- package/build/connection/types.js.map +1 -0
- package/build/errors/categories/auth.d.ts +59 -0
- package/build/errors/categories/auth.d.ts.map +1 -0
- package/build/errors/categories/auth.js +111 -0
- package/build/errors/categories/auth.js.map +1 -0
- package/build/errors/categories/connection.d.ts +70 -0
- package/build/errors/categories/connection.d.ts.map +1 -0
- package/build/errors/categories/connection.js +120 -0
- package/build/errors/categories/connection.js.map +1 -0
- package/build/errors/categories/index.d.ts +14 -0
- package/build/errors/categories/index.d.ts.map +1 -0
- package/build/errors/categories/index.js +20 -0
- package/build/errors/categories/index.js.map +1 -0
- package/build/errors/categories/operation.d.ts +83 -0
- package/build/errors/categories/operation.d.ts.map +1 -0
- package/build/errors/categories/operation.js +149 -0
- package/build/errors/categories/operation.js.map +1 -0
- package/build/errors/categories/protocol.d.ts +68 -0
- package/build/errors/categories/protocol.d.ts.map +1 -0
- package/build/errors/categories/protocol.js +135 -0
- package/build/errors/categories/protocol.js.map +1 -0
- package/build/errors/categories/session.d.ts +50 -0
- package/build/errors/categories/session.d.ts.map +1 -0
- package/build/errors/categories/session.js +97 -0
- package/build/errors/categories/session.js.map +1 -0
- package/build/errors/categories/system.d.ts +95 -0
- package/build/errors/categories/system.d.ts.map +1 -0
- package/build/errors/categories/system.js +190 -0
- package/build/errors/categories/system.js.map +1 -0
- package/build/errors/categories/transport.d.ts +70 -0
- package/build/errors/categories/transport.d.ts.map +1 -0
- package/build/errors/categories/transport.js +148 -0
- package/build/errors/categories/transport.js.map +1 -0
- package/build/errors/categories/validation.d.ts +140 -0
- package/build/errors/categories/validation.d.ts.map +1 -0
- package/build/errors/categories/validation.js +311 -0
- package/build/errors/categories/validation.js.map +1 -0
- package/build/errors/core/base.d.ts +103 -0
- package/build/errors/core/base.d.ts.map +1 -0
- package/build/errors/core/base.js +219 -0
- package/build/errors/core/base.js.map +1 -0
- package/build/errors/core/constants.d.ts +40 -0
- package/build/errors/core/constants.d.ts.map +1 -0
- package/build/errors/core/constants.js +49 -0
- package/build/errors/core/constants.js.map +1 -0
- package/build/errors/core/error-codes.d.ts +72 -0
- package/build/errors/core/error-codes.d.ts.map +1 -0
- package/build/errors/core/error-codes.js +88 -0
- package/build/errors/core/error-codes.js.map +1 -0
- package/build/errors/core/http.d.ts +69 -0
- package/build/errors/core/http.d.ts.map +1 -0
- package/build/errors/core/http.js +106 -0
- package/build/errors/core/http.js.map +1 -0
- package/build/errors/core/index.d.ts +23 -0
- package/build/errors/core/index.d.ts.map +1 -0
- package/build/errors/core/index.js +41 -0
- package/build/errors/core/index.js.map +1 -0
- package/build/errors/core/json-rpc.d.ts +69 -0
- package/build/errors/core/json-rpc.d.ts.map +1 -0
- package/build/errors/core/json-rpc.js +79 -0
- package/build/errors/core/json-rpc.js.map +1 -0
- package/build/errors/core/messages.d.ts +51 -0
- package/build/errors/core/messages.d.ts.map +1 -0
- package/build/errors/core/messages.js +59 -0
- package/build/errors/core/messages.js.map +1 -0
- package/build/errors/core/types.d.ts +80 -0
- package/build/errors/core/types.d.ts.map +1 -0
- package/build/errors/core/types.js +10 -0
- package/build/errors/core/types.js.map +1 -0
- package/build/errors/factory.d.ts +199 -0
- package/build/errors/factory.d.ts.map +1 -0
- package/build/errors/factory.js +244 -0
- package/build/errors/factory.js.map +1 -0
- package/build/errors/index.d.ts +35 -0
- package/build/errors/index.d.ts.map +1 -0
- package/build/errors/index.js +67 -0
- package/build/errors/index.js.map +1 -0
- package/build/index.d.ts +93 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +107 -0
- package/build/index.js.map +1 -0
- package/build/logger/core/constants.d.ts +143 -0
- package/build/logger/core/constants.d.ts.map +1 -0
- package/build/logger/core/constants.js +206 -0
- package/build/logger/core/constants.js.map +1 -0
- package/build/logger/core/context.d.ts +170 -0
- package/build/logger/core/context.d.ts.map +1 -0
- package/build/logger/core/context.js +237 -0
- package/build/logger/core/context.js.map +1 -0
- package/build/logger/core/errors.d.ts +101 -0
- package/build/logger/core/errors.d.ts.map +1 -0
- package/build/logger/core/errors.js +128 -0
- package/build/logger/core/errors.js.map +1 -0
- package/build/logger/core/format.d.ts +40 -0
- package/build/logger/core/format.d.ts.map +1 -0
- package/build/logger/core/format.js +47 -0
- package/build/logger/core/format.js.map +1 -0
- package/build/logger/core/index.d.ts +19 -0
- package/build/logger/core/index.d.ts.map +1 -0
- package/build/logger/core/index.js +47 -0
- package/build/logger/core/index.js.map +1 -0
- package/build/logger/core/trace-context.d.ts +51 -0
- package/build/logger/core/trace-context.d.ts.map +1 -0
- package/build/logger/core/trace-context.js +42 -0
- package/build/logger/core/trace-context.js.map +1 -0
- package/build/logger/core/types.d.ts +233 -0
- package/build/logger/core/types.d.ts.map +1 -0
- package/build/logger/core/types.js +10 -0
- package/build/logger/core/types.js.map +1 -0
- package/build/logger/factory.d.ts +150 -0
- package/build/logger/factory.d.ts.map +1 -0
- package/build/logger/factory.js +236 -0
- package/build/logger/factory.js.map +1 -0
- package/build/logger/formatters/index.d.ts +12 -0
- package/build/logger/formatters/index.d.ts.map +1 -0
- package/build/logger/formatters/index.js +15 -0
- package/build/logger/formatters/index.js.map +1 -0
- package/build/logger/formatters/json-formatter.d.ts +54 -0
- package/build/logger/formatters/json-formatter.d.ts.map +1 -0
- package/build/logger/formatters/json-formatter.js +80 -0
- package/build/logger/formatters/json-formatter.js.map +1 -0
- package/build/logger/formatters/schema.d.ts +230 -0
- package/build/logger/formatters/schema.d.ts.map +1 -0
- package/build/logger/formatters/schema.js +278 -0
- package/build/logger/formatters/schema.js.map +1 -0
- package/build/logger/formatters/text-formatter.d.ts +50 -0
- package/build/logger/formatters/text-formatter.d.ts.map +1 -0
- package/build/logger/formatters/text-formatter.js +93 -0
- package/build/logger/formatters/text-formatter.js.map +1 -0
- package/build/logger/index.d.ts +39 -0
- package/build/logger/index.d.ts.map +1 -0
- package/build/logger/index.js +43 -0
- package/build/logger/index.js.map +1 -0
- package/build/logger/logger.d.ts +278 -0
- package/build/logger/logger.d.ts.map +1 -0
- package/build/logger/logger.js +459 -0
- package/build/logger/logger.js.map +1 -0
- package/build/logger/mcp-logger.d.ts +177 -0
- package/build/logger/mcp-logger.d.ts.map +1 -0
- package/build/logger/mcp-logger.js +294 -0
- package/build/logger/mcp-logger.js.map +1 -0
- package/build/logger/scrubbing/index.d.ts +14 -0
- package/build/logger/scrubbing/index.d.ts.map +1 -0
- package/build/logger/scrubbing/index.js +16 -0
- package/build/logger/scrubbing/index.js.map +1 -0
- package/build/logger/scrubbing/injection-guard.d.ts +69 -0
- package/build/logger/scrubbing/injection-guard.d.ts.map +1 -0
- package/build/logger/scrubbing/injection-guard.js +102 -0
- package/build/logger/scrubbing/injection-guard.js.map +1 -0
- package/build/logger/scrubbing/secret-scrubber.d.ts +72 -0
- package/build/logger/scrubbing/secret-scrubber.d.ts.map +1 -0
- package/build/logger/scrubbing/secret-scrubber.js +177 -0
- package/build/logger/scrubbing/secret-scrubber.js.map +1 -0
- package/build/logger/writers/base-writer.d.ts +45 -0
- package/build/logger/writers/base-writer.d.ts.map +1 -0
- package/build/logger/writers/base-writer.js +41 -0
- package/build/logger/writers/base-writer.js.map +1 -0
- package/build/logger/writers/composite-writer.d.ts +83 -0
- package/build/logger/writers/composite-writer.d.ts.map +1 -0
- package/build/logger/writers/composite-writer.js +121 -0
- package/build/logger/writers/composite-writer.js.map +1 -0
- package/build/logger/writers/console-writer.d.ts +59 -0
- package/build/logger/writers/console-writer.d.ts.map +1 -0
- package/build/logger/writers/console-writer.js +73 -0
- package/build/logger/writers/console-writer.js.map +1 -0
- package/build/logger/writers/file-writer.d.ts +160 -0
- package/build/logger/writers/file-writer.d.ts.map +1 -0
- package/build/logger/writers/file-writer.js +345 -0
- package/build/logger/writers/file-writer.js.map +1 -0
- package/build/logger/writers/index.d.ts +15 -0
- package/build/logger/writers/index.d.ts.map +1 -0
- package/build/logger/writers/index.js +19 -0
- package/build/logger/writers/index.js.map +1 -0
- package/build/mcp/capabilities/apps/define-app.d.ts +68 -0
- package/build/mcp/capabilities/apps/define-app.d.ts.map +1 -0
- package/build/mcp/capabilities/apps/define-app.js +127 -0
- package/build/mcp/capabilities/apps/define-app.js.map +1 -0
- package/build/mcp/capabilities/apps/index.d.ts +10 -0
- package/build/mcp/capabilities/apps/index.d.ts.map +1 -0
- package/build/mcp/capabilities/apps/index.js +10 -0
- package/build/mcp/capabilities/apps/index.js.map +1 -0
- package/build/mcp/capabilities/capabilities.d.ts +24 -0
- package/build/mcp/capabilities/capabilities.d.ts.map +1 -0
- package/build/mcp/capabilities/capabilities.js +50 -0
- package/build/mcp/capabilities/capabilities.js.map +1 -0
- package/build/mcp/capabilities/index.d.ts +17 -0
- package/build/mcp/capabilities/index.d.ts.map +1 -0
- package/build/mcp/capabilities/index.js +20 -0
- package/build/mcp/capabilities/index.js.map +1 -0
- package/build/mcp/capabilities/prompts/define-prompt.d.ts +95 -0
- package/build/mcp/capabilities/prompts/define-prompt.d.ts.map +1 -0
- package/build/mcp/capabilities/prompts/define-prompt.js +109 -0
- package/build/mcp/capabilities/prompts/define-prompt.js.map +1 -0
- package/build/mcp/capabilities/prompts/index.d.ts +10 -0
- package/build/mcp/capabilities/prompts/index.d.ts.map +1 -0
- package/build/mcp/capabilities/prompts/index.js +10 -0
- package/build/mcp/capabilities/prompts/index.js.map +1 -0
- package/build/mcp/capabilities/registry/base-registry.d.ts +95 -0
- package/build/mcp/capabilities/registry/base-registry.d.ts.map +1 -0
- package/build/mcp/capabilities/registry/base-registry.js +149 -0
- package/build/mcp/capabilities/registry/base-registry.js.map +1 -0
- package/build/mcp/capabilities/registry/index.d.ts +16 -0
- package/build/mcp/capabilities/registry/index.d.ts.map +1 -0
- package/build/mcp/capabilities/registry/index.js +34 -0
- package/build/mcp/capabilities/registry/index.js.map +1 -0
- package/build/mcp/capabilities/registry/prompt-registry.d.ts +116 -0
- package/build/mcp/capabilities/registry/prompt-registry.d.ts.map +1 -0
- package/build/mcp/capabilities/registry/prompt-registry.js +232 -0
- package/build/mcp/capabilities/registry/prompt-registry.js.map +1 -0
- package/build/mcp/capabilities/registry/reset.d.ts +30 -0
- package/build/mcp/capabilities/registry/reset.d.ts.map +1 -0
- package/build/mcp/capabilities/registry/reset.js +48 -0
- package/build/mcp/capabilities/registry/reset.js.map +1 -0
- package/build/mcp/capabilities/registry/resource-registry.d.ts +152 -0
- package/build/mcp/capabilities/registry/resource-registry.d.ts.map +1 -0
- package/build/mcp/capabilities/registry/resource-registry.js +430 -0
- package/build/mcp/capabilities/registry/resource-registry.js.map +1 -0
- package/build/mcp/capabilities/registry/scope-enforcement.d.ts +48 -0
- package/build/mcp/capabilities/registry/scope-enforcement.d.ts.map +1 -0
- package/build/mcp/capabilities/registry/scope-enforcement.js +62 -0
- package/build/mcp/capabilities/registry/scope-enforcement.js.map +1 -0
- package/build/mcp/capabilities/registry/task-tool-registry.d.ts +96 -0
- package/build/mcp/capabilities/registry/task-tool-registry.d.ts.map +1 -0
- package/build/mcp/capabilities/registry/task-tool-registry.js +190 -0
- package/build/mcp/capabilities/registry/task-tool-registry.js.map +1 -0
- package/build/mcp/capabilities/registry/tool-registry.d.ts +100 -0
- package/build/mcp/capabilities/registry/tool-registry.d.ts.map +1 -0
- package/build/mcp/capabilities/registry/tool-registry.js +242 -0
- package/build/mcp/capabilities/registry/tool-registry.js.map +1 -0
- package/build/mcp/capabilities/resources/define-resource.d.ts +103 -0
- package/build/mcp/capabilities/resources/define-resource.d.ts.map +1 -0
- package/build/mcp/capabilities/resources/define-resource.js +137 -0
- package/build/mcp/capabilities/resources/define-resource.js.map +1 -0
- package/build/mcp/capabilities/resources/index.d.ts +10 -0
- package/build/mcp/capabilities/resources/index.d.ts.map +1 -0
- package/build/mcp/capabilities/resources/index.js +10 -0
- package/build/mcp/capabilities/resources/index.js.map +1 -0
- package/build/mcp/capabilities/server-capabilities.d.ts +33 -0
- package/build/mcp/capabilities/server-capabilities.d.ts.map +1 -0
- package/build/mcp/capabilities/server-capabilities.js +16 -0
- package/build/mcp/capabilities/server-capabilities.js.map +1 -0
- package/build/mcp/capabilities/tasks/define-task.d.ts +75 -0
- package/build/mcp/capabilities/tasks/define-task.d.ts.map +1 -0
- package/build/mcp/capabilities/tasks/define-task.js +93 -0
- package/build/mcp/capabilities/tasks/define-task.js.map +1 -0
- package/build/mcp/capabilities/tasks/index.d.ts +11 -0
- package/build/mcp/capabilities/tasks/index.d.ts.map +1 -0
- package/build/mcp/capabilities/tasks/index.js +11 -0
- package/build/mcp/capabilities/tasks/index.js.map +1 -0
- package/build/mcp/capabilities/tools/define-tool.d.ts +62 -0
- package/build/mcp/capabilities/tools/define-tool.d.ts.map +1 -0
- package/build/mcp/capabilities/tools/define-tool.js +73 -0
- package/build/mcp/capabilities/tools/define-tool.js.map +1 -0
- package/build/mcp/capabilities/tools/index.d.ts +10 -0
- package/build/mcp/capabilities/tools/index.d.ts.map +1 -0
- package/build/mcp/capabilities/tools/index.js +10 -0
- package/build/mcp/capabilities/tools/index.js.map +1 -0
- package/build/mcp/handlers/index.d.ts +19 -0
- package/build/mcp/handlers/index.d.ts.map +1 -0
- package/build/mcp/handlers/index.js +26 -0
- package/build/mcp/handlers/index.js.map +1 -0
- package/build/mcp/handlers/ping.d.ts +27 -0
- package/build/mcp/handlers/ping.d.ts.map +1 -0
- package/build/mcp/handlers/ping.js +61 -0
- package/build/mcp/handlers/ping.js.map +1 -0
- package/build/mcp/handlers/progress.d.ts +41 -0
- package/build/mcp/handlers/progress.d.ts.map +1 -0
- package/build/mcp/handlers/progress.js +79 -0
- package/build/mcp/handlers/progress.js.map +1 -0
- package/build/mcp/index.d.ts +28 -0
- package/build/mcp/index.d.ts.map +1 -0
- package/build/mcp/index.js +34 -0
- package/build/mcp/index.js.map +1 -0
- package/build/mcp/responses/helpers.d.ts +146 -0
- package/build/mcp/responses/helpers.d.ts.map +1 -0
- package/build/mcp/responses/helpers.js +197 -0
- package/build/mcp/responses/helpers.js.map +1 -0
- package/build/mcp/responses/index.d.ts +9 -0
- package/build/mcp/responses/index.d.ts.map +1 -0
- package/build/mcp/responses/index.js +12 -0
- package/build/mcp/responses/index.js.map +1 -0
- package/build/mcp/types/context.d.ts +371 -0
- package/build/mcp/types/context.d.ts.map +1 -0
- package/build/mcp/types/context.js +17 -0
- package/build/mcp/types/context.js.map +1 -0
- package/build/mcp/types/definition.d.ts +727 -0
- package/build/mcp/types/definition.d.ts.map +1 -0
- package/build/mcp/types/definition.js +29 -0
- package/build/mcp/types/definition.js.map +1 -0
- package/build/mcp/types/handler.d.ts +58 -0
- package/build/mcp/types/handler.d.ts.map +1 -0
- package/build/mcp/types/handler.js +10 -0
- package/build/mcp/types/handler.js.map +1 -0
- package/build/mcp/types/index.d.ts +21 -0
- package/build/mcp/types/index.d.ts.map +1 -0
- package/build/mcp/types/index.js +18 -0
- package/build/mcp/types/index.js.map +1 -0
- package/build/mcp/types/response.d.ts +79 -0
- package/build/mcp/types/response.d.ts.map +1 -0
- package/build/mcp/types/response.js +10 -0
- package/build/mcp/types/response.js.map +1 -0
- package/build/server/auth/auth-context.d.ts +52 -0
- package/build/server/auth/auth-context.d.ts.map +1 -0
- package/build/server/auth/auth-context.js +45 -0
- package/build/server/auth/auth-context.js.map +1 -0
- package/build/server/auth/guards.d.ts +72 -0
- package/build/server/auth/guards.d.ts.map +1 -0
- package/build/server/auth/guards.js +103 -0
- package/build/server/auth/guards.js.map +1 -0
- package/build/server/auth/index.d.ts +21 -0
- package/build/server/auth/index.d.ts.map +1 -0
- package/build/server/auth/index.js +20 -0
- package/build/server/auth/index.js.map +1 -0
- package/build/server/auth/oidc-discovery.d.ts +68 -0
- package/build/server/auth/oidc-discovery.d.ts.map +1 -0
- package/build/server/auth/oidc-discovery.js +234 -0
- package/build/server/auth/oidc-discovery.js.map +1 -0
- package/build/server/auth/oidc-provider.d.ts +96 -0
- package/build/server/auth/oidc-provider.d.ts.map +1 -0
- package/build/server/auth/oidc-provider.js +126 -0
- package/build/server/auth/oidc-provider.js.map +1 -0
- package/build/server/auth/types.d.ts +204 -0
- package/build/server/auth/types.d.ts.map +1 -0
- package/build/server/auth/types.js +29 -0
- package/build/server/auth/types.js.map +1 -0
- package/build/server/auth/upstream-provider.d.ts +161 -0
- package/build/server/auth/upstream-provider.d.ts.map +1 -0
- package/build/server/auth/upstream-provider.js +411 -0
- package/build/server/auth/upstream-provider.js.map +1 -0
- package/build/server/builder/constants.d.ts +45 -0
- package/build/server/builder/constants.d.ts.map +1 -0
- package/build/server/builder/constants.js +54 -0
- package/build/server/builder/constants.js.map +1 -0
- package/build/server/builder/index.d.ts +24 -0
- package/build/server/builder/index.d.ts.map +1 -0
- package/build/server/builder/index.js +25 -0
- package/build/server/builder/index.js.map +1 -0
- package/build/server/builder/primitive-collector.d.ts +24 -0
- package/build/server/builder/primitive-collector.d.ts.map +1 -0
- package/build/server/builder/primitive-collector.js +89 -0
- package/build/server/builder/primitive-collector.js.map +1 -0
- package/build/server/builder/server-builder.d.ts +53 -0
- package/build/server/builder/server-builder.d.ts.map +1 -0
- package/build/server/builder/server-builder.js +132 -0
- package/build/server/builder/server-builder.js.map +1 -0
- package/build/server/builder/types.d.ts +93 -0
- package/build/server/builder/types.d.ts.map +1 -0
- package/build/server/builder/types.js +25 -0
- package/build/server/builder/types.js.map +1 -0
- package/build/server/builder/validation.d.ts +36 -0
- package/build/server/builder/validation.d.ts.map +1 -0
- package/build/server/builder/validation.js +44 -0
- package/build/server/builder/validation.js.map +1 -0
- package/build/server/create-server.d.ts +57 -0
- package/build/server/create-server.d.ts.map +1 -0
- package/build/server/create-server.js +104 -0
- package/build/server/create-server.js.map +1 -0
- package/build/server/http/express-app.d.ts +103 -0
- package/build/server/http/express-app.d.ts.map +1 -0
- package/build/server/http/express-app.js +391 -0
- package/build/server/http/express-app.js.map +1 -0
- package/build/server/http/http-server.d.ts +67 -0
- package/build/server/http/http-server.d.ts.map +1 -0
- package/build/server/http/http-server.js +188 -0
- package/build/server/http/http-server.js.map +1 -0
- package/build/server/http/http-transport.d.ts +33 -0
- package/build/server/http/http-transport.d.ts.map +1 -0
- package/build/server/http/http-transport.js +84 -0
- package/build/server/http/http-transport.js.map +1 -0
- package/build/server/http/index.d.ts +15 -0
- package/build/server/http/index.d.ts.map +1 -0
- package/build/server/http/index.js +11 -0
- package/build/server/http/index.js.map +1 -0
- package/build/server/index.d.ts +25 -0
- package/build/server/index.d.ts.map +1 -0
- package/build/server/index.js +41 -0
- package/build/server/index.js.map +1 -0
- package/build/server/lifecycle.d.ts +114 -0
- package/build/server/lifecycle.d.ts.map +1 -0
- package/build/server/lifecycle.js +30 -0
- package/build/server/lifecycle.js.map +1 -0
- package/build/server/middleware/bearer-auth.d.ts +43 -0
- package/build/server/middleware/bearer-auth.d.ts.map +1 -0
- package/build/server/middleware/bearer-auth.js +75 -0
- package/build/server/middleware/bearer-auth.js.map +1 -0
- package/build/server/middleware/custom-header-auth.d.ts +40 -0
- package/build/server/middleware/custom-header-auth.d.ts.map +1 -0
- package/build/server/middleware/custom-header-auth.js +90 -0
- package/build/server/middleware/custom-header-auth.js.map +1 -0
- package/build/server/middleware/dns-rebinding.d.ts +25 -0
- package/build/server/middleware/dns-rebinding.d.ts.map +1 -0
- package/build/server/middleware/dns-rebinding.js +94 -0
- package/build/server/middleware/dns-rebinding.js.map +1 -0
- package/build/server/middleware/index.d.ts +69 -0
- package/build/server/middleware/index.d.ts.map +1 -0
- package/build/server/middleware/index.js +68 -0
- package/build/server/middleware/index.js.map +1 -0
- package/build/server/middleware/logging.d.ts +21 -0
- package/build/server/middleware/logging.d.ts.map +1 -0
- package/build/server/middleware/logging.js +36 -0
- package/build/server/middleware/logging.js.map +1 -0
- package/build/server/middleware/oauth-router.d.ts +50 -0
- package/build/server/middleware/oauth-router.d.ts.map +1 -0
- package/build/server/middleware/oauth-router.js +53 -0
- package/build/server/middleware/oauth-router.js.map +1 -0
- package/build/server/middleware/protocol-version.d.ts +13 -0
- package/build/server/middleware/protocol-version.d.ts.map +1 -0
- package/build/server/middleware/protocol-version.js +48 -0
- package/build/server/middleware/protocol-version.js.map +1 -0
- package/build/server/middleware/rate-limit.d.ts +47 -0
- package/build/server/middleware/rate-limit.d.ts.map +1 -0
- package/build/server/middleware/rate-limit.js +109 -0
- package/build/server/middleware/rate-limit.js.map +1 -0
- package/build/server/middleware/trust-proxy.d.ts +37 -0
- package/build/server/middleware/trust-proxy.d.ts.map +1 -0
- package/build/server/middleware/trust-proxy.js +154 -0
- package/build/server/middleware/trust-proxy.js.map +1 -0
- package/build/server/option-overrides.d.ts +25 -0
- package/build/server/option-overrides.d.ts.map +1 -0
- package/build/server/option-overrides.js +85 -0
- package/build/server/option-overrides.js.map +1 -0
- package/build/server/routes/health.d.ts +87 -0
- package/build/server/routes/health.d.ts.map +1 -0
- package/build/server/routes/health.js +183 -0
- package/build/server/routes/health.js.map +1 -0
- package/build/server/routes/index.d.ts +16 -0
- package/build/server/routes/index.d.ts.map +1 -0
- package/build/server/routes/index.js +18 -0
- package/build/server/routes/index.js.map +1 -0
- package/build/server/routes/metrics.d.ts +40 -0
- package/build/server/routes/metrics.d.ts.map +1 -0
- package/build/server/routes/metrics.js +81 -0
- package/build/server/routes/metrics.js.map +1 -0
- package/build/server/routes/oauth-router.d.ts +50 -0
- package/build/server/routes/oauth-router.d.ts.map +1 -0
- package/build/server/routes/oauth-router.js +53 -0
- package/build/server/routes/oauth-router.js.map +1 -0
- package/build/server/routes/readiness-status.d.ts +25 -0
- package/build/server/routes/readiness-status.d.ts.map +1 -0
- package/build/server/routes/readiness-status.js +27 -0
- package/build/server/routes/readiness-status.js.map +1 -0
- package/build/server/routes/sse-router.d.ts +43 -0
- package/build/server/routes/sse-router.d.ts.map +1 -0
- package/build/server/routes/sse-router.js +92 -0
- package/build/server/routes/sse-router.js.map +1 -0
- package/build/server/routes/streamable-http-router.d.ts +36 -0
- package/build/server/routes/streamable-http-router.d.ts.map +1 -0
- package/build/server/routes/streamable-http-router.js +59 -0
- package/build/server/routes/streamable-http-router.js.map +1 -0
- package/build/server/server-instance.d.ts +185 -0
- package/build/server/server-instance.d.ts.map +1 -0
- package/build/server/server-instance.js +615 -0
- package/build/server/server-instance.js.map +1 -0
- package/build/server/server-options.d.ts +411 -0
- package/build/server/server-options.d.ts.map +1 -0
- package/build/server/server-options.js +17 -0
- package/build/server/server-options.js.map +1 -0
- package/build/server/session/in-memory-store.d.ts +128 -0
- package/build/server/session/in-memory-store.d.ts.map +1 -0
- package/build/server/session/in-memory-store.js +312 -0
- package/build/server/session/in-memory-store.js.map +1 -0
- package/build/server/session/index.d.ts +43 -0
- package/build/server/session/index.d.ts.map +1 -0
- package/build/server/session/index.js +47 -0
- package/build/server/session/index.js.map +1 -0
- package/build/server/session/mcp-session.d.ts +210 -0
- package/build/server/session/mcp-session.d.ts.map +1 -0
- package/build/server/session/mcp-session.js +428 -0
- package/build/server/session/mcp-session.js.map +1 -0
- package/build/server/session/session-factory.d.ts +119 -0
- package/build/server/session/session-factory.d.ts.map +1 -0
- package/build/server/session/session-factory.js +131 -0
- package/build/server/session/session-factory.js.map +1 -0
- package/build/server/session/session-housekeeper.d.ts +100 -0
- package/build/server/session/session-housekeeper.d.ts.map +1 -0
- package/build/server/session/session-housekeeper.js +217 -0
- package/build/server/session/session-housekeeper.js.map +1 -0
- package/build/server/session/session-manager.d.ts +227 -0
- package/build/server/session/session-manager.d.ts.map +1 -0
- package/build/server/session/session-manager.js +282 -0
- package/build/server/session/session-manager.js.map +1 -0
- package/build/server/session/session-store.d.ts +95 -0
- package/build/server/session/session-store.d.ts.map +1 -0
- package/build/server/session/session-store.js +13 -0
- package/build/server/session/session-store.js.map +1 -0
- package/build/server/session/session.d.ts +132 -0
- package/build/server/session/session.d.ts.map +1 -0
- package/build/server/session/session.js +61 -0
- package/build/server/session/session.js.map +1 -0
- package/build/server/transport/constants.d.ts +85 -0
- package/build/server/transport/constants.d.ts.map +1 -0
- package/build/server/transport/constants.js +103 -0
- package/build/server/transport/constants.js.map +1 -0
- package/build/server/transport/index.d.ts +21 -0
- package/build/server/transport/index.d.ts.map +1 -0
- package/build/server/transport/index.js +28 -0
- package/build/server/transport/index.js.map +1 -0
- package/build/server/transport/sse/handler.d.ts +46 -0
- package/build/server/transport/sse/handler.d.ts.map +1 -0
- package/build/server/transport/sse/handler.js +189 -0
- package/build/server/transport/sse/handler.js.map +1 -0
- package/build/server/transport/sse/index.d.ts +15 -0
- package/build/server/transport/sse/index.d.ts.map +1 -0
- package/build/server/transport/sse/index.js +14 -0
- package/build/server/transport/sse/index.js.map +1 -0
- package/build/server/transport/sse/transport.d.ts +94 -0
- package/build/server/transport/sse/transport.d.ts.map +1 -0
- package/build/server/transport/sse/transport.js +175 -0
- package/build/server/transport/sse/transport.js.map +1 -0
- package/build/server/transport/stdio-transport.d.ts +23 -0
- package/build/server/transport/stdio-transport.d.ts.map +1 -0
- package/build/server/transport/stdio-transport.js +59 -0
- package/build/server/transport/stdio-transport.js.map +1 -0
- package/build/server/transport/streamable-http/index.d.ts +9 -0
- package/build/server/transport/streamable-http/index.d.ts.map +1 -0
- package/build/server/transport/streamable-http/index.js +9 -0
- package/build/server/transport/streamable-http/index.js.map +1 -0
- package/build/server/transport/streamable-http/stateful-handler.d.ts +41 -0
- package/build/server/transport/streamable-http/stateful-handler.d.ts.map +1 -0
- package/build/server/transport/streamable-http/stateful-handler.js +264 -0
- package/build/server/transport/streamable-http/stateful-handler.js.map +1 -0
- package/build/server/transport/streamable-http/stateless-handler.d.ts +28 -0
- package/build/server/transport/streamable-http/stateless-handler.d.ts.map +1 -0
- package/build/server/transport/streamable-http/stateless-handler.js +81 -0
- package/build/server/transport/streamable-http/stateless-handler.js.map +1 -0
- package/build/server/transport/streamable-http/transport.d.ts +110 -0
- package/build/server/transport/streamable-http/transport.d.ts.map +1 -0
- package/build/server/transport/streamable-http/transport.js +118 -0
- package/build/server/transport/streamable-http/transport.js.map +1 -0
- package/build/server/transport/transport-context.d.ts +67 -0
- package/build/server/transport/transport-context.d.ts.map +1 -0
- package/build/server/transport/transport-context.js +38 -0
- package/build/server/transport/transport-context.js.map +1 -0
- package/build/server/transport/types.d.ts +56 -0
- package/build/server/transport/types.d.ts.map +1 -0
- package/build/server/transport/types.js +11 -0
- package/build/server/transport/types.js.map +1 -0
- package/build/server/transport-options.d.ts +248 -0
- package/build/server/transport-options.d.ts.map +1 -0
- package/build/server/transport-options.js +18 -0
- package/build/server/transport-options.js.map +1 -0
- package/build/server/types.d.ts +172 -0
- package/build/server/types.d.ts.map +1 -0
- package/build/server/types.js +9 -0
- package/build/server/types.js.map +1 -0
- package/build/telemetry/connection-telemetry-bridge.d.ts +30 -0
- package/build/telemetry/connection-telemetry-bridge.d.ts.map +1 -0
- package/build/telemetry/connection-telemetry-bridge.js +54 -0
- package/build/telemetry/connection-telemetry-bridge.js.map +1 -0
- package/build/telemetry/core/config.d.ts +38 -0
- package/build/telemetry/core/config.d.ts.map +1 -0
- package/build/telemetry/core/config.js +54 -0
- package/build/telemetry/core/config.js.map +1 -0
- package/build/telemetry/core/constants.d.ts +183 -0
- package/build/telemetry/core/constants.d.ts.map +1 -0
- package/build/telemetry/core/constants.js +207 -0
- package/build/telemetry/core/constants.js.map +1 -0
- package/build/telemetry/core/diag-logger.d.ts +35 -0
- package/build/telemetry/core/diag-logger.d.ts.map +1 -0
- package/build/telemetry/core/diag-logger.js +54 -0
- package/build/telemetry/core/diag-logger.js.map +1 -0
- package/build/telemetry/core/index.d.ts +12 -0
- package/build/telemetry/core/index.d.ts.map +1 -0
- package/build/telemetry/core/index.js +32 -0
- package/build/telemetry/core/index.js.map +1 -0
- package/build/telemetry/core/types.d.ts +106 -0
- package/build/telemetry/core/types.d.ts.map +1 -0
- package/build/telemetry/core/types.js +10 -0
- package/build/telemetry/core/types.js.map +1 -0
- package/build/telemetry/index.d.ts +59 -0
- package/build/telemetry/index.d.ts.map +1 -0
- package/build/telemetry/index.js +79 -0
- package/build/telemetry/index.js.map +1 -0
- package/build/telemetry/metrics.d.ts +127 -0
- package/build/telemetry/metrics.d.ts.map +1 -0
- package/build/telemetry/metrics.js +337 -0
- package/build/telemetry/metrics.js.map +1 -0
- package/build/telemetry/sdk.d.ts +110 -0
- package/build/telemetry/sdk.d.ts.map +1 -0
- package/build/telemetry/sdk.js +547 -0
- package/build/telemetry/sdk.js.map +1 -0
- package/build/telemetry/tracing.d.ts +78 -0
- package/build/telemetry/tracing.d.ts.map +1 -0
- package/build/telemetry/tracing.js +257 -0
- package/build/telemetry/tracing.js.map +1 -0
- package/build/utils/env-helpers.d.ts +46 -0
- package/build/utils/env-helpers.d.ts.map +1 -0
- package/build/utils/env-helpers.js +54 -0
- package/build/utils/env-helpers.js.map +1 -0
- package/build/utils/index.d.ts +14 -0
- package/build/utils/index.d.ts.map +1 -0
- package/build/utils/index.js +19 -0
- package/build/utils/index.js.map +1 -0
- package/build/utils/sensitive-keys.d.ts +48 -0
- package/build/utils/sensitive-keys.d.ts.map +1 -0
- package/build/utils/sensitive-keys.js +131 -0
- package/build/utils/sensitive-keys.js.map +1 -0
- package/build/utils/string-helpers.d.ts +126 -0
- package/build/utils/string-helpers.d.ts.map +1 -0
- package/build/utils/string-helpers.js +189 -0
- package/build/utils/string-helpers.js.map +1 -0
- package/build/utils/validation.d.ts +84 -0
- package/build/utils/validation.d.ts.map +1 -0
- package/build/utils/validation.js +111 -0
- package/build/utils/validation.js.map +1 -0
- package/build/utils/zod-helpers.d.ts +92 -0
- package/build/utils/zod-helpers.d.ts.map +1 -0
- package/build/utils/zod-helpers.js +120 -0
- package/build/utils/zod-helpers.js.map +1 -0
- package/package.json +133 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-router.js","sourceRoot":"","sources":["../../../src/server/routes/oauth-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,aAAa,EAA0B,MAAM,iDAAiD,CAAC;AAExG,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE7D,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,mCAAmC;CACpC,CAAC;AAEX,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;AA0B9D,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA2B;IAC3D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAEzD,MAAM,aAAa,GAAsB;QACvC,QAAQ;QACR,SAAS;QACT,GAAG,CAAC,eAAe,IAAI,EAAE,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC;KAClE,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEvD,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Readiness Status Constants
|
|
3
|
+
*
|
|
4
|
+
* Extracted from health.ts to avoid loading Express when only the
|
|
5
|
+
* ReadinessStatus constant is needed. This module has zero dependencies
|
|
6
|
+
* and can be safely imported from any barrel without triggering
|
|
7
|
+
* Express module evaluation.
|
|
8
|
+
*
|
|
9
|
+
* @module server/routes/readiness-status
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Readiness status codes returned by the /ready endpoint.
|
|
13
|
+
*
|
|
14
|
+
* Used by container orchestration (Kubernetes, Docker Swarm, Docker Compose)
|
|
15
|
+
* for readiness probes.
|
|
16
|
+
*
|
|
17
|
+
* @see {@link createHealthRouter} for the route implementation
|
|
18
|
+
*/
|
|
19
|
+
export declare const ReadinessStatus: {
|
|
20
|
+
readonly READY: 200;
|
|
21
|
+
readonly SERVICE_UNAVAILABLE: 503;
|
|
22
|
+
readonly TOO_MANY_REQUESTS: 429;
|
|
23
|
+
};
|
|
24
|
+
export type ReadinessStatusValue = (typeof ReadinessStatus)[keyof typeof ReadinessStatus];
|
|
25
|
+
//# sourceMappingURL=readiness-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness-status.d.ts","sourceRoot":"","sources":["../../../src/server/routes/readiness-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Readiness Status Constants
|
|
3
|
+
*
|
|
4
|
+
* Extracted from health.ts to avoid loading Express when only the
|
|
5
|
+
* ReadinessStatus constant is needed. This module has zero dependencies
|
|
6
|
+
* and can be safely imported from any barrel without triggering
|
|
7
|
+
* Express module evaluation.
|
|
8
|
+
*
|
|
9
|
+
* @module server/routes/readiness-status
|
|
10
|
+
*/
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// Readiness Status
|
|
13
|
+
// ============================================================================
|
|
14
|
+
/**
|
|
15
|
+
* Readiness status codes returned by the /ready endpoint.
|
|
16
|
+
*
|
|
17
|
+
* Used by container orchestration (Kubernetes, Docker Swarm, Docker Compose)
|
|
18
|
+
* for readiness probes.
|
|
19
|
+
*
|
|
20
|
+
* @see {@link createHealthRouter} for the route implementation
|
|
21
|
+
*/
|
|
22
|
+
export const ReadinessStatus = {
|
|
23
|
+
READY: 200,
|
|
24
|
+
SERVICE_UNAVAILABLE: 503,
|
|
25
|
+
TOO_MANY_REQUESTS: 429,
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=readiness-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness-status.js","sourceRoot":"","sources":["../../../src/server/routes/readiness-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,GAAG;IACV,mBAAmB,EAAE,GAAG;IACxB,iBAAiB,EAAE,GAAG;CACd,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSE Transport Router
|
|
3
|
+
*
|
|
4
|
+
* Thin routing layer for the legacy HTTP+SSE transport (deprecated protocol 2024-11-05).
|
|
5
|
+
* All session management and message handling is delegated to the SseRequestHandler.
|
|
6
|
+
*
|
|
7
|
+
* Endpoints:
|
|
8
|
+
* - GET /sse → Opens SSE stream, sends endpoint event with message URL
|
|
9
|
+
* - POST /message?sessionId=xxx → Receives JSON-RPC messages
|
|
10
|
+
* - POST /mcp/message?sessionId=xxx → Alternative message endpoint (for /mcp SSE)
|
|
11
|
+
*
|
|
12
|
+
* @module server/routes/sse-router
|
|
13
|
+
*/
|
|
14
|
+
import { Router } from "express";
|
|
15
|
+
import type { SessionFactory } from "../transport/types.js";
|
|
16
|
+
import type { SessionManager } from "../session/index.js";
|
|
17
|
+
/**
|
|
18
|
+
* Check if legacy SSE transport is enabled.
|
|
19
|
+
*
|
|
20
|
+
* Reads from the cached framework config (`MCP_LEGACY_SSE_ENABLED`).
|
|
21
|
+
*
|
|
22
|
+
* @returns true if SSE transport is enabled
|
|
23
|
+
*/
|
|
24
|
+
export declare function isSseEnabled(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Get the number of active SSE sessions from the session manager.
|
|
27
|
+
*
|
|
28
|
+
* @param sessionManager - Unified session manager
|
|
29
|
+
* @returns Number of active SSE sessions
|
|
30
|
+
*/
|
|
31
|
+
export declare function getSseSessionCount(sessionManager: SessionManager): number;
|
|
32
|
+
/**
|
|
33
|
+
* Creates the SSE Router (deprecated HTTP+SSE transport from protocol 2024-11-05).
|
|
34
|
+
*
|
|
35
|
+
* The router is intentionally thin — all session management and
|
|
36
|
+
* message handling is delegated to the SseRequestHandler.
|
|
37
|
+
*
|
|
38
|
+
* @param sessionFactory - Factory to create McpSession instances
|
|
39
|
+
* @param sessionManager - Session manager for tracking active sessions
|
|
40
|
+
* @returns Express Router with SSE endpoints
|
|
41
|
+
*/
|
|
42
|
+
export declare function createSseRouter(sessionFactory: SessionFactory, sessionManager: SessionManager): Router;
|
|
43
|
+
//# sourceMappingURL=sse-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-router.d.ts","sourceRoot":"","sources":["../../../src/server/routes/sse-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAA+B,MAAM,SAAS,CAAC;AAK9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAc1D;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,CAEzE;AAMD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,GAAG,MAAM,CAqCtG"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSE Transport Router
|
|
3
|
+
*
|
|
4
|
+
* Thin routing layer for the legacy HTTP+SSE transport (deprecated protocol 2024-11-05).
|
|
5
|
+
* All session management and message handling is delegated to the SseRequestHandler.
|
|
6
|
+
*
|
|
7
|
+
* Endpoints:
|
|
8
|
+
* - GET /sse → Opens SSE stream, sends endpoint event with message URL
|
|
9
|
+
* - POST /message?sessionId=xxx → Receives JSON-RPC messages
|
|
10
|
+
* - POST /mcp/message?sessionId=xxx → Alternative message endpoint (for /mcp SSE)
|
|
11
|
+
*
|
|
12
|
+
* @module server/routes/sse-router
|
|
13
|
+
*/
|
|
14
|
+
import { Router } from "express";
|
|
15
|
+
import { SseRequestHandler } from "../transport/sse/handler.js";
|
|
16
|
+
import { createJsonRpcError, JsonRpcErrorCode, HttpStatus, TransportErrorMessage } from "../../errors/index.js";
|
|
17
|
+
import { getFrameworkConfig } from "../../config/index.js";
|
|
18
|
+
import { logger as baseLogger } from "../../logger/index.js";
|
|
19
|
+
import { TRANSPORT_LOG_COMPONENTS, TRANSPORT_ROUTES } from "../transport/constants.js";
|
|
20
|
+
const logger = baseLogger.child({ component: TRANSPORT_LOG_COMPONENTS.SSE });
|
|
21
|
+
/** @internal Log messages for SSE router */
|
|
22
|
+
const LogMessages = {
|
|
23
|
+
TRANSPORT_ENABLED: "SSE transport enabled (deprecated protocol 2024-11-05)",
|
|
24
|
+
CLIENT_CONNECTING: "SSE client connecting via /sse from %s",
|
|
25
|
+
};
|
|
26
|
+
// ============================================================================
|
|
27
|
+
// SSE Config Helpers
|
|
28
|
+
// ============================================================================
|
|
29
|
+
/**
|
|
30
|
+
* Check if legacy SSE transport is enabled.
|
|
31
|
+
*
|
|
32
|
+
* Reads from the cached framework config (`MCP_LEGACY_SSE_ENABLED`).
|
|
33
|
+
*
|
|
34
|
+
* @returns true if SSE transport is enabled
|
|
35
|
+
*/
|
|
36
|
+
export function isSseEnabled() {
|
|
37
|
+
return getFrameworkConfig().MCP_LEGACY_SSE_ENABLED;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get the number of active SSE sessions from the session manager.
|
|
41
|
+
*
|
|
42
|
+
* @param sessionManager - Unified session manager
|
|
43
|
+
* @returns Number of active SSE sessions
|
|
44
|
+
*/
|
|
45
|
+
export function getSseSessionCount(sessionManager) {
|
|
46
|
+
return sessionManager.getByTransportType("sse").length;
|
|
47
|
+
}
|
|
48
|
+
// ============================================================================
|
|
49
|
+
// SSE Router Factory
|
|
50
|
+
// ============================================================================
|
|
51
|
+
/**
|
|
52
|
+
* Creates the SSE Router (deprecated HTTP+SSE transport from protocol 2024-11-05).
|
|
53
|
+
*
|
|
54
|
+
* The router is intentionally thin — all session management and
|
|
55
|
+
* message handling is delegated to the SseRequestHandler.
|
|
56
|
+
*
|
|
57
|
+
* @param sessionFactory - Factory to create McpSession instances
|
|
58
|
+
* @param sessionManager - Session manager for tracking active sessions
|
|
59
|
+
* @returns Express Router with SSE endpoints
|
|
60
|
+
*/
|
|
61
|
+
export function createSseRouter(sessionFactory, sessionManager) {
|
|
62
|
+
const router = Router();
|
|
63
|
+
const config = getFrameworkConfig();
|
|
64
|
+
if (!config.MCP_LEGACY_SSE_ENABLED) {
|
|
65
|
+
// Return router with endpoints that indicate feature is disabled
|
|
66
|
+
const disabledHandler = (_req, res) => {
|
|
67
|
+
res
|
|
68
|
+
.status(HttpStatus.NOT_IMPLEMENTED)
|
|
69
|
+
.json(createJsonRpcError(JsonRpcErrorCode.SERVER_ERROR, TransportErrorMessage.SSE_DISABLED));
|
|
70
|
+
};
|
|
71
|
+
router.get(TRANSPORT_ROUTES.SSE, disabledHandler);
|
|
72
|
+
router.post(TRANSPORT_ROUTES.SSE_MESSAGE, disabledHandler);
|
|
73
|
+
router.post(TRANSPORT_ROUTES.MCP_MESSAGE, disabledHandler);
|
|
74
|
+
return router;
|
|
75
|
+
}
|
|
76
|
+
logger.info(LogMessages.TRANSPORT_ENABLED);
|
|
77
|
+
const handler = new SseRequestHandler(sessionFactory, sessionManager);
|
|
78
|
+
/* v8 ignore start - SSE routes require real SSE transport */
|
|
79
|
+
router.get(TRANSPORT_ROUTES.SSE, async (req, res) => {
|
|
80
|
+
logger.info(LogMessages.CLIENT_CONNECTING, req.ip || "unknown");
|
|
81
|
+
await handler.handleConnection(req, res, TRANSPORT_ROUTES.SSE_MESSAGE);
|
|
82
|
+
});
|
|
83
|
+
router.post(TRANSPORT_ROUTES.SSE_MESSAGE, async (req, res) => {
|
|
84
|
+
await handler.handleMessage(req, res, TRANSPORT_ROUTES.SSE_MESSAGE);
|
|
85
|
+
});
|
|
86
|
+
/* v8 ignore stop */
|
|
87
|
+
router.post(TRANSPORT_ROUTES.MCP_MESSAGE, async (req, res) => {
|
|
88
|
+
await handler.handleMessage(req, res, TRANSPORT_ROUTES.MCP_MESSAGE);
|
|
89
|
+
});
|
|
90
|
+
return router;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=sse-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-router.js","sourceRoot":"","sources":["../../../src/server/routes/sse-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAA+B,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAChH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGvF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC;AAE7E,4CAA4C;AAC5C,MAAM,WAAW,GAAG;IAClB,iBAAiB,EAAE,wDAAwD;IAC3E,iBAAiB,EAAE,wCAAwC;CACnD,CAAC;AAEX,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,kBAAkB,EAAE,CAAC,sBAAsB,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,cAA8B;IAC/D,OAAO,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AACzD,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,cAA8B,EAAE,cAA8B;IAC5F,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;QACnC,iEAAiE;QACjE,MAAM,eAAe,GAAG,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;YACvD,GAAG;iBACA,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC;iBAClC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,YAAY,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC;QACjG,CAAC,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAEtE,6DAA6D;IAC7D,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACrE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,IAAI,SAAS,CAAC,CAAC;QAChE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC9E,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IACH,oBAAoB;IAEpB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC9E,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streamable HTTP Express Router
|
|
3
|
+
*
|
|
4
|
+
* Thin routing layer that delegates all MCP protocol handling to the SDK
|
|
5
|
+
* via the StreamableHttpTransport.
|
|
6
|
+
*
|
|
7
|
+
* Responsibilities:
|
|
8
|
+
* - Express routing (POST/GET/DELETE /mcp)
|
|
9
|
+
* - Method rejection (405 for unsupported methods)
|
|
10
|
+
*
|
|
11
|
+
* Protocol handling (JSON-RPC, sessions, SSE) is fully delegated
|
|
12
|
+
* to the StreamableHttpTransport → SDK StreamableHTTPServerTransport chain.
|
|
13
|
+
*
|
|
14
|
+
* Security middleware (DNS rebinding, rate limiting, protocol version)
|
|
15
|
+
* is applied at the Express app level BEFORE this router.
|
|
16
|
+
*
|
|
17
|
+
* @see https://modelcontextprotocol.io/specification/2025-03-26/basic/transports
|
|
18
|
+
* @module server/routes/streamable-http-router
|
|
19
|
+
*/
|
|
20
|
+
import { Router } from "express";
|
|
21
|
+
import { type StreamableHttpTransportOptions } from "../transport/streamable-http/transport.js";
|
|
22
|
+
import type { SessionManager } from "../session/index.js";
|
|
23
|
+
import type { SessionFactory } from "../transport/types.js";
|
|
24
|
+
/**
|
|
25
|
+
* Creates the MCP Streamable HTTP router.
|
|
26
|
+
*
|
|
27
|
+
* The router is intentionally thin — all protocol logic lives in
|
|
28
|
+
* the SDK transport, managed by the StreamableHttpTransport.
|
|
29
|
+
*
|
|
30
|
+
* @param sessionFactory - Factory to create McpSession instances
|
|
31
|
+
* @param sessionManager - Session manager for tracking active sessions
|
|
32
|
+
* @param options - Transport options (stateless mode, etc.)
|
|
33
|
+
* @returns Express Router to be mounted at /mcp
|
|
34
|
+
*/
|
|
35
|
+
export declare function createStreamableHttpRouter(sessionFactory: SessionFactory, sessionManager: SessionManager, options?: StreamableHttpTransportOptions): Router;
|
|
36
|
+
//# sourceMappingURL=streamable-http-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamable-http-router.d.ts","sourceRoot":"","sources":["../../../src/server/routes/streamable-http-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAA+B,MAAM,SAAS,CAAC;AAC9D,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAO5D;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,8BAA8B,GACvC,MAAM,CA0BR"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streamable HTTP Express Router
|
|
3
|
+
*
|
|
4
|
+
* Thin routing layer that delegates all MCP protocol handling to the SDK
|
|
5
|
+
* via the StreamableHttpTransport.
|
|
6
|
+
*
|
|
7
|
+
* Responsibilities:
|
|
8
|
+
* - Express routing (POST/GET/DELETE /mcp)
|
|
9
|
+
* - Method rejection (405 for unsupported methods)
|
|
10
|
+
*
|
|
11
|
+
* Protocol handling (JSON-RPC, sessions, SSE) is fully delegated
|
|
12
|
+
* to the StreamableHttpTransport → SDK StreamableHTTPServerTransport chain.
|
|
13
|
+
*
|
|
14
|
+
* Security middleware (DNS rebinding, rate limiting, protocol version)
|
|
15
|
+
* is applied at the Express app level BEFORE this router.
|
|
16
|
+
*
|
|
17
|
+
* @see https://modelcontextprotocol.io/specification/2025-03-26/basic/transports
|
|
18
|
+
* @module server/routes/streamable-http-router
|
|
19
|
+
*/
|
|
20
|
+
import { Router } from "express";
|
|
21
|
+
import { StreamableHttpTransport, } from "../transport/streamable-http/transport.js";
|
|
22
|
+
import { createJsonRpcError, JsonRpcErrorCode, HttpStatus } from "../../errors/index.js";
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Router Factory
|
|
25
|
+
// ============================================================================
|
|
26
|
+
/**
|
|
27
|
+
* Creates the MCP Streamable HTTP router.
|
|
28
|
+
*
|
|
29
|
+
* The router is intentionally thin — all protocol logic lives in
|
|
30
|
+
* the SDK transport, managed by the StreamableHttpTransport.
|
|
31
|
+
*
|
|
32
|
+
* @param sessionFactory - Factory to create McpSession instances
|
|
33
|
+
* @param sessionManager - Session manager for tracking active sessions
|
|
34
|
+
* @param options - Transport options (stateless mode, etc.)
|
|
35
|
+
* @returns Express Router to be mounted at /mcp
|
|
36
|
+
*/
|
|
37
|
+
export function createStreamableHttpRouter(sessionFactory, sessionManager, options) {
|
|
38
|
+
const handler = new StreamableHttpTransport(sessionFactory, sessionManager, options);
|
|
39
|
+
const router = Router();
|
|
40
|
+
// All MCP protocol traffic is delegated to the SDK via the handler.
|
|
41
|
+
// Express 5 catches rejected promises from async route handlers automatically.
|
|
42
|
+
router.post("/", async (req, res) => {
|
|
43
|
+
await handler.handleRequest(req, res);
|
|
44
|
+
});
|
|
45
|
+
router.get("/", async (req, res) => {
|
|
46
|
+
await handler.handleRequest(req, res);
|
|
47
|
+
});
|
|
48
|
+
router.delete("/", async (req, res) => {
|
|
49
|
+
await handler.handleRequest(req, res);
|
|
50
|
+
});
|
|
51
|
+
// Reject unsupported methods
|
|
52
|
+
router.all("/", (_req, res) => {
|
|
53
|
+
res
|
|
54
|
+
.status(HttpStatus.METHOD_NOT_ALLOWED)
|
|
55
|
+
.json(createJsonRpcError(JsonRpcErrorCode.METHOD_NOT_FOUND, "Method not allowed"));
|
|
56
|
+
});
|
|
57
|
+
return router;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=streamable-http-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamable-http-router.js","sourceRoot":"","sources":["../../../src/server/routes/streamable-http-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAA+B,MAAM,SAAS,CAAC;AAC9D,OAAO,EACL,uBAAuB,GAExB,MAAM,2CAA2C,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEzF,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CACxC,cAA8B,EAC9B,cAA8B,EAC9B,OAAwC;IAExC,MAAM,OAAO,GAAG,IAAI,uBAAuB,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,oEAAoE;IACpE,+EAA+E;IAC/E,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACrD,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACpD,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACvD,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAC/C,GAAG;aACA,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC;aACrC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Server Instance
|
|
3
|
+
*
|
|
4
|
+
* The central framework object. Runtime implementation of the ServerInstance
|
|
5
|
+
* interface. Manages the MCP server lifecycle including transport selection,
|
|
6
|
+
* session management, signal handling, and graceful shutdown.
|
|
7
|
+
*
|
|
8
|
+
* Each connected client gets its own McpSession (1:1 per MCP SDK spec).
|
|
9
|
+
* Session creation is delegated to McpSessionFactory (SRP).
|
|
10
|
+
* Cancellation and progress are handled natively by the SDK.
|
|
11
|
+
*
|
|
12
|
+
* This class is created by McpServerBuilder and should not be
|
|
13
|
+
* instantiated directly by application code.
|
|
14
|
+
*
|
|
15
|
+
* @module server/server-instance
|
|
16
|
+
*/
|
|
17
|
+
import type { ServerOptions, ServerInstance } from "./server-options.js";
|
|
18
|
+
import type { McpSessionFactory } from "./session/session-factory.js";
|
|
19
|
+
/**
|
|
20
|
+
* The central MCP server framework object.
|
|
21
|
+
*
|
|
22
|
+
* Manages the MCP server lifecycle including:
|
|
23
|
+
* - Multi-session support (one McpSession per client in HTTP mode)
|
|
24
|
+
* - Transport selection (stdio/http/https)
|
|
25
|
+
* - Signal handling with graceful shutdown
|
|
26
|
+
*
|
|
27
|
+
* Session creation is delegated to {@link McpSessionFactory}.
|
|
28
|
+
*
|
|
29
|
+
* @internal Created by McpServerBuilder — do not instantiate directly.
|
|
30
|
+
*/
|
|
31
|
+
export declare class McpServerInstance implements ServerInstance {
|
|
32
|
+
private readonly options;
|
|
33
|
+
private readonly sessionFactory;
|
|
34
|
+
private serverState;
|
|
35
|
+
/** Whether telemetry has been initialized */
|
|
36
|
+
private telemetryInitialized;
|
|
37
|
+
/** Resolved transport mode, cached at construction time */
|
|
38
|
+
private readonly transportMode;
|
|
39
|
+
/** Unified session manager — single source of truth for all sessions */
|
|
40
|
+
private sessionManager?;
|
|
41
|
+
/** Transport handle for shutdown and info queries */
|
|
42
|
+
private transportHandle?;
|
|
43
|
+
/** Stored signal handler references for cleanup on stop/restart */
|
|
44
|
+
private signalHandlers;
|
|
45
|
+
/** Stored process error handler references for cleanup on stop/restart */
|
|
46
|
+
private processErrorHandlers;
|
|
47
|
+
/** Guard against concurrent shutdown from multiple error sources */
|
|
48
|
+
private shutdownInProgress;
|
|
49
|
+
constructor(options: ServerOptions, sessionFactory: McpSessionFactory);
|
|
50
|
+
get name(): string;
|
|
51
|
+
get version(): string;
|
|
52
|
+
get isRunning(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Notify all connected MCP clients that the tool list has changed.
|
|
55
|
+
*
|
|
56
|
+
* Call this when external connection state changes affect tool availability.
|
|
57
|
+
* Delegates to the unified SessionManager which handles all transport types.
|
|
58
|
+
*/
|
|
59
|
+
notifyToolListChanged(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Notify all connected MCP clients that the resource list has changed.
|
|
62
|
+
*/
|
|
63
|
+
notifyResourceListChanged(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Notify all connected MCP clients that the prompt list has changed.
|
|
66
|
+
*/
|
|
67
|
+
notifyPromptListChanged(): void;
|
|
68
|
+
/**
|
|
69
|
+
* Notify subscribed MCP clients that a specific resource has been updated.
|
|
70
|
+
* Only sessions that subscribed to the given URI receive the notification.
|
|
71
|
+
*/
|
|
72
|
+
notifyResourceUpdated(uri: string): void;
|
|
73
|
+
/**
|
|
74
|
+
* Initialize OpenTelemetry before starting the server.
|
|
75
|
+
*
|
|
76
|
+
* OTEL auto-instrumentation must be initialized before any HTTP/Express
|
|
77
|
+
* modules are loaded to properly instrument them. Call this as early
|
|
78
|
+
* as possible. No-op if telemetry is disabled or already initialized.
|
|
79
|
+
*/
|
|
80
|
+
initTelemetry(): Promise<void>;
|
|
81
|
+
start(): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Gracefully stop the server.
|
|
84
|
+
*
|
|
85
|
+
* Performs cleanup in order: sessions → transport → auth → logger → telemetry.
|
|
86
|
+
* Each step is individually guarded (error isolation) so that a failure
|
|
87
|
+
* in one step does not prevent the remaining steps from running.
|
|
88
|
+
* Idempotent — calling `stop()` on an already stopped server is a no-op.
|
|
89
|
+
*/
|
|
90
|
+
stop(): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Create the unified SessionManager.
|
|
93
|
+
*
|
|
94
|
+
* For stdio mode: single session, no cleanup/keepalive cycles.
|
|
95
|
+
* For HTTP modes: default config from environment/constants.
|
|
96
|
+
*/
|
|
97
|
+
private createSessionManager;
|
|
98
|
+
/**
|
|
99
|
+
* Bridges config file / env values into the logger configuration.
|
|
100
|
+
*
|
|
101
|
+
* The logger has its own `globalLoggerConfig` (default: info) which is
|
|
102
|
+
* intentionally decoupled from the framework config (DD-006). This method
|
|
103
|
+
* acts as the explicit bridge — reading resolved config values and
|
|
104
|
+
* forwarding them to `configureLogger()`.
|
|
105
|
+
*/
|
|
106
|
+
private applyLoggerConfig;
|
|
107
|
+
/**
|
|
108
|
+
* Bridges programmatic `createServer()` options into the framework
|
|
109
|
+
* config cache so that all downstream modules (telemetry, SSE router,
|
|
110
|
+
* rate limiter, health endpoint, etc.) see consistent configuration.
|
|
111
|
+
*
|
|
112
|
+
* Bridges:
|
|
113
|
+
* - `options.version` → `config.VERSION` (fixes `service_version="unknown"`)
|
|
114
|
+
* - `options.name` → `config.OTEL_SERVICE_NAME` (default, unless env/config file overrides)
|
|
115
|
+
* - Transport HTTP options → corresponding config keys
|
|
116
|
+
*
|
|
117
|
+
* Environment variables remain the default — programmatic options override them.
|
|
118
|
+
*/
|
|
119
|
+
private applyProgrammaticOverrides;
|
|
120
|
+
/**
|
|
121
|
+
* Start the appropriate transport for the configured mode.
|
|
122
|
+
*
|
|
123
|
+
* For HTTP/HTTPS: dynamically loads Express modules (after OTEL init),
|
|
124
|
+
* creates Express app with full middleware stack, then starts the HTTP server.
|
|
125
|
+
* For stdio: creates a single session connected to stdin/stdout.
|
|
126
|
+
*
|
|
127
|
+
* @lazy-transport Express/HTTP modules are loaded via dynamic `import()` so
|
|
128
|
+
* that OTEL instrumentation initializes before Express is imported.
|
|
129
|
+
* See DD-006 for the established lazy-import pattern and DD-018 for
|
|
130
|
+
* the Express lazy-loading rationale.
|
|
131
|
+
*/
|
|
132
|
+
private startTransport;
|
|
133
|
+
/**
|
|
134
|
+
* Register process signal handlers for graceful shutdown.
|
|
135
|
+
*
|
|
136
|
+
* Uses `process.once()` for each signal. Handler references are stored
|
|
137
|
+
* so they can be removed in `stop()` to prevent accumulation when the
|
|
138
|
+
* server is restarted within the same process.
|
|
139
|
+
*/
|
|
140
|
+
private setupSignalHandlers;
|
|
141
|
+
/**
|
|
142
|
+
* Register handlers for unhandled promise rejections and uncaught exceptions.
|
|
143
|
+
*
|
|
144
|
+
* Both trigger a graceful shutdown followed by `process.exit(1)`. A guard
|
|
145
|
+
* prevents concurrent shutdown attempts when multiple errors arrive or
|
|
146
|
+
* a signal arrives simultaneously.
|
|
147
|
+
*/
|
|
148
|
+
private setupProcessErrorHandlers;
|
|
149
|
+
/**
|
|
150
|
+
* Remove previously registered signal handlers.
|
|
151
|
+
*
|
|
152
|
+
* Prevents handler accumulation when `start()` is called multiple times
|
|
153
|
+
* (e.g., after `stop()` → `start()` restart).
|
|
154
|
+
*/
|
|
155
|
+
private removeSignalHandlers;
|
|
156
|
+
/**
|
|
157
|
+
* Perform graceful shutdown with optional timeout enforcement.
|
|
158
|
+
*
|
|
159
|
+
* If `forceExitOnTimeout` is enabled, forces `process.exit(1)` when
|
|
160
|
+
* the shutdown exceeds the configured timeout. The timeout is unref'd
|
|
161
|
+
* to avoid keeping the event loop alive if shutdown completes in time.
|
|
162
|
+
*/
|
|
163
|
+
private gracefulStop;
|
|
164
|
+
/**
|
|
165
|
+
* Transitions the server state and logs the change.
|
|
166
|
+
*/
|
|
167
|
+
private transitionState;
|
|
168
|
+
/**
|
|
169
|
+
* Invokes a lifecycle hook with error logging.
|
|
170
|
+
* Hook errors are logged as warnings but do not abort the lifecycle.
|
|
171
|
+
*/
|
|
172
|
+
private invokeLifecycleHook;
|
|
173
|
+
/**
|
|
174
|
+
* Log the auth configuration at startup.
|
|
175
|
+
*
|
|
176
|
+
* Warns when auth is configured with stdio (unsupported)
|
|
177
|
+
* or when auth is used without trust proxy behind a reverse proxy.
|
|
178
|
+
*/
|
|
179
|
+
private logAuthConfiguration;
|
|
180
|
+
/**
|
|
181
|
+
* Dispose the auth provider if it has a `dispose()` method.
|
|
182
|
+
*/
|
|
183
|
+
private disposeAuthProvider;
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=server-instance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-instance.d.ts","sourceRoot":"","sources":["../../src/server/server-instance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAiB,MAAM,qBAAqB,CAAC;AAYxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AA6DtE;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IA+BpD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IA/BjC,OAAO,CAAC,WAAW,CAA0B;IAE7C,6CAA6C;IAC7C,OAAO,CAAC,oBAAoB,CAAS;IAErC,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C,wEAAwE;IACxE,OAAO,CAAC,cAAc,CAAC,CAA6B;IAEpD,qDAAqD;IACrD,OAAO,CAAC,eAAe,CAAC,CAA8B;IAEtD,mEAAmE;IACnE,OAAO,CAAC,cAAc,CAGd;IAER,0EAA0E;IAC1E,OAAO,CAAC,oBAAoB,CAGpB;IAER,oEAAoE;IACpE,OAAO,CAAC,kBAAkB,CAAS;gBAGhB,OAAO,EAAE,aAAa,EACtB,cAAc,EAAE,iBAAiB;IAUpD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;OAKG;IACH,qBAAqB,IAAI,IAAI;IAI7B;;OAEG;IACH,yBAAyB,IAAI,IAAI;IAIjC;;OAEG;IACH,uBAAuB,IAAI,IAAI;IAI/B;;;OAGG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIxC;;;;;;OAMG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4F5B;;;;;;;OAOG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqF3B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,0BAA0B;IAOlC;;;;;;;;;;;OAWG;YACW,cAAc;IA4C5B;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IA8BjC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;;;OAMG;YACW,YAAY;IAgD1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;;OAGG;YACW,mBAAmB;IASjC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;YACW,mBAAmB;CAQlC"}
|