@cyanheads/mcp-ts-core 0.1.0-beta.12
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/CLAUDE.md +583 -0
- package/LICENSE +201 -0
- package/README.md +287 -0
- package/biome.json +103 -0
- package/dist/app.d.ts +82 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +222 -0
- package/dist/app.js.map +1 -0
- package/dist/cli/init.d.ts +8 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +161 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/config/index.d.ts +349 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +464 -0
- package/dist/config/index.js.map +1 -0
- package/dist/context.d.ts +119 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +144 -0
- package/dist/context.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-server/prompts/prompt-registration.d.ts +33 -0
- package/dist/mcp-server/prompts/prompt-registration.d.ts.map +1 -0
- package/dist/mcp-server/prompts/prompt-registration.js +91 -0
- package/dist/mcp-server/prompts/prompt-registration.js.map +1 -0
- package/dist/mcp-server/prompts/utils/newPromptDefinition.d.ts +49 -0
- package/dist/mcp-server/prompts/utils/newPromptDefinition.d.ts.map +1 -0
- package/dist/mcp-server/prompts/utils/newPromptDefinition.js +39 -0
- package/dist/mcp-server/prompts/utils/newPromptDefinition.js.map +1 -0
- package/dist/mcp-server/prompts/utils/promptDefinition.d.ts +37 -0
- package/dist/mcp-server/prompts/utils/promptDefinition.d.ts.map +1 -0
- package/dist/mcp-server/prompts/utils/promptDefinition.js +2 -0
- package/dist/mcp-server/prompts/utils/promptDefinition.js.map +1 -0
- package/dist/mcp-server/resources/resource-registration.d.ts +27 -0
- package/dist/mcp-server/resources/resource-registration.d.ts.map +1 -0
- package/dist/mcp-server/resources/resource-registration.js +85 -0
- package/dist/mcp-server/resources/resource-registration.js.map +1 -0
- package/dist/mcp-server/resources/utils/newResourceDefinition.d.ts +84 -0
- package/dist/mcp-server/resources/utils/newResourceDefinition.d.ts.map +1 -0
- package/dist/mcp-server/resources/utils/newResourceDefinition.js +40 -0
- package/dist/mcp-server/resources/utils/newResourceDefinition.js.map +1 -0
- package/dist/mcp-server/resources/utils/newResourceHandlerFactory.d.ts +32 -0
- package/dist/mcp-server/resources/utils/newResourceHandlerFactory.d.ts.map +1 -0
- package/dist/mcp-server/resources/utils/newResourceHandlerFactory.js +103 -0
- package/dist/mcp-server/resources/utils/newResourceHandlerFactory.js.map +1 -0
- package/dist/mcp-server/resources/utils/resourceDefinition.d.ts +94 -0
- package/dist/mcp-server/resources/utils/resourceDefinition.d.ts.map +1 -0
- package/dist/mcp-server/resources/utils/resourceDefinition.js +2 -0
- package/dist/mcp-server/resources/utils/resourceDefinition.js.map +1 -0
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts +14 -0
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -0
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +111 -0
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -0
- package/dist/mcp-server/roots/roots-registration.d.ts +22 -0
- package/dist/mcp-server/roots/roots-registration.d.ts.map +1 -0
- package/dist/mcp-server/roots/roots-registration.js +25 -0
- package/dist/mcp-server/roots/roots-registration.js.map +1 -0
- package/dist/mcp-server/server.d.ts +34 -0
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +62 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/tasks/core/sessionAwareTaskStore.d.ts +42 -0
- package/dist/mcp-server/tasks/core/sessionAwareTaskStore.d.ts.map +1 -0
- package/dist/mcp-server/tasks/core/sessionAwareTaskStore.js +70 -0
- package/dist/mcp-server/tasks/core/sessionAwareTaskStore.js.map +1 -0
- package/dist/mcp-server/tasks/core/storageBackedTaskStore.d.ts +109 -0
- package/dist/mcp-server/tasks/core/storageBackedTaskStore.d.ts.map +1 -0
- package/dist/mcp-server/tasks/core/storageBackedTaskStore.js +209 -0
- package/dist/mcp-server/tasks/core/storageBackedTaskStore.js.map +1 -0
- package/dist/mcp-server/tasks/core/taskManager.d.ts +103 -0
- package/dist/mcp-server/tasks/core/taskManager.d.ts.map +1 -0
- package/dist/mcp-server/tasks/core/taskManager.js +144 -0
- package/dist/mcp-server/tasks/core/taskManager.js.map +1 -0
- package/dist/mcp-server/tasks/core/taskTypes.d.ts +11 -0
- package/dist/mcp-server/tasks/core/taskTypes.d.ts.map +1 -0
- package/dist/mcp-server/tasks/core/taskTypes.js +13 -0
- package/dist/mcp-server/tasks/core/taskTypes.js.map +1 -0
- package/dist/mcp-server/tasks/utils/taskToolDefinition.d.ts +108 -0
- package/dist/mcp-server/tasks/utils/taskToolDefinition.d.ts.map +1 -0
- package/dist/mcp-server/tasks/utils/taskToolDefinition.js +14 -0
- package/dist/mcp-server/tasks/utils/taskToolDefinition.js.map +1 -0
- package/dist/mcp-server/tools/tool-registration.d.ts +49 -0
- package/dist/mcp-server/tools/tool-registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/tool-registration.js +269 -0
- package/dist/mcp-server/tools/tool-registration.js.map +1 -0
- package/dist/mcp-server/tools/utils/newToolDefinition.d.ts +73 -0
- package/dist/mcp-server/tools/utils/newToolDefinition.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/newToolDefinition.js +45 -0
- package/dist/mcp-server/tools/utils/newToolDefinition.js.map +1 -0
- package/dist/mcp-server/tools/utils/newToolHandlerFactory.d.ts +33 -0
- package/dist/mcp-server/tools/utils/newToolHandlerFactory.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/newToolHandlerFactory.js +107 -0
- package/dist/mcp-server/tools/utils/newToolHandlerFactory.js.map +1 -0
- package/dist/mcp-server/tools/utils/toolDefinition.d.ts +118 -0
- package/dist/mcp-server/tools/utils/toolDefinition.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/toolDefinition.js +2 -0
- package/dist/mcp-server/tools/utils/toolDefinition.js.map +1 -0
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +34 -0
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js +68 -0
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -0
- package/dist/mcp-server/transports/ITransport.d.ts +15 -0
- package/dist/mcp-server/transports/ITransport.d.ts.map +1 -0
- package/dist/mcp-server/transports/ITransport.js +2 -0
- package/dist/mcp-server/transports/ITransport.js.map +1 -0
- package/dist/mcp-server/transports/auth/authFactory.d.ts +11 -0
- package/dist/mcp-server/transports/auth/authFactory.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/authFactory.js +43 -0
- package/dist/mcp-server/transports/auth/authFactory.js.map +1 -0
- package/dist/mcp-server/transports/auth/authMiddleware.d.ts +24 -0
- package/dist/mcp-server/transports/auth/authMiddleware.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/authMiddleware.js +69 -0
- package/dist/mcp-server/transports/auth/authMiddleware.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.d.ts +34 -0
- package/dist/mcp-server/transports/auth/lib/authContext.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.js +25 -0
- package/dist/mcp-server/transports/auth/lib/authContext.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.d.ts +19 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.js +2 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.d.ts +18 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.js +64 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/checkScopes.d.ts +25 -0
- package/dist/mcp-server/transports/auth/lib/checkScopes.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/checkScopes.js +34 -0
- package/dist/mcp-server/transports/auth/lib/checkScopes.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/claimParser.d.ts +34 -0
- package/dist/mcp-server/transports/auth/lib/claimParser.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/claimParser.js +58 -0
- package/dist/mcp-server/transports/auth/lib/claimParser.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/withAuth.d.ts +25 -0
- package/dist/mcp-server/transports/auth/lib/withAuth.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/withAuth.js +30 -0
- package/dist/mcp-server/transports/auth/lib/withAuth.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts +18 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.js +2 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts +14 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +86 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts +14 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +113 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts +25 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.js +112 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -0
- package/dist/mcp-server/transports/http/httpTransport.d.ts +47 -0
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpTransport.js +396 -0
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -0
- package/dist/mcp-server/transports/http/httpTypes.d.ts +17 -0
- package/dist/mcp-server/transports/http/httpTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpTypes.js +2 -0
- package/dist/mcp-server/transports/http/httpTypes.js.map +1 -0
- package/dist/mcp-server/transports/http/protectedResourceMetadata.d.ts +21 -0
- package/dist/mcp-server/transports/http/protectedResourceMetadata.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/protectedResourceMetadata.js +44 -0
- package/dist/mcp-server/transports/http/protectedResourceMetadata.js.map +1 -0
- package/dist/mcp-server/transports/http/sessionIdUtils.d.ts +33 -0
- package/dist/mcp-server/transports/http/sessionIdUtils.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/sessionIdUtils.js +54 -0
- package/dist/mcp-server/transports/http/sessionIdUtils.js.map +1 -0
- package/dist/mcp-server/transports/http/sessionStore.d.ts +87 -0
- package/dist/mcp-server/transports/http/sessionStore.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/sessionStore.js +209 -0
- package/dist/mcp-server/transports/http/sessionStore.js.map +1 -0
- package/dist/mcp-server/transports/manager.d.ts +22 -0
- package/dist/mcp-server/transports/manager.d.ts.map +1 -0
- package/dist/mcp-server/transports/manager.js +62 -0
- package/dist/mcp-server/transports/manager.js.map +1 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts +44 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.js +63 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -0
- package/dist/services/graph/core/GraphService.d.ts +205 -0
- package/dist/services/graph/core/GraphService.d.ts.map +1 -0
- package/dist/services/graph/core/GraphService.js +231 -0
- package/dist/services/graph/core/GraphService.js.map +1 -0
- package/dist/services/graph/core/IGraphProvider.d.ts +295 -0
- package/dist/services/graph/core/IGraphProvider.d.ts.map +1 -0
- package/dist/services/graph/core/IGraphProvider.js +8 -0
- package/dist/services/graph/core/IGraphProvider.js.map +1 -0
- package/dist/services/graph/types.d.ts +107 -0
- package/dist/services/graph/types.d.ts.map +1 -0
- package/dist/services/graph/types.js +8 -0
- package/dist/services/graph/types.js.map +1 -0
- package/dist/services/llm/core/ILlmProvider.d.ts +86 -0
- package/dist/services/llm/core/ILlmProvider.d.ts.map +1 -0
- package/dist/services/llm/core/ILlmProvider.js +2 -0
- package/dist/services/llm/core/ILlmProvider.js.map +1 -0
- package/dist/services/llm/providers/openrouter.provider.d.ts +187 -0
- package/dist/services/llm/providers/openrouter.provider.d.ts.map +1 -0
- package/dist/services/llm/providers/openrouter.provider.js +302 -0
- package/dist/services/llm/providers/openrouter.provider.js.map +1 -0
- package/dist/services/llm/types.d.ts +16 -0
- package/dist/services/llm/types.d.ts.map +1 -0
- package/dist/services/llm/types.js +9 -0
- package/dist/services/llm/types.js.map +1 -0
- package/dist/services/speech/core/ISpeechProvider.d.ts +92 -0
- package/dist/services/speech/core/ISpeechProvider.d.ts.map +1 -0
- package/dist/services/speech/core/ISpeechProvider.js +34 -0
- package/dist/services/speech/core/ISpeechProvider.js.map +1 -0
- package/dist/services/speech/core/SpeechService.d.ts +87 -0
- package/dist/services/speech/core/SpeechService.d.ts.map +1 -0
- package/dist/services/speech/core/SpeechService.js +135 -0
- package/dist/services/speech/core/SpeechService.js.map +1 -0
- package/dist/services/speech/providers/elevenlabs.provider.d.ts +77 -0
- package/dist/services/speech/providers/elevenlabs.provider.d.ts.map +1 -0
- package/dist/services/speech/providers/elevenlabs.provider.js +199 -0
- package/dist/services/speech/providers/elevenlabs.provider.js.map +1 -0
- package/dist/services/speech/providers/whisper.provider.d.ts +94 -0
- package/dist/services/speech/providers/whisper.provider.d.ts.map +1 -0
- package/dist/services/speech/providers/whisper.provider.js +240 -0
- package/dist/services/speech/providers/whisper.provider.js.map +1 -0
- package/dist/services/speech/types.d.ts +173 -0
- package/dist/services/speech/types.d.ts.map +1 -0
- package/dist/services/speech/types.js +8 -0
- package/dist/services/speech/types.js.map +1 -0
- package/dist/storage/core/IStorageProvider.d.ts +159 -0
- package/dist/storage/core/IStorageProvider.d.ts.map +1 -0
- package/dist/storage/core/IStorageProvider.js +2 -0
- package/dist/storage/core/IStorageProvider.js.map +1 -0
- package/dist/storage/core/StorageService.d.ts +22 -0
- package/dist/storage/core/StorageService.d.ts.map +1 -0
- package/dist/storage/core/StorageService.js +151 -0
- package/dist/storage/core/StorageService.js.map +1 -0
- package/dist/storage/core/storageFactory.d.ts +66 -0
- package/dist/storage/core/storageFactory.d.ts.map +1 -0
- package/dist/storage/core/storageFactory.js +122 -0
- package/dist/storage/core/storageFactory.js.map +1 -0
- package/dist/storage/core/storageValidation.d.ts +77 -0
- package/dist/storage/core/storageValidation.d.ts.map +1 -0
- package/dist/storage/core/storageValidation.js +303 -0
- package/dist/storage/core/storageValidation.js.map +1 -0
- package/dist/storage/providers/cloudflare/d1Provider.d.ts +94 -0
- package/dist/storage/providers/cloudflare/d1Provider.d.ts.map +1 -0
- package/dist/storage/providers/cloudflare/d1Provider.js +347 -0
- package/dist/storage/providers/cloudflare/d1Provider.js.map +1 -0
- package/dist/storage/providers/cloudflare/kvProvider.d.ts +21 -0
- package/dist/storage/providers/cloudflare/kvProvider.d.ts.map +1 -0
- package/dist/storage/providers/cloudflare/kvProvider.js +183 -0
- package/dist/storage/providers/cloudflare/kvProvider.js.map +1 -0
- package/dist/storage/providers/cloudflare/r2Provider.d.ts +28 -0
- package/dist/storage/providers/cloudflare/r2Provider.d.ts.map +1 -0
- package/dist/storage/providers/cloudflare/r2Provider.js +222 -0
- package/dist/storage/providers/cloudflare/r2Provider.js.map +1 -0
- package/dist/storage/providers/fileSystem/fileSystemProvider.d.ts +20 -0
- package/dist/storage/providers/fileSystem/fileSystemProvider.d.ts.map +1 -0
- package/dist/storage/providers/fileSystem/fileSystemProvider.js +282 -0
- package/dist/storage/providers/fileSystem/fileSystemProvider.js.map +1 -0
- package/dist/storage/providers/inMemory/inMemoryProvider.d.ts +21 -0
- package/dist/storage/providers/inMemory/inMemoryProvider.d.ts.map +1 -0
- package/dist/storage/providers/inMemory/inMemoryProvider.js +139 -0
- package/dist/storage/providers/inMemory/inMemoryProvider.js.map +1 -0
- package/dist/storage/providers/supabase/supabase.types.d.ts +49 -0
- package/dist/storage/providers/supabase/supabase.types.d.ts.map +1 -0
- package/dist/storage/providers/supabase/supabase.types.js +8 -0
- package/dist/storage/providers/supabase/supabase.types.js.map +1 -0
- package/dist/storage/providers/supabase/supabaseProvider.d.ts +24 -0
- package/dist/storage/providers/supabase/supabaseProvider.d.ts.map +1 -0
- package/dist/storage/providers/supabase/supabaseProvider.js +209 -0
- package/dist/storage/providers/supabase/supabaseProvider.js.map +1 -0
- package/dist/testing/index.d.ts +53 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +132 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/types-global/errors.d.ts +83 -0
- package/dist/types-global/errors.d.ts.map +1 -0
- package/dist/types-global/errors.js +113 -0
- package/dist/types-global/errors.js.map +1 -0
- package/dist/utils/formatting/diffFormatter.d.ts +227 -0
- package/dist/utils/formatting/diffFormatter.d.ts.map +1 -0
- package/dist/utils/formatting/diffFormatter.js +369 -0
- package/dist/utils/formatting/diffFormatter.js.map +1 -0
- package/dist/utils/formatting/index.d.ts +9 -0
- package/dist/utils/formatting/index.d.ts.map +1 -0
- package/dist/utils/formatting/index.js +9 -0
- package/dist/utils/formatting/index.js.map +1 -0
- package/dist/utils/formatting/markdownBuilder.d.ts +543 -0
- package/dist/utils/formatting/markdownBuilder.d.ts.map +1 -0
- package/dist/utils/formatting/markdownBuilder.js +674 -0
- package/dist/utils/formatting/markdownBuilder.js.map +1 -0
- package/dist/utils/formatting/tableFormatter.d.ts +261 -0
- package/dist/utils/formatting/tableFormatter.d.ts.map +1 -0
- package/dist/utils/formatting/tableFormatter.js +456 -0
- package/dist/utils/formatting/tableFormatter.js.map +1 -0
- package/dist/utils/formatting/treeFormatter.d.ts +344 -0
- package/dist/utils/formatting/treeFormatter.d.ts.map +1 -0
- package/dist/utils/formatting/treeFormatter.js +400 -0
- package/dist/utils/formatting/treeFormatter.js.map +1 -0
- package/dist/utils/internal/encoding.d.ts +42 -0
- package/dist/utils/internal/encoding.d.ts.map +1 -0
- package/dist/utils/internal/encoding.js +87 -0
- package/dist/utils/internal/encoding.js.map +1 -0
- package/dist/utils/internal/error-handler/errorHandler.d.ts +140 -0
- package/dist/utils/internal/error-handler/errorHandler.d.ts.map +1 -0
- package/dist/utils/internal/error-handler/errorHandler.js +318 -0
- package/dist/utils/internal/error-handler/errorHandler.js.map +1 -0
- package/dist/utils/internal/error-handler/helpers.d.ts +98 -0
- package/dist/utils/internal/error-handler/helpers.d.ts.map +1 -0
- package/dist/utils/internal/error-handler/helpers.js +214 -0
- package/dist/utils/internal/error-handler/helpers.js.map +1 -0
- package/dist/utils/internal/error-handler/mappings.d.ts +85 -0
- package/dist/utils/internal/error-handler/mappings.d.ts.map +1 -0
- package/dist/utils/internal/error-handler/mappings.js +234 -0
- package/dist/utils/internal/error-handler/mappings.js.map +1 -0
- package/dist/utils/internal/error-handler/types.d.ts +160 -0
- package/dist/utils/internal/error-handler/types.d.ts.map +1 -0
- package/dist/utils/internal/error-handler/types.js +6 -0
- package/dist/utils/internal/error-handler/types.js.map +1 -0
- package/dist/utils/internal/health.d.ts +60 -0
- package/dist/utils/internal/health.d.ts.map +1 -0
- package/dist/utils/internal/health.js +46 -0
- package/dist/utils/internal/health.js.map +1 -0
- package/dist/utils/internal/logger.d.ts +300 -0
- package/dist/utils/internal/logger.d.ts.map +1 -0
- package/dist/utils/internal/logger.js +573 -0
- package/dist/utils/internal/logger.js.map +1 -0
- package/dist/utils/internal/performance.d.ts +78 -0
- package/dist/utils/internal/performance.d.ts.map +1 -0
- package/dist/utils/internal/performance.js +227 -0
- package/dist/utils/internal/performance.js.map +1 -0
- package/dist/utils/internal/requestContext.d.ts +200 -0
- package/dist/utils/internal/requestContext.d.ts.map +1 -0
- package/dist/utils/internal/requestContext.js +163 -0
- package/dist/utils/internal/requestContext.js.map +1 -0
- package/dist/utils/internal/runtime.d.ts +49 -0
- package/dist/utils/internal/runtime.d.ts.map +1 -0
- package/dist/utils/internal/runtime.js +90 -0
- package/dist/utils/internal/runtime.js.map +1 -0
- package/dist/utils/internal/startupBanner.d.ts +23 -0
- package/dist/utils/internal/startupBanner.d.ts.map +1 -0
- package/dist/utils/internal/startupBanner.js +34 -0
- package/dist/utils/internal/startupBanner.js.map +1 -0
- package/dist/utils/metrics/tokenCounter.d.ts +97 -0
- package/dist/utils/metrics/tokenCounter.d.ts.map +1 -0
- package/dist/utils/metrics/tokenCounter.js +162 -0
- package/dist/utils/metrics/tokenCounter.js.map +1 -0
- package/dist/utils/network/fetchWithTimeout.d.ts +91 -0
- package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -0
- package/dist/utils/network/fetchWithTimeout.js +305 -0
- package/dist/utils/network/fetchWithTimeout.js.map +1 -0
- package/dist/utils/pagination/pagination.d.ts +157 -0
- package/dist/utils/pagination/pagination.d.ts.map +1 -0
- package/dist/utils/pagination/pagination.js +191 -0
- package/dist/utils/pagination/pagination.js.map +1 -0
- package/dist/utils/parsing/csvParser.d.ts +84 -0
- package/dist/utils/parsing/csvParser.d.ts.map +1 -0
- package/dist/utils/parsing/csvParser.js +132 -0
- package/dist/utils/parsing/csvParser.js.map +1 -0
- package/dist/utils/parsing/dateParser.d.ts +103 -0
- package/dist/utils/parsing/dateParser.d.ts.map +1 -0
- package/dist/utils/parsing/dateParser.js +142 -0
- package/dist/utils/parsing/dateParser.js.map +1 -0
- package/dist/utils/parsing/frontmatterParser.d.ts +91 -0
- package/dist/utils/parsing/frontmatterParser.d.ts.map +1 -0
- package/dist/utils/parsing/frontmatterParser.js +163 -0
- package/dist/utils/parsing/frontmatterParser.js.map +1 -0
- package/dist/utils/parsing/index.d.ts +15 -0
- package/dist/utils/parsing/index.d.ts.map +1 -0
- package/dist/utils/parsing/index.js +15 -0
- package/dist/utils/parsing/index.js.map +1 -0
- package/dist/utils/parsing/jsonParser.d.ts +115 -0
- package/dist/utils/parsing/jsonParser.d.ts.map +1 -0
- package/dist/utils/parsing/jsonParser.js +177 -0
- package/dist/utils/parsing/jsonParser.js.map +1 -0
- package/dist/utils/parsing/pdfParser.d.ts +563 -0
- package/dist/utils/parsing/pdfParser.d.ts.map +1 -0
- package/dist/utils/parsing/pdfParser.js +775 -0
- package/dist/utils/parsing/pdfParser.js.map +1 -0
- package/dist/utils/parsing/thinkBlock.d.ts +31 -0
- package/dist/utils/parsing/thinkBlock.d.ts.map +1 -0
- package/dist/utils/parsing/thinkBlock.js +31 -0
- package/dist/utils/parsing/thinkBlock.js.map +1 -0
- package/dist/utils/parsing/xmlParser.d.ts +69 -0
- package/dist/utils/parsing/xmlParser.d.ts.map +1 -0
- package/dist/utils/parsing/xmlParser.js +140 -0
- package/dist/utils/parsing/xmlParser.js.map +1 -0
- package/dist/utils/parsing/yamlParser.d.ts +64 -0
- package/dist/utils/parsing/yamlParser.d.ts.map +1 -0
- package/dist/utils/parsing/yamlParser.js +129 -0
- package/dist/utils/parsing/yamlParser.js.map +1 -0
- package/dist/utils/scheduling/scheduler.d.ts +174 -0
- package/dist/utils/scheduling/scheduler.d.ts.map +1 -0
- package/dist/utils/scheduling/scheduler.js +248 -0
- package/dist/utils/scheduling/scheduler.js.map +1 -0
- package/dist/utils/security/idGenerator.d.ts +189 -0
- package/dist/utils/security/idGenerator.d.ts.map +1 -0
- package/dist/utils/security/idGenerator.js +301 -0
- package/dist/utils/security/idGenerator.js.map +1 -0
- package/dist/utils/security/index.d.ts +8 -0
- package/dist/utils/security/index.d.ts.map +1 -0
- package/dist/utils/security/index.js +8 -0
- package/dist/utils/security/index.js.map +1 -0
- package/dist/utils/security/rateLimiter.d.ts +171 -0
- package/dist/utils/security/rateLimiter.d.ts.map +1 -0
- package/dist/utils/security/rateLimiter.js +294 -0
- package/dist/utils/security/rateLimiter.js.map +1 -0
- package/dist/utils/security/sanitization.d.ts +430 -0
- package/dist/utils/security/sanitization.d.ts.map +1 -0
- package/dist/utils/security/sanitization.js +759 -0
- package/dist/utils/security/sanitization.js.map +1 -0
- package/dist/utils/telemetry/index.d.ts +12 -0
- package/dist/utils/telemetry/index.d.ts.map +1 -0
- package/dist/utils/telemetry/index.js +12 -0
- package/dist/utils/telemetry/index.js.map +1 -0
- package/dist/utils/telemetry/instrumentation.d.ts +62 -0
- package/dist/utils/telemetry/instrumentation.d.ts.map +1 -0
- package/dist/utils/telemetry/instrumentation.js +223 -0
- package/dist/utils/telemetry/instrumentation.js.map +1 -0
- package/dist/utils/telemetry/metrics.d.ts +170 -0
- package/dist/utils/telemetry/metrics.d.ts.map +1 -0
- package/dist/utils/telemetry/metrics.js +205 -0
- package/dist/utils/telemetry/metrics.js.map +1 -0
- package/dist/utils/telemetry/semconv.d.ts +147 -0
- package/dist/utils/telemetry/semconv.d.ts.map +1 -0
- package/dist/utils/telemetry/semconv.js +159 -0
- package/dist/utils/telemetry/semconv.js.map +1 -0
- package/dist/utils/telemetry/trace.d.ts +141 -0
- package/dist/utils/telemetry/trace.d.ts.map +1 -0
- package/dist/utils/telemetry/trace.js +193 -0
- package/dist/utils/telemetry/trace.js.map +1 -0
- package/dist/utils/types/guards.d.ts +209 -0
- package/dist/utils/types/guards.d.ts.map +1 -0
- package/dist/utils/types/guards.js +229 -0
- package/dist/utils/types/guards.js.map +1 -0
- package/dist/utils/types/index.d.ts +6 -0
- package/dist/utils/types/index.d.ts.map +1 -0
- package/dist/utils/types/index.js +6 -0
- package/dist/utils/types/index.js.map +1 -0
- package/dist/worker.d.ts +59 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +216 -0
- package/dist/worker.js.map +1 -0
- package/package.json +377 -0
- package/skills/README.md +38 -0
- package/skills/add-export/SKILL.md +49 -0
- package/skills/add-prompt/SKILL.md +97 -0
- package/skills/add-provider/SKILL.md +53 -0
- package/skills/add-resource/SKILL.md +107 -0
- package/skills/add-service/SKILL.md +113 -0
- package/skills/add-tool/SKILL.md +110 -0
- package/skills/api-auth/SKILL.md +173 -0
- package/skills/api-config/SKILL.md +68 -0
- package/skills/api-context/SKILL.md +321 -0
- package/skills/api-errors/SKILL.md +146 -0
- package/skills/api-services/SKILL.md +24 -0
- package/skills/api-services/references/graph.md +124 -0
- package/skills/api-services/references/llm.md +46 -0
- package/skills/api-services/references/speech.md +72 -0
- package/skills/api-testing/SKILL.md +263 -0
- package/skills/api-utils/SKILL.md +106 -0
- package/skills/api-utils/references/formatting.md +237 -0
- package/skills/api-utils/references/parsing.md +263 -0
- package/skills/api-utils/references/security.md +226 -0
- package/skills/api-workers/SKILL.md +165 -0
- package/skills/devcheck/SKILL.md +31 -0
- package/skills/maintenance/SKILL.md +52 -0
- package/skills/migrate-mcp-ts-template/SKILL.md +131 -0
- package/skills/release/SKILL.md +67 -0
- package/skills/setup/SKILL.md +89 -0
- package/skills/walkthrough-init/SKILL.md +50 -0
- package/templates/.env.example +17 -0
- package/templates/AGENTS.md +113 -0
- package/templates/CLAUDE.md +113 -0
- package/templates/_tsconfig.json +33 -0
- package/templates/biome.template.json +43 -0
- package/templates/package.json +26 -0
- package/templates/src/index.ts +16 -0
- package/templates/src/mcp-server/prompts/definitions/echo.prompt.ts +19 -0
- package/templates/src/mcp-server/resources/definitions/echo.resource.ts +30 -0
- package/templates/src/mcp-server/tools/definitions/echo.tool.ts +24 -0
- package/templates/vitest.config.ts +12 -0
- package/tsconfig.base.json +44 -0
- package/vitest.config.base.ts +38 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Helper utilities for error inspection and normalization.
|
|
3
|
+
* Enhanced with cause chain extraction and circular reference detection.
|
|
4
|
+
* @module src/utils/internal/error-handler/helpers
|
|
5
|
+
*/
|
|
6
|
+
import { McpError } from '../../../types-global/errors.js';
|
|
7
|
+
import { isAggregateError } from '../../../utils/types/guards.js';
|
|
8
|
+
/**
|
|
9
|
+
* Retrieves a descriptive name for an error object or value.
|
|
10
|
+
*
|
|
11
|
+
* - `Error` instances → `error.name` (e.g. `'TypeError'`), falling back to `'Error'`.
|
|
12
|
+
* - `null` → `'NullValueEncountered'`
|
|
13
|
+
* - `undefined` → `'UndefinedValueEncountered'`
|
|
14
|
+
* - Non-plain objects with a named constructor → `'<ConstructorName>Encountered'`
|
|
15
|
+
* - Everything else → `'<typeof value>Encountered'` (e.g. `'stringEncountered'`)
|
|
16
|
+
*
|
|
17
|
+
* @param error - The error object or value.
|
|
18
|
+
* @returns A stable, human-readable string identifying the error's type.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* getErrorName(new TypeError('bad')); // → 'TypeError'
|
|
23
|
+
* getErrorName('oops'); // → 'stringEncountered'
|
|
24
|
+
* getErrorName(null); // → 'NullValueEncountered'
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export function getErrorName(error) {
|
|
28
|
+
if (error instanceof Error) {
|
|
29
|
+
return error.name || 'Error';
|
|
30
|
+
}
|
|
31
|
+
if (error === null) {
|
|
32
|
+
return 'NullValueEncountered';
|
|
33
|
+
}
|
|
34
|
+
if (error === undefined) {
|
|
35
|
+
return 'UndefinedValueEncountered';
|
|
36
|
+
}
|
|
37
|
+
if (typeof error === 'object' &&
|
|
38
|
+
error !== null &&
|
|
39
|
+
error.constructor &&
|
|
40
|
+
typeof error.constructor.name === 'string' &&
|
|
41
|
+
error.constructor.name !== 'Object') {
|
|
42
|
+
return `${error.constructor.name}Encountered`;
|
|
43
|
+
}
|
|
44
|
+
return `${typeof error}Encountered`;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Extracts a human-readable message string from any thrown value.
|
|
48
|
+
*
|
|
49
|
+
* Handles every JavaScript type so that `catch (e)` blocks never produce `[object Object]`:
|
|
50
|
+
* - `AggregateError` → combines up to 3 inner error messages after the outer message.
|
|
51
|
+
* - `Error` → `error.message`
|
|
52
|
+
* - `null` / `undefined` → descriptive literal strings.
|
|
53
|
+
* - Primitives (`string`, `number`, `boolean`, `bigint`, `symbol`) → string-coerced value.
|
|
54
|
+
* - Functions → `[function <name>]`
|
|
55
|
+
* - Objects → JSON-serialized if possible; otherwise constructor name fallback.
|
|
56
|
+
* - If conversion itself throws, returns a safe fallback describing the conversion error.
|
|
57
|
+
*
|
|
58
|
+
* @param error - The thrown value to extract a message from.
|
|
59
|
+
* @returns A non-empty string describing the error.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* getErrorMessage(new Error('oops')); // → 'oops'
|
|
64
|
+
* getErrorMessage('string thrown'); // → 'string thrown'
|
|
65
|
+
* getErrorMessage(42); // → '42'
|
|
66
|
+
* getErrorMessage(null); // → 'Null value encountered as error'
|
|
67
|
+
* getErrorMessage(new AggregateError([new Error('a'), new Error('b')], 'multi'));
|
|
68
|
+
* // → 'multi: a; b'
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export function getErrorMessage(error) {
|
|
72
|
+
try {
|
|
73
|
+
if (error instanceof Error) {
|
|
74
|
+
// AggregateError should surface combined messages succinctly
|
|
75
|
+
if (isAggregateError(error)) {
|
|
76
|
+
const inner = error.errors
|
|
77
|
+
.map((e) => (e instanceof Error ? e.message : String(e)))
|
|
78
|
+
.filter(Boolean)
|
|
79
|
+
.slice(0, 3)
|
|
80
|
+
.join('; ');
|
|
81
|
+
return inner ? `${error.message}: ${inner}` : error.message;
|
|
82
|
+
}
|
|
83
|
+
return error.message;
|
|
84
|
+
}
|
|
85
|
+
if (error === null) {
|
|
86
|
+
return 'Null value encountered as error';
|
|
87
|
+
}
|
|
88
|
+
if (error === undefined) {
|
|
89
|
+
return 'Undefined value encountered as error';
|
|
90
|
+
}
|
|
91
|
+
if (typeof error === 'string') {
|
|
92
|
+
return error;
|
|
93
|
+
}
|
|
94
|
+
if (typeof error === 'number' || typeof error === 'boolean') {
|
|
95
|
+
return String(error);
|
|
96
|
+
}
|
|
97
|
+
if (typeof error === 'bigint') {
|
|
98
|
+
return error.toString();
|
|
99
|
+
}
|
|
100
|
+
if (typeof error === 'function') {
|
|
101
|
+
return `[function ${error.name || 'anonymous'}]`;
|
|
102
|
+
}
|
|
103
|
+
if (typeof error === 'object') {
|
|
104
|
+
try {
|
|
105
|
+
const json = JSON.stringify(error);
|
|
106
|
+
if (json && json !== '{}')
|
|
107
|
+
return json;
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// fall through
|
|
111
|
+
}
|
|
112
|
+
const ctor = error.constructor?.name;
|
|
113
|
+
return `Non-Error object encountered (constructor: ${ctor || 'Object'})`;
|
|
114
|
+
}
|
|
115
|
+
if (typeof error === 'symbol') {
|
|
116
|
+
return error.toString();
|
|
117
|
+
}
|
|
118
|
+
// c8 ignore next
|
|
119
|
+
return '[unrepresentable error]';
|
|
120
|
+
}
|
|
121
|
+
catch (conversionError) {
|
|
122
|
+
return `Error converting error to string: ${conversionError instanceof Error ? conversionError.message : 'Unknown conversion error'}`;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Extracts the complete error cause chain into a flat array of `ErrorCauseNode` objects.
|
|
127
|
+
*
|
|
128
|
+
* Starts at `error` (depth 0) and follows `error.cause` links until:
|
|
129
|
+
* - a non-Error value is encountered (appended as the terminal node, then stops),
|
|
130
|
+
* - a circular reference is detected (sentinel node appended, then stops),
|
|
131
|
+
* - or `maxDepth` is reached (sentinel node appended, then stops).
|
|
132
|
+
*
|
|
133
|
+
* String causes are treated as terminal `StringError` nodes.
|
|
134
|
+
* `McpError` nodes include the `data` property when present.
|
|
135
|
+
* Circular references are detected via `WeakSet` identity tracking.
|
|
136
|
+
*
|
|
137
|
+
* @param error - The outermost error to start traversal from.
|
|
138
|
+
* @param maxDepth - Maximum number of nodes to traverse before stopping. Defaults to `20`.
|
|
139
|
+
* @returns An array of `ErrorCauseNode` objects ordered from outermost (depth 0) to deepest cause.
|
|
140
|
+
* An empty array is returned if `error` itself is falsy.
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```ts
|
|
144
|
+
* const inner = new Error('db connection failed');
|
|
145
|
+
* const outer = new Error('user lookup failed', { cause: inner });
|
|
146
|
+
* const chain = extractErrorCauseChain(outer);
|
|
147
|
+
* // → [
|
|
148
|
+
* // { name: 'Error', message: 'user lookup failed', depth: 0, stack: '...' },
|
|
149
|
+
* // { name: 'Error', message: 'db connection failed', depth: 1, stack: '...' },
|
|
150
|
+
* // ]
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
export function extractErrorCauseChain(error, maxDepth = 20) {
|
|
154
|
+
const chain = [];
|
|
155
|
+
const seen = new WeakSet();
|
|
156
|
+
let current = error;
|
|
157
|
+
let depth = 0;
|
|
158
|
+
while (current && depth < maxDepth) {
|
|
159
|
+
// Circular reference detection
|
|
160
|
+
if (typeof current === 'object' && current !== null) {
|
|
161
|
+
if (seen.has(current)) {
|
|
162
|
+
chain.push({
|
|
163
|
+
name: 'CircularReference',
|
|
164
|
+
message: 'Circular reference detected in error cause chain',
|
|
165
|
+
depth,
|
|
166
|
+
});
|
|
167
|
+
break;
|
|
168
|
+
}
|
|
169
|
+
seen.add(current);
|
|
170
|
+
}
|
|
171
|
+
if (current instanceof Error) {
|
|
172
|
+
const node = {
|
|
173
|
+
name: current.name,
|
|
174
|
+
message: current.message,
|
|
175
|
+
depth,
|
|
176
|
+
// Only include stack if it exists (exact optional property types)
|
|
177
|
+
...(current.stack !== undefined ? { stack: current.stack } : {}),
|
|
178
|
+
};
|
|
179
|
+
// Extract data from McpError instances
|
|
180
|
+
if (current instanceof McpError && current.data) {
|
|
181
|
+
node.data = current.data;
|
|
182
|
+
}
|
|
183
|
+
chain.push(node);
|
|
184
|
+
// Continue traversing cause chain
|
|
185
|
+
current = current.cause;
|
|
186
|
+
}
|
|
187
|
+
else if (typeof current === 'string') {
|
|
188
|
+
chain.push({
|
|
189
|
+
name: 'StringError',
|
|
190
|
+
message: current,
|
|
191
|
+
depth,
|
|
192
|
+
});
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
chain.push({
|
|
197
|
+
name: getErrorName(current),
|
|
198
|
+
message: getErrorMessage(current),
|
|
199
|
+
depth,
|
|
200
|
+
});
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
203
|
+
depth++;
|
|
204
|
+
}
|
|
205
|
+
if (depth >= maxDepth) {
|
|
206
|
+
chain.push({
|
|
207
|
+
name: 'MaxDepthExceeded',
|
|
208
|
+
message: `Error cause chain exceeded maximum depth of ${maxDepth}`,
|
|
209
|
+
depth,
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
return chain;
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/utils/internal/error-handler/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Shared error classification constants used by the error handler.
|
|
3
|
+
* Enhanced with regex caching for performance and provider-specific error patterns.
|
|
4
|
+
* @module src/utils/internal/error-handler/mappings
|
|
5
|
+
*/
|
|
6
|
+
import { JsonRpcErrorCode } from '../../../types-global/errors.js';
|
|
7
|
+
import type { BaseErrorMapping } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Compiles and caches a regex pattern for repeated use without re-compilation overhead.
|
|
10
|
+
*
|
|
11
|
+
* - String patterns are compiled with the `i` (case-insensitive) flag.
|
|
12
|
+
* - `RegExp` patterns are re-compiled without the `g` flag (global flag is removed to prevent
|
|
13
|
+
* stateful `lastIndex` bugs when the same pattern is reused across multiple `.test()` calls)
|
|
14
|
+
* and with `i` added if absent.
|
|
15
|
+
* - Cache key for `RegExp` inputs is `source + flags`; for strings it is the string itself.
|
|
16
|
+
*
|
|
17
|
+
* @param pattern - A string or `RegExp` to compile and cache.
|
|
18
|
+
* @returns The compiled, cached `RegExp` instance.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const re = getCompiledPattern('not found');
|
|
23
|
+
* re.test('Resource not found'); // → true
|
|
24
|
+
*
|
|
25
|
+
* const re2 = getCompiledPattern(/ThrottlingException/i);
|
|
26
|
+
* re2.test('ThrottlingException: rate exceeded'); // → true
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function getCompiledPattern(pattern: string | RegExp): RegExp;
|
|
30
|
+
/**
|
|
31
|
+
* Extended error mapping interface that includes pre-compiled regex pattern.
|
|
32
|
+
* @private
|
|
33
|
+
*/
|
|
34
|
+
interface CompiledErrorMapping extends BaseErrorMapping {
|
|
35
|
+
/** Pre-compiled regex pattern for efficient matching */
|
|
36
|
+
compiledPattern: RegExp;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Maps standard JavaScript error constructor names to `JsonRpcErrorCode` values.
|
|
40
|
+
*
|
|
41
|
+
* Consulted by `ErrorHandler.determineErrorCode` as the first pattern-match step after
|
|
42
|
+
* checking for `McpError` instances. Constructor names are matched via `getErrorName()`.
|
|
43
|
+
*
|
|
44
|
+
* | Constructor | Mapped Code |
|
|
45
|
+
* |-------------|-------------|
|
|
46
|
+
* | `SyntaxError` | `ValidationError` |
|
|
47
|
+
* | `TypeError` | `ValidationError` |
|
|
48
|
+
* | `RangeError` | `ValidationError` |
|
|
49
|
+
* | `URIError` | `ValidationError` |
|
|
50
|
+
* | `ReferenceError` | `InternalError` |
|
|
51
|
+
* | `EvalError` | `InternalError` |
|
|
52
|
+
* | `AggregateError` | `InternalError` |
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```ts
|
|
56
|
+
* ERROR_TYPE_MAPPINGS['TypeError']; // → JsonRpcErrorCode.ValidationError
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare const ERROR_TYPE_MAPPINGS: Readonly<Record<string, JsonRpcErrorCode>>;
|
|
60
|
+
/**
|
|
61
|
+
* Pre-compiled common error patterns used by `ErrorHandler.determineErrorCode`.
|
|
62
|
+
*
|
|
63
|
+
* Derived from `COMMON_ERROR_PATTERNS` — each entry has its `pattern` compiled via
|
|
64
|
+
* `getCompiledPattern` at module initialization. Checked after `COMPILED_PROVIDER_PATTERNS`
|
|
65
|
+
* (provider patterns are more specific and take priority).
|
|
66
|
+
*
|
|
67
|
+
* Patterns cover: auth/unauthorized, forbidden, not-found, validation, conflict,
|
|
68
|
+
* rate-limit, timeout/abort, service-unavailable, and Zod schema errors.
|
|
69
|
+
*/
|
|
70
|
+
export declare const COMPILED_ERROR_PATTERNS: ReadonlyArray<Readonly<CompiledErrorMapping>>;
|
|
71
|
+
/**
|
|
72
|
+
* Pre-compiled provider-specific error patterns used by `ErrorHandler.determineErrorCode`.
|
|
73
|
+
*
|
|
74
|
+
* Derived from `PROVIDER_ERROR_PATTERNS` — each entry has its `pattern` compiled via
|
|
75
|
+
* `getCompiledPattern` at module initialization. Checked before `COMPILED_ERROR_PATTERNS`
|
|
76
|
+
* because provider patterns are more specific (e.g. `status code 429` is more precise than
|
|
77
|
+
* the generic `rate limit` common pattern).
|
|
78
|
+
*
|
|
79
|
+
* Covers: AWS service errors, HTTP status codes (401/403/404/409/429/5xx),
|
|
80
|
+
* database connection/constraint errors, Supabase JWT/RLS, OpenRouter/LLM quota errors,
|
|
81
|
+
* and low-level network errors (ECONNREFUSED, ECONNRESET, ENOTFOUND, ETIMEDOUT).
|
|
82
|
+
*/
|
|
83
|
+
export declare const COMPILED_PROVIDER_PATTERNS: ReadonlyArray<Readonly<CompiledErrorMapping>>;
|
|
84
|
+
export {};
|
|
85
|
+
//# sourceMappingURL=mappings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mappings.d.ts","sourceRoot":"","sources":["../../../../src/utils/internal/error-handler/mappings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AASnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAyBnE;AAED;;;GAGG;AACH,UAAU,oBAAqB,SAAQ,gBAAgB;IACrD,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAQ1E,CAAC;AAkDF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAI7E,CAAC;AA6EN;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAIhF,CAAC"}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Shared error classification constants used by the error handler.
|
|
3
|
+
* Enhanced with regex caching for performance and provider-specific error patterns.
|
|
4
|
+
* @module src/utils/internal/error-handler/mappings
|
|
5
|
+
*/
|
|
6
|
+
import { JsonRpcErrorCode } from '../../../types-global/errors.js';
|
|
7
|
+
/**
|
|
8
|
+
* Compiled regex cache for performance optimization.
|
|
9
|
+
* Prevents repeated regex compilation on every error classification.
|
|
10
|
+
* @private
|
|
11
|
+
*/
|
|
12
|
+
const COMPILED_PATTERN_CACHE = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* Compiles and caches a regex pattern for repeated use without re-compilation overhead.
|
|
15
|
+
*
|
|
16
|
+
* - String patterns are compiled with the `i` (case-insensitive) flag.
|
|
17
|
+
* - `RegExp` patterns are re-compiled without the `g` flag (global flag is removed to prevent
|
|
18
|
+
* stateful `lastIndex` bugs when the same pattern is reused across multiple `.test()` calls)
|
|
19
|
+
* and with `i` added if absent.
|
|
20
|
+
* - Cache key for `RegExp` inputs is `source + flags`; for strings it is the string itself.
|
|
21
|
+
*
|
|
22
|
+
* @param pattern - A string or `RegExp` to compile and cache.
|
|
23
|
+
* @returns The compiled, cached `RegExp` instance.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* const re = getCompiledPattern('not found');
|
|
28
|
+
* re.test('Resource not found'); // → true
|
|
29
|
+
*
|
|
30
|
+
* const re2 = getCompiledPattern(/ThrottlingException/i);
|
|
31
|
+
* re2.test('ThrottlingException: rate exceeded'); // → true
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function getCompiledPattern(pattern) {
|
|
35
|
+
// Create a stable cache key
|
|
36
|
+
const cacheKey = pattern instanceof RegExp ? pattern.source + pattern.flags : pattern;
|
|
37
|
+
// Return cached pattern if available
|
|
38
|
+
if (COMPILED_PATTERN_CACHE.has(cacheKey)) {
|
|
39
|
+
return COMPILED_PATTERN_CACHE.get(cacheKey);
|
|
40
|
+
}
|
|
41
|
+
// Compile new pattern
|
|
42
|
+
let compiled;
|
|
43
|
+
if (pattern instanceof RegExp) {
|
|
44
|
+
// Remove global flag, ensure case-insensitive
|
|
45
|
+
let flags = pattern.flags.replace('g', '');
|
|
46
|
+
if (!flags.includes('i')) {
|
|
47
|
+
flags += 'i';
|
|
48
|
+
}
|
|
49
|
+
compiled = new RegExp(pattern.source, flags);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
compiled = new RegExp(pattern, 'i');
|
|
53
|
+
}
|
|
54
|
+
// Cache for future use
|
|
55
|
+
COMPILED_PATTERN_CACHE.set(cacheKey, compiled);
|
|
56
|
+
return compiled;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Maps standard JavaScript error constructor names to `JsonRpcErrorCode` values.
|
|
60
|
+
*
|
|
61
|
+
* Consulted by `ErrorHandler.determineErrorCode` as the first pattern-match step after
|
|
62
|
+
* checking for `McpError` instances. Constructor names are matched via `getErrorName()`.
|
|
63
|
+
*
|
|
64
|
+
* | Constructor | Mapped Code |
|
|
65
|
+
* |-------------|-------------|
|
|
66
|
+
* | `SyntaxError` | `ValidationError` |
|
|
67
|
+
* | `TypeError` | `ValidationError` |
|
|
68
|
+
* | `RangeError` | `ValidationError` |
|
|
69
|
+
* | `URIError` | `ValidationError` |
|
|
70
|
+
* | `ReferenceError` | `InternalError` |
|
|
71
|
+
* | `EvalError` | `InternalError` |
|
|
72
|
+
* | `AggregateError` | `InternalError` |
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* ERROR_TYPE_MAPPINGS['TypeError']; // → JsonRpcErrorCode.ValidationError
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export const ERROR_TYPE_MAPPINGS = {
|
|
80
|
+
SyntaxError: JsonRpcErrorCode.ValidationError,
|
|
81
|
+
TypeError: JsonRpcErrorCode.ValidationError,
|
|
82
|
+
ReferenceError: JsonRpcErrorCode.InternalError,
|
|
83
|
+
RangeError: JsonRpcErrorCode.ValidationError,
|
|
84
|
+
URIError: JsonRpcErrorCode.ValidationError,
|
|
85
|
+
EvalError: JsonRpcErrorCode.InternalError,
|
|
86
|
+
AggregateError: JsonRpcErrorCode.InternalError,
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Common error patterns for classifying errors by message/name.
|
|
90
|
+
* Order matters: more specific patterns should precede generic ones.
|
|
91
|
+
* @private — only consumed via COMPILED_ERROR_PATTERNS
|
|
92
|
+
*/
|
|
93
|
+
const COMMON_ERROR_PATTERNS = [
|
|
94
|
+
{
|
|
95
|
+
pattern: /auth|unauthorized|unauthenticated|not.*logged.*in|invalid.*token|expired.*token/i,
|
|
96
|
+
errorCode: JsonRpcErrorCode.Unauthorized,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
pattern: /permission|forbidden|access.*denied|not.*allowed/i,
|
|
100
|
+
errorCode: JsonRpcErrorCode.Forbidden,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
pattern: /not found|missing|no such|doesn't exist|couldn't find/i,
|
|
104
|
+
errorCode: JsonRpcErrorCode.NotFound,
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
pattern: /invalid|validation|malformed|bad request|wrong format|missing required/i,
|
|
108
|
+
errorCode: JsonRpcErrorCode.ValidationError,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
pattern: /conflict|already exists|duplicate|unique constraint/i,
|
|
112
|
+
errorCode: JsonRpcErrorCode.Conflict,
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
pattern: /rate limit|too many requests|throttled/i,
|
|
116
|
+
errorCode: JsonRpcErrorCode.RateLimited,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
pattern: /timeout|timed out|deadline exceeded/i,
|
|
120
|
+
errorCode: JsonRpcErrorCode.Timeout,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
pattern: /abort(ed)?|cancell?ed/i,
|
|
124
|
+
errorCode: JsonRpcErrorCode.Timeout,
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
pattern: /service unavailable|bad gateway|gateway timeout|upstream error/i,
|
|
128
|
+
errorCode: JsonRpcErrorCode.ServiceUnavailable,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
pattern: /zod|zoderror|schema validation/i,
|
|
132
|
+
errorCode: JsonRpcErrorCode.ValidationError,
|
|
133
|
+
},
|
|
134
|
+
];
|
|
135
|
+
/**
|
|
136
|
+
* Pre-compiled common error patterns used by `ErrorHandler.determineErrorCode`.
|
|
137
|
+
*
|
|
138
|
+
* Derived from `COMMON_ERROR_PATTERNS` — each entry has its `pattern` compiled via
|
|
139
|
+
* `getCompiledPattern` at module initialization. Checked after `COMPILED_PROVIDER_PATTERNS`
|
|
140
|
+
* (provider patterns are more specific and take priority).
|
|
141
|
+
*
|
|
142
|
+
* Patterns cover: auth/unauthorized, forbidden, not-found, validation, conflict,
|
|
143
|
+
* rate-limit, timeout/abort, service-unavailable, and Zod schema errors.
|
|
144
|
+
*/
|
|
145
|
+
export const COMPILED_ERROR_PATTERNS = COMMON_ERROR_PATTERNS.map((mapping) => ({
|
|
146
|
+
...mapping,
|
|
147
|
+
compiledPattern: getCompiledPattern(mapping.pattern),
|
|
148
|
+
}));
|
|
149
|
+
/**
|
|
150
|
+
* Provider-specific error patterns for external service integration.
|
|
151
|
+
* Covers common error formats from AWS, HTTP status codes, databases, and LLM providers.
|
|
152
|
+
* @private — only consumed via COMPILED_PROVIDER_PATTERNS
|
|
153
|
+
*/
|
|
154
|
+
const PROVIDER_ERROR_PATTERNS = [
|
|
155
|
+
// AWS Service Errors
|
|
156
|
+
{
|
|
157
|
+
pattern: /ThrottlingException|TooManyRequestsException/i,
|
|
158
|
+
errorCode: JsonRpcErrorCode.RateLimited,
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
pattern: /AccessDenied|UnauthorizedOperation/i,
|
|
162
|
+
errorCode: JsonRpcErrorCode.Forbidden,
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
pattern: /ResourceNotFoundException/i,
|
|
166
|
+
errorCode: JsonRpcErrorCode.NotFound,
|
|
167
|
+
},
|
|
168
|
+
// HTTP Status-based errors
|
|
169
|
+
{ pattern: /status code 401/i, errorCode: JsonRpcErrorCode.Unauthorized },
|
|
170
|
+
{ pattern: /status code 403/i, errorCode: JsonRpcErrorCode.Forbidden },
|
|
171
|
+
{ pattern: /status code 404/i, errorCode: JsonRpcErrorCode.NotFound },
|
|
172
|
+
{ pattern: /status code 409/i, errorCode: JsonRpcErrorCode.Conflict },
|
|
173
|
+
{ pattern: /status code 429/i, errorCode: JsonRpcErrorCode.RateLimited },
|
|
174
|
+
{
|
|
175
|
+
pattern: /status code 5\d\d/i,
|
|
176
|
+
errorCode: JsonRpcErrorCode.ServiceUnavailable,
|
|
177
|
+
},
|
|
178
|
+
// Database connection and constraint errors
|
|
179
|
+
{
|
|
180
|
+
pattern: /ECONNREFUSED|connection refused/i,
|
|
181
|
+
errorCode: JsonRpcErrorCode.ServiceUnavailable,
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
pattern: /ETIMEDOUT|connection timeout/i,
|
|
185
|
+
errorCode: JsonRpcErrorCode.Timeout,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
pattern: /unique constraint|duplicate key/i,
|
|
189
|
+
errorCode: JsonRpcErrorCode.Conflict,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
pattern: /foreign key constraint/i,
|
|
193
|
+
errorCode: JsonRpcErrorCode.ValidationError,
|
|
194
|
+
},
|
|
195
|
+
// Supabase-specific errors
|
|
196
|
+
{ pattern: /JWT expired/i, errorCode: JsonRpcErrorCode.Unauthorized },
|
|
197
|
+
{
|
|
198
|
+
pattern: /row level security/i,
|
|
199
|
+
errorCode: JsonRpcErrorCode.Forbidden,
|
|
200
|
+
},
|
|
201
|
+
// OpenRouter/LLM provider errors
|
|
202
|
+
{
|
|
203
|
+
pattern: /insufficient_quota|quota exceeded/i,
|
|
204
|
+
errorCode: JsonRpcErrorCode.RateLimited,
|
|
205
|
+
},
|
|
206
|
+
{ pattern: /model_not_found/i, errorCode: JsonRpcErrorCode.NotFound },
|
|
207
|
+
{
|
|
208
|
+
pattern: /context_length_exceeded/i,
|
|
209
|
+
errorCode: JsonRpcErrorCode.ValidationError,
|
|
210
|
+
},
|
|
211
|
+
// Network errors
|
|
212
|
+
{ pattern: /ENOTFOUND|DNS/i, errorCode: JsonRpcErrorCode.ServiceUnavailable },
|
|
213
|
+
{
|
|
214
|
+
pattern: /ECONNRESET|connection reset/i,
|
|
215
|
+
errorCode: JsonRpcErrorCode.ServiceUnavailable,
|
|
216
|
+
},
|
|
217
|
+
];
|
|
218
|
+
/**
|
|
219
|
+
* Pre-compiled provider-specific error patterns used by `ErrorHandler.determineErrorCode`.
|
|
220
|
+
*
|
|
221
|
+
* Derived from `PROVIDER_ERROR_PATTERNS` — each entry has its `pattern` compiled via
|
|
222
|
+
* `getCompiledPattern` at module initialization. Checked before `COMPILED_ERROR_PATTERNS`
|
|
223
|
+
* because provider patterns are more specific (e.g. `status code 429` is more precise than
|
|
224
|
+
* the generic `rate limit` common pattern).
|
|
225
|
+
*
|
|
226
|
+
* Covers: AWS service errors, HTTP status codes (401/403/404/409/429/5xx),
|
|
227
|
+
* database connection/constraint errors, Supabase JWT/RLS, OpenRouter/LLM quota errors,
|
|
228
|
+
* and low-level network errors (ECONNREFUSED, ECONNRESET, ENOTFOUND, ETIMEDOUT).
|
|
229
|
+
*/
|
|
230
|
+
export const COMPILED_PROVIDER_PATTERNS = PROVIDER_ERROR_PATTERNS.map((mapping) => ({
|
|
231
|
+
...mapping,
|
|
232
|
+
compiledPattern: getCompiledPattern(mapping.pattern),
|
|
233
|
+
}));
|
|
234
|
+
//# sourceMappingURL=mappings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mappings.js","sourceRoot":"","sources":["../../../../src/utils/internal/error-handler/mappings.ts"],"names":[],"mappings":"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"}
|