@yourtechtribe-labs/koncept-mcp-server 0.2.0-alpha.6 → 0.2.0-alpha.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"koncept-lint-naming.d.ts","sourceRoot":"","sources":["../../src/tools/koncept-lint-naming.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAMxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAgD7C,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAoDhF"}
1
+ {"version":3,"file":"koncept-lint-naming.d.ts","sourceRoot":"","sources":["../../src/tools/koncept-lint-naming.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAOxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAiD7C,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CA6DhF"}
@@ -1,7 +1,6 @@
1
1
  import { readFileSync } from 'node:fs';
2
- import { join } from 'node:path';
3
2
  import { z } from 'zod';
4
- import { collectNamingCandidates, loadConcepts, } from '@yourtechtribe-labs/koncept-core';
3
+ import { collectNamingCandidates, loadConcepts, resolveWithinRoot, } from '@yourtechtribe-labs/koncept-core';
5
4
  /**
6
5
  * koncept_lint_naming (K4, MCP surface — DESIGN §4-E).
7
6
  *
@@ -32,6 +31,7 @@ const outputSchema = {
32
31
  })),
33
32
  rules_applied: z.number(),
34
33
  unreadable_files: z.array(z.string()),
34
+ rejected_paths: z.array(z.string()),
35
35
  note: z.string(),
36
36
  };
37
37
  const AGENT_NOTE = 'Deterministic pre-filter only. YOU are the judge: for each candidate, decide ' +
@@ -53,9 +53,17 @@ export function registerKonceptLintNaming(mcp, ctx) {
53
53
  const loaded = await loadConcepts(ctx.rootDir);
54
54
  const scanned = [];
55
55
  const unreadable = [];
56
+ const rejected = [];
56
57
  for (const file of files) {
58
+ // Bound reads to the project root — a `../..` segment would otherwise
59
+ // escape it. Rejected paths are reported, never read (#44).
60
+ const abs = resolveWithinRoot(ctx.rootDir, file);
61
+ if (abs === null) {
62
+ rejected.push(file);
63
+ continue;
64
+ }
57
65
  try {
58
- const content = readFileSync(join(ctx.rootDir, file), 'utf-8');
66
+ const content = readFileSync(abs, 'utf-8');
59
67
  const lines = content.split('\n').map((text, i) => ({ n: i + 1, text }));
60
68
  scanned.push({ file, lines });
61
69
  }
@@ -78,6 +86,7 @@ export function registerKonceptLintNaming(mcp, ctx) {
78
86
  })),
79
87
  rules_applied: rulesApplied,
80
88
  unreadable_files: unreadable,
89
+ rejected_paths: rejected,
81
90
  note: AGENT_NOTE,
82
91
  };
83
92
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"koncept-lint-naming.js","sourceRoot":"","sources":["../../src/tools/koncept-lint-naming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"koncept-lint-naming.js","sourceRoot":"","sources":["../../src/tools/koncept-lint-naming.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yourtechtribe-labs/koncept-mcp-server",
3
- "version": "0.2.0-alpha.6",
3
+ "version": "0.2.0-alpha.7",
4
4
  "mcpName": "io.github.yourtechtribe-labs/koncept-mcp-server",
5
5
  "description": "MCP server exposing semantic concept graph tools (koncept_search, koncept_get, koncept_for_file, koncept_invariants_at_scope).",
6
6
  "keywords": [
@@ -35,7 +35,7 @@
35
35
  "dependencies": {
36
36
  "@modelcontextprotocol/sdk": "1.29.0",
37
37
  "zod": "4.4.3",
38
- "@yourtechtribe-labs/koncept-core": "^0.2.0-alpha.6"
38
+ "@yourtechtribe-labs/koncept-core": "^0.2.0-alpha.7"
39
39
  },
40
40
  "publishConfig": {
41
41
  "access": "public",