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,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Error Classes
|
|
3
|
+
*
|
|
4
|
+
* Errors related to internal system failures:
|
|
5
|
+
* - InternalError: Unexpected internal errors
|
|
6
|
+
* - RegistryError: Tool/resource registry errors
|
|
7
|
+
*
|
|
8
|
+
* @module errors/categories/system
|
|
9
|
+
*/
|
|
10
|
+
import { AppError } from "../core/index.js";
|
|
11
|
+
import type { BaseErrorOptions } from "../core/index.js";
|
|
12
|
+
/**
|
|
13
|
+
* Error for unexpected internal failures.
|
|
14
|
+
*
|
|
15
|
+
* Use this for errors that shouldn't happen in normal operation
|
|
16
|
+
* and indicate bugs or system failures.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* throw new InternalError('Unexpected state in request handler');
|
|
21
|
+
*
|
|
22
|
+
* // Wrap unexpected errors
|
|
23
|
+
* catch (err) {
|
|
24
|
+
* throw InternalError.wrap(err, 'Failed to process request');
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare class InternalError extends AppError {
|
|
29
|
+
constructor(message: string, options?: Omit<BaseErrorOptions, "code">);
|
|
30
|
+
/**
|
|
31
|
+
* Wrap an unknown error in an InternalError.
|
|
32
|
+
*/
|
|
33
|
+
static wrap(error: unknown, context?: string): InternalError;
|
|
34
|
+
/**
|
|
35
|
+
* Create an InternalError for an unexpected state.
|
|
36
|
+
*/
|
|
37
|
+
static unexpectedState(description: string): InternalError;
|
|
38
|
+
/**
|
|
39
|
+
* Create an InternalError for missing implementation.
|
|
40
|
+
*/
|
|
41
|
+
static notImplemented(feature: string): InternalError;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Error for tool/resource registry operations.
|
|
45
|
+
*
|
|
46
|
+
* Used when registering, unregistering, or looking up
|
|
47
|
+
* tools and resources fails.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* throw RegistryError.toolNotFound('unknown_tool');
|
|
52
|
+
* throw RegistryError.duplicateTool('existing_tool');
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare class RegistryError extends AppError {
|
|
56
|
+
/** The type of registry item (tool, resource, prompt) */
|
|
57
|
+
readonly itemType: "tool" | "resource" | "prompt";
|
|
58
|
+
/** The name of the item */
|
|
59
|
+
readonly itemName: string;
|
|
60
|
+
constructor(message: string, itemType: "tool" | "resource" | "prompt", itemName: string, options?: Omit<BaseErrorOptions, "code">);
|
|
61
|
+
/**
|
|
62
|
+
* Create a RegistryError for a tool not found.
|
|
63
|
+
*/
|
|
64
|
+
static toolNotFound(name: string): RegistryError;
|
|
65
|
+
/**
|
|
66
|
+
* Create a RegistryError for duplicate tool registration.
|
|
67
|
+
*/
|
|
68
|
+
static duplicateTool(name: string): RegistryError;
|
|
69
|
+
/**
|
|
70
|
+
* Create a RegistryError for a resource not found.
|
|
71
|
+
*/
|
|
72
|
+
static resourceNotFound(name: string): RegistryError;
|
|
73
|
+
/**
|
|
74
|
+
* Create a RegistryError for duplicate resource registration.
|
|
75
|
+
*/
|
|
76
|
+
static duplicateResource(name: string): RegistryError;
|
|
77
|
+
/**
|
|
78
|
+
* Create a RegistryError for a prompt not found.
|
|
79
|
+
*/
|
|
80
|
+
static promptNotFound(name: string): RegistryError;
|
|
81
|
+
/**
|
|
82
|
+
* Create a RegistryError for duplicate prompt registration.
|
|
83
|
+
*/
|
|
84
|
+
static duplicatePrompt(name: string): RegistryError;
|
|
85
|
+
/** @internal Mapping for valid registry item types — eliminates type assertion */
|
|
86
|
+
private static readonly TYPE_MAP;
|
|
87
|
+
/**
|
|
88
|
+
* Create a RegistryError for a generic duplicate registration.
|
|
89
|
+
*
|
|
90
|
+
* @param itemType - The type of item (e.g., 'Tool', 'Resource', 'Prompt')
|
|
91
|
+
* @param itemName - The name of the item
|
|
92
|
+
*/
|
|
93
|
+
static duplicate(itemType: string, itemName: string): RegistryError;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=system.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/errors/categories/system.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,QAAQ,EAAc,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMzD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,aAAc,SAAQ,QAAQ;gBAC7B,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAM;IAezE;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa;IAY5D;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa;IAM1D;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;CAKtD;AAMD;;;;;;;;;;;GAWG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IACzC,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IAElD,2BAA2B;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAGxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,EACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAM;IAuB9C;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAMhD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAUjD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAMpD;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAUrD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAMlD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAUnD,kFAAkF;IAClF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAI9B;IAEF;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa;CAMpE"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Error Classes
|
|
3
|
+
*
|
|
4
|
+
* Errors related to internal system failures:
|
|
5
|
+
* - InternalError: Unexpected internal errors
|
|
6
|
+
* - RegistryError: Tool/resource registry errors
|
|
7
|
+
*
|
|
8
|
+
* @module errors/categories/system
|
|
9
|
+
*/
|
|
10
|
+
import { ErrorCode } from "@modelcontextprotocol/sdk/types.js";
|
|
11
|
+
import { AppError, ErrorCodes } from "../core/index.js";
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// Internal Error
|
|
14
|
+
// ============================================================================
|
|
15
|
+
/**
|
|
16
|
+
* Error for unexpected internal failures.
|
|
17
|
+
*
|
|
18
|
+
* Use this for errors that shouldn't happen in normal operation
|
|
19
|
+
* and indicate bugs or system failures.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* throw new InternalError('Unexpected state in request handler');
|
|
24
|
+
*
|
|
25
|
+
* // Wrap unexpected errors
|
|
26
|
+
* catch (err) {
|
|
27
|
+
* throw InternalError.wrap(err, 'Failed to process request');
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export class InternalError extends AppError {
|
|
32
|
+
constructor(message, options = {}) {
|
|
33
|
+
super(message, {
|
|
34
|
+
code: ErrorCodes.INTERNAL_ERROR,
|
|
35
|
+
statusCode: 500,
|
|
36
|
+
mcpCode: ErrorCode.InternalError,
|
|
37
|
+
cause: options.cause,
|
|
38
|
+
recoveryHint: options.recoveryHint || "This is an internal error. Please try again or contact support.",
|
|
39
|
+
context: options.context,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
43
|
+
// Factory Methods
|
|
44
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
45
|
+
/**
|
|
46
|
+
* Wrap an unknown error in an InternalError.
|
|
47
|
+
*/
|
|
48
|
+
static wrap(error, context) {
|
|
49
|
+
const message = context
|
|
50
|
+
? `${context}: ${error instanceof Error ? error.message : String(error)}`
|
|
51
|
+
: error instanceof Error
|
|
52
|
+
? error.message
|
|
53
|
+
: String(error);
|
|
54
|
+
return new InternalError(message, {
|
|
55
|
+
cause: error instanceof Error ? error : undefined,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create an InternalError for an unexpected state.
|
|
60
|
+
*/
|
|
61
|
+
static unexpectedState(description) {
|
|
62
|
+
return new InternalError(`Unexpected state: ${description}`, {
|
|
63
|
+
recoveryHint: "This indicates a bug. Please report this issue.",
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create an InternalError for missing implementation.
|
|
68
|
+
*/
|
|
69
|
+
static notImplemented(feature) {
|
|
70
|
+
return new InternalError(`Feature '${feature}' is not implemented`, {
|
|
71
|
+
recoveryHint: `The feature '${feature}' is not yet implemented.`,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// ============================================================================
|
|
76
|
+
// Registry Error
|
|
77
|
+
// ============================================================================
|
|
78
|
+
/**
|
|
79
|
+
* Error for tool/resource registry operations.
|
|
80
|
+
*
|
|
81
|
+
* Used when registering, unregistering, or looking up
|
|
82
|
+
* tools and resources fails.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* throw RegistryError.toolNotFound('unknown_tool');
|
|
87
|
+
* throw RegistryError.duplicateTool('existing_tool');
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
export class RegistryError extends AppError {
|
|
91
|
+
/** The type of registry item (tool, resource, prompt) */
|
|
92
|
+
itemType;
|
|
93
|
+
/** The name of the item */
|
|
94
|
+
itemName;
|
|
95
|
+
constructor(message, itemType, itemName, options = {}) {
|
|
96
|
+
super(message, {
|
|
97
|
+
code: ErrorCodes.REGISTRY_ERROR,
|
|
98
|
+
statusCode: 404, // Usually not found
|
|
99
|
+
mcpCode: ErrorCode.MethodNotFound,
|
|
100
|
+
cause: options.cause,
|
|
101
|
+
recoveryHint: options.recoveryHint,
|
|
102
|
+
context: {
|
|
103
|
+
...options.context,
|
|
104
|
+
itemType,
|
|
105
|
+
itemName,
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
this.itemType = itemType;
|
|
109
|
+
this.itemName = itemName;
|
|
110
|
+
}
|
|
111
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
112
|
+
// Tool Factory Methods
|
|
113
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
114
|
+
/**
|
|
115
|
+
* Create a RegistryError for a tool not found.
|
|
116
|
+
*/
|
|
117
|
+
static toolNotFound(name) {
|
|
118
|
+
return new RegistryError(`Tool '${name}' not found`, "tool", name, {
|
|
119
|
+
recoveryHint: `Check the tool name '${name}' is correct. Use tools/list to see available tools.`,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Create a RegistryError for duplicate tool registration.
|
|
124
|
+
*/
|
|
125
|
+
static duplicateTool(name) {
|
|
126
|
+
return new RegistryError(`Tool '${name}' is already registered`, "tool", name, {
|
|
127
|
+
recoveryHint: `Tool '${name}' is already registered. Use a different name.`,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
131
|
+
// Resource Factory Methods
|
|
132
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
133
|
+
/**
|
|
134
|
+
* Create a RegistryError for a resource not found.
|
|
135
|
+
*/
|
|
136
|
+
static resourceNotFound(name) {
|
|
137
|
+
return new RegistryError(`Resource '${name}' not found`, "resource", name, {
|
|
138
|
+
recoveryHint: `Check the resource URI '${name}' is correct. Use resources/list to see available resources.`,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Create a RegistryError for duplicate resource registration.
|
|
143
|
+
*/
|
|
144
|
+
static duplicateResource(name) {
|
|
145
|
+
return new RegistryError(`Resource '${name}' is already registered`, "resource", name, {
|
|
146
|
+
recoveryHint: `Resource '${name}' is already registered. Use a different URI.`,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
150
|
+
// Prompt Factory Methods
|
|
151
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
152
|
+
/**
|
|
153
|
+
* Create a RegistryError for a prompt not found.
|
|
154
|
+
*/
|
|
155
|
+
static promptNotFound(name) {
|
|
156
|
+
return new RegistryError(`Prompt '${name}' not found`, "prompt", name, {
|
|
157
|
+
recoveryHint: `Check the prompt name '${name}' is correct. Use prompts/list to see available prompts.`,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Create a RegistryError for duplicate prompt registration.
|
|
162
|
+
*/
|
|
163
|
+
static duplicatePrompt(name) {
|
|
164
|
+
return new RegistryError(`Prompt '${name}' is already registered`, "prompt", name, {
|
|
165
|
+
recoveryHint: `Prompt '${name}' is already registered. Use a different name.`,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
169
|
+
// Generic Factory Methods
|
|
170
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
171
|
+
/** @internal Mapping for valid registry item types — eliminates type assertion */
|
|
172
|
+
static TYPE_MAP = {
|
|
173
|
+
tool: "tool",
|
|
174
|
+
resource: "resource",
|
|
175
|
+
prompt: "prompt",
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Create a RegistryError for a generic duplicate registration.
|
|
179
|
+
*
|
|
180
|
+
* @param itemType - The type of item (e.g., 'Tool', 'Resource', 'Prompt')
|
|
181
|
+
* @param itemName - The name of the item
|
|
182
|
+
*/
|
|
183
|
+
static duplicate(itemType, itemName) {
|
|
184
|
+
const normalizedType = RegistryError.TYPE_MAP[itemType.toLowerCase()] ?? "tool";
|
|
185
|
+
return new RegistryError(`${itemType} '${itemName}' is already registered`, normalizedType, itemName, {
|
|
186
|
+
recoveryHint: `${itemType} '${itemName}' is already registered. Use a different name.`,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=system.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/errors/categories/system.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport Error
|
|
3
|
+
*
|
|
4
|
+
* Error for MCP transport layer issues (connection, binding, rate limiting).
|
|
5
|
+
*
|
|
6
|
+
* @module errors/categories/transport
|
|
7
|
+
*/
|
|
8
|
+
import { AppError } from "../core/index.js";
|
|
9
|
+
import type { BaseErrorOptions } from "../core/index.js";
|
|
10
|
+
/**
|
|
11
|
+
* Error thrown for transport layer issues.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* throw TransportError.closed();
|
|
16
|
+
* throw TransportError.connectionFailed('timeout');
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare class TransportError extends AppError {
|
|
20
|
+
/** The transport type */
|
|
21
|
+
readonly transportType?: "http" | "sse" | "stdio" | undefined;
|
|
22
|
+
constructor(message: string, options?: Omit<BaseErrorOptions, "code"> & {
|
|
23
|
+
transportType?: "http" | "sse" | "stdio" | undefined;
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* Create an error for closed transport.
|
|
27
|
+
*/
|
|
28
|
+
static closed(): TransportError;
|
|
29
|
+
/**
|
|
30
|
+
* Create an error for transport not started.
|
|
31
|
+
*/
|
|
32
|
+
static notStarted(): TransportError;
|
|
33
|
+
/**
|
|
34
|
+
* Create an error for unsupported transport type.
|
|
35
|
+
*/
|
|
36
|
+
static unsupported(transport: string): TransportError;
|
|
37
|
+
/**
|
|
38
|
+
* Create an error for connection failure.
|
|
39
|
+
*/
|
|
40
|
+
static connectionFailed(reason: string): TransportError;
|
|
41
|
+
/**
|
|
42
|
+
* Create an error for connection closed.
|
|
43
|
+
*/
|
|
44
|
+
static connectionClosed(reason?: string): TransportError;
|
|
45
|
+
/**
|
|
46
|
+
* Create an error for invalid header.
|
|
47
|
+
*/
|
|
48
|
+
static invalidHeader(header: string, reason: string): TransportError;
|
|
49
|
+
/**
|
|
50
|
+
* Create an error for protocol mismatch.
|
|
51
|
+
*/
|
|
52
|
+
static protocolMismatch(expected: string, received: string): TransportError;
|
|
53
|
+
/**
|
|
54
|
+
* Create an error for rate limiting.
|
|
55
|
+
*/
|
|
56
|
+
static rateLimited(retryAfterSeconds?: number): TransportError;
|
|
57
|
+
/**
|
|
58
|
+
* Create an error for DNS rebinding attack.
|
|
59
|
+
*/
|
|
60
|
+
static dnsRebinding(host: string): TransportError;
|
|
61
|
+
/**
|
|
62
|
+
* Create an error for port already in use (EADDRINUSE).
|
|
63
|
+
*/
|
|
64
|
+
static portInUse(bind: string): TransportError;
|
|
65
|
+
/**
|
|
66
|
+
* Create an error for insufficient privileges to bind (EACCES).
|
|
67
|
+
*/
|
|
68
|
+
static privilegesRequired(bind: string): TransportError;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/errors/categories/transport.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,cAAe,SAAQ,QAAQ;IAC1C,yBAAyB;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;gBAG5D,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG;QACxC,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;KACjD;IAqBR;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,cAAc;IAM/B;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,cAAc;IAMnC;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc;IAMrD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAOvD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc;IAQxD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc;IAQpE;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc;IAQ3E;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,cAAc;IAc9D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAQjD;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAO9C;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;CAMxD"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport Error
|
|
3
|
+
*
|
|
4
|
+
* Error for MCP transport layer issues (connection, binding, rate limiting).
|
|
5
|
+
*
|
|
6
|
+
* @module errors/categories/transport
|
|
7
|
+
*/
|
|
8
|
+
import { ErrorCode } from "@modelcontextprotocol/sdk/types.js";
|
|
9
|
+
import { AppError, ErrorCodes, HttpStatus } from "../core/index.js";
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// Transport Error
|
|
12
|
+
// ============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Error thrown for transport layer issues.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* throw TransportError.closed();
|
|
19
|
+
* throw TransportError.connectionFailed('timeout');
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export class TransportError extends AppError {
|
|
23
|
+
/** The transport type */
|
|
24
|
+
transportType;
|
|
25
|
+
constructor(message, options = {}) {
|
|
26
|
+
super(message, {
|
|
27
|
+
code: ErrorCodes.SERVICE_UNAVAILABLE,
|
|
28
|
+
statusCode: options.statusCode ?? HttpStatus.SERVICE_UNAVAILABLE,
|
|
29
|
+
mcpCode: ErrorCode.InternalError,
|
|
30
|
+
cause: options.cause,
|
|
31
|
+
recoveryHint: options.recoveryHint,
|
|
32
|
+
context: {
|
|
33
|
+
...options.context,
|
|
34
|
+
transportType: options.transportType,
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
this.transportType = options.transportType;
|
|
38
|
+
}
|
|
39
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
40
|
+
// Factory Methods
|
|
41
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
42
|
+
/**
|
|
43
|
+
* Create an error for closed transport.
|
|
44
|
+
*/
|
|
45
|
+
static closed() {
|
|
46
|
+
return new TransportError("Transport is closed", {
|
|
47
|
+
recoveryHint: "The transport connection was closed. Reconnect to continue.",
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Create an error for transport not started.
|
|
52
|
+
*/
|
|
53
|
+
static notStarted() {
|
|
54
|
+
return new TransportError("Transport not started", {
|
|
55
|
+
recoveryHint: "Ensure the transport is properly started before sending messages.",
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create an error for unsupported transport type.
|
|
60
|
+
*/
|
|
61
|
+
static unsupported(transport) {
|
|
62
|
+
return new TransportError(`Unsupported transport type: ${transport}`, {
|
|
63
|
+
recoveryHint: "Use a supported transport type: stdio or http.",
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create an error for connection failure.
|
|
68
|
+
*/
|
|
69
|
+
static connectionFailed(reason) {
|
|
70
|
+
return new TransportError(`Connection failed: ${reason}`, {
|
|
71
|
+
statusCode: HttpStatus.BAD_GATEWAY,
|
|
72
|
+
recoveryHint: `Connection failed: ${reason}. Check network connectivity and try again.`,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Create an error for connection closed.
|
|
77
|
+
*/
|
|
78
|
+
static connectionClosed(reason) {
|
|
79
|
+
const message = reason ? `Connection closed: ${reason}` : "Connection closed";
|
|
80
|
+
return new TransportError(message, {
|
|
81
|
+
recoveryHint: "The connection was closed. Reconnect to continue.",
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Create an error for invalid header.
|
|
86
|
+
*/
|
|
87
|
+
static invalidHeader(header, reason) {
|
|
88
|
+
return new TransportError(`Invalid header '${header}': ${reason}`, {
|
|
89
|
+
statusCode: HttpStatus.BAD_REQUEST,
|
|
90
|
+
context: { header, reason },
|
|
91
|
+
recoveryHint: `Check the '${header}' header value.`,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Create an error for protocol mismatch.
|
|
96
|
+
*/
|
|
97
|
+
static protocolMismatch(expected, received) {
|
|
98
|
+
return new TransportError(`Protocol mismatch: expected '${expected}', received '${received}'`, {
|
|
99
|
+
statusCode: HttpStatus.BAD_REQUEST,
|
|
100
|
+
context: { expected, received },
|
|
101
|
+
recoveryHint: `Use protocol version '${expected}'.`,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Create an error for rate limiting.
|
|
106
|
+
*/
|
|
107
|
+
static rateLimited(retryAfterSeconds) {
|
|
108
|
+
const message = retryAfterSeconds
|
|
109
|
+
? `Rate limit exceeded. Retry after ${retryAfterSeconds} seconds`
|
|
110
|
+
: "Rate limit exceeded";
|
|
111
|
+
return new TransportError(message, {
|
|
112
|
+
statusCode: HttpStatus.TOO_MANY_REQUESTS,
|
|
113
|
+
context: retryAfterSeconds ? { retryAfterSeconds } : undefined,
|
|
114
|
+
recoveryHint: retryAfterSeconds
|
|
115
|
+
? `Wait ${retryAfterSeconds} seconds before retrying.`
|
|
116
|
+
: "Wait a moment before retrying.",
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Create an error for DNS rebinding attack.
|
|
121
|
+
*/
|
|
122
|
+
static dnsRebinding(host) {
|
|
123
|
+
return new TransportError(`DNS rebinding attack detected from host '${host}'`, {
|
|
124
|
+
statusCode: HttpStatus.FORBIDDEN,
|
|
125
|
+
context: { host },
|
|
126
|
+
recoveryHint: "Access denied for security reasons.",
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Create an error for port already in use (EADDRINUSE).
|
|
131
|
+
*/
|
|
132
|
+
static portInUse(bind) {
|
|
133
|
+
return new TransportError(`Port ${bind} is already in use — server cannot start`, {
|
|
134
|
+
context: { bind },
|
|
135
|
+
recoveryHint: `Free port or choose a different one via MCP_PORT.`,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Create an error for insufficient privileges to bind (EACCES).
|
|
140
|
+
*/
|
|
141
|
+
static privilegesRequired(bind) {
|
|
142
|
+
return new TransportError(`Binding to ${bind} requires elevated privileges`, {
|
|
143
|
+
context: { bind },
|
|
144
|
+
recoveryHint: "Use a port above 1024 or run with elevated privileges.",
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/errors/categories/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation Error Classes
|
|
3
|
+
*
|
|
4
|
+
* Errors related to input validation and configuration:
|
|
5
|
+
* - ValidationError: Input validation failures
|
|
6
|
+
* - ConfigurationError: Configuration/environment errors
|
|
7
|
+
*
|
|
8
|
+
* @module errors/categories/validation
|
|
9
|
+
*/
|
|
10
|
+
import { ZodError } from "zod";
|
|
11
|
+
import { AppError } from "../core/index.js";
|
|
12
|
+
import type { ValidationErrorOptions, ValidationIssue, BaseErrorOptions } from "../core/index.js";
|
|
13
|
+
/**
|
|
14
|
+
* Error thrown when input validation fails.
|
|
15
|
+
*
|
|
16
|
+
* Integrates with Zod for schema validation errors.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // From Zod error
|
|
21
|
+
* throw ValidationError.fromZodError(zodError, 'Invalid server configuration');
|
|
22
|
+
*
|
|
23
|
+
* // Manual validation
|
|
24
|
+
* throw new ValidationError('Server name is required', {
|
|
25
|
+
* field: 'server',
|
|
26
|
+
* value: undefined
|
|
27
|
+
* });
|
|
28
|
+
*
|
|
29
|
+
* // Using factory methods
|
|
30
|
+
* throw ValidationError.fieldRequired('server');
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare class ValidationError extends AppError {
|
|
34
|
+
/** The field that failed validation */
|
|
35
|
+
readonly field?: string | undefined;
|
|
36
|
+
/** The invalid value (sanitized) */
|
|
37
|
+
readonly value?: unknown;
|
|
38
|
+
/** All validation issues (for multi-field validation) */
|
|
39
|
+
readonly issues?: ValidationIssue[] | undefined;
|
|
40
|
+
constructor(message: string, options?: ValidationErrorOptions);
|
|
41
|
+
/**
|
|
42
|
+
* Sanitize a value for safe storage/logging.
|
|
43
|
+
* Removes potential sensitive data.
|
|
44
|
+
*/
|
|
45
|
+
private sanitizeValue;
|
|
46
|
+
/**
|
|
47
|
+
* Create a ValidationError from a Zod error.
|
|
48
|
+
*/
|
|
49
|
+
static fromZodError(zodError: ZodError, message?: string): ValidationError;
|
|
50
|
+
/**
|
|
51
|
+
* Create a ValidationError for a required field.
|
|
52
|
+
*/
|
|
53
|
+
static fieldRequired(field: string): ValidationError;
|
|
54
|
+
/**
|
|
55
|
+
* Create a ValidationError for an invalid field value.
|
|
56
|
+
*/
|
|
57
|
+
static fieldInvalid(field: string, value?: unknown): ValidationError;
|
|
58
|
+
/**
|
|
59
|
+
* Create a ValidationError for a type mismatch.
|
|
60
|
+
*/
|
|
61
|
+
static fieldTypeMismatch(field: string, expectedType: string): ValidationError;
|
|
62
|
+
/**
|
|
63
|
+
* Create a ValidationError for minimum value constraint.
|
|
64
|
+
*/
|
|
65
|
+
static fieldMin(field: string, min: number): ValidationError;
|
|
66
|
+
/**
|
|
67
|
+
* Create a ValidationError for maximum value constraint.
|
|
68
|
+
*/
|
|
69
|
+
static fieldMax(field: string, max: number): ValidationError;
|
|
70
|
+
/**
|
|
71
|
+
* Create a ValidationError for pattern mismatch.
|
|
72
|
+
*/
|
|
73
|
+
static fieldPattern(field: string): ValidationError;
|
|
74
|
+
/**
|
|
75
|
+
* Format issues as a human-readable list.
|
|
76
|
+
*/
|
|
77
|
+
formatIssues(): string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Error thrown when configuration is invalid.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* throw new ConfigurationError('Missing required environment variable: API_URL');
|
|
85
|
+
*
|
|
86
|
+
* // Using factory methods
|
|
87
|
+
* throw ConfigurationError.missingEnvVar('API_URL');
|
|
88
|
+
* throw ConfigurationError.invalidEnvVar('API_PORT', 'must be a number');
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export declare class ConfigurationError extends AppError {
|
|
92
|
+
/** The configuration key that is invalid */
|
|
93
|
+
readonly configKey?: string | undefined;
|
|
94
|
+
constructor(message: string, options?: Omit<BaseErrorOptions, "code"> & {
|
|
95
|
+
configKey?: string | undefined;
|
|
96
|
+
});
|
|
97
|
+
/**
|
|
98
|
+
* Create a ConfigurationError for a missing environment variable.
|
|
99
|
+
*/
|
|
100
|
+
static missingEnvVar(varName: string): ConfigurationError;
|
|
101
|
+
/**
|
|
102
|
+
* Create a ConfigurationError for an invalid environment variable value.
|
|
103
|
+
*/
|
|
104
|
+
static invalidEnvVar(varName: string, reason: string): ConfigurationError;
|
|
105
|
+
/**
|
|
106
|
+
* Create a ConfigurationError with a custom message.
|
|
107
|
+
*/
|
|
108
|
+
static invalid(message: string): ConfigurationError;
|
|
109
|
+
/**
|
|
110
|
+
* Create a ConfigurationError for an explicitly specified config file that doesn't exist.
|
|
111
|
+
*/
|
|
112
|
+
static fileNotFound(filePath: string): ConfigurationError;
|
|
113
|
+
/**
|
|
114
|
+
* Create a ConfigurationError for a file that could not be read.
|
|
115
|
+
*/
|
|
116
|
+
static fileReadFailed(filePath: string, cause?: Error): ConfigurationError;
|
|
117
|
+
/**
|
|
118
|
+
* Create a ConfigurationError for a TOML/YAML parse failure.
|
|
119
|
+
*/
|
|
120
|
+
static fileParseFailed(filePath: string, cause?: Error): ConfigurationError;
|
|
121
|
+
/**
|
|
122
|
+
* Create a ConfigurationError for schema validation failures in a config file.
|
|
123
|
+
*
|
|
124
|
+
* Formats Zod issues into a human-readable message with the file path
|
|
125
|
+
* so users can locate and fix typos or invalid values.
|
|
126
|
+
*/
|
|
127
|
+
static fileValidationFailed(filePath: string, zodError: ZodError): ConfigurationError;
|
|
128
|
+
/**
|
|
129
|
+
* Create a ConfigurationError for an unsupported config file extension.
|
|
130
|
+
*/
|
|
131
|
+
static unsupportedFormat(extension: string): ConfigurationError;
|
|
132
|
+
/**
|
|
133
|
+
* Create a ConfigurationError for cross-field validation failures.
|
|
134
|
+
*
|
|
135
|
+
* Used after merging all config sources (env + file + overrides)
|
|
136
|
+
* to validate constraints that span multiple fields.
|
|
137
|
+
*/
|
|
138
|
+
static constraintViolation(message: string, fields: string[]): ConfigurationError;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/errors/categories/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAuE,MAAM,kBAAkB,CAAC;AACjH,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMlG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,uCAAuC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC,oCAAoC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAEzB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;gBAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B;IAyBjE;;;OAGG;IACH,OAAO,CAAC,aAAa;IAiCrB;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,eAAe;IAkB1E;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAOpD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,eAAe;IAQpE;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe;IAO9E;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe;IAO5D;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe;IAO5D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAWnD;;OAEG;IACH,YAAY,IAAI,MAAM;CAOvB;AAMD;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,4CAA4C;IAC5C,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;IAoBR;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB;IAOzD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAOzE;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB;IAUnD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB;IAOzD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,kBAAkB;IAQ1E;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,kBAAkB;IAQ3E;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,kBAAkB;IAWrF;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB;IAO/D;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB;CAMlF"}
|