@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,344 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Tree formatter utility for visualizing hierarchical data structures.
|
|
3
|
+
* Supports ASCII, Unicode box-drawing, and compact tree styles with icons and metadata.
|
|
4
|
+
* @module src/utils/formatting/treeFormatter
|
|
5
|
+
*/
|
|
6
|
+
import { type RequestContext } from '../../utils/internal/requestContext.js';
|
|
7
|
+
/**
|
|
8
|
+
* Tree output style options.
|
|
9
|
+
*
|
|
10
|
+
* - `unicode`: Box-drawing characters (`├──`, `└──`, `│`) — best for terminal output.
|
|
11
|
+
* - `ascii`: ASCII characters (`+--`, `\--`, `|`) — safe for environments without Unicode support.
|
|
12
|
+
* - `compact`: Simple indented list with no connectors — minimal decoration.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```
|
|
16
|
+
* // unicode
|
|
17
|
+
* root
|
|
18
|
+
* ├── child1
|
|
19
|
+
* └── child2
|
|
20
|
+
*
|
|
21
|
+
* // ascii
|
|
22
|
+
* root
|
|
23
|
+
* +-- child1
|
|
24
|
+
* \-- child2
|
|
25
|
+
*
|
|
26
|
+
* // compact
|
|
27
|
+
* root
|
|
28
|
+
* child1
|
|
29
|
+
* child2
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export type TreeStyle = 'ascii' | 'unicode' | 'compact';
|
|
33
|
+
/**
|
|
34
|
+
* Node in a hierarchical tree structure.
|
|
35
|
+
*
|
|
36
|
+
* Nodes are recursive: any node can have `children`, forming an arbitrarily deep tree.
|
|
37
|
+
* Circular references (a node appearing in its own descendant chain) are detected at
|
|
38
|
+
* render time and replaced with a `[Circular Reference]` marker.
|
|
39
|
+
*/
|
|
40
|
+
export interface TreeNode {
|
|
41
|
+
/**
|
|
42
|
+
* Child nodes nested under this node.
|
|
43
|
+
* A node with children is treated as a "folder" node; one without is a "leaf" node.
|
|
44
|
+
* This distinction affects icon selection when `icons` is enabled.
|
|
45
|
+
*/
|
|
46
|
+
children?: TreeNode[];
|
|
47
|
+
/**
|
|
48
|
+
* Arbitrary key-value metadata to display alongside the node name.
|
|
49
|
+
* When `showMetadata` is enabled, entries are rendered as `key=value` pairs in
|
|
50
|
+
* parentheses after the node name — e.g. `file.txt (size=1KB, type=text)`.
|
|
51
|
+
*/
|
|
52
|
+
metadata?: Record<string, unknown>;
|
|
53
|
+
/**
|
|
54
|
+
* Display name for this node. Must be a non-empty string.
|
|
55
|
+
*/
|
|
56
|
+
name: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Configuration options for tree formatting.
|
|
60
|
+
*/
|
|
61
|
+
export interface TreeFormatterOptions {
|
|
62
|
+
/**
|
|
63
|
+
* Icon to use for leaf nodes (nodes without children) when `icons` is enabled.
|
|
64
|
+
* Default: `'📄'`
|
|
65
|
+
*/
|
|
66
|
+
fileIcon?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Icon to use for branch nodes (nodes with children) when `icons` is enabled.
|
|
69
|
+
* Default: `'📁'`
|
|
70
|
+
*/
|
|
71
|
+
folderIcon?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Whether to prefix each node name with an icon.
|
|
74
|
+
* Leaf nodes use `fileIcon`; branch nodes use `folderIcon`.
|
|
75
|
+
* Default: `false`
|
|
76
|
+
*/
|
|
77
|
+
icons?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* String used to indent each level of the tree.
|
|
80
|
+
* Combined with vertical connector characters for `unicode` and `ascii` styles
|
|
81
|
+
* to keep the tree visually aligned. Must be at least one character wide.
|
|
82
|
+
* Default: `' '` (two spaces)
|
|
83
|
+
*/
|
|
84
|
+
indent?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Maximum depth to render (0-based). Nodes at depth greater than this value are
|
|
87
|
+
* omitted entirely. `undefined` means no limit.
|
|
88
|
+
* Default: `undefined`
|
|
89
|
+
*/
|
|
90
|
+
maxDepth?: number;
|
|
91
|
+
/**
|
|
92
|
+
* Whether to append node metadata after each node name.
|
|
93
|
+
* Metadata entries are rendered as `key=value` pairs enclosed in parentheses.
|
|
94
|
+
* Default: `false`
|
|
95
|
+
*/
|
|
96
|
+
showMetadata?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Visual style used to draw branch connectors. See {@link TreeStyle} for details.
|
|
99
|
+
* Default: `'unicode'`
|
|
100
|
+
*/
|
|
101
|
+
style?: TreeStyle;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Utility class for formatting hierarchical data as tree structures.
|
|
105
|
+
*
|
|
106
|
+
* Renders a {@link TreeNode} graph as a multi-line string using ASCII, Unicode
|
|
107
|
+
* box-drawing, or compact indented styles. Handles arbitrary depth, optional icons,
|
|
108
|
+
* inline metadata, and detects circular references at render time.
|
|
109
|
+
*
|
|
110
|
+
* Use the exported {@link treeFormatter} singleton rather than constructing directly.
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* import { treeFormatter } from '../../utils/formatting/treeFormatter.js';
|
|
115
|
+
*
|
|
116
|
+
* const tree: TreeNode = {
|
|
117
|
+
* name: 'src',
|
|
118
|
+
* children: [
|
|
119
|
+
* { name: 'index.ts' },
|
|
120
|
+
* { name: 'utils', children: [{ name: 'helper.ts' }] },
|
|
121
|
+
* ],
|
|
122
|
+
* };
|
|
123
|
+
*
|
|
124
|
+
* console.log(treeFormatter.format(tree, { style: 'unicode' }));
|
|
125
|
+
* // src
|
|
126
|
+
* // ├── index.ts
|
|
127
|
+
* // └── utils
|
|
128
|
+
* // └── helper.ts
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export declare class TreeFormatter {
|
|
132
|
+
/**
|
|
133
|
+
* Default formatting options.
|
|
134
|
+
* @private
|
|
135
|
+
*/
|
|
136
|
+
private readonly defaultOptions;
|
|
137
|
+
/**
|
|
138
|
+
* Track seen nodes for circular reference detection.
|
|
139
|
+
* @private
|
|
140
|
+
*/
|
|
141
|
+
private seenNodes;
|
|
142
|
+
/**
|
|
143
|
+
* Format a single tree into a multi-line string.
|
|
144
|
+
*
|
|
145
|
+
* Merges `options` with defaults, resets circular-reference tracking, then
|
|
146
|
+
* recursively renders each node with branch connectors, optional icons, and
|
|
147
|
+
* optional metadata. Lines are joined with `\n`.
|
|
148
|
+
*
|
|
149
|
+
* @param root - Root node of the tree. Must have a non-empty `name` string.
|
|
150
|
+
* @param options - Formatting options. Merged with defaults; all fields are optional.
|
|
151
|
+
* @param context - Optional request context for correlated log output. A new context
|
|
152
|
+
* is created automatically when omitted.
|
|
153
|
+
* @returns Multi-line tree string. The root node appears on the first line with no
|
|
154
|
+
* connector prefix; child nodes are indented and prefixed with branch connectors.
|
|
155
|
+
* @throws {McpError} With code `ValidationError` if `root` is missing or has no `name`.
|
|
156
|
+
* @throws {McpError} With code `InternalError` if rendering fails unexpectedly.
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```typescript
|
|
160
|
+
* const tree = {
|
|
161
|
+
* name: 'src',
|
|
162
|
+
* children: [
|
|
163
|
+
* { name: 'index.ts' },
|
|
164
|
+
* {
|
|
165
|
+
* name: 'utils',
|
|
166
|
+
* children: [
|
|
167
|
+
* { name: 'helper.ts' },
|
|
168
|
+
* { name: 'types.ts' },
|
|
169
|
+
* ],
|
|
170
|
+
* },
|
|
171
|
+
* ],
|
|
172
|
+
* };
|
|
173
|
+
*
|
|
174
|
+
* console.log(treeFormatter.format(tree, { style: 'unicode', icons: true }));
|
|
175
|
+
* // 📁 src
|
|
176
|
+
* // ├── 📄 index.ts
|
|
177
|
+
* // └── 📁 utils
|
|
178
|
+
* // ├── 📄 helper.ts
|
|
179
|
+
* // └── 📄 types.ts
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
format(root: TreeNode, options?: TreeFormatterOptions, context?: RequestContext): string;
|
|
183
|
+
/**
|
|
184
|
+
* Format multiple independent trees (forest) into a single string.
|
|
185
|
+
*
|
|
186
|
+
* Calls {@link format} on each root in order and joins the results with a blank
|
|
187
|
+
* line (`\n\n`) between them. Useful for rendering several top-level structures
|
|
188
|
+
* side-by-side in one output block (e.g. `src/`, `tests/`, `docs/`).
|
|
189
|
+
*
|
|
190
|
+
* @param roots - Non-empty array of root nodes. Each must satisfy the same
|
|
191
|
+
* constraints as the `root` parameter of {@link format}.
|
|
192
|
+
* @param options - Formatting options applied uniformly to every tree.
|
|
193
|
+
* @param context - Optional request context for correlated log output. A new context
|
|
194
|
+
* is created automatically when omitted.
|
|
195
|
+
* @returns Each formatted tree separated by a blank line.
|
|
196
|
+
* @throws {McpError} With code `ValidationError` if `roots` is empty or not an array.
|
|
197
|
+
* @throws {McpError} With code `ValidationError` / `InternalError` propagated from
|
|
198
|
+
* {@link format} if any individual tree fails to render.
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* ```typescript
|
|
202
|
+
* const roots = [
|
|
203
|
+
* { name: 'src', children: [{ name: 'index.ts' }] },
|
|
204
|
+
* { name: 'tests', children: [{ name: 'index.test.ts' }] },
|
|
205
|
+
* ];
|
|
206
|
+
*
|
|
207
|
+
* console.log(treeFormatter.formatMultiple(roots, { style: 'unicode' }));
|
|
208
|
+
* // src
|
|
209
|
+
* // └── index.ts
|
|
210
|
+
* //
|
|
211
|
+
* // tests
|
|
212
|
+
* // └── index.test.ts
|
|
213
|
+
* ```
|
|
214
|
+
*/
|
|
215
|
+
formatMultiple(roots: TreeNode[], options?: TreeFormatterOptions, context?: RequestContext): string;
|
|
216
|
+
/**
|
|
217
|
+
* Recursively render a tree node and its children into `lines`.
|
|
218
|
+
*
|
|
219
|
+
* Uses a post-order removal strategy for circular-reference detection: the node is
|
|
220
|
+
* added to `seenNodes` before descending into children and removed afterward, so
|
|
221
|
+
* the same node can appear in multiple independent branches without false positives —
|
|
222
|
+
* only true ancestor-descendant cycles are flagged.
|
|
223
|
+
*
|
|
224
|
+
* @param node - Current node to render.
|
|
225
|
+
* @param prefix - String prepended to every line produced by this call and its
|
|
226
|
+
* descendants (carries the vertical-connector continuation from parent levels).
|
|
227
|
+
* @param isRoot - Whether this is the top-level node (suppresses the leading connector).
|
|
228
|
+
* @param isLast - Whether this node is the last sibling (determines corner vs. tee connector).
|
|
229
|
+
* @param lines - Accumulator array; rendered lines are pushed here in order.
|
|
230
|
+
* @param options - Resolved formatting options.
|
|
231
|
+
* @param depth - Current render depth (0 = root). Used to enforce `maxDepth`.
|
|
232
|
+
* @private
|
|
233
|
+
*/
|
|
234
|
+
private renderNode;
|
|
235
|
+
/**
|
|
236
|
+
* Return the branch-connector string that precedes a node's name.
|
|
237
|
+
*
|
|
238
|
+
* For `type === 'circular'`, always uses a minimal connector regardless of style
|
|
239
|
+
* (compact: two spaces; others: corner or tee). For normal nodes, the connector
|
|
240
|
+
* depends on `style` and whether this is the last sibling.
|
|
241
|
+
*
|
|
242
|
+
* @param type - `'node'` for a normal node; `'circular'` for a cycle marker.
|
|
243
|
+
* @param isLast - Whether this node is the last among its siblings.
|
|
244
|
+
* @param style - Active tree style.
|
|
245
|
+
* @returns Connector string (e.g. `'└── '`, `'+-- '`, or `''`).
|
|
246
|
+
* @private
|
|
247
|
+
*/
|
|
248
|
+
private getConnector;
|
|
249
|
+
/**
|
|
250
|
+
* Return the prefix string to prepend to all lines produced by child nodes.
|
|
251
|
+
*
|
|
252
|
+
* When the parent is not the last sibling, a vertical connector (`│` for unicode,
|
|
253
|
+
* `|` for ascii) is prepended and padded to match `indent`'s width, keeping the
|
|
254
|
+
* tree visually connected. When the parent is last, a blank indent is used instead.
|
|
255
|
+
*
|
|
256
|
+
* @param isLast - Whether the parent node is the last among its siblings.
|
|
257
|
+
* @param style - Active tree style.
|
|
258
|
+
* @param indent - Configured indentation string (its length determines padding width).
|
|
259
|
+
* @returns Prefix string to pass as `prefix` when recursing into children.
|
|
260
|
+
* @private
|
|
261
|
+
*/
|
|
262
|
+
private getChildPrefix;
|
|
263
|
+
/**
|
|
264
|
+
* Return the icon prefix string for a node, or an empty string when icons are disabled.
|
|
265
|
+
*
|
|
266
|
+
* A node is treated as a "folder" (uses `folderIcon`) if it has at least one child;
|
|
267
|
+
* otherwise it uses `fileIcon`. The returned string includes a trailing space so
|
|
268
|
+
* the icon is separated from the node name.
|
|
269
|
+
*
|
|
270
|
+
* @param node - Node to select an icon for.
|
|
271
|
+
* @param options - Resolved formatting options.
|
|
272
|
+
* @returns Icon string with trailing space (e.g. `'📁 '`), or `''` if `icons` is false.
|
|
273
|
+
* @private
|
|
274
|
+
*/
|
|
275
|
+
private getIcon;
|
|
276
|
+
/**
|
|
277
|
+
* Return the metadata suffix string for a node, or an empty string when metadata display
|
|
278
|
+
* is disabled or the node has no metadata.
|
|
279
|
+
*
|
|
280
|
+
* Entries are formatted as `key=value` pairs joined by `', '` and wrapped in
|
|
281
|
+
* parentheses: ` (size=1KB, type=text)`. All values are coerced to strings via
|
|
282
|
+
* `String()`. Returns `''` if the resulting entry list is empty.
|
|
283
|
+
*
|
|
284
|
+
* @param node - Node whose `metadata` record to format.
|
|
285
|
+
* @param options - Resolved formatting options (`showMetadata` must be `true` to emit output).
|
|
286
|
+
* @returns Metadata suffix string (e.g. `' (size=1KB)'`) or `''`.
|
|
287
|
+
* @private
|
|
288
|
+
*/
|
|
289
|
+
private formatMetadata;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Singleton instance of TreeFormatter.
|
|
293
|
+
* Use this instance to format hierarchical data as tree structures.
|
|
294
|
+
*
|
|
295
|
+
* @example
|
|
296
|
+
* ```typescript
|
|
297
|
+
* import { treeFormatter } from '../../utils/formatting/treeFormatter.js';
|
|
298
|
+
*
|
|
299
|
+
* // Simple directory tree
|
|
300
|
+
* const tree = {
|
|
301
|
+
* name: 'project',
|
|
302
|
+
* children: [
|
|
303
|
+
* {
|
|
304
|
+
* name: 'src',
|
|
305
|
+
* children: [
|
|
306
|
+
* { name: 'index.ts' },
|
|
307
|
+
* { name: 'types.ts' }
|
|
308
|
+
* ]
|
|
309
|
+
* },
|
|
310
|
+
* { name: 'package.json' },
|
|
311
|
+
* { name: 'README.md' }
|
|
312
|
+
* ]
|
|
313
|
+
* };
|
|
314
|
+
*
|
|
315
|
+
* // Unicode tree with icons
|
|
316
|
+
* console.log(treeFormatter.format(tree, {
|
|
317
|
+
* style: 'unicode',
|
|
318
|
+
* icons: true
|
|
319
|
+
* }));
|
|
320
|
+
* // 📁 project
|
|
321
|
+
* // ├── 📁 src
|
|
322
|
+
* // │ ├── 📄 index.ts
|
|
323
|
+
* // │ └── 📄 types.ts
|
|
324
|
+
* // ├── 📄 package.json
|
|
325
|
+
* // └── 📄 README.md
|
|
326
|
+
*
|
|
327
|
+
* // With metadata
|
|
328
|
+
* const treeWithMeta = {
|
|
329
|
+
* name: 'files',
|
|
330
|
+
* metadata: { count: 3 },
|
|
331
|
+
* children: [
|
|
332
|
+
* { name: 'file1.txt', metadata: { size: '1KB' } },
|
|
333
|
+
* { name: 'file2.txt', metadata: { size: '2KB' } }
|
|
334
|
+
* ]
|
|
335
|
+
* };
|
|
336
|
+
*
|
|
337
|
+
* console.log(treeFormatter.format(treeWithMeta, { showMetadata: true }));
|
|
338
|
+
* // files (count=3)
|
|
339
|
+
* // ├── file1.txt (size=1KB)
|
|
340
|
+
* // └── file2.txt (size=2KB)
|
|
341
|
+
* ```
|
|
342
|
+
*/
|
|
343
|
+
export declare const treeFormatter: TreeFormatter;
|
|
344
|
+
//# sourceMappingURL=treeFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/formatting/treeFormatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,oCAAoC,CAAC;AAEhG;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,aAAa;IACxB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAQ7B;IAEF;;;OAGG;IACH,OAAO,CAAC,SAAS,CAAuB;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM;IA6DxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,cAAc,CACZ,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,CAAC,EAAE,oBAAoB,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM;IAuCT;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,UAAU;IAoDlB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,YAAY;IAiBpB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,OAAO;IAgBf;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;CAgBvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|