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,411 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server Configuration Types
|
|
3
|
+
*
|
|
4
|
+
* Types for configuring and building MCP servers.
|
|
5
|
+
* Provides a clean, declarative API for server setup.
|
|
6
|
+
*
|
|
7
|
+
* @module server/server-options
|
|
8
|
+
*/
|
|
9
|
+
import type { ServerLifecycleHooks, ShutdownConfig } from "./lifecycle.js";
|
|
10
|
+
import type { HandlersConfig } from "../mcp/types/index.js";
|
|
11
|
+
import type { ConnectionStateManager } from "../connection/index.js";
|
|
12
|
+
import type { ServiceClient } from "../connection/types.js";
|
|
13
|
+
import type { SessionStore } from "./session/index.js";
|
|
14
|
+
import type { ServerCapabilities } from "../mcp/capabilities/server-capabilities.js";
|
|
15
|
+
import type { TransportOptions } from "./transport-options.js";
|
|
16
|
+
import type { AuthOptions } from "./auth/types.js";
|
|
17
|
+
export { type TransportMode, type TlsConfig, type BaseHttpTransportOptions, type StdioTransportOptions, type HttpTransportOptions, type HttpsTransportOptions, type TransportOptions, isHttpTransport, } from "./transport-options.js";
|
|
18
|
+
export { type ServerCapabilities, DEFAULT_CAPABILITIES } from "../mcp/capabilities/server-capabilities.js";
|
|
19
|
+
/**
|
|
20
|
+
* Health endpoint configuration for API connectivity monitoring.
|
|
21
|
+
*
|
|
22
|
+
* Allows consumers to wire their {@link ConnectionStateManager} to the
|
|
23
|
+
* `/ready` endpoint so readiness probes reflect the actual API connection state.
|
|
24
|
+
*
|
|
25
|
+
* Without this configuration, the `/ready` endpoint reports
|
|
26
|
+
* `api: { configured: false, state: 'unknown', connected: false }`.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const server = createServer({
|
|
31
|
+
* name: 'my-server',
|
|
32
|
+
* version: '1.0.0',
|
|
33
|
+
* transport: { mode: 'http' },
|
|
34
|
+
* health: {
|
|
35
|
+
* connectionManager: myConnectionManager,
|
|
36
|
+
* isApiConfigured: () => !!process.env.MY_API_URL,
|
|
37
|
+
* apiLabel: 'my-api',
|
|
38
|
+
* },
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export interface HealthConfig<TService extends ServiceClient = ServiceClient> {
|
|
43
|
+
/**
|
|
44
|
+
* Connection state manager for API health checks.
|
|
45
|
+
* If not provided, API connectivity checks are skipped.
|
|
46
|
+
*/
|
|
47
|
+
readonly connectionManager?: ConnectionStateManager<TService>;
|
|
48
|
+
/**
|
|
49
|
+
* Function to check if the API is configured.
|
|
50
|
+
* If not provided, defaults to checking for `API_URL` env var.
|
|
51
|
+
*/
|
|
52
|
+
readonly isApiConfigured?: () => boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Label for the API in health responses (e.g., 'my-api', 'docker').
|
|
55
|
+
* @default 'api'
|
|
56
|
+
*/
|
|
57
|
+
readonly apiLabel?: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Session configuration options for the programmatic API.
|
|
61
|
+
*
|
|
62
|
+
* Allows fine-tuning session lifecycle behavior directly from
|
|
63
|
+
* `createServer()` or `McpServerBuilder.withOptions()`. All properties
|
|
64
|
+
* are optional — defaults are resolved from environment variables
|
|
65
|
+
* and config files via the standard config cascade.
|
|
66
|
+
*
|
|
67
|
+
* This is particularly useful for "lightweight stateful" deployments
|
|
68
|
+
* where short session timeouts are preferred over full stateless mode,
|
|
69
|
+
* retaining cross-request features (cancellation, sampling, elicitation)
|
|
70
|
+
* that stateless mode cannot support.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* // Lightweight stateful — short-lived sessions with all MCP features
|
|
75
|
+
* createServer({
|
|
76
|
+
* name: 'my-server',
|
|
77
|
+
* version: '1.0.0',
|
|
78
|
+
* transport: { mode: 'http' },
|
|
79
|
+
* session: {
|
|
80
|
+
* timeoutMs: 60_000, // 1 minute instead of default 30 min
|
|
81
|
+
* cleanupIntervalMs: 10_000, // Check every 10s
|
|
82
|
+
* },
|
|
83
|
+
* });
|
|
84
|
+
*
|
|
85
|
+
* // Custom session store for horizontal scaling
|
|
86
|
+
* createServer({
|
|
87
|
+
* name: 'my-server',
|
|
88
|
+
* version: '1.0.0',
|
|
89
|
+
* transport: { mode: 'http' },
|
|
90
|
+
* session: { store: new RedisSessionStore() },
|
|
91
|
+
* });
|
|
92
|
+
* ```
|
|
93
|
+
*
|
|
94
|
+
* @see SessionConfig for default values
|
|
95
|
+
*/
|
|
96
|
+
export interface SessionConfigOptions {
|
|
97
|
+
/**
|
|
98
|
+
* Session timeout in milliseconds.
|
|
99
|
+
*
|
|
100
|
+
* Sessions inactive for longer than this value are cleaned up by the
|
|
101
|
+
* housekeeper. Lower values create "lightweight" sessions that free
|
|
102
|
+
* resources faster.
|
|
103
|
+
*
|
|
104
|
+
* @default 1_800_000 (30 minutes, from MCP_SESSION_TIMEOUT_MS)
|
|
105
|
+
*/
|
|
106
|
+
readonly timeoutMs?: number;
|
|
107
|
+
/**
|
|
108
|
+
* Interval between cleanup sweeps in milliseconds.
|
|
109
|
+
*
|
|
110
|
+
* The housekeeper checks for expired/stale sessions at this interval.
|
|
111
|
+
* Set to `0` to disable cleanup (e.g., stdio mode).
|
|
112
|
+
*
|
|
113
|
+
* @default 60_000 (60 seconds, from MCP_SESSION_CLEANUP_INTERVAL_MS)
|
|
114
|
+
*/
|
|
115
|
+
readonly cleanupIntervalMs?: number;
|
|
116
|
+
/**
|
|
117
|
+
* Keep-alive heartbeat interval in milliseconds.
|
|
118
|
+
*
|
|
119
|
+
* The housekeeper sends keep-alive pings at this interval to detect
|
|
120
|
+
* dead connections. Set to `0` to disable heartbeats.
|
|
121
|
+
*
|
|
122
|
+
* @default 30_000 (30 seconds, from MCP_SESSION_KEEP_ALIVE_INTERVAL_MS)
|
|
123
|
+
*/
|
|
124
|
+
readonly keepAliveIntervalMs?: number;
|
|
125
|
+
/**
|
|
126
|
+
* Maximum missed heartbeats before a session is considered stale.
|
|
127
|
+
*
|
|
128
|
+
* @default 3 (from MCP_SESSION_MAX_MISSED_HEARTBEATS)
|
|
129
|
+
*/
|
|
130
|
+
readonly maxMissedHeartbeats?: number;
|
|
131
|
+
/**
|
|
132
|
+
* Maximum concurrent sessions across all transports.
|
|
133
|
+
*
|
|
134
|
+
* @default 200 (from MCP_MAX_SESSIONS)
|
|
135
|
+
*/
|
|
136
|
+
readonly maxSessions?: number;
|
|
137
|
+
/**
|
|
138
|
+
* Custom session store implementation.
|
|
139
|
+
*
|
|
140
|
+
* When provided, replaces the built-in in-memory session store.
|
|
141
|
+
* Useful for horizontal scaling with Redis, PostgreSQL, or another
|
|
142
|
+
* shared backend.
|
|
143
|
+
*
|
|
144
|
+
* @default InMemorySessionStore
|
|
145
|
+
*/
|
|
146
|
+
readonly store?: SessionStore;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Complete server configuration options.
|
|
150
|
+
*
|
|
151
|
+
* This interface provides a declarative way to configure an MCP server.
|
|
152
|
+
* All options have sensible defaults.
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```typescript
|
|
156
|
+
* const options: ServerOptions = {
|
|
157
|
+
* name: 'my-mcp-server',
|
|
158
|
+
* version: '1.0.0',
|
|
159
|
+
* transport: { mode: 'http', port: 8080 },
|
|
160
|
+
* capabilities: { tools: true, resources: true },
|
|
161
|
+
* lifecycle: {
|
|
162
|
+
* onStarted: () => console.log('Server started!'),
|
|
163
|
+
* },
|
|
164
|
+
* };
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
export interface ServerOptions {
|
|
168
|
+
/**
|
|
169
|
+
* Server name displayed to MCP clients.
|
|
170
|
+
*
|
|
171
|
+
* @example 'my-mcp-server', 'api-mcp-server'
|
|
172
|
+
*/
|
|
173
|
+
name: string;
|
|
174
|
+
/**
|
|
175
|
+
* Server version (typically from package.json).
|
|
176
|
+
*
|
|
177
|
+
* @example '1.0.0'
|
|
178
|
+
*/
|
|
179
|
+
version: string;
|
|
180
|
+
/**
|
|
181
|
+
* Transport configuration (required).
|
|
182
|
+
*
|
|
183
|
+
* Explicitly specify how the server communicates with clients.
|
|
184
|
+
* Use `{ mode: 'stdio' }` for CLI usage or `{ mode: 'http' }` for network usage.
|
|
185
|
+
*/
|
|
186
|
+
transport: TransportOptions;
|
|
187
|
+
/**
|
|
188
|
+
* Server capabilities to advertise.
|
|
189
|
+
*
|
|
190
|
+
* @default { tools: { listChanged: true }, logging: true }
|
|
191
|
+
*/
|
|
192
|
+
capabilities?: ServerCapabilities | undefined;
|
|
193
|
+
/**
|
|
194
|
+
* Custom protocol handler hooks.
|
|
195
|
+
*
|
|
196
|
+
* Allows customizing behavior when MCP protocol events occur.
|
|
197
|
+
* The framework handles protocol compliance - these are for app logic.
|
|
198
|
+
*
|
|
199
|
+
* Note: Cancellation is handled automatically by the framework.
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```typescript
|
|
203
|
+
* handlers: {
|
|
204
|
+
* onPing: () => metrics.increment('mcp.ping'),
|
|
205
|
+
* }
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
handlers?: HandlersConfig | undefined;
|
|
209
|
+
/**
|
|
210
|
+
* Lifecycle hooks for startup/shutdown.
|
|
211
|
+
*/
|
|
212
|
+
lifecycle?: ServerLifecycleHooks | undefined;
|
|
213
|
+
/**
|
|
214
|
+
* Shutdown configuration.
|
|
215
|
+
*/
|
|
216
|
+
shutdown?: Partial<ShutdownConfig> | undefined;
|
|
217
|
+
/**
|
|
218
|
+
* Health endpoint configuration for API connectivity monitoring.
|
|
219
|
+
*
|
|
220
|
+
* Wires a {@link ConnectionStateManager} to the `/ready` endpoint so
|
|
221
|
+
* readiness probes reflect the actual API connection state.
|
|
222
|
+
*/
|
|
223
|
+
health?: HealthConfig | undefined;
|
|
224
|
+
/**
|
|
225
|
+
* Session management configuration.
|
|
226
|
+
*
|
|
227
|
+
* Fine-tune session lifecycle behavior (timeouts, cleanup intervals,
|
|
228
|
+
* capacity). Only relevant for HTTP-based transports — stdio always
|
|
229
|
+
* uses a single session with no background tasks.
|
|
230
|
+
*
|
|
231
|
+
* All values are optional and fall back to environment variables / config
|
|
232
|
+
* file defaults from the standard config cascade.
|
|
233
|
+
*
|
|
234
|
+
* @see SessionConfigOptions for available options and defaults
|
|
235
|
+
*/
|
|
236
|
+
session?: SessionConfigOptions | undefined;
|
|
237
|
+
/**
|
|
238
|
+
* Authentication configuration.
|
|
239
|
+
*
|
|
240
|
+
* Enables OAuth 2.1 or custom token verification on the server.
|
|
241
|
+
* When configured, the `/mcp` endpoint requires Bearer authentication.
|
|
242
|
+
* Health and metrics endpoints remain unauthenticated for probes.
|
|
243
|
+
*
|
|
244
|
+
* Only relevant for HTTP-based transports — stdio mode does not
|
|
245
|
+
* support authentication (a warning is logged if configured).
|
|
246
|
+
*
|
|
247
|
+
* @example OAuth provider
|
|
248
|
+
* ```typescript
|
|
249
|
+
* createServer({
|
|
250
|
+
* name: 'my-server',
|
|
251
|
+
* version: '1.0.0',
|
|
252
|
+
* transport: { mode: 'http' },
|
|
253
|
+
* auth: {
|
|
254
|
+
* provider: myOAuthProvider,
|
|
255
|
+
* issuerUrl: new URL('https://auth.example.com'),
|
|
256
|
+
* requiredScopes: ['mcp:read'],
|
|
257
|
+
* },
|
|
258
|
+
* });
|
|
259
|
+
* ```
|
|
260
|
+
*
|
|
261
|
+
* @example Custom token verifier
|
|
262
|
+
* ```typescript
|
|
263
|
+
* createServer({
|
|
264
|
+
* name: 'my-server',
|
|
265
|
+
* version: '1.0.0',
|
|
266
|
+
* transport: { mode: 'http' },
|
|
267
|
+
* auth: {
|
|
268
|
+
* provider: { verifyAccessToken: async (token) => ({ ... }) },
|
|
269
|
+
* },
|
|
270
|
+
* });
|
|
271
|
+
* ```
|
|
272
|
+
*
|
|
273
|
+
* @see AuthOptions for all configuration options
|
|
274
|
+
*/
|
|
275
|
+
auth?: AuthOptions | undefined;
|
|
276
|
+
/**
|
|
277
|
+
* Enable OpenTelemetry tracing and metrics.
|
|
278
|
+
*
|
|
279
|
+
* When set via `createServer()`, this is resolved from:
|
|
280
|
+
* 1. Explicit `telemetry` option (highest priority)
|
|
281
|
+
* 2. `OTEL_ENABLED` env var or config file (fallback)
|
|
282
|
+
*
|
|
283
|
+
* @default undefined (resolved from config)
|
|
284
|
+
*/
|
|
285
|
+
telemetryEnabled?: boolean | undefined;
|
|
286
|
+
/**
|
|
287
|
+
* OpenTelemetry service name.
|
|
288
|
+
*
|
|
289
|
+
* @default Server name
|
|
290
|
+
*/
|
|
291
|
+
telemetryServiceName?: string | undefined;
|
|
292
|
+
/**
|
|
293
|
+
* Called before the OpenTelemetry SDK is initialized.
|
|
294
|
+
*
|
|
295
|
+
* Power users can use this callback to configure low-level OTEL APIs
|
|
296
|
+
* before the framework creates the NodeSDK instance. Common use cases:
|
|
297
|
+
*
|
|
298
|
+
* - Set a custom `DiagLogger` via `diag.setLogger()` for SDK-level
|
|
299
|
+
* diagnostics (by default no DiagLogger is set — output is suppressed)
|
|
300
|
+
* - Register custom instrumentation
|
|
301
|
+
* - Configure global propagators or samplers
|
|
302
|
+
*
|
|
303
|
+
* The callback runs after framework config resolution but before
|
|
304
|
+
* `OTEL_LOG_LEVEL` is consumed from `process.env` and SDK construction.
|
|
305
|
+
* If you set a DiagLogger here, the framework will not override it.
|
|
306
|
+
*
|
|
307
|
+
* **Important**: Custom DiagLoggers must NOT write to stdout (reserved
|
|
308
|
+
* for MCP protocol data in stdio transport mode).
|
|
309
|
+
*
|
|
310
|
+
* @example
|
|
311
|
+
* ```typescript
|
|
312
|
+
* import { diag, DiagConsoleLogger, DiagLogLevel } from '@opentelemetry/api';
|
|
313
|
+
*
|
|
314
|
+
* const server = createServer({
|
|
315
|
+
* name: 'my-server',
|
|
316
|
+
* version: '1.0.0',
|
|
317
|
+
* onBeforeTelemetryInit: () => {
|
|
318
|
+
* diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
|
|
319
|
+
* },
|
|
320
|
+
* });
|
|
321
|
+
* ```
|
|
322
|
+
*/
|
|
323
|
+
onBeforeTelemetryInit?: (() => void) | undefined;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Result from server builder/factory.
|
|
327
|
+
*/
|
|
328
|
+
export interface ServerInstance {
|
|
329
|
+
/** Start the server */
|
|
330
|
+
start(): Promise<void>;
|
|
331
|
+
/** Stop the server gracefully */
|
|
332
|
+
stop(): Promise<void>;
|
|
333
|
+
/**
|
|
334
|
+
* Initialize OpenTelemetry before starting the server.
|
|
335
|
+
*
|
|
336
|
+
* OTEL auto-instrumentation must be initialized before any HTTP/Express
|
|
337
|
+
* modules are loaded to properly instrument them. Call this method
|
|
338
|
+
* as early as possible in your application bootstrap.
|
|
339
|
+
*
|
|
340
|
+
* If not called explicitly, `start()` will initialize telemetry
|
|
341
|
+
* automatically as a fallback (but auto-instrumentation may miss
|
|
342
|
+
* modules already loaded).
|
|
343
|
+
*
|
|
344
|
+
* No-op if telemetry is not enabled in server options.
|
|
345
|
+
*
|
|
346
|
+
* @example
|
|
347
|
+
* ```typescript
|
|
348
|
+
* const server = builder.build();
|
|
349
|
+
* await server.initTelemetry(); // Before any other imports
|
|
350
|
+
* await server.start();
|
|
351
|
+
* ```
|
|
352
|
+
*/
|
|
353
|
+
initTelemetry(): Promise<void>;
|
|
354
|
+
/**
|
|
355
|
+
* Notify all connected MCP clients that the tool list has changed.
|
|
356
|
+
*
|
|
357
|
+
* Call this when tool availability changes (e.g., connection state).
|
|
358
|
+
* The framework will send `notifications/tools/list_changed` to all
|
|
359
|
+
* connected clients per MCP specification.
|
|
360
|
+
*
|
|
361
|
+
* @example
|
|
362
|
+
* ```typescript
|
|
363
|
+
* // When API connection established
|
|
364
|
+
* apiClient.on('connected', () => server.notifyToolListChanged());
|
|
365
|
+
*
|
|
366
|
+
* // When API connection lost
|
|
367
|
+
* apiClient.on('disconnected', () => server.notifyToolListChanged());
|
|
368
|
+
* ```
|
|
369
|
+
*/
|
|
370
|
+
notifyToolListChanged(): void;
|
|
371
|
+
/**
|
|
372
|
+
* Notify all connected MCP clients that the resource list has changed.
|
|
373
|
+
*
|
|
374
|
+
* Call this when resource availability changes dynamically.
|
|
375
|
+
* The framework will send `notifications/resources/list_changed` to all
|
|
376
|
+
* connected clients per MCP specification.
|
|
377
|
+
*/
|
|
378
|
+
notifyResourceListChanged(): void;
|
|
379
|
+
/**
|
|
380
|
+
* Notify all connected MCP clients that the prompt list has changed.
|
|
381
|
+
*
|
|
382
|
+
* Call this when prompt availability changes dynamically.
|
|
383
|
+
* The framework will send `notifications/prompts/list_changed` to all
|
|
384
|
+
* connected clients per MCP specification.
|
|
385
|
+
*/
|
|
386
|
+
notifyPromptListChanged(): void;
|
|
387
|
+
/**
|
|
388
|
+
* Notify subscribed MCP clients that a specific resource has been updated.
|
|
389
|
+
*
|
|
390
|
+
* Only clients that previously sent `resources/subscribe` for the given URI
|
|
391
|
+
* receive the `notifications/resources/updated` notification.
|
|
392
|
+
*
|
|
393
|
+
* Requires `capabilities: { resources: { subscribe: true } }` to be set.
|
|
394
|
+
*
|
|
395
|
+
* @param uri - The resource URI that has changed
|
|
396
|
+
*
|
|
397
|
+
* @example
|
|
398
|
+
* ```typescript
|
|
399
|
+
* // When a monitored resource changes
|
|
400
|
+
* server.notifyResourceUpdated('config://app/settings');
|
|
401
|
+
* ```
|
|
402
|
+
*/
|
|
403
|
+
notifyResourceUpdated(uri: string): void;
|
|
404
|
+
/** Server name */
|
|
405
|
+
readonly name: string;
|
|
406
|
+
/** Server version */
|
|
407
|
+
readonly version: string;
|
|
408
|
+
/** Whether the server is running */
|
|
409
|
+
readonly isRunning: boolean;
|
|
410
|
+
}
|
|
411
|
+
//# sourceMappingURL=server-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-options.d.ts","sourceRoot":"","sources":["../../src/server/server-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server Configuration Types
|
|
3
|
+
*
|
|
4
|
+
* Types for configuring and building MCP servers.
|
|
5
|
+
* Provides a clean, declarative API for server setup.
|
|
6
|
+
*
|
|
7
|
+
* @module server/server-options
|
|
8
|
+
*/
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Transport Configuration (canonical location: transport-options.ts)
|
|
11
|
+
// ============================================================================
|
|
12
|
+
export { isHttpTransport, } from "./transport-options.js";
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// Server Capabilities (canonical location: mcp/capabilities/server-capabilities.ts)
|
|
15
|
+
// ============================================================================
|
|
16
|
+
export { DEFAULT_CAPABILITIES } from "../mcp/capabilities/server-capabilities.js";
|
|
17
|
+
//# sourceMappingURL=server-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-options.js","sourceRoot":"","sources":["../../src/server/server-options.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,+EAA+E;AAC/E,qEAAqE;AACrE,+EAA+E;AAE/E,OAAO,EAQL,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAEhC,+EAA+E;AAC/E,oFAAoF;AACpF,+EAA+E;AAE/E,OAAO,EAA2B,oBAAoB,EAAE,MAAM,4CAA4C,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-Memory Session Store
|
|
3
|
+
*
|
|
4
|
+
* Built-in session store implementation using a `Map`.
|
|
5
|
+
* Suitable for single-instance deployments.
|
|
6
|
+
*
|
|
7
|
+
* For horizontal scaling, implement the {@link SessionStore} interface
|
|
8
|
+
* with a shared backend (Redis, PostgreSQL, etc.).
|
|
9
|
+
*
|
|
10
|
+
* Contains NO timer logic — background tasks are handled by SessionHousekeeper.
|
|
11
|
+
*
|
|
12
|
+
* @module server/session/in-memory-store
|
|
13
|
+
*/
|
|
14
|
+
import type { TransportType } from "../transport/transport-context.js";
|
|
15
|
+
import type { Session, ReadonlySession, SessionCloseReason, CreateSessionOptions } from "./session.js";
|
|
16
|
+
import type { SessionStore, SessionStats } from "./session-store.js";
|
|
17
|
+
/**
|
|
18
|
+
* Built-in in-memory session store using a `Map`.
|
|
19
|
+
*
|
|
20
|
+
* Suitable for single-instance deployments. For horizontal scaling,
|
|
21
|
+
* implement the {@link SessionStore} interface with a shared backend.
|
|
22
|
+
*
|
|
23
|
+
* Responsibilities:
|
|
24
|
+
* - Create, get, close, and query sessions
|
|
25
|
+
* - Enforce capacity limits
|
|
26
|
+
* - Track statistics (created, peak, by transport type)
|
|
27
|
+
* - Broadcast notifications to all connected clients
|
|
28
|
+
*
|
|
29
|
+
* Does NOT manage timers or background tasks.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const store = new InMemorySessionStore(100);
|
|
34
|
+
*
|
|
35
|
+
* const session = store.create({ transportType: 'http', transport, mcpSession });
|
|
36
|
+
* const found = store.get(session.id);
|
|
37
|
+
* store.broadcastToolListChanged();
|
|
38
|
+
* await store.close(session.id, SESSION_CLOSE_REASONS.CLIENT_DISCONNECT);
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare class InMemorySessionStore implements SessionStore {
|
|
42
|
+
private readonly maxSessions;
|
|
43
|
+
/** Active sessions indexed by session ID */
|
|
44
|
+
private readonly sessions;
|
|
45
|
+
/** Statistics counters */
|
|
46
|
+
private readonly statsCounters;
|
|
47
|
+
/** Sessions by transport type (for stats) */
|
|
48
|
+
private readonly byTransportType;
|
|
49
|
+
/** Whether the store is rejecting new sessions */
|
|
50
|
+
private isShuttingDown;
|
|
51
|
+
constructor(maxSessions: number);
|
|
52
|
+
get size(): number;
|
|
53
|
+
get stats(): SessionStats;
|
|
54
|
+
/**
|
|
55
|
+
* Creates and registers a new session.
|
|
56
|
+
*
|
|
57
|
+
* Capacity check and insertion are synchronous (no await between them),
|
|
58
|
+
* which is safe in Node.js single-threaded event loop. Do NOT introduce
|
|
59
|
+
* any async operations between hasCapacity() and sessions.set().
|
|
60
|
+
*
|
|
61
|
+
* @param options - Session creation options
|
|
62
|
+
* @returns The created session, or undefined if at max capacity or shutting down
|
|
63
|
+
*/
|
|
64
|
+
create(options: CreateSessionOptions): Session | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Gets an active session by ID.
|
|
67
|
+
* Does NOT update activity time (use touch() for that).
|
|
68
|
+
*/
|
|
69
|
+
get(sessionId: string): Session | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Checks if a session exists and is active.
|
|
72
|
+
*/
|
|
73
|
+
has(sessionId: string): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Updates the last activity time for a session.
|
|
76
|
+
* Also resets missed heartbeat count.
|
|
77
|
+
*/
|
|
78
|
+
touch(sessionId: string): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Checks if there's capacity for new sessions.
|
|
81
|
+
*/
|
|
82
|
+
hasCapacity(): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Removes a session from the store and updates statistics.
|
|
85
|
+
*
|
|
86
|
+
* Pure data operation — does NOT close transport or dispose MCP session.
|
|
87
|
+
* The caller (SessionManager) is responsible for I/O teardown.
|
|
88
|
+
*
|
|
89
|
+
* @param sessionId - Session identifier
|
|
90
|
+
* @param reason - Reason for closure (tracked in stats)
|
|
91
|
+
* @returns The removed session, or undefined if not found
|
|
92
|
+
*/
|
|
93
|
+
remove(sessionId: string, reason: SessionCloseReason): Session | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* Removes all sessions from the store during shutdown.
|
|
96
|
+
* Returns the removed sessions for the caller to handle I/O teardown.
|
|
97
|
+
*/
|
|
98
|
+
removeAll(): Session[];
|
|
99
|
+
/**
|
|
100
|
+
* Marks the store as shutting down (rejects new sessions).
|
|
101
|
+
*/
|
|
102
|
+
markShuttingDown(): void;
|
|
103
|
+
/**
|
|
104
|
+
* Iterates over all active sessions.
|
|
105
|
+
*/
|
|
106
|
+
forEach(callback: (session: ReadonlySession, sessionId: string) => void): void;
|
|
107
|
+
/**
|
|
108
|
+
* Finds sessions matching a predicate.
|
|
109
|
+
*/
|
|
110
|
+
filter(predicate: (session: ReadonlySession) => boolean): ReadonlySession[];
|
|
111
|
+
/**
|
|
112
|
+
* Gets all sessions of a specific transport type.
|
|
113
|
+
*/
|
|
114
|
+
getByTransportType(type: TransportType): ReadonlySession[];
|
|
115
|
+
/**
|
|
116
|
+
* Broadcasts tool list changed notification to all active sessions.
|
|
117
|
+
*/
|
|
118
|
+
broadcastToolListChanged(): void;
|
|
119
|
+
broadcastResourceListChanged(): void;
|
|
120
|
+
broadcastPromptListChanged(): void;
|
|
121
|
+
broadcastResourceUpdated(uri: string): void;
|
|
122
|
+
/**
|
|
123
|
+
* Broadcasts a notification to all active sessions.
|
|
124
|
+
* @internal
|
|
125
|
+
*/
|
|
126
|
+
private broadcastToSessions;
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=in-memory-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../../../src/server/session/in-memory-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEvG,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAyBrE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IAuB3C,OAAO,CAAC,QAAQ,CAAC,WAAW;IAtBxC,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IAEvD,0BAA0B;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAK5B;IAEF,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK9B;IAEF,kDAAkD;IAClD,OAAO,CAAC,cAAc,CAAS;gBAEF,WAAW,EAAE,MAAM;IAMhD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,YAAY,CAUxB;IAMD;;;;;;;;;OASG;IACH,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,GAAG,SAAS;IA2B1D;;;OAGG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAQ3C;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK/B;;;OAGG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAajC;;OAEG;IACH,WAAW,IAAI,OAAO;IAQtB;;;;;;;;;OASG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,GAAG,SAAS;IAsB1E;;;OAGG;IACH,SAAS,IAAI,OAAO,EAAE;IAkBtB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAQxB;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAM9E;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,GAAG,eAAe,EAAE;IAU3E;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe,EAAE;IAQ1D;;OAEG;IACH,wBAAwB,IAAI,IAAI;IAIhC,4BAA4B,IAAI,IAAI;IAIpC,0BAA0B,IAAI,IAAI;IAIlC,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAgB3C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CA0B5B"}
|