@tng-sh/mcp-server 1.0.3 → 1.0.5

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 (50) hide show
  1. package/dist/index.js +283 -88
  2. package/dist/index.js.map +1 -1
  3. package/dist/init.d.ts.map +1 -1
  4. package/dist/init.js +8 -0
  5. package/dist/init.js.map +1 -1
  6. package/dist/prompts.d.ts +3 -0
  7. package/dist/prompts.d.ts.map +1 -0
  8. package/dist/prompts.js +63 -0
  9. package/dist/prompts.js.map +1 -0
  10. package/dist/tools/audit.d.ts +5 -2
  11. package/dist/tools/audit.d.ts.map +1 -1
  12. package/dist/tools/audit.js +115 -147
  13. package/dist/tools/audit.js.map +1 -1
  14. package/dist/tools/call_sites.d.ts +4 -1
  15. package/dist/tools/call_sites.d.ts.map +1 -1
  16. package/dist/tools/call_sites.js +16 -23
  17. package/dist/tools/call_sites.js.map +1 -1
  18. package/dist/tools/clones.d.ts +4 -1
  19. package/dist/tools/clones.d.ts.map +1 -1
  20. package/dist/tools/clones.js +19 -24
  21. package/dist/tools/clones.js.map +1 -1
  22. package/dist/tools/deadcode.d.ts +4 -1
  23. package/dist/tools/deadcode.d.ts.map +1 -1
  24. package/dist/tools/deadcode.js +19 -24
  25. package/dist/tools/deadcode.js.map +1 -1
  26. package/dist/tools/generate.d.ts +4 -1
  27. package/dist/tools/generate.d.ts.map +1 -1
  28. package/dist/tools/generate.js +19 -24
  29. package/dist/tools/generate.js.map +1 -1
  30. package/dist/tools/impact.d.ts +4 -1
  31. package/dist/tools/impact.d.ts.map +1 -1
  32. package/dist/tools/impact.js +19 -24
  33. package/dist/tools/impact.js.map +1 -1
  34. package/dist/tools/method_resolver.d.ts +20 -0
  35. package/dist/tools/method_resolver.d.ts.map +1 -0
  36. package/dist/tools/method_resolver.js +138 -0
  37. package/dist/tools/method_resolver.js.map +1 -0
  38. package/dist/tools/trace.d.ts +4 -1
  39. package/dist/tools/trace.d.ts.map +1 -1
  40. package/dist/tools/trace.js +19 -24
  41. package/dist/tools/trace.js.map +1 -1
  42. package/dist/tools/utils.d.ts +36 -1
  43. package/dist/tools/utils.d.ts.map +1 -1
  44. package/dist/tools/utils.js +305 -17
  45. package/dist/tools/utils.js.map +1 -1
  46. package/dist/tools/xray.d.ts +4 -1
  47. package/dist/tools/xray.d.ts.map +1 -1
  48. package/dist/tools/xray.js +21 -23
  49. package/dist/tools/xray.js.map +1 -1
  50. package/package.json +1 -1
@@ -1,6 +1,9 @@
1
- import { existsSync } from 'fs';
2
- import { join, dirname, isAbsolute, resolve as pathResolve } from 'path';
3
- import { execSync } from 'child_process';
1
+ import { existsSync, readdirSync, readFileSync } from 'fs';
2
+ import { join, dirname, isAbsolute, resolve as pathResolve, extname, basename } from 'path';
3
+ import { execSync, exec, execFile } from 'child_process';
4
+ import { promisify } from 'util';
5
+ const execAsync = promisify(exec);
6
+ const execFileAsync = promisify(execFile);
4
7
  export function findProjectRoot(filePath) {
5
8
  let dir = dirname(filePath);
6
9
  // Look for project markers
@@ -142,7 +145,21 @@ export function detectLanguage(filePath) {
142
145
  }
143
146
  export function buildMcpResponse(payload) {
144
147
  const format = payload.format || 'text';
145
- const status = payload.isError ? 'error' : 'ok';
148
+ const isError = !!payload.isError;
149
+ const status = isError ? 'error' : 'ok';
150
+ const code = payload.code || (isError ? 'tool_error' : 'ok');
151
+ const message = payload.message || payload.text || (isError ? 'Tool execution failed' : 'Success');
152
+ const envelope = {
153
+ tool: payload.tool,
154
+ ok: !isError,
155
+ status,
156
+ code,
157
+ message,
158
+ data: payload.raw ?? null,
159
+ details: payload.details ?? null,
160
+ next_actions: payload.next_actions ?? [],
161
+ meta: payload.meta ?? {},
162
+ };
146
163
  if (format === 'text') {
147
164
  return {
148
165
  content: [
@@ -151,22 +168,12 @@ export function buildMcpResponse(payload) {
151
168
  text: payload.text || '',
152
169
  },
153
170
  ],
154
- isError: payload.isError,
171
+ isError,
155
172
  };
156
173
  }
157
- const envelope = {
158
- tool: payload.tool,
159
- status,
160
- };
161
- if (payload.isError) {
162
- envelope.error = payload.text || 'Unknown error';
163
- }
164
- else if (format === 'both') {
174
+ if (format === 'both' && payload.text) {
165
175
  envelope.text = payload.text || '';
166
176
  }
167
- if (payload.raw !== undefined) {
168
- envelope.raw = payload.raw;
169
- }
170
177
  return {
171
178
  content: [
172
179
  {
@@ -174,7 +181,7 @@ export function buildMcpResponse(payload) {
174
181
  text: JSON.stringify(envelope, null, 2),
175
182
  },
176
183
  ],
177
- isError: payload.isError,
184
+ isError,
178
185
  };
179
186
  }
180
187
  export function resolveFilePath(filePath, projectRoot) {
@@ -192,4 +199,285 @@ export function safeJsonParse(line) {
192
199
  return null;
193
200
  }
194
201
  }
202
+ export async function runTngCommand(tngCommand, baseArgs, options) {
203
+ const retries = Math.max(0, options.retries || 0);
204
+ const timeoutMs = Math.max(1, options.timeoutSec || 1) * 1000;
205
+ let lastError;
206
+ const startedAt = Date.now();
207
+ for (let attempt = 1; attempt <= retries + 1; attempt++) {
208
+ try {
209
+ const command = tngCommand.shell
210
+ ? `${tngCommand.cmd} ${baseArgs.map(shellEscape).join(' ')}`
211
+ : `${tngCommand.cmd} ${[...tngCommand.args, ...baseArgs].map(shellEscape).join(' ')}`;
212
+ if (options.debug) {
213
+ console.error(`[TNG MCP][debug] attempt=${attempt} cwd=${options.cwd}`);
214
+ console.error(`[TNG MCP][debug] command=${command}`);
215
+ }
216
+ const result = tngCommand.shell
217
+ ? await execAsync(command, {
218
+ cwd: options.cwd,
219
+ env: getShellEnv(),
220
+ timeout: timeoutMs,
221
+ maxBuffer: 10 * 1024 * 1024,
222
+ })
223
+ : await execFileAsync(tngCommand.cmd, [...tngCommand.args, ...baseArgs], {
224
+ cwd: options.cwd,
225
+ env: getShellEnv(),
226
+ timeout: timeoutMs,
227
+ maxBuffer: 10 * 1024 * 1024,
228
+ });
229
+ return {
230
+ stdout: result.stdout ?? '',
231
+ stderr: result.stderr ?? '',
232
+ attempts: attempt,
233
+ durationMs: Date.now() - startedAt,
234
+ };
235
+ }
236
+ catch (error) {
237
+ lastError = error;
238
+ const retryable = isRetryableError(error);
239
+ if (options.debug) {
240
+ console.error(`[TNG MCP][debug] attempt=${attempt} failed retryable=${retryable} error=${error?.message}`);
241
+ }
242
+ if (!retryable || attempt > retries) {
243
+ throw error;
244
+ }
245
+ }
246
+ }
247
+ throw lastError;
248
+ }
249
+ function isRetryableError(error) {
250
+ if (!error)
251
+ return false;
252
+ const code = String(error.code || '');
253
+ if (code === 'ETIMEDOUT' || code === 'ECONNRESET' || code === 'EPIPE')
254
+ return true;
255
+ if (error.killed)
256
+ return true;
257
+ const message = String(error.message || '').toLowerCase();
258
+ return message.includes('timed out') || message.includes('timeout');
259
+ }
260
+ export function preflightTarget(request) {
261
+ const providedPath = (request.filePath || '').trim();
262
+ const providedMethod = (request.methodName || '').trim();
263
+ const root = resolveProjectRootForRequest(providedPath, request.projectRoot);
264
+ if (!providedPath) {
265
+ return {
266
+ ok: false,
267
+ code: 'missing_file_path',
268
+ message: 'file_path is required',
269
+ details: { tool: request.tool, project_root: root },
270
+ projectRoot: root,
271
+ };
272
+ }
273
+ const resolve = resolvePathWithShortName(providedPath, root);
274
+ if (!resolve.ok) {
275
+ return {
276
+ ok: false,
277
+ code: resolve.code,
278
+ message: resolve.message,
279
+ details: resolve.details,
280
+ projectRoot: root,
281
+ };
282
+ }
283
+ const ignoreCheck = checkIgnored(resolve.resolvedPath, root);
284
+ if (ignoreCheck.ignored) {
285
+ return {
286
+ ok: false,
287
+ code: 'ignored_by_config',
288
+ message: `Path is ignored by TNG config: ${ignoreCheck.rule}`,
289
+ details: {
290
+ provided_path: providedPath,
291
+ resolved_path: resolve.resolvedPath,
292
+ matched_rule: ignoreCheck.rule,
293
+ config_file: ignoreCheck.configFile,
294
+ project_root: root,
295
+ },
296
+ projectRoot: root,
297
+ resolvedPath: resolve.resolvedPath,
298
+ };
299
+ }
300
+ if (request.requireMethod && !providedMethod) {
301
+ return {
302
+ ok: false,
303
+ code: 'missing_method_name',
304
+ message: 'method_name is required',
305
+ details: { file_path: providedPath, resolved_path: resolve.resolvedPath, project_root: root },
306
+ projectRoot: root,
307
+ resolvedPath: resolve.resolvedPath,
308
+ };
309
+ }
310
+ if (providedMethod) {
311
+ const methodExists = fileLikelyContainsMethod(resolve.resolvedPath, providedMethod);
312
+ if (!methodExists) {
313
+ return {
314
+ ok: false,
315
+ code: 'method_not_found',
316
+ message: `Method '${providedMethod}' was not found in ${basename(resolve.resolvedPath)}`,
317
+ details: {
318
+ method_name: providedMethod,
319
+ class_name: request.className || null,
320
+ resolved_path: resolve.resolvedPath,
321
+ project_root: root,
322
+ },
323
+ projectRoot: root,
324
+ resolvedPath: resolve.resolvedPath,
325
+ };
326
+ }
327
+ }
328
+ return {
329
+ ok: true,
330
+ code: 'ok',
331
+ message: 'Preflight checks passed',
332
+ details: {
333
+ provided_path: providedPath,
334
+ resolved_path: resolve.resolvedPath,
335
+ project_root: root,
336
+ },
337
+ projectRoot: root,
338
+ resolvedPath: resolve.resolvedPath,
339
+ };
340
+ }
341
+ function resolveProjectRootForRequest(filePath, provided) {
342
+ if (provided && provided.trim().length > 0) {
343
+ return isAbsolute(provided) ? provided : pathResolve(process.cwd(), provided);
344
+ }
345
+ if (filePath) {
346
+ const abs = resolveFilePath(filePath);
347
+ return findProjectRoot(abs) || process.cwd();
348
+ }
349
+ return process.cwd();
350
+ }
351
+ function resolvePathWithShortName(filePath, projectRoot) {
352
+ const direct = resolveFilePath(filePath, projectRoot);
353
+ if (existsSync(direct)) {
354
+ return { ok: true, resolvedPath: direct };
355
+ }
356
+ const looksLikeShortName = !filePath.includes('/') && !filePath.includes('\\');
357
+ if (!looksLikeShortName) {
358
+ return {
359
+ ok: false,
360
+ code: 'file_not_found',
361
+ message: `File not found: ${filePath}`,
362
+ details: { provided_path: filePath, tried_path: direct, project_root: projectRoot },
363
+ };
364
+ }
365
+ const candidates = findShortNameCandidates(projectRoot, filePath);
366
+ if (candidates.length === 0) {
367
+ return {
368
+ ok: false,
369
+ code: 'file_not_found',
370
+ message: `No file matches short name '${filePath}'`,
371
+ details: { provided_path: filePath, project_root: projectRoot },
372
+ };
373
+ }
374
+ if (candidates.length > 1) {
375
+ return {
376
+ ok: false,
377
+ code: 'ambiguous_file_path',
378
+ message: `Short name '${filePath}' is ambiguous`,
379
+ details: {
380
+ provided_path: filePath,
381
+ project_root: projectRoot,
382
+ candidates: candidates.slice(0, 20),
383
+ },
384
+ };
385
+ }
386
+ return { ok: true, resolvedPath: candidates[0] };
387
+ }
388
+ function findShortNameCandidates(root, shortName) {
389
+ const results = [];
390
+ const token = shortName.toLowerCase();
391
+ const allowedExts = new Set(['.rb', '.py', '.js', '.jsx', '.ts', '.tsx']);
392
+ const skipDirs = new Set(['.git', 'node_modules', 'dist', 'build', '.venv', 'venv', '.bundle', 'vendor']);
393
+ const walk = (dir) => {
394
+ let entries;
395
+ try {
396
+ entries = readdirSync(dir, { withFileTypes: true });
397
+ }
398
+ catch {
399
+ return;
400
+ }
401
+ for (const entry of entries) {
402
+ const full = join(dir, entry.name);
403
+ if (entry.isDirectory()) {
404
+ if (skipDirs.has(entry.name))
405
+ continue;
406
+ walk(full);
407
+ continue;
408
+ }
409
+ const ext = extname(entry.name).toLowerCase();
410
+ if (!allowedExts.has(ext))
411
+ continue;
412
+ const base = basename(entry.name, ext).toLowerCase();
413
+ if (base === token || entry.name.toLowerCase() === token) {
414
+ results.push(full);
415
+ }
416
+ }
417
+ };
418
+ walk(root);
419
+ return results;
420
+ }
421
+ function fileLikelyContainsMethod(filePath, methodName) {
422
+ try {
423
+ const source = readFileSync(filePath, 'utf8');
424
+ return source.includes(methodName);
425
+ }
426
+ catch {
427
+ return false;
428
+ }
429
+ }
430
+ function checkIgnored(absPath, projectRoot) {
431
+ const configs = [
432
+ join(projectRoot, 'tng.config.js'),
433
+ join(projectRoot, 'tng_config.py'),
434
+ join(projectRoot, 'config', 'initializers', 'tng.rb'),
435
+ ];
436
+ const relPath = normalizePath(absPath.replace(projectRoot, '').replace(/^[/\\]/, ''));
437
+ for (const cfg of configs) {
438
+ if (!existsSync(cfg))
439
+ continue;
440
+ let content = '';
441
+ try {
442
+ content = readFileSync(cfg, 'utf8');
443
+ }
444
+ catch {
445
+ continue;
446
+ }
447
+ const fileRules = extractRules(content, ['IGNORE_FILES', 'ignore_files']);
448
+ const folderRules = extractRules(content, ['IGNORE_FOLDERS', 'ignore_folders']);
449
+ for (const rule of fileRules) {
450
+ const normalized = normalizePath(rule);
451
+ if (normalized === relPath) {
452
+ return { ignored: true, rule, configFile: cfg };
453
+ }
454
+ }
455
+ for (const rule of folderRules) {
456
+ const normalized = normalizePath(rule).replace(/\/+$/, '');
457
+ if (relPath === normalized || relPath.startsWith(`${normalized}/`)) {
458
+ return { ignored: true, rule, configFile: cfg };
459
+ }
460
+ }
461
+ }
462
+ return { ignored: false };
463
+ }
464
+ function extractRules(content, keys) {
465
+ const values = [];
466
+ for (const key of keys) {
467
+ const rx = new RegExp(`${key}\\s*(?:=|:)\\s*\\[([\\s\\S]*?)\\]`, 'g');
468
+ let match;
469
+ while ((match = rx.exec(content)) !== null) {
470
+ const block = match[1];
471
+ const itemRx = /["']([^"']+)["']/g;
472
+ let m;
473
+ while ((m = itemRx.exec(block)) !== null) {
474
+ values.push(m[1]);
475
+ }
476
+ }
477
+ }
478
+ return values;
479
+ }
480
+ function normalizePath(value) {
481
+ return value.replace(/\\/g, '/').replace(/^\.?\//, '').replace(/\/+/g, '/');
482
+ }
195
483
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tools/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tools/utils.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,16 @@ interface XRayArgs {
4
4
  project_root?: string;
5
5
  response_format?: 'text' | 'json' | 'both';
6
6
  raw_json?: boolean;
7
+ timeout_sec?: number;
8
+ retries?: number;
9
+ debug?: boolean;
7
10
  }
8
11
  export declare function xrayMethod(args: XRayArgs): Promise<{
9
12
  content: {
10
13
  type: "text";
11
14
  text: string;
12
15
  }[];
13
- isError: boolean | undefined;
16
+ isError: boolean;
14
17
  }>;
15
18
  export {};
16
19
  //# sourceMappingURL=xray.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xray.d.ts","sourceRoot":"","sources":["../../src/tools/xray.ts"],"names":[],"mappings":"AAOA,UAAU,QAAQ;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,QAAQ;;;;;;GAuI9C"}
1
+ {"version":3,"file":"xray.d.ts","sourceRoot":"","sources":["../../src/tools/xray.ts"],"names":[],"mappings":"AAEA,UAAU,QAAQ;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,QAAQ;;;;;;GAuI9C"}
@@ -1,8 +1,4 @@
1
- import { exec, execFile } from 'child_process';
2
- import { promisify } from 'util';
3
- import { findProjectRoot, getTngCommandConfig, getShellEnv, shellEscape, buildMcpResponse, resolveFilePath, safeJsonParse } from './utils.js';
4
- const execAsync = promisify(exec);
5
- const execFileAsync = promisify(execFile);
1
+ import { findProjectRoot, getTngCommandConfig, buildMcpResponse, resolveFilePath, safeJsonParse, runTngCommand } from './utils.js';
6
2
  export async function xrayMethod(args) {
7
3
  const { file_path, method_name, project_root } = args;
8
4
  const responseFormat = args.response_format || (args.raw_json ? 'json' : 'text');
@@ -25,23 +21,17 @@ export async function xrayMethod(args) {
25
21
  baseArgs = ['xray', '--json', '-f', file_path, '-m', method_name];
26
22
  }
27
23
  command = tngCommand.shell
28
- ? `${tngCommand.cmd} ${baseArgs.map(shellEscape).join(' ')}`
29
- : `${tngCommand.cmd} ${[...tngCommand.args, ...baseArgs].map(shellEscape).join(' ')}`;
30
- console.error(`[TNG MCP] Running: ${command}`);
31
- console.error(`[TNG MCP] CWD: ${cwd}`);
32
- const { stdout, stderr } = tngCommand.shell
33
- ? await execAsync(command, {
34
- cwd,
35
- env: getShellEnv(),
36
- timeout: 120000, // 2 minutes
37
- maxBuffer: 10 * 1024 * 1024,
38
- })
39
- : await execFileAsync(tngCommand.cmd, [...tngCommand.args, ...baseArgs], {
40
- cwd,
41
- env: getShellEnv(),
42
- timeout: 120000,
43
- maxBuffer: 10 * 1024 * 1024,
44
- });
24
+ ? `${tngCommand.cmd} ${baseArgs.join(' ')}`
25
+ : `${tngCommand.cmd} ${[...tngCommand.args, ...baseArgs].join(' ')}`;
26
+ const timeoutSec = args.timeout_sec ?? 120;
27
+ const retries = args.retries ?? 0;
28
+ const debug = args.debug ?? false;
29
+ const { stdout, stderr, attempts, durationMs } = await runTngCommand(tngCommand, baseArgs, {
30
+ cwd,
31
+ timeoutSec,
32
+ retries,
33
+ debug,
34
+ });
45
35
  if (stderr && !stderr.includes('TNG')) {
46
36
  console.error('[TNG MCP] stderr:', stderr);
47
37
  }
@@ -78,6 +68,8 @@ export async function xrayMethod(args) {
78
68
  raw: stdout,
79
69
  isError: true,
80
70
  format: responseFormat,
71
+ code: 'no_result',
72
+ meta: { attempts, duration_ms: durationMs, project_root: cwd },
81
73
  });
82
74
  }
83
75
  const formattedOutput = formatXRayResult(result, file_path, method_name);
@@ -86,6 +78,8 @@ export async function xrayMethod(args) {
86
78
  text: formattedOutput,
87
79
  raw: result,
88
80
  format: responseFormat,
81
+ code: 'ok',
82
+ meta: { attempts, duration_ms: durationMs, project_root: cwd },
89
83
  });
90
84
  }
91
85
  catch (error) {
@@ -95,14 +89,16 @@ export async function xrayMethod(args) {
95
89
  text: `Error: TNG CLI not found in project. Please install TNG first.`,
96
90
  isError: true,
97
91
  format: responseFormat,
92
+ code: 'cli_not_found',
98
93
  });
99
94
  }
100
95
  if (error.killed) {
101
96
  return buildMcpResponse({
102
97
  tool: 'xray_method',
103
- text: `Error: X-Ray generation timed out after 2 minutes.`,
98
+ text: `Error: X-Ray generation timed out.`,
104
99
  isError: true,
105
100
  format: responseFormat,
101
+ code: 'timeout',
106
102
  });
107
103
  }
108
104
  let errorMessage = error.message;
@@ -128,6 +124,8 @@ export async function xrayMethod(args) {
128
124
  text: `Error generating X-Ray for ${file_path}#${method_name}: ${errorMessage}`,
129
125
  isError: true,
130
126
  format: responseFormat,
127
+ code: 'xray_failed',
128
+ details: { file_path, method_name },
131
129
  });
132
130
  }
133
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xray.js","sourceRoot":"","sources":["../../src/tools/xray.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xray.js","sourceRoot":"","sources":["../../src/tools/xray.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tng-sh/mcp-server",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "MCP server for TNG test generation and code auditing",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",