@lousy-agents/mcp 5.23.7 → 5.23.8

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.
Files changed (2) hide show
  1. package/dist/mcp-server.js +32 -9
  2. package/package.json +1 -1
@@ -55592,6 +55592,20 @@ const RUN_LEVEL_RULE_IDS = new Set([
55592
55592
  ]
55593
55593
  }
55594
55594
  ];
55595
+ /**
55596
+ * Instruction filenames loaded in subdirectories as well as at the repository
55597
+ * root. Case-sensitive. Copilot does not load these from `.github/instructions`
55598
+ * (that directory accepts only `*.instructions.md`), so they stay Claude or
55599
+ * shared instructions wherever they sit.
55600
+ */ const NESTED_INSTRUCTION_FILENAMES = new Set([
55601
+ "CLAUDE.md",
55602
+ "AGENTS.md",
55603
+ "AGENTS.MD",
55604
+ "agents.md"
55605
+ ]);
55606
+ function agentic_location_catalog_isNestedInstructionFilename(fileName) {
55607
+ return NESTED_INSTRUCTION_FILENAMES.has(fileName);
55608
+ }
55595
55609
 
55596
55610
  ;// CONCATENATED MODULE: ../core/src/lib/agentic-location-matchers.ts
55597
55611
  /**
@@ -55646,6 +55660,11 @@ function entriesMatchingPath(path, catalog = AGENTIC_LOCATION_CATALOG) {
55646
55660
  * that finds the file by directory prefix alone should leave it out.
55647
55661
  */ function isExcludedBySuffix(path, catalog = AGENTIC_LOCATION_CATALOG) {
55648
55662
  const normalized = normalizeRepoRelativePath(path);
55663
+ const slash = normalized.lastIndexOf("/");
55664
+ const fileName = slash === -1 ? normalized : normalized.slice(slash + 1);
55665
+ if (isNestedInstructionFilename(fileName)) {
55666
+ return false;
55667
+ }
55649
55668
  return entriesMatchingPath(path, catalog).length === 0 && catalog.some((entry)=>entry.matchKind === "directory-prefix" && entry.fileSuffix !== undefined && normalized.startsWith(`${entry.path}/`));
55650
55669
  }
55651
55670
  function specificityScore(entry) {
@@ -55898,6 +55917,7 @@ function resolveSettings(options) {
55898
55917
  maxDirectories: options.maxDirectories ?? DEFAULT_MAX_WALK_DIRECTORIES,
55899
55918
  maxEntries: options.maxEntries ?? DEFAULT_MAX_WALK_ENTRIES,
55900
55919
  skipDirectoryNames: new Set(options.skipDirectoryNames ?? DEFAULT_SKIPPED_DIRECTORY_NAMES),
55920
+ skipDirectory: options.skipDirectory ?? (()=>false),
55901
55921
  listDirectory: options.listDirectory ?? listWithinRoot
55902
55922
  };
55903
55923
  }
@@ -55990,7 +56010,7 @@ function segmentsOf(relativePath) {
55990
56010
  async walkEntry(directoryReal, entryRelativePath, name, depth, ancestors) {
55991
56011
  const entry = await inspectPathWithinRoot(this.rootReal, (0,external_node_path_.join)(directoryReal, name));
55992
56012
  if (entry.status === "outside-root") {
55993
- if (this.wouldHaveCollected(entry.kind, name, depth)) {
56013
+ if (this.wouldHaveCollected(entry.kind, entryRelativePath, name, depth)) {
55994
56014
  this.skippedOutsideRoot.push(entryRelativePath);
55995
56015
  }
55996
56016
  return;
@@ -56002,17 +56022,17 @@ function segmentsOf(relativePath) {
56002
56022
  this.collectFile(entryRelativePath, name, entry.real, entry.identity);
56003
56023
  return;
56004
56024
  }
56005
- if (this.shouldDescend(name, depth)) {
56025
+ if (this.shouldDescend(entryRelativePath, name, depth)) {
56006
56026
  await this.walkDirectory(entryRelativePath, depth + 1, ancestors);
56007
- } else if (this.isTooDeep(name, depth) && !this.isRevisit(entry.real, ancestors)) {
56027
+ } else if (this.isTooDeep(entryRelativePath, name, depth) && !this.isRevisit(entry.real, ancestors)) {
56008
56028
  this.depthLimitReached = true;
56009
56029
  }
56010
56030
  }
56011
- wouldHaveCollected(kind, name, depth) {
56031
+ wouldHaveCollected(kind, relativePath, name, depth) {
56012
56032
  if (kind === "file") {
56013
56033
  return this.settings.includeFile(name);
56014
56034
  }
56015
- return kind === "directory" && this.shouldDescend(name, depth);
56035
+ return kind === "directory" && this.shouldDescend(relativePath, name, depth);
56016
56036
  }
56017
56037
  collectFile(relativePath, name, real, identity) {
56018
56038
  if (this.settings.includeFile(name)) {
@@ -56023,11 +56043,14 @@ function segmentsOf(relativePath) {
56023
56043
  });
56024
56044
  }
56025
56045
  }
56026
- shouldDescend(name, depth) {
56027
- return this.settings.includeSubdirectories && depth < this.settings.maxDepth && !this.settings.skipDirectoryNames.has(name);
56046
+ isSkippedDirectory(relativePath, name) {
56047
+ return this.settings.skipDirectoryNames.has(name) || this.settings.skipDirectory(relativePath);
56048
+ }
56049
+ shouldDescend(relativePath, name, depth) {
56050
+ return this.settings.includeSubdirectories && depth < this.settings.maxDepth && !this.isSkippedDirectory(relativePath, name);
56028
56051
  }
56029
- isTooDeep(name, depth) {
56030
- return this.settings.includeSubdirectories && depth >= this.settings.maxDepth && !this.settings.skipDirectoryNames.has(name);
56052
+ isTooDeep(relativePath, name, depth) {
56053
+ return this.settings.includeSubdirectories && depth >= this.settings.maxDepth && !this.isSkippedDirectory(relativePath, name);
56031
56054
  }
56032
56055
  }
56033
56056
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lousy-agents/mcp",
3
- "version": "5.23.7",
3
+ "version": "5.23.8",
4
4
  "description": "MCP server for lousy-agents - provides AI coding assistant tools via the Model Context Protocol",
5
5
  "type": "module",
6
6
  "repository": {