@@ -196971,13 +196971,10 @@ var MAX_FILE_SIZE_BYTES = 5 * 1024 * 1024;
196971196971var MAX_FILES_TRAVERSED = 1e4;
196972196972var MAX_CONTEXT_LINES = 50;
196973196973var MAX_MAX_RESULTS = 1e4;
196974- function getSkipDirs() {
196975- return getScanExcludeDirs();
196976- }
196974+ var SKIP_DIRS2 = getScanExcludeDirs();
196977196975function collectFiles(paths, extensions, fileCount) {
196978196976 const files = [];
196979196977 const visitedDirs = /* @__PURE__ */ new Set();
196980- const skipDirs = getSkipDirs();
196981196978 function walk(p) {
196982196979 if (fileCount.value >= MAX_FILES_TRAVERSED) return;
196983196980 let stat;
@@ -196993,7 +196990,7 @@ function collectFiles(paths, extensions, fileCount) {
196993196990 }
196994196991 fileCount.value++;
196995196992 } else if (stat.isDirectory()) {
196996- if (skipDirs .has(basename9(p))) return;
196993+ if (SKIP_DIRS2 .has(basename9(p))) return;
196997196994 let realPath;
196998196995 try {
196999196996 realPath = realpathSync2(p);
@@ -198420,9 +198417,7 @@ init_package_paths();
198420198417var MAX_FILE_COMPLETIONS = 50;
198421198418var MAX_SCAN_DEPTH = 8;
198422198419var CACHE_TTL_MS = 5e3;
198423- function getSkipDirs2() {
198424- return getScanExcludeDirs();
198425- }
198420+ var SKIP_DIRS3 = getScanExcludeDirs();
198426198421var scanCache = /* @__PURE__ */ new Map();
198427198422function getCachedResults(cacheKey2) {
198428198423 const entry = scanCache.get(cacheKey2);
@@ -198438,9 +198433,8 @@ function completeLanguage(value) {
198438198433 const lower = (value || "").toLowerCase();
198439198434 return [...SUPPORTED_LANGUAGES].filter((lang) => lang.startsWith(lower));
198440198435}
198441- async function findFilesByExtension(dir, baseDir, extensions, maxDepth, results, skipDirs ) {
198436+ async function findFilesByExtension(dir, baseDir, extensions, maxDepth, results) {
198442198437 if (maxDepth <= 0 || results.length >= MAX_FILE_COMPLETIONS) return;
198443- const excluded = skipDirs ?? getSkipDirs2();
198444198438 let entries;
198445198439 try {
198446198440 entries = await readdir(dir, { withFileTypes: true });
@@ -198451,10 +198445,10 @@ async function findFilesByExtension(dir, baseDir, extensions, maxDepth, results,
198451198445 if (results.length >= MAX_FILE_COMPLETIONS) break;
198452198446 const fullPath = join22(dir, entry.name);
198453198447 if (entry.isDirectory()) {
198454- if (excluded .has(entry.name)) {
198448+ if (SKIP_DIRS3 .has(entry.name)) {
198455198449 continue;
198456198450 }
198457- await findFilesByExtension(fullPath, baseDir, extensions, maxDepth - 1, results, excluded );
198451+ await findFilesByExtension(fullPath, baseDir, extensions, maxDepth - 1, results);
198458198452 } else if (entry.isFile()) {
198459198453 const lower = entry.name.toLowerCase();
198460198454 if (extensions.some((ext) => lower.endsWith(ext))) {
@@ -198547,9 +198541,8 @@ async function completeDatabasePath(value) {
198547198541 }).sort();
198548198542 return filtered.slice(0, MAX_FILE_COMPLETIONS);
198549198543}
198550- async function findDatabaseDirs(dir, _baseDir, maxDepth, results, skipDirs ) {
198544+ async function findDatabaseDirs(dir, _baseDir, maxDepth, results) {
198551198545 if (maxDepth <= 0 || results.length >= MAX_FILE_COMPLETIONS) return;
198552- const excluded = skipDirs ?? getSkipDirs2();
198553198546 let entries;
198554198547 try {
198555198548 entries = await readdir(dir, { withFileTypes: true });
@@ -198565,8 +198558,8 @@ async function findDatabaseDirs(dir, _baseDir, maxDepth, results, skipDirs) {
198565198558 }
198566198559 for (const entry of entries) {
198567198560 if (results.length >= MAX_FILE_COMPLETIONS) break;
198568- if (entry.isDirectory() && !excluded .has(entry.name)) {
198569- await findDatabaseDirs(join22(dir, entry.name), _baseDir, maxDepth - 1, results, excluded );
198561+ if (entry.isDirectory() && !SKIP_DIRS3 .has(entry.name)) {
198562+ await findDatabaseDirs(join22(dir, entry.name), _baseDir, maxDepth - 1, results);
198570198563 }
198571198564 }
198572198565}
@@ -198576,7 +198569,6 @@ async function completePackRoot(value) {
198576198569 let allResults = getCachedResults(cacheKey2);
198577198570 if (!allResults) {
198578198571 const results = [];
198579- const excluded = getSkipDirs2();
198580198572 async function scan(dir, depth) {
198581198573 if (depth <= 0 || results.length >= MAX_FILE_COMPLETIONS) return;
198582198574 let entries;
@@ -198593,7 +198585,7 @@ async function completePackRoot(value) {
198593198585 }
198594198586 for (const entry of entries) {
198595198587 if (results.length >= MAX_FILE_COMPLETIONS) break;
198596- if (entry.isDirectory() && !excluded .has(entry.name)) {
198588+ if (entry.isDirectory() && !SKIP_DIRS3 .has(entry.name)) {
198597198589 await scan(join22(dir, entry.name), depth - 1);
198598198590 }
198599198591 }
@@ -198613,6 +198605,7 @@ async function completePackRoot(value) {
198613198605var CODEQL_LANG_DEP_RE = /codeql\/([a-z]+)-(all|queries)/;
198614198606async function resolveLanguageFromPack(queryFilePath) {
198615198607 let dir = dirname9(queryFilePath);
198608+ const root = dirname9(dir) === dir ? dir : void 0;
198616198609 for (let i = 0; i < 20; i++) {
198617198610 const packPath = join22(dir, "codeql-pack.yml");
198618198611 try {
@@ -198627,7 +198620,7 @@ async function resolveLanguageFromPack(queryFilePath) {
198627198620 } catch {
198628198621 }
198629198622 const parent = dirname9(dir);
198630- if (parent === dir) break;
198623+ if (parent === dir || parent === root ) break;
198631198624 dir = parent;
198632198625 }
198633198626 return void 0;
@@ -201528,7 +201521,7 @@ init_package_paths();
201528201521init_logger();
201529201522import_dotenv.default.config({ path: resolve14(packageRootDir, ".env"), quiet: true });
201530201523var PACKAGE_NAME = "codeql-development-mcp-server";
201531- var VERSION = "2.25.1-next.3 ";
201524+ var VERSION = "2.25.2 ";
201532201525async function startServer(mode = "stdio") {
201533201526 logger.info(`Starting CodeQL Development MCP McpServer v${VERSION} in ${mode} mode`);
201534201527 const codeqlBinary = resolveCodeQLBinary();
0 commit comments