UNPKG

vibe-coder-mcp

Version:

Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.

59 lines (58 loc) 2.71 kB
import logger from '../../../logger.js'; import { ImportResolverManager } from './ImportResolverManager.js'; import { ImportResolverFactory } from '../importResolvers/importResolverFactory.js'; import path from 'path'; let resolverFactory = null; export function initializeImportResolver(config) { const manager = ImportResolverManager.getInstance(); if (resolverFactory) { resolverFactory.dispose(); resolverFactory = null; } if (config.importResolver?.enabled) { const importResolverConfig = { enabled: true, useCache: config.importResolver.useCache !== false, cacheSize: config.importResolver.cacheSize || 10000, extensions: config.importResolver.extensions, expandSecurityBoundary: true, enhanceImports: config.importResolver.enhanceImports === true }; manager.initialize(importResolverConfig); resolverFactory = new ImportResolverFactory({ allowedDir: config.allowedMappingDirectory, outputDir: config.output?.outputDir || path.join(process.env.VIBE_CODER_OUTPUT_DIR || '.', 'code-map-generator'), maxDepth: config.importResolver?.importMaxDepth || 3, tsConfig: config.importResolver?.tsConfig, pythonPath: config.importResolver?.pythonPath, pythonVersion: config.importResolver?.pythonVersion, venvPath: config.importResolver?.venvPath, clangdPath: config.importResolver?.clangdPath, compileFlags: config.importResolver?.compileFlags, includePaths: config.importResolver?.includePaths, semgrepPatterns: config.importResolver?.semgrepPatterns, semgrepTimeout: config.importResolver?.semgrepTimeout, semgrepMaxMemory: config.importResolver?.semgrepMaxMemory, disableSemgrepFallback: config.importResolver?.disableSemgrepFallback }); logger.info({ enabled: importResolverConfig.enabled, expandSecurityBoundary: importResolverConfig.enabled ? true : false, enhanceImports: importResolverConfig.enhanceImports }, 'Import resolver initialized with configuration'); } else { manager.initialize({ enabled: false }); logger.info('Import resolver disabled in configuration'); } } export function disposeImportResolver() { if (resolverFactory) { resolverFactory.dispose(); resolverFactory = null; logger.info('Import resolver factory disposed'); } const manager = ImportResolverManager.getInstance(); manager.clearCache(); logger.info('Import resolver manager cache cleared'); }