@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
package/package.json
ADDED
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cyanheads/mcp-ts-core",
|
|
3
|
+
"version": "0.1.0-beta.12",
|
|
4
|
+
"mcpName": "io.github.cyanheads/mcp-ts-core",
|
|
5
|
+
"description": "TypeScript framework for building Model Context Protocol (MCP) servers. Declarative tool/resource/prompt definitions, pluggable auth, multi-backend storage, OpenTelemetry observability, and support for both local (stdio/HTTP) and edge (Cloudflare Workers) runtimes.",
|
|
6
|
+
"main": "dist/app.js",
|
|
7
|
+
"types": "dist/app.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist/",
|
|
10
|
+
"skills/",
|
|
11
|
+
"templates/",
|
|
12
|
+
"CLAUDE.md",
|
|
13
|
+
"tsconfig.base.json",
|
|
14
|
+
"vitest.config.base.ts",
|
|
15
|
+
"biome.json"
|
|
16
|
+
],
|
|
17
|
+
"bin": {
|
|
18
|
+
"mcp-ts-core": "dist/cli/init.js"
|
|
19
|
+
},
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./dist/app.d.ts",
|
|
23
|
+
"import": "./dist/app.js"
|
|
24
|
+
},
|
|
25
|
+
"./worker": {
|
|
26
|
+
"types": "./dist/worker.d.ts",
|
|
27
|
+
"import": "./dist/worker.js"
|
|
28
|
+
},
|
|
29
|
+
"./tools": {
|
|
30
|
+
"types": "./dist/mcp-server/tools/utils/newToolDefinition.d.ts",
|
|
31
|
+
"import": "./dist/mcp-server/tools/utils/newToolDefinition.js"
|
|
32
|
+
},
|
|
33
|
+
"./resources": {
|
|
34
|
+
"types": "./dist/mcp-server/resources/utils/newResourceDefinition.d.ts",
|
|
35
|
+
"import": "./dist/mcp-server/resources/utils/newResourceDefinition.js"
|
|
36
|
+
},
|
|
37
|
+
"./prompts": {
|
|
38
|
+
"types": "./dist/mcp-server/prompts/utils/newPromptDefinition.d.ts",
|
|
39
|
+
"import": "./dist/mcp-server/prompts/utils/newPromptDefinition.js"
|
|
40
|
+
},
|
|
41
|
+
"./tasks": {
|
|
42
|
+
"types": "./dist/mcp-server/tasks/utils/taskToolDefinition.d.ts",
|
|
43
|
+
"import": "./dist/mcp-server/tasks/utils/taskToolDefinition.js"
|
|
44
|
+
},
|
|
45
|
+
"./context": {
|
|
46
|
+
"types": "./dist/context.d.ts",
|
|
47
|
+
"import": "./dist/context.js"
|
|
48
|
+
},
|
|
49
|
+
"./errors": {
|
|
50
|
+
"types": "./dist/types-global/errors.d.ts",
|
|
51
|
+
"import": "./dist/types-global/errors.js"
|
|
52
|
+
},
|
|
53
|
+
"./config": {
|
|
54
|
+
"types": "./dist/config/index.d.ts",
|
|
55
|
+
"import": "./dist/config/index.js"
|
|
56
|
+
},
|
|
57
|
+
"./auth": {
|
|
58
|
+
"types": "./dist/mcp-server/transports/auth/lib/checkScopes.d.ts",
|
|
59
|
+
"import": "./dist/mcp-server/transports/auth/lib/checkScopes.js"
|
|
60
|
+
},
|
|
61
|
+
"./storage": {
|
|
62
|
+
"types": "./dist/storage/core/StorageService.d.ts",
|
|
63
|
+
"import": "./dist/storage/core/StorageService.js"
|
|
64
|
+
},
|
|
65
|
+
"./storage/types": {
|
|
66
|
+
"types": "./dist/storage/core/IStorageProvider.d.ts",
|
|
67
|
+
"import": "./dist/storage/core/IStorageProvider.js"
|
|
68
|
+
},
|
|
69
|
+
"./utils/logger": {
|
|
70
|
+
"types": "./dist/utils/internal/logger.d.ts",
|
|
71
|
+
"import": "./dist/utils/internal/logger.js"
|
|
72
|
+
},
|
|
73
|
+
"./utils/requestContext": {
|
|
74
|
+
"types": "./dist/utils/internal/requestContext.d.ts",
|
|
75
|
+
"import": "./dist/utils/internal/requestContext.js"
|
|
76
|
+
},
|
|
77
|
+
"./utils/errorHandler": {
|
|
78
|
+
"types": "./dist/utils/internal/error-handler/errorHandler.d.ts",
|
|
79
|
+
"import": "./dist/utils/internal/error-handler/errorHandler.js"
|
|
80
|
+
},
|
|
81
|
+
"./utils/formatting": {
|
|
82
|
+
"types": "./dist/utils/formatting/index.d.ts",
|
|
83
|
+
"import": "./dist/utils/formatting/index.js"
|
|
84
|
+
},
|
|
85
|
+
"./utils/parsing": {
|
|
86
|
+
"types": "./dist/utils/parsing/index.d.ts",
|
|
87
|
+
"import": "./dist/utils/parsing/index.js"
|
|
88
|
+
},
|
|
89
|
+
"./utils/security": {
|
|
90
|
+
"types": "./dist/utils/security/index.d.ts",
|
|
91
|
+
"import": "./dist/utils/security/index.js"
|
|
92
|
+
},
|
|
93
|
+
"./utils/network": {
|
|
94
|
+
"types": "./dist/utils/network/fetchWithTimeout.d.ts",
|
|
95
|
+
"import": "./dist/utils/network/fetchWithTimeout.js"
|
|
96
|
+
},
|
|
97
|
+
"./utils/pagination": {
|
|
98
|
+
"types": "./dist/utils/pagination/pagination.d.ts",
|
|
99
|
+
"import": "./dist/utils/pagination/pagination.js"
|
|
100
|
+
},
|
|
101
|
+
"./utils/runtime": {
|
|
102
|
+
"types": "./dist/utils/internal/runtime.d.ts",
|
|
103
|
+
"import": "./dist/utils/internal/runtime.js"
|
|
104
|
+
},
|
|
105
|
+
"./utils/scheduling": {
|
|
106
|
+
"types": "./dist/utils/scheduling/scheduler.d.ts",
|
|
107
|
+
"import": "./dist/utils/scheduling/scheduler.js"
|
|
108
|
+
},
|
|
109
|
+
"./utils/types": {
|
|
110
|
+
"types": "./dist/utils/types/index.d.ts",
|
|
111
|
+
"import": "./dist/utils/types/index.js"
|
|
112
|
+
},
|
|
113
|
+
"./testing": {
|
|
114
|
+
"types": "./dist/testing/index.d.ts",
|
|
115
|
+
"import": "./dist/testing/index.js"
|
|
116
|
+
},
|
|
117
|
+
"./tsconfig.base.json": "./tsconfig.base.json",
|
|
118
|
+
"./vitest.config": "./vitest.config.base.ts",
|
|
119
|
+
"./biome.json": "./biome.json",
|
|
120
|
+
"./package.json": "./package.json"
|
|
121
|
+
},
|
|
122
|
+
"type": "module",
|
|
123
|
+
"sideEffects": false,
|
|
124
|
+
"repository": {
|
|
125
|
+
"type": "git",
|
|
126
|
+
"url": "git+https://github.com/cyanheads/mcp-ts-template.git"
|
|
127
|
+
},
|
|
128
|
+
"bugs": {
|
|
129
|
+
"url": "https://github.com/cyanheads/mcp-ts-template/issues"
|
|
130
|
+
},
|
|
131
|
+
"homepage": "https://github.com/cyanheads/mcp-ts-template#readme",
|
|
132
|
+
"scripts": {
|
|
133
|
+
"build": "bun run scripts/build.ts",
|
|
134
|
+
"deploy:dev": "MCP_TRANSPORT_TYPE=http bunx wrangler dev",
|
|
135
|
+
"deploy:prod": "MCP_TRANSPORT_TYPE=http bunx wrangler deploy",
|
|
136
|
+
"start": "bun ./dist/index.js",
|
|
137
|
+
"start:stdio": "MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js",
|
|
138
|
+
"start:http": "MCP_TRANSPORT_TYPE=http bun ./dist/index.js",
|
|
139
|
+
"dev": "bun --watch src/index.ts",
|
|
140
|
+
"dev:stdio": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts",
|
|
141
|
+
"dev:http": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts",
|
|
142
|
+
"devdocs": "bun run scripts/devdocs.ts",
|
|
143
|
+
"devcheck": "bun run scripts/devcheck.ts",
|
|
144
|
+
"rebuild": "bun run scripts/clean.ts && bun run build",
|
|
145
|
+
"prepublishOnly": "bun run build",
|
|
146
|
+
"docs:generate": "bunx typedoc",
|
|
147
|
+
"depcheck": "bunx depcheck",
|
|
148
|
+
"lint": "biome check",
|
|
149
|
+
"format": "biome check --write --unsafe",
|
|
150
|
+
"typecheck": "bunx tsc --noEmit",
|
|
151
|
+
"typecheck:scripts": "bunx tsc --project tsconfig.scripts.json --noEmit",
|
|
152
|
+
"tree": "bun run scripts/tree.ts",
|
|
153
|
+
"fetch-spec": "bun run scripts/fetch-openapi-spec.ts",
|
|
154
|
+
"prepare": "bunx husky",
|
|
155
|
+
"inspector": "bunx mcp-inspector --config mcp.json --server mcp-ts-core",
|
|
156
|
+
"test": "bunx vitest run",
|
|
157
|
+
"test:all": "bun run test && bun run test:integration",
|
|
158
|
+
"test:integration": "bunx vitest run --config vitest.integration.ts",
|
|
159
|
+
"test:fuzz": "bunx vitest run fuzz",
|
|
160
|
+
"test:report": "bun run scripts/test-report.ts",
|
|
161
|
+
"test:report:open": "bun run scripts/test-report.ts --open",
|
|
162
|
+
"test:ui": "bunx vitest --ui",
|
|
163
|
+
"test:coverage": "bunx vitest run --coverage",
|
|
164
|
+
"coverage:update": "bun run scripts/update-coverage.ts",
|
|
165
|
+
"coverage:commit": "bun run scripts/update-coverage.ts --commit",
|
|
166
|
+
"audit": "bun audit",
|
|
167
|
+
"audit:fix": "bun audit --fix",
|
|
168
|
+
"publish-mcp": "bunx mcp-publisher publish"
|
|
169
|
+
},
|
|
170
|
+
"resolutions": {
|
|
171
|
+
"escape-string-regexp": "4.0.0",
|
|
172
|
+
"@hono/node-server": "1.19.11",
|
|
173
|
+
"@isaacs/brace-expansion": "5.0.1",
|
|
174
|
+
"chrono-node": "2.9.0",
|
|
175
|
+
"diff": "8.0.3",
|
|
176
|
+
"dotenv": "17.3.1",
|
|
177
|
+
"hono": "4.12.7",
|
|
178
|
+
"markdown-it": "14.1.1",
|
|
179
|
+
"qs": "6.15.0",
|
|
180
|
+
"zod": "4.3.6",
|
|
181
|
+
"typescript": "5.9.3",
|
|
182
|
+
"minimatch": "3.1.5",
|
|
183
|
+
"ajv": "8.18.0",
|
|
184
|
+
"lodash": "4.17.23",
|
|
185
|
+
"rollup": "4.59.0"
|
|
186
|
+
},
|
|
187
|
+
"devDependencies": {
|
|
188
|
+
"@biomejs/biome": "2.4.6",
|
|
189
|
+
"@cloudflare/workers-types": "^4.20260312.1",
|
|
190
|
+
"@types/bun": "^1.3.10",
|
|
191
|
+
"@types/diff": "^8.0.0",
|
|
192
|
+
"@types/js-yaml": "^4.0.9",
|
|
193
|
+
"@types/node": "^25.4.0",
|
|
194
|
+
"@types/node-cron": "^3.0.11",
|
|
195
|
+
"@types/papaparse": "^5.5.2",
|
|
196
|
+
"@types/sanitize-html": "^2.16.1",
|
|
197
|
+
"@types/validator": "13.15.10",
|
|
198
|
+
"@vitest/coverage-istanbul": "4.0.18",
|
|
199
|
+
"@vitest/ui": "4.0.18",
|
|
200
|
+
"bun-types": "^1.3.10",
|
|
201
|
+
"clipboardy": "^5.3.1",
|
|
202
|
+
"depcheck": "^1.4.7",
|
|
203
|
+
"execa": "^9.6.1",
|
|
204
|
+
"fast-check": "^4.6.0",
|
|
205
|
+
"husky": "^9.1.7",
|
|
206
|
+
"ignore": "^7.0.5",
|
|
207
|
+
"msw": "^2.12.10",
|
|
208
|
+
"pino-pretty": "^13.1.3",
|
|
209
|
+
"repomix": "^1.12.0",
|
|
210
|
+
"tsc-alias": "^1.8.16",
|
|
211
|
+
"typedoc": "^0.28.17",
|
|
212
|
+
"typescript": "^5.9.3",
|
|
213
|
+
"vite": "7.3.1",
|
|
214
|
+
"vite-tsconfig-paths": "^6.1.1",
|
|
215
|
+
"vitest": "^4.0.18"
|
|
216
|
+
},
|
|
217
|
+
"keywords": [
|
|
218
|
+
"agent",
|
|
219
|
+
"ai",
|
|
220
|
+
"ai-agent",
|
|
221
|
+
"authentication",
|
|
222
|
+
"cloudflare-workers",
|
|
223
|
+
"declarative-tools",
|
|
224
|
+
"core",
|
|
225
|
+
"error-handling",
|
|
226
|
+
"hono",
|
|
227
|
+
"llm-integration",
|
|
228
|
+
"mcp",
|
|
229
|
+
"model-context-protocol",
|
|
230
|
+
"mcp-server",
|
|
231
|
+
"elicitation",
|
|
232
|
+
"observability",
|
|
233
|
+
"opentelemetry",
|
|
234
|
+
"otel",
|
|
235
|
+
"framework",
|
|
236
|
+
"typescript",
|
|
237
|
+
"zod"
|
|
238
|
+
],
|
|
239
|
+
"author": "cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/mcp-ts-template#readme)",
|
|
240
|
+
"license": "Apache-2.0",
|
|
241
|
+
"funding": [
|
|
242
|
+
{
|
|
243
|
+
"type": "github",
|
|
244
|
+
"url": "https://github.com/sponsors/cyanheads"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"type": "buy_me_a_coffee",
|
|
248
|
+
"url": "https://www.buymeacoffee.com/cyanheads"
|
|
249
|
+
}
|
|
250
|
+
],
|
|
251
|
+
"packageManager": "bun@1.3.2",
|
|
252
|
+
"engines": {
|
|
253
|
+
"bun": ">=1.2.0",
|
|
254
|
+
"node": ">=22.0.0"
|
|
255
|
+
},
|
|
256
|
+
"depcheck": {
|
|
257
|
+
"ignores": [
|
|
258
|
+
"bun",
|
|
259
|
+
"repomix",
|
|
260
|
+
"tsc-alias",
|
|
261
|
+
"@cyanheads/mcp-ts-core",
|
|
262
|
+
"@modelcontextprotocol/ext-apps"
|
|
263
|
+
],
|
|
264
|
+
"ignorePatterns": ["examples"]
|
|
265
|
+
},
|
|
266
|
+
"publishConfig": {
|
|
267
|
+
"access": "public"
|
|
268
|
+
},
|
|
269
|
+
"dependencies": {
|
|
270
|
+
"@hono/mcp": "^0.2.4",
|
|
271
|
+
"@hono/node-server": "^1.19.11",
|
|
272
|
+
"@modelcontextprotocol/ext-apps": "^1.2.2",
|
|
273
|
+
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
274
|
+
"@opentelemetry/api": "^1.9.0",
|
|
275
|
+
"dotenv": "^17.3.1",
|
|
276
|
+
"hono": "^4.12.5",
|
|
277
|
+
"jose": "^6.2.1",
|
|
278
|
+
"pino": "^10.3.1"
|
|
279
|
+
},
|
|
280
|
+
"peerDependencies": {
|
|
281
|
+
"zod": "^4.3.6",
|
|
282
|
+
"@hono/otel": "latest",
|
|
283
|
+
"@opentelemetry/auto-instrumentations-node": "latest",
|
|
284
|
+
"@opentelemetry/exporter-metrics-otlp-http": "latest",
|
|
285
|
+
"@opentelemetry/exporter-trace-otlp-http": "latest",
|
|
286
|
+
"@opentelemetry/instrumentation-pino": "latest",
|
|
287
|
+
"@opentelemetry/resources": "latest",
|
|
288
|
+
"@opentelemetry/sdk-metrics": "latest",
|
|
289
|
+
"@opentelemetry/sdk-node": "latest",
|
|
290
|
+
"@opentelemetry/sdk-trace-node": "latest",
|
|
291
|
+
"@opentelemetry/semantic-conventions": "latest",
|
|
292
|
+
"@supabase/supabase-js": "latest",
|
|
293
|
+
"chrono-node": "latest",
|
|
294
|
+
"diff": "^8.0.3",
|
|
295
|
+
"fast-xml-parser": "^5.4.1",
|
|
296
|
+
"js-yaml": "^3.14.2",
|
|
297
|
+
"node-cron": "latest",
|
|
298
|
+
"openai": "latest",
|
|
299
|
+
"papaparse": "latest",
|
|
300
|
+
"partial-json": "latest",
|
|
301
|
+
"pdf-lib": "latest",
|
|
302
|
+
"sanitize-html": "latest",
|
|
303
|
+
"unpdf": "latest",
|
|
304
|
+
"validator": "latest"
|
|
305
|
+
},
|
|
306
|
+
"peerDependenciesMeta": {
|
|
307
|
+
"@hono/otel": {
|
|
308
|
+
"optional": true
|
|
309
|
+
},
|
|
310
|
+
"@opentelemetry/auto-instrumentations-node": {
|
|
311
|
+
"optional": true
|
|
312
|
+
},
|
|
313
|
+
"@opentelemetry/exporter-metrics-otlp-http": {
|
|
314
|
+
"optional": true
|
|
315
|
+
},
|
|
316
|
+
"@opentelemetry/exporter-trace-otlp-http": {
|
|
317
|
+
"optional": true
|
|
318
|
+
},
|
|
319
|
+
"@opentelemetry/instrumentation-pino": {
|
|
320
|
+
"optional": true
|
|
321
|
+
},
|
|
322
|
+
"@opentelemetry/resources": {
|
|
323
|
+
"optional": true
|
|
324
|
+
},
|
|
325
|
+
"@opentelemetry/sdk-metrics": {
|
|
326
|
+
"optional": true
|
|
327
|
+
},
|
|
328
|
+
"@opentelemetry/sdk-node": {
|
|
329
|
+
"optional": true
|
|
330
|
+
},
|
|
331
|
+
"@opentelemetry/sdk-trace-node": {
|
|
332
|
+
"optional": true
|
|
333
|
+
},
|
|
334
|
+
"@opentelemetry/semantic-conventions": {
|
|
335
|
+
"optional": true
|
|
336
|
+
},
|
|
337
|
+
"@supabase/supabase-js": {
|
|
338
|
+
"optional": true
|
|
339
|
+
},
|
|
340
|
+
"chrono-node": {
|
|
341
|
+
"optional": true
|
|
342
|
+
},
|
|
343
|
+
"diff": {
|
|
344
|
+
"optional": true
|
|
345
|
+
},
|
|
346
|
+
"fast-xml-parser": {
|
|
347
|
+
"optional": true
|
|
348
|
+
},
|
|
349
|
+
"js-yaml": {
|
|
350
|
+
"optional": true
|
|
351
|
+
},
|
|
352
|
+
"node-cron": {
|
|
353
|
+
"optional": true
|
|
354
|
+
},
|
|
355
|
+
"openai": {
|
|
356
|
+
"optional": true
|
|
357
|
+
},
|
|
358
|
+
"papaparse": {
|
|
359
|
+
"optional": true
|
|
360
|
+
},
|
|
361
|
+
"partial-json": {
|
|
362
|
+
"optional": true
|
|
363
|
+
},
|
|
364
|
+
"pdf-lib": {
|
|
365
|
+
"optional": true
|
|
366
|
+
},
|
|
367
|
+
"sanitize-html": {
|
|
368
|
+
"optional": true
|
|
369
|
+
},
|
|
370
|
+
"unpdf": {
|
|
371
|
+
"optional": true
|
|
372
|
+
},
|
|
373
|
+
"validator": {
|
|
374
|
+
"optional": true
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
}
|
package/skills/README.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Skills
|
|
2
|
+
|
|
3
|
+
Agent Skills for `@cyanheads/mcp-ts-core`. Each subdirectory contains a `SKILL.md` following the [Agent Skills specification](https://agentskills.io/specification).
|
|
4
|
+
|
|
5
|
+
## Three-Tier Distribution
|
|
6
|
+
|
|
7
|
+
Skills flow through three locations. Each tier has a distinct role:
|
|
8
|
+
|
|
9
|
+
| Tier | Location | Written by | Purpose |
|
|
10
|
+
|:-----|:---------|:-----------|:--------|
|
|
11
|
+
| 1. Package | `node_modules/@cyanheads/mcp-ts-core/skills/` | `npm publish` / `bun publish` | Canonical source. Ships with the package. |
|
|
12
|
+
| 2. Project | `skills/` (project root) | `@cyanheads/mcp-ts-core init` CLI | Project's source of truth. Committed to git. Server-specific skills live here too. |
|
|
13
|
+
| 3. Agent | `.claude/skills/`, `.codex/skills/`, etc. | The agent itself | Agent's working copy. Synced from project `skills/`. Checklists are checked here. |
|
|
14
|
+
|
|
15
|
+
### Flow
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
npm publish init CLI agent sync
|
|
19
|
+
[package skills/] ──────────> [project skills/] ──────────> [.claude/skills/]
|
|
20
|
+
│
|
|
21
|
+
├── core skills (from package)
|
|
22
|
+
└── server-specific skills (added by devs)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Audience
|
|
26
|
+
|
|
27
|
+
Each skill declares `metadata.audience` in its SKILL.md frontmatter:
|
|
28
|
+
|
|
29
|
+
- **`external`** — For consumers building MCP servers. Copied to project `skills/` by `init`.
|
|
30
|
+
- **`internal`** — For core package developers. Stays in `node_modules`, not copied.
|
|
31
|
+
|
|
32
|
+
## Versioning
|
|
33
|
+
|
|
34
|
+
Skills declare `metadata.version` in frontmatter. When `init` is re-run after `bun update`, it compares versions and updates skills where the package version is newer. To pin a skill and prevent updates, bump its local `metadata.version` above the package's.
|
|
35
|
+
|
|
36
|
+
## Adding Server-Specific Skills
|
|
37
|
+
|
|
38
|
+
Create a new directory in `skills/` with a `SKILL.md` following the same format. The agent will pick it up on next sync. Use the core skills as examples for structure and checklist conventions.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: add-export
|
|
3
|
+
description: >
|
|
4
|
+
Add a new subpath export to the @cyanheads/mcp-ts-core package. Use when creating a new public API surface that consumers import from a dedicated subpath (e.g., @cyanheads/mcp-ts-core/utils/newutil).
|
|
5
|
+
metadata:
|
|
6
|
+
author: cyanheads
|
|
7
|
+
version: "1.0"
|
|
8
|
+
audience: internal
|
|
9
|
+
type: reference
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Context
|
|
13
|
+
|
|
14
|
+
Subpath exports are defined in `package.json` under the `exports` field. Each subpath maps to a source entry point that gets compiled to `dist/`. The exports catalog in `CLAUDE.md` must stay in sync with `package.json`.
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
1. **Create the entry point** source file (e.g., `src/utils/new-util.ts`)
|
|
19
|
+
2. **Add the subpath** to `package.json` `exports`:
|
|
20
|
+
```jsonc
|
|
21
|
+
"./utils/newutil": {
|
|
22
|
+
"types": "./dist/utils/new-util.d.ts",
|
|
23
|
+
"import": "./dist/utils/new-util.js"
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
3. **Update the exports catalog** in `CLAUDE.md` — add a row to the table
|
|
27
|
+
4. **Build** with `bun run build` to generate `dist/` output
|
|
28
|
+
5. **Verify the export** resolves correctly:
|
|
29
|
+
```bash
|
|
30
|
+
node -e "import('@cyanheads/mcp-ts-core/utils/newutil').then(m => console.log(Object.keys(m)))"
|
|
31
|
+
```
|
|
32
|
+
6. **Run `bun run devcheck`** to verify
|
|
33
|
+
|
|
34
|
+
## Naming Conventions
|
|
35
|
+
|
|
36
|
+
| Convention | Rule |
|
|
37
|
+
|:-----------|:-----|
|
|
38
|
+
| Subpath | lowercase, no underscores (e.g., `utils/errorHandler`) |
|
|
39
|
+
| Source file | kebab-case (e.g., `error-handler.ts`) |
|
|
40
|
+
| Export name | camelCase for values, PascalCase for types |
|
|
41
|
+
|
|
42
|
+
## Checklist
|
|
43
|
+
|
|
44
|
+
- [ ] Source entry point file created with JSDoc header
|
|
45
|
+
- [ ] Subpath added to `package.json` `exports` with `types` and `import` conditions
|
|
46
|
+
- [ ] Exports catalog in `CLAUDE.md` updated with new row
|
|
47
|
+
- [ ] `bun run build` succeeds
|
|
48
|
+
- [ ] Export resolves correctly from `node_modules`
|
|
49
|
+
- [ ] `bun run devcheck` passes
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: add-prompt
|
|
3
|
+
description: >
|
|
4
|
+
Scaffold a new MCP prompt template. Use when the user asks to add a prompt, create a reusable message template, or define a prompt for LLM interactions.
|
|
5
|
+
metadata:
|
|
6
|
+
author: cyanheads
|
|
7
|
+
version: "1.0"
|
|
8
|
+
audience: external
|
|
9
|
+
type: reference
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Context
|
|
13
|
+
|
|
14
|
+
Prompts use the `prompt()` builder from `@cyanheads/mcp-ts-core`. Each prompt lives in `src/mcp-server/prompts/definitions/` with a `.prompt.ts` suffix and is registered in the barrel `index.ts`.
|
|
15
|
+
|
|
16
|
+
Prompts are pure message templates — no `Context`, no auth, no side effects.
|
|
17
|
+
|
|
18
|
+
For the full `prompt()` API, read:
|
|
19
|
+
|
|
20
|
+
node_modules/@cyanheads/mcp-ts-core/CLAUDE.md
|
|
21
|
+
|
|
22
|
+
## Steps
|
|
23
|
+
|
|
24
|
+
1. **Ask the user** for the prompt's name, purpose, and arguments
|
|
25
|
+
2. **Create the file** at `src/mcp-server/prompts/definitions/{{prompt-name}}.prompt.ts`
|
|
26
|
+
3. **Register** the prompt in `src/mcp-server/prompts/definitions/index.ts`
|
|
27
|
+
4. **Run `bun run devcheck`** to verify
|
|
28
|
+
|
|
29
|
+
## Template
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
/**
|
|
33
|
+
* @fileoverview {{PROMPT_DESCRIPTION}}
|
|
34
|
+
* @module mcp-server/prompts/definitions/{{PROMPT_NAME}}
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
import { z } from 'zod';
|
|
38
|
+
import { prompt } from '@cyanheads/mcp-ts-core';
|
|
39
|
+
|
|
40
|
+
export const {{PROMPT_EXPORT}} = prompt('{{prompt_name}}', {
|
|
41
|
+
description: '{{PROMPT_DESCRIPTION}}',
|
|
42
|
+
args: z.object({
|
|
43
|
+
// All fields need .describe()
|
|
44
|
+
}),
|
|
45
|
+
generate: (args) => [
|
|
46
|
+
{
|
|
47
|
+
role: 'user',
|
|
48
|
+
content: {
|
|
49
|
+
type: 'text',
|
|
50
|
+
text: `{{PROMPT_TEMPLATE_TEXT}}`,
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Multi-message prompt
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
generate: (args) => [
|
|
61
|
+
{
|
|
62
|
+
role: 'user',
|
|
63
|
+
content: {
|
|
64
|
+
type: 'text',
|
|
65
|
+
text: `Here is the ${args.type} to review:\n\n${args.content}`,
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
role: 'assistant',
|
|
70
|
+
content: {
|
|
71
|
+
type: 'text',
|
|
72
|
+
text: 'I will analyze this carefully. Let me start with...',
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Barrel registration
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
// src/mcp-server/prompts/definitions/index.ts
|
|
82
|
+
import { {{PROMPT_EXPORT}} } from './{{prompt-name}}.prompt.js';
|
|
83
|
+
export const allPromptDefinitions = [
|
|
84
|
+
// ... existing prompts
|
|
85
|
+
{{PROMPT_EXPORT}},
|
|
86
|
+
];
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Checklist
|
|
90
|
+
|
|
91
|
+
- [ ] File created at `src/mcp-server/prompts/definitions/{{prompt-name}}.prompt.ts`
|
|
92
|
+
- [ ] All Zod `args` fields have `.describe()` annotations
|
|
93
|
+
- [ ] JSDoc `@fileoverview` and `@module` header present
|
|
94
|
+
- [ ] `generate` function returns valid message array
|
|
95
|
+
- [ ] No side effects — prompts are pure templates
|
|
96
|
+
- [ ] Registered in `definitions/index.ts` barrel and `allPromptDefinitions`
|
|
97
|
+
- [ ] `bun run devcheck` passes
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: add-provider
|
|
3
|
+
description: >
|
|
4
|
+
Add a new storage or service provider to the core package. Use when implementing a new backend for StorageService (e.g., a new database) or a new service provider (e.g., a new LLM backend).
|
|
5
|
+
metadata:
|
|
6
|
+
author: cyanheads
|
|
7
|
+
version: "1.0"
|
|
8
|
+
audience: internal
|
|
9
|
+
type: reference
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Context
|
|
13
|
+
|
|
14
|
+
Providers implement interfaces defined in core (e.g., `IStorageProvider`).
|
|
15
|
+
|
|
16
|
+
They are selected at runtime via config (e.g., `STORAGE_PROVIDER_TYPE`).
|
|
17
|
+
|
|
18
|
+
Tier 3 providers lazy-load their dependencies to keep the core bundle small.
|
|
19
|
+
|
|
20
|
+
## Steps
|
|
21
|
+
|
|
22
|
+
1. **Identify the provider interface** — check the existing interface in the
|
|
23
|
+
relevant types file (e.g., `src/storage/core/IStorageProvider.ts`)
|
|
24
|
+
2. **Create the provider file** in the appropriate directory
|
|
25
|
+
(e.g., `src/storage/providers/{{provider-name}}/{{provider-name}}Provider.ts`)
|
|
26
|
+
3. **Implement the interface** — all methods must be implemented
|
|
27
|
+
4. **Lazy-load dependencies** if Tier 3:
|
|
28
|
+
```typescript
|
|
29
|
+
let _client: SomeClient | undefined;
|
|
30
|
+
async function getClient(): Promise<SomeClient> {
|
|
31
|
+
if (!_client) {
|
|
32
|
+
const { SomeClient } = await import('some-package');
|
|
33
|
+
_client = new SomeClient(/* config */);
|
|
34
|
+
}
|
|
35
|
+
return _client;
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
5. **Register the provider** in the factory/selector that maps config values
|
|
39
|
+
to provider instances
|
|
40
|
+
6. **Update the serverless whitelist** if the provider is compatible with Workers
|
|
41
|
+
7. **Add the dependency** as an optional peer dependency in `package.json`
|
|
42
|
+
8. **Run `bun run devcheck`** to verify
|
|
43
|
+
|
|
44
|
+
## Checklist
|
|
45
|
+
|
|
46
|
+
- [ ] Provider file created with JSDoc header
|
|
47
|
+
- [ ] Interface fully implemented
|
|
48
|
+
- [ ] Tier 3 dependencies lazy-loaded (not top-level imports)
|
|
49
|
+
- [ ] Registered in provider factory/selector
|
|
50
|
+
- [ ] Serverless whitelist updated if Worker-compatible
|
|
51
|
+
- [ ] Optional peer dependency added to `package.json`
|
|
52
|
+
- [ ] `bun run devcheck` passes
|
|
53
|
+
- [ ] Integration tested with the target backend
|