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,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Operation Error Classes
|
|
3
|
+
*
|
|
4
|
+
* Errors related to operation execution:
|
|
5
|
+
* - OperationError: Generic operation failures
|
|
6
|
+
* - OperationCancelledError: Request cancellation
|
|
7
|
+
*
|
|
8
|
+
* @module errors/categories/operation
|
|
9
|
+
*/
|
|
10
|
+
import { AppError } from "../core/index.js";
|
|
11
|
+
import type { BaseErrorOptions } from "../core/index.js";
|
|
12
|
+
/**
|
|
13
|
+
* Error for failed operations.
|
|
14
|
+
*
|
|
15
|
+
* Use this for operations that fail due to business logic
|
|
16
|
+
* or external factors (not validation or internal errors).
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* throw new OperationError('Failed to process request', {
|
|
21
|
+
* operation: 'processData',
|
|
22
|
+
* context: { dataId: '123' }
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* // Using factory methods
|
|
26
|
+
* throw OperationError.failed('processData', 'timeout exceeded');
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare class OperationError extends AppError {
|
|
30
|
+
/** The operation that failed */
|
|
31
|
+
readonly operation?: string | undefined;
|
|
32
|
+
constructor(message: string, options?: Omit<BaseErrorOptions, "code"> & {
|
|
33
|
+
operation?: string | undefined;
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Create an OperationError for a failed operation.
|
|
37
|
+
*/
|
|
38
|
+
static failed(operation: string, reason?: string): OperationError;
|
|
39
|
+
/**
|
|
40
|
+
* Create an OperationError for a timeout.
|
|
41
|
+
*/
|
|
42
|
+
static timeout(operation: string, timeoutMs: number): OperationError;
|
|
43
|
+
/**
|
|
44
|
+
* Create an OperationError for an unavailable operation.
|
|
45
|
+
*/
|
|
46
|
+
static unavailable(operation: string): OperationError;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Error thrown when an operation is cancelled.
|
|
50
|
+
*
|
|
51
|
+
* Used primarily with AbortSignal/AbortController for
|
|
52
|
+
* cancellable operations.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* signal.addEventListener('abort', () => {
|
|
57
|
+
* throw new OperationCancelledError('User cancelled the request', requestId);
|
|
58
|
+
* });
|
|
59
|
+
*
|
|
60
|
+
* // Check if error is cancellation
|
|
61
|
+
* if (error instanceof OperationCancelledError) {
|
|
62
|
+
* // Handle gracefully
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export declare class OperationCancelledError extends AppError {
|
|
67
|
+
/** The ID of the cancelled request */
|
|
68
|
+
readonly requestId?: string | number | undefined;
|
|
69
|
+
/** The reason for cancellation */
|
|
70
|
+
readonly cancelReason?: string | undefined;
|
|
71
|
+
constructor(message: string, requestId?: string | number, options?: Omit<BaseErrorOptions, "code"> & {
|
|
72
|
+
cancelReason?: string | undefined;
|
|
73
|
+
});
|
|
74
|
+
/**
|
|
75
|
+
* Create from a cancelled request.
|
|
76
|
+
*/
|
|
77
|
+
static fromRequest(requestId: string | number, reason?: string): OperationCancelledError;
|
|
78
|
+
/**
|
|
79
|
+
* Create from an AbortSignal.
|
|
80
|
+
*/
|
|
81
|
+
static fromAbortSignal(signal: AbortSignal, requestId?: string | number): OperationCancelledError;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=operation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../src/errors/categories/operation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,QAAQ,EAAc,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMzD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,gCAAgC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGtC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG;QACxC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B;IAqBR;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc;IASjE;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc;IASpE;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc;CAOtD;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,uBAAwB,SAAQ,QAAQ;IACnD,sCAAsC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEjD,kCAAkC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGzC,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAC3B,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG;QACxC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B;IAuBR;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,uBAAuB;IAQxF;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,uBAAuB;CAQlG"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Operation Error Classes
|
|
3
|
+
*
|
|
4
|
+
* Errors related to operation execution:
|
|
5
|
+
* - OperationError: Generic operation failures
|
|
6
|
+
* - OperationCancelledError: Request cancellation
|
|
7
|
+
*
|
|
8
|
+
* @module errors/categories/operation
|
|
9
|
+
*/
|
|
10
|
+
import { ErrorCode } from "@modelcontextprotocol/sdk/types.js";
|
|
11
|
+
import { AppError, ErrorCodes } from "../core/index.js";
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// Operation Error
|
|
14
|
+
// ============================================================================
|
|
15
|
+
/**
|
|
16
|
+
* Error for failed operations.
|
|
17
|
+
*
|
|
18
|
+
* Use this for operations that fail due to business logic
|
|
19
|
+
* or external factors (not validation or internal errors).
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* throw new OperationError('Failed to process request', {
|
|
24
|
+
* operation: 'processData',
|
|
25
|
+
* context: { dataId: '123' }
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* // Using factory methods
|
|
29
|
+
* throw OperationError.failed('processData', 'timeout exceeded');
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export class OperationError extends AppError {
|
|
33
|
+
/** The operation that failed */
|
|
34
|
+
operation;
|
|
35
|
+
constructor(message, options = {}) {
|
|
36
|
+
super(message, {
|
|
37
|
+
code: ErrorCodes.OPERATION_ERROR,
|
|
38
|
+
statusCode: options.statusCode || 500,
|
|
39
|
+
mcpCode: ErrorCode.InternalError,
|
|
40
|
+
cause: options.cause,
|
|
41
|
+
recoveryHint: options.recoveryHint,
|
|
42
|
+
context: {
|
|
43
|
+
...options.context,
|
|
44
|
+
operation: options.operation,
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
this.operation = options.operation;
|
|
48
|
+
}
|
|
49
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
50
|
+
// Factory Methods
|
|
51
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
52
|
+
/**
|
|
53
|
+
* Create an OperationError for a failed operation.
|
|
54
|
+
*/
|
|
55
|
+
static failed(operation, reason) {
|
|
56
|
+
const message = reason ? `Operation '${operation}' failed: ${reason}` : `Operation '${operation}' failed`;
|
|
57
|
+
return new OperationError(message, {
|
|
58
|
+
operation,
|
|
59
|
+
recoveryHint: reason ? `Operation failed: ${reason}. Please try again.` : "Please try the operation again.",
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Create an OperationError for a timeout.
|
|
64
|
+
*/
|
|
65
|
+
static timeout(operation, timeoutMs) {
|
|
66
|
+
return new OperationError(`Operation '${operation}' timed out after ${timeoutMs}ms`, {
|
|
67
|
+
operation,
|
|
68
|
+
statusCode: 504,
|
|
69
|
+
context: { timeoutMs },
|
|
70
|
+
recoveryHint: `Operation '${operation}' timed out after ${timeoutMs}ms. Try again or increase timeout.`,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Create an OperationError for an unavailable operation.
|
|
75
|
+
*/
|
|
76
|
+
static unavailable(operation) {
|
|
77
|
+
return new OperationError(`Operation '${operation}' is currently unavailable`, {
|
|
78
|
+
operation,
|
|
79
|
+
statusCode: 503,
|
|
80
|
+
recoveryHint: `Operation '${operation}' is currently unavailable. Please try again later.`,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// ============================================================================
|
|
85
|
+
// Operation Cancelled Error
|
|
86
|
+
// ============================================================================
|
|
87
|
+
/**
|
|
88
|
+
* Error thrown when an operation is cancelled.
|
|
89
|
+
*
|
|
90
|
+
* Used primarily with AbortSignal/AbortController for
|
|
91
|
+
* cancellable operations.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* signal.addEventListener('abort', () => {
|
|
96
|
+
* throw new OperationCancelledError('User cancelled the request', requestId);
|
|
97
|
+
* });
|
|
98
|
+
*
|
|
99
|
+
* // Check if error is cancellation
|
|
100
|
+
* if (error instanceof OperationCancelledError) {
|
|
101
|
+
* // Handle gracefully
|
|
102
|
+
* }
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export class OperationCancelledError extends AppError {
|
|
106
|
+
/** The ID of the cancelled request */
|
|
107
|
+
requestId;
|
|
108
|
+
/** The reason for cancellation */
|
|
109
|
+
cancelReason;
|
|
110
|
+
constructor(message, requestId, options = {}) {
|
|
111
|
+
super(message, {
|
|
112
|
+
code: ErrorCodes.OPERATION_CANCELLED,
|
|
113
|
+
statusCode: 499, // Client Closed Request
|
|
114
|
+
mcpCode: ErrorCode.InternalError,
|
|
115
|
+
cause: options.cause,
|
|
116
|
+
recoveryHint: options.recoveryHint || "The operation was cancelled. You may retry if needed.",
|
|
117
|
+
context: {
|
|
118
|
+
...options.context,
|
|
119
|
+
requestId,
|
|
120
|
+
cancelReason: options.cancelReason,
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
this.requestId = requestId;
|
|
124
|
+
this.cancelReason = options.cancelReason;
|
|
125
|
+
}
|
|
126
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
127
|
+
// Factory Methods
|
|
128
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
129
|
+
/**
|
|
130
|
+
* Create from a cancelled request.
|
|
131
|
+
*/
|
|
132
|
+
static fromRequest(requestId, reason) {
|
|
133
|
+
const message = reason ? `Request ${requestId} was cancelled: ${reason}` : `Request ${requestId} was cancelled`;
|
|
134
|
+
return new OperationCancelledError(message, requestId, {
|
|
135
|
+
cancelReason: reason,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Create from an AbortSignal.
|
|
140
|
+
*/
|
|
141
|
+
static fromAbortSignal(signal, requestId) {
|
|
142
|
+
const reason = signal.reason instanceof Error ? signal.reason.message : String(signal.reason || "Aborted");
|
|
143
|
+
return new OperationCancelledError(`Operation aborted: ${reason}`, requestId, {
|
|
144
|
+
cancelReason: reason,
|
|
145
|
+
cause: signal.reason instanceof Error ? signal.reason : undefined,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../src/errors/categories/operation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Protocol Error
|
|
3
|
+
*
|
|
4
|
+
* Error for MCP protocol violations (invalid JSON-RPC, missing method, etc.)
|
|
5
|
+
*
|
|
6
|
+
* @module errors/categories/protocol
|
|
7
|
+
*/
|
|
8
|
+
import { AppError } from "../core/index.js";
|
|
9
|
+
import type { BaseErrorOptions } from "../core/index.js";
|
|
10
|
+
/**
|
|
11
|
+
* Error thrown for MCP protocol violations.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* throw McpProtocolError.invalidJson();
|
|
16
|
+
* throw McpProtocolError.invalidRequest('Missing required field');
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare class McpProtocolError extends AppError {
|
|
20
|
+
/** JSON-RPC error code */
|
|
21
|
+
readonly jsonRpcCode: number;
|
|
22
|
+
constructor(message: string, jsonRpcCode?: number, options?: Omit<BaseErrorOptions, "code">);
|
|
23
|
+
/**
|
|
24
|
+
* Create a generic invalid request error.
|
|
25
|
+
*/
|
|
26
|
+
static invalidRequest(reason: string): McpProtocolError;
|
|
27
|
+
/**
|
|
28
|
+
* Create a method not found error.
|
|
29
|
+
*/
|
|
30
|
+
static methodNotFound(method: string): McpProtocolError;
|
|
31
|
+
/**
|
|
32
|
+
* Create an invalid params error.
|
|
33
|
+
*/
|
|
34
|
+
static invalidParams(reason: string): McpProtocolError;
|
|
35
|
+
/**
|
|
36
|
+
* Create a parse error.
|
|
37
|
+
*/
|
|
38
|
+
static parseError(reason: string): McpProtocolError;
|
|
39
|
+
/**
|
|
40
|
+
* Create an error for invalid JSON.
|
|
41
|
+
*/
|
|
42
|
+
static invalidJson(): McpProtocolError;
|
|
43
|
+
/**
|
|
44
|
+
* Create an error for invalid JSON-RPC version.
|
|
45
|
+
*/
|
|
46
|
+
static invalidJsonRpc(): McpProtocolError;
|
|
47
|
+
/**
|
|
48
|
+
* Create an error for missing method field.
|
|
49
|
+
*/
|
|
50
|
+
static missingMethod(): McpProtocolError;
|
|
51
|
+
/**
|
|
52
|
+
* Create an error for invalid batch request.
|
|
53
|
+
*/
|
|
54
|
+
static invalidBatch(): McpProtocolError;
|
|
55
|
+
/**
|
|
56
|
+
* Create an error for invalid content type.
|
|
57
|
+
*/
|
|
58
|
+
static invalidContentType(): McpProtocolError;
|
|
59
|
+
/**
|
|
60
|
+
* Create an error for missing Accept header.
|
|
61
|
+
*/
|
|
62
|
+
static missingAccept(): McpProtocolError;
|
|
63
|
+
/**
|
|
64
|
+
* Create an error for cancelled request.
|
|
65
|
+
*/
|
|
66
|
+
static requestCancelled(): McpProtocolError;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/errors/categories/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,QAAQ,EAA4C,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMzD;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,0BAA0B;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAM;IAoB/F;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAMvD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAOvD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAMtD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB;IAUnD;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAMtC;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,gBAAgB;IAMzC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,gBAAgB;IAMxC;;OAEG;IACH,MAAM,CAAC,YAAY,IAAI,gBAAgB;IAMvC;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,gBAAgB;IAM7C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,gBAAgB;IAMxC;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,gBAAgB;CAK5C"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Protocol Error
|
|
3
|
+
*
|
|
4
|
+
* Error for MCP protocol violations (invalid JSON-RPC, missing method, etc.)
|
|
5
|
+
*
|
|
6
|
+
* @module errors/categories/protocol
|
|
7
|
+
*/
|
|
8
|
+
import { ErrorCode } from "@modelcontextprotocol/sdk/types.js";
|
|
9
|
+
import { AppError, ErrorCodes, HttpStatus, JsonRpcErrorCode } from "../core/index.js";
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// MCP Protocol Error
|
|
12
|
+
// ============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Error thrown for MCP protocol violations.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* throw McpProtocolError.invalidJson();
|
|
19
|
+
* throw McpProtocolError.invalidRequest('Missing required field');
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export class McpProtocolError extends AppError {
|
|
23
|
+
/** JSON-RPC error code */
|
|
24
|
+
jsonRpcCode;
|
|
25
|
+
constructor(message, jsonRpcCode, options = {}) {
|
|
26
|
+
super(message, {
|
|
27
|
+
code: ErrorCodes.INVALID_REQUEST,
|
|
28
|
+
statusCode: HttpStatus.BAD_REQUEST,
|
|
29
|
+
mcpCode: ErrorCode.InvalidRequest,
|
|
30
|
+
cause: options.cause,
|
|
31
|
+
recoveryHint: options.recoveryHint,
|
|
32
|
+
context: {
|
|
33
|
+
...options.context,
|
|
34
|
+
jsonRpcCode: jsonRpcCode ?? JsonRpcErrorCode.INVALID_REQUEST,
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
this.jsonRpcCode = jsonRpcCode ?? JsonRpcErrorCode.INVALID_REQUEST;
|
|
38
|
+
}
|
|
39
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
40
|
+
// Generic Factory Methods
|
|
41
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
42
|
+
/**
|
|
43
|
+
* Create a generic invalid request error.
|
|
44
|
+
*/
|
|
45
|
+
static invalidRequest(reason) {
|
|
46
|
+
return new McpProtocolError(`Invalid request: ${reason}`, JsonRpcErrorCode.INVALID_REQUEST, {
|
|
47
|
+
recoveryHint: "Check the request format and required fields.",
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Create a method not found error.
|
|
52
|
+
*/
|
|
53
|
+
static methodNotFound(method) {
|
|
54
|
+
return new McpProtocolError(`Method not found: ${method}`, JsonRpcErrorCode.METHOD_NOT_FOUND, {
|
|
55
|
+
context: { method },
|
|
56
|
+
recoveryHint: `The method '${method}' does not exist. Check the method name.`,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create an invalid params error.
|
|
61
|
+
*/
|
|
62
|
+
static invalidParams(reason) {
|
|
63
|
+
return new McpProtocolError(`Invalid params: ${reason}`, JsonRpcErrorCode.INVALID_PARAMS, {
|
|
64
|
+
recoveryHint: "Check the method parameters against the expected schema.",
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Create a parse error.
|
|
69
|
+
*/
|
|
70
|
+
static parseError(reason) {
|
|
71
|
+
return new McpProtocolError(`Parse error: ${reason}`, JsonRpcErrorCode.PARSE_ERROR, {
|
|
72
|
+
recoveryHint: "Ensure the request body contains valid JSON syntax.",
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
76
|
+
// Specific Factory Methods
|
|
77
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
78
|
+
/**
|
|
79
|
+
* Create an error for invalid JSON.
|
|
80
|
+
*/
|
|
81
|
+
static invalidJson() {
|
|
82
|
+
return new McpProtocolError("Invalid JSON", JsonRpcErrorCode.PARSE_ERROR, {
|
|
83
|
+
recoveryHint: "Ensure the request body contains valid JSON syntax.",
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Create an error for invalid JSON-RPC version.
|
|
88
|
+
*/
|
|
89
|
+
static invalidJsonRpc() {
|
|
90
|
+
return new McpProtocolError("Invalid JSON-RPC version", JsonRpcErrorCode.INVALID_REQUEST, {
|
|
91
|
+
recoveryHint: 'Ensure the request includes "jsonrpc": "2.0" field.',
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Create an error for missing method field.
|
|
96
|
+
*/
|
|
97
|
+
static missingMethod() {
|
|
98
|
+
return new McpProtocolError("Missing method field", JsonRpcErrorCode.INVALID_REQUEST, {
|
|
99
|
+
recoveryHint: 'Include a "method" field in the JSON-RPC request.',
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Create an error for invalid batch request.
|
|
104
|
+
*/
|
|
105
|
+
static invalidBatch() {
|
|
106
|
+
return new McpProtocolError("Invalid batch request: array must not be empty", JsonRpcErrorCode.INVALID_REQUEST, {
|
|
107
|
+
recoveryHint: "Batch requests must be a non-empty JSON array.",
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Create an error for invalid content type.
|
|
112
|
+
*/
|
|
113
|
+
static invalidContentType() {
|
|
114
|
+
return new McpProtocolError("Content-Type must be application/json", JsonRpcErrorCode.INVALID_REQUEST, {
|
|
115
|
+
recoveryHint: 'Set Content-Type header to "application/json".',
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Create an error for missing Accept header.
|
|
120
|
+
*/
|
|
121
|
+
static missingAccept() {
|
|
122
|
+
return new McpProtocolError("Missing Accept header", JsonRpcErrorCode.INVALID_REQUEST, {
|
|
123
|
+
recoveryHint: "Include an Accept header with supported content types.",
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Create an error for cancelled request.
|
|
128
|
+
*/
|
|
129
|
+
static requestCancelled() {
|
|
130
|
+
return new McpProtocolError("Request was cancelled", JsonRpcErrorCode.REQUEST_CANCELLED, {
|
|
131
|
+
recoveryHint: "The request was cancelled. Retry the operation if needed.",
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/errors/categories/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Error
|
|
3
|
+
*
|
|
4
|
+
* Error for MCP session management issues (not found, expired, limit reached).
|
|
5
|
+
*
|
|
6
|
+
* @module errors/categories/session
|
|
7
|
+
*/
|
|
8
|
+
import { AppError } from "../core/index.js";
|
|
9
|
+
import type { BaseErrorOptions } from "../core/index.js";
|
|
10
|
+
/**
|
|
11
|
+
* Error thrown for session management issues.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* throw SessionError.required();
|
|
16
|
+
* throw SessionError.sessionNotFound('sess-123');
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare class SessionError extends AppError {
|
|
20
|
+
/** The session ID if applicable */
|
|
21
|
+
readonly sessionId?: string | undefined;
|
|
22
|
+
constructor(message: string, options?: Omit<BaseErrorOptions, "code"> & {
|
|
23
|
+
sessionId?: string | undefined;
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* Create an error for missing session ID.
|
|
27
|
+
*/
|
|
28
|
+
static required(): SessionError;
|
|
29
|
+
/**
|
|
30
|
+
* Create an error for session not found (with ID).
|
|
31
|
+
*/
|
|
32
|
+
static sessionNotFound(sessionId: string): SessionError;
|
|
33
|
+
/**
|
|
34
|
+
* Create an error for expired session.
|
|
35
|
+
*/
|
|
36
|
+
static expired(): SessionError;
|
|
37
|
+
/**
|
|
38
|
+
* Create an error for expired session (with ID).
|
|
39
|
+
*/
|
|
40
|
+
static sessionExpired(sessionId: string): SessionError;
|
|
41
|
+
/**
|
|
42
|
+
* Create an error for session limit reached.
|
|
43
|
+
*/
|
|
44
|
+
static sessionLimitReached(maxSessions: number): SessionError;
|
|
45
|
+
/**
|
|
46
|
+
* Create an error for invalid session state.
|
|
47
|
+
*/
|
|
48
|
+
static invalidState(sessionId: string, currentState: string, expectedState: string): SessionError;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/errors/categories/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,QAAQ,EAA0B,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMzD;;;;;;;;GAQG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,mCAAmC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGtC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG;QACxC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B;IAqBR;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,YAAY;IAM/B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAOvD;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,YAAY;IAM9B;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAOtD;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY;IAQ7D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,YAAY;CAUlG"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Error
|
|
3
|
+
*
|
|
4
|
+
* Error for MCP session management issues (not found, expired, limit reached).
|
|
5
|
+
*
|
|
6
|
+
* @module errors/categories/session
|
|
7
|
+
*/
|
|
8
|
+
import { ErrorCode } from "@modelcontextprotocol/sdk/types.js";
|
|
9
|
+
import { AppError, ErrorCodes, HttpStatus } from "../core/index.js";
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// Session Error
|
|
12
|
+
// ============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Error thrown for session management issues.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* throw SessionError.required();
|
|
19
|
+
* throw SessionError.sessionNotFound('sess-123');
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export class SessionError extends AppError {
|
|
23
|
+
/** The session ID if applicable */
|
|
24
|
+
sessionId;
|
|
25
|
+
constructor(message, options = {}) {
|
|
26
|
+
super(message, {
|
|
27
|
+
code: ErrorCodes.INVALID_REQUEST,
|
|
28
|
+
statusCode: options.statusCode ?? HttpStatus.BAD_REQUEST,
|
|
29
|
+
mcpCode: ErrorCode.InvalidRequest,
|
|
30
|
+
cause: options.cause,
|
|
31
|
+
context: {
|
|
32
|
+
...options.context,
|
|
33
|
+
sessionId: options.sessionId,
|
|
34
|
+
},
|
|
35
|
+
recoveryHint: options.recoveryHint,
|
|
36
|
+
});
|
|
37
|
+
this.sessionId = options.sessionId;
|
|
38
|
+
}
|
|
39
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
40
|
+
// Factory Methods
|
|
41
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
42
|
+
/**
|
|
43
|
+
* Create an error for missing session ID.
|
|
44
|
+
*/
|
|
45
|
+
static required() {
|
|
46
|
+
return new SessionError("Mcp-Session-Id header required", {
|
|
47
|
+
recoveryHint: "Include the Mcp-Session-Id header in your request.",
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Create an error for session not found (with ID).
|
|
52
|
+
*/
|
|
53
|
+
static sessionNotFound(sessionId) {
|
|
54
|
+
return new SessionError(`Session '${sessionId}' not found`, {
|
|
55
|
+
sessionId,
|
|
56
|
+
recoveryHint: "Start a new session by connecting to the SSE endpoint.",
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create an error for expired session.
|
|
61
|
+
*/
|
|
62
|
+
static expired() {
|
|
63
|
+
return new SessionError("Session has expired. Please re-initialize.", {
|
|
64
|
+
recoveryHint: "Your session has expired. Reconnect to establish a new session.",
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Create an error for expired session (with ID).
|
|
69
|
+
*/
|
|
70
|
+
static sessionExpired(sessionId) {
|
|
71
|
+
return new SessionError(`Session '${sessionId}' has expired`, {
|
|
72
|
+
sessionId,
|
|
73
|
+
recoveryHint: "Your session has expired. Reconnect to establish a new session.",
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Create an error for session limit reached.
|
|
78
|
+
*/
|
|
79
|
+
static sessionLimitReached(maxSessions) {
|
|
80
|
+
return new SessionError(`Session limit reached: maximum ${maxSessions} sessions allowed`, {
|
|
81
|
+
statusCode: HttpStatus.SERVICE_UNAVAILABLE,
|
|
82
|
+
context: { maxSessions },
|
|
83
|
+
recoveryHint: "Wait a moment and try again, or close unused sessions.",
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Create an error for invalid session state.
|
|
88
|
+
*/
|
|
89
|
+
static invalidState(sessionId, currentState, expectedState) {
|
|
90
|
+
return new SessionError(`Session '${sessionId}' is in invalid state '${currentState}', expected '${expectedState}'`, {
|
|
91
|
+
sessionId,
|
|
92
|
+
context: { currentState, expectedState },
|
|
93
|
+
recoveryHint: `Session is in '${currentState}' state but needs to be '${expectedState}'.`,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/errors/categories/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGpE,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,OAAO,YAAa,SAAQ,QAAQ;IACxC,mCAAmC;IAC1B,SAAS,CAAsB;IAExC,YACE,OAAe,EACf,UAEI,EAAE;QAEN,KAAK,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,UAAU,CAAC,eAAe;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,WAAW;YACxD,OAAO,EAAE,SAAS,CAAC,cAAc;YACjC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE;gBACP,GAAG,OAAO,CAAC,OAAO;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B;YACD,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAE5E;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,YAAY,CAAC,gCAAgC,EAAE;YACxD,YAAY,EAAE,oDAAoD;SACnE,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,SAAiB;QACtC,OAAO,IAAI,YAAY,CAAC,YAAY,SAAS,aAAa,EAAE;YAC1D,SAAS;YACT,YAAY,EAAE,wDAAwD;SACvE,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,YAAY,CAAC,4CAA4C,EAAE;YACpE,YAAY,EAAE,iEAAiE;SAChF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,SAAiB;QACrC,OAAO,IAAI,YAAY,CAAC,YAAY,SAAS,eAAe,EAAE;YAC5D,SAAS;YACT,YAAY,EAAE,iEAAiE;SAChF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,WAAmB;QAC5C,OAAO,IAAI,YAAY,CAAC,kCAAkC,WAAW,mBAAmB,EAAE;YACxF,UAAU,EAAE,UAAU,CAAC,mBAAmB;YAC1C,OAAO,EAAE,EAAE,WAAW,EAAE;YACxB,YAAY,EAAE,wDAAwD;SACvE,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,SAAiB,EAAE,YAAoB,EAAE,aAAqB;QAChF,OAAO,IAAI,YAAY,CACrB,YAAY,SAAS,0BAA0B,YAAY,gBAAgB,aAAa,GAAG,EAC3F;YACE,SAAS;YACT,OAAO,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;YACxC,YAAY,EAAE,kBAAkB,YAAY,4BAA4B,aAAa,IAAI;SAC1F,CACF,CAAC;IACJ,CAAC;CACF"}
|