nodebench-mcp 2.11.0 → 2.14.0

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 (67) hide show
  1. package/NODEBENCH_AGENTS.md +809 -809
  2. package/README.md +443 -431
  3. package/STYLE_GUIDE.md +477 -477
  4. package/dist/__tests__/evalHarness.test.js +1 -1
  5. package/dist/__tests__/gaiaCapabilityAudioEval.test.js +9 -14
  6. package/dist/__tests__/gaiaCapabilityAudioEval.test.js.map +1 -1
  7. package/dist/__tests__/gaiaCapabilityEval.test.js +88 -14
  8. package/dist/__tests__/gaiaCapabilityEval.test.js.map +1 -1
  9. package/dist/__tests__/gaiaCapabilityFilesEval.test.js +9 -5
  10. package/dist/__tests__/gaiaCapabilityFilesEval.test.js.map +1 -1
  11. package/dist/__tests__/gaiaCapabilityMediaEval.test.js +165 -17
  12. package/dist/__tests__/gaiaCapabilityMediaEval.test.js.map +1 -1
  13. package/dist/__tests__/helpers/answerMatch.d.ts +36 -7
  14. package/dist/__tests__/helpers/answerMatch.js +224 -35
  15. package/dist/__tests__/helpers/answerMatch.js.map +1 -1
  16. package/dist/__tests__/helpers/textLlm.d.ts +1 -1
  17. package/dist/__tests__/presetRealWorldBench.test.d.ts +1 -0
  18. package/dist/__tests__/presetRealWorldBench.test.js +850 -0
  19. package/dist/__tests__/presetRealWorldBench.test.js.map +1 -0
  20. package/dist/__tests__/tools.test.js +20 -7
  21. package/dist/__tests__/tools.test.js.map +1 -1
  22. package/dist/__tests__/toolsetGatingEval.test.js +21 -11
  23. package/dist/__tests__/toolsetGatingEval.test.js.map +1 -1
  24. package/dist/db.js +21 -0
  25. package/dist/db.js.map +1 -1
  26. package/dist/index.js +424 -327
  27. package/dist/index.js.map +1 -1
  28. package/dist/tools/agentBootstrapTools.js +258 -258
  29. package/dist/tools/boilerplateTools.js +144 -144
  30. package/dist/tools/cCompilerBenchmarkTools.js +33 -33
  31. package/dist/tools/documentationTools.js +59 -59
  32. package/dist/tools/flywheelTools.js +6 -6
  33. package/dist/tools/gitWorkflowTools.d.ts +11 -0
  34. package/dist/tools/gitWorkflowTools.js +580 -0
  35. package/dist/tools/gitWorkflowTools.js.map +1 -0
  36. package/dist/tools/learningTools.js +26 -26
  37. package/dist/tools/localFileTools.d.ts +3 -0
  38. package/dist/tools/localFileTools.js +3164 -125
  39. package/dist/tools/localFileTools.js.map +1 -1
  40. package/dist/tools/metaTools.js +82 -0
  41. package/dist/tools/metaTools.js.map +1 -1
  42. package/dist/tools/parallelAgentTools.js +228 -0
  43. package/dist/tools/parallelAgentTools.js.map +1 -1
  44. package/dist/tools/patternTools.d.ts +13 -0
  45. package/dist/tools/patternTools.js +456 -0
  46. package/dist/tools/patternTools.js.map +1 -0
  47. package/dist/tools/reconTools.js +31 -31
  48. package/dist/tools/selfEvalTools.js +44 -44
  49. package/dist/tools/seoTools.d.ts +16 -0
  50. package/dist/tools/seoTools.js +866 -0
  51. package/dist/tools/seoTools.js.map +1 -0
  52. package/dist/tools/sessionMemoryTools.d.ts +15 -0
  53. package/dist/tools/sessionMemoryTools.js +348 -0
  54. package/dist/tools/sessionMemoryTools.js.map +1 -0
  55. package/dist/tools/toolRegistry.d.ts +4 -0
  56. package/dist/tools/toolRegistry.js +489 -0
  57. package/dist/tools/toolRegistry.js.map +1 -1
  58. package/dist/tools/toonTools.d.ts +15 -0
  59. package/dist/tools/toonTools.js +94 -0
  60. package/dist/tools/toonTools.js.map +1 -0
  61. package/dist/tools/verificationTools.js +41 -41
  62. package/dist/tools/visionTools.js +17 -17
  63. package/dist/tools/voiceBridgeTools.d.ts +15 -0
  64. package/dist/tools/voiceBridgeTools.js +1427 -0
  65. package/dist/tools/voiceBridgeTools.js.map +1 -0
  66. package/dist/tools/webTools.js +18 -18
  67. package/package.json +102 -101
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patternTools.js","sourceRoot":"","sources":["../../src/tools/patternTools.ts"],"names":[],"mappings":"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"}
@@ -443,21 +443,21 @@ export const reconTools = [
443
443
  let learnings = [];
444
444
  try {
445
445
  learnings = db
446
- .prepare(`SELECT l.key, l.content, l.category, l.tags, l.source_cycle, l.created_at
447
- FROM learnings_fts
448
- JOIN learnings l ON l.id = learnings_fts.rowid
449
- WHERE learnings_fts MATCH ?
450
- ORDER BY rank
446
+ .prepare(`SELECT l.key, l.content, l.category, l.tags, l.source_cycle, l.created_at
447
+ FROM learnings_fts
448
+ JOIN learnings l ON l.id = learnings_fts.rowid
449
+ WHERE learnings_fts MATCH ?
450
+ ORDER BY rank
451
451
  LIMIT ?`)
452
452
  .all(query, limit);
453
453
  }
454
454
  catch {
455
455
  // FTS5 syntax error (e.g., special chars in query) — fall back to LIKE
456
456
  learnings = db
457
- .prepare(`SELECT key, content, category, tags, source_cycle, created_at
458
- FROM learnings
459
- WHERE content LIKE ? OR key LIKE ?
460
- ORDER BY created_at DESC
457
+ .prepare(`SELECT key, content, category, tags, source_cycle, created_at
458
+ FROM learnings
459
+ WHERE content LIKE ? OR key LIKE ?
460
+ ORDER BY created_at DESC
461
461
  LIMIT ?`)
462
462
  .all(`%${query}%`, `%${query}%`, limit);
463
463
  }
@@ -470,38 +470,38 @@ export const reconTools = [
470
470
  if (categories && categories.length > 0) {
471
471
  const placeholders = categories.map(() => "?").join(", ");
472
472
  reconFindings = db
473
- .prepare(`SELECT f.id, f.session_id, f.source_url, f.category, f.summary,
474
- f.relevance, f.action_items, f.created_at,
475
- s.target as session_target
476
- FROM recon_findings f
477
- JOIN recon_sessions s ON s.id = f.session_id
478
- WHERE (f.summary LIKE ? OR f.relevance LIKE ? OR f.action_items LIKE ?)
479
- AND f.category IN (${placeholders})
480
- ORDER BY f.created_at DESC
473
+ .prepare(`SELECT f.id, f.session_id, f.source_url, f.category, f.summary,
474
+ f.relevance, f.action_items, f.created_at,
475
+ s.target as session_target
476
+ FROM recon_findings f
477
+ JOIN recon_sessions s ON s.id = f.session_id
478
+ WHERE (f.summary LIKE ? OR f.relevance LIKE ? OR f.action_items LIKE ?)
479
+ AND f.category IN (${placeholders})
480
+ ORDER BY f.created_at DESC
481
481
  LIMIT ?`)
482
482
  .all(`%${query}%`, `%${query}%`, `%${query}%`, ...categories, limit);
483
483
  }
484
484
  else {
485
485
  reconFindings = db
486
- .prepare(`SELECT f.id, f.session_id, f.source_url, f.category, f.summary,
487
- f.relevance, f.action_items, f.created_at,
488
- s.target as session_target
489
- FROM recon_findings f
490
- JOIN recon_sessions s ON s.id = f.session_id
491
- WHERE f.summary LIKE ? OR f.relevance LIKE ? OR f.action_items LIKE ?
492
- ORDER BY f.created_at DESC
486
+ .prepare(`SELECT f.id, f.session_id, f.source_url, f.category, f.summary,
487
+ f.relevance, f.action_items, f.created_at,
488
+ s.target as session_target
489
+ FROM recon_findings f
490
+ JOIN recon_sessions s ON s.id = f.session_id
491
+ WHERE f.summary LIKE ? OR f.relevance LIKE ? OR f.action_items LIKE ?
492
+ ORDER BY f.created_at DESC
493
493
  LIMIT ?`)
494
494
  .all(`%${query}%`, `%${query}%`, `%${query}%`, limit);
495
495
  }
496
496
  // 3. Search ALL gaps from past verification cycles (resolved + open)
497
497
  const matchedGaps = db
498
- .prepare(`SELECT g.id, g.cycle_id, g.title, g.description, g.severity,
499
- g.status, g.fix_strategy as resolution, g.resolved_at,
500
- c.title as cycle_target
501
- FROM gaps g
502
- JOIN verification_cycles c ON c.id = g.cycle_id
503
- WHERE (g.description LIKE ? OR g.fix_strategy LIKE ? OR g.title LIKE ?)
504
- ORDER BY g.created_at DESC
498
+ .prepare(`SELECT g.id, g.cycle_id, g.title, g.description, g.severity,
499
+ g.status, g.fix_strategy as resolution, g.resolved_at,
500
+ c.title as cycle_target
501
+ FROM gaps g
502
+ JOIN verification_cycles c ON c.id = g.cycle_id
503
+ WHERE (g.description LIKE ? OR g.fix_strategy LIKE ? OR g.title LIKE ?)
504
+ ORDER BY g.created_at DESC
505
505
  LIMIT ?`)
506
506
  .all(`%${query}%`, `%${query}%`, `%${query}%`, limit);
507
507
  const totalResults = learnings.length + reconFindings.length + matchedGaps.length;
@@ -1160,28 +1160,28 @@ export const selfEvalTools = [
1160
1160
  handler: async (args) => {
1161
1161
  const db = getDb();
1162
1162
  // Ensure table exists
1163
- db.exec(`CREATE TABLE IF NOT EXISTS eval_task_bank (
1164
- id TEXT PRIMARY KEY,
1165
- task_id TEXT UNIQUE NOT NULL,
1166
- title TEXT NOT NULL,
1167
- category TEXT NOT NULL,
1168
- difficulty TEXT NOT NULL,
1169
- prompt TEXT NOT NULL,
1170
- initial_state TEXT,
1171
- success_criteria TEXT NOT NULL,
1172
- forbidden_behaviors TEXT,
1173
- expected_tools TEXT,
1174
- time_budget_minutes INTEGER DEFAULT 30,
1175
- token_budget INTEGER,
1176
- created_at TEXT DEFAULT (datetime('now')),
1177
- run_count INTEGER DEFAULT 0,
1178
- pass_count INTEGER DEFAULT 0
1163
+ db.exec(`CREATE TABLE IF NOT EXISTS eval_task_bank (
1164
+ id TEXT PRIMARY KEY,
1165
+ task_id TEXT UNIQUE NOT NULL,
1166
+ title TEXT NOT NULL,
1167
+ category TEXT NOT NULL,
1168
+ difficulty TEXT NOT NULL,
1169
+ prompt TEXT NOT NULL,
1170
+ initial_state TEXT,
1171
+ success_criteria TEXT NOT NULL,
1172
+ forbidden_behaviors TEXT,
1173
+ expected_tools TEXT,
1174
+ time_budget_minutes INTEGER DEFAULT 30,
1175
+ token_budget INTEGER,
1176
+ created_at TEXT DEFAULT (datetime('now')),
1177
+ run_count INTEGER DEFAULT 0,
1178
+ pass_count INTEGER DEFAULT 0
1179
1179
  )`);
1180
1180
  const existing = db.prepare("SELECT * FROM eval_task_bank WHERE task_id = ?").get(args.taskId);
1181
1181
  if (existing) {
1182
1182
  // Update existing task
1183
- db.prepare(`UPDATE eval_task_bank SET title = ?, category = ?, difficulty = ?, prompt = ?,
1184
- initial_state = ?, success_criteria = ?, forbidden_behaviors = ?, expected_tools = ?,
1183
+ db.prepare(`UPDATE eval_task_bank SET title = ?, category = ?, difficulty = ?, prompt = ?,
1184
+ initial_state = ?, success_criteria = ?, forbidden_behaviors = ?, expected_tools = ?,
1185
1185
  time_budget_minutes = ?, token_budget = ? WHERE task_id = ?`).run(args.title, args.category, args.difficulty, args.prompt, args.initialState ?? null, JSON.stringify(args.successCriteria), args.forbiddenBehaviors ? JSON.stringify(args.forbiddenBehaviors) : null, args.expectedTools ? JSON.stringify(args.expectedTools) : null, args.timeBudgetMinutes ?? 30, args.tokenBudget ?? null, args.taskId);
1186
1186
  return {
1187
1187
  action: "updated",
@@ -1190,8 +1190,8 @@ export const selfEvalTools = [
1190
1190
  };
1191
1191
  }
1192
1192
  // Insert new task
1193
- db.prepare(`INSERT INTO eval_task_bank (id, task_id, title, category, difficulty, prompt,
1194
- initial_state, success_criteria, forbidden_behaviors, expected_tools, time_budget_minutes, token_budget)
1193
+ db.prepare(`INSERT INTO eval_task_bank (id, task_id, title, category, difficulty, prompt,
1194
+ initial_state, success_criteria, forbidden_behaviors, expected_tools, time_budget_minutes, token_budget)
1195
1195
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(genId("etb"), args.taskId, args.title, args.category, args.difficulty, args.prompt, args.initialState ?? null, JSON.stringify(args.successCriteria), args.forbiddenBehaviors ? JSON.stringify(args.forbiddenBehaviors) : null, args.expectedTools ? JSON.stringify(args.expectedTools) : null, args.timeBudgetMinutes ?? 30, args.tokenBudget ?? null);
1196
1196
  const total = db.prepare("SELECT COUNT(*) as cnt FROM eval_task_bank").get().cnt;
1197
1197
  return {
@@ -1275,30 +1275,30 @@ export const selfEvalTools = [
1275
1275
  handler: async (args) => {
1276
1276
  const db = getDb();
1277
1277
  // Ensure results table exists
1278
- db.exec(`CREATE TABLE IF NOT EXISTS eval_run_results (
1279
- id TEXT PRIMARY KEY,
1280
- task_id TEXT NOT NULL,
1281
- session_id TEXT,
1282
- condition TEXT NOT NULL,
1283
- trial_number INTEGER DEFAULT 1,
1284
- outcome_score REAL,
1285
- process_score REAL,
1286
- combined_score REAL,
1287
- outcome_results TEXT,
1288
- forbidden_violations TEXT,
1289
- duration_minutes REAL,
1290
- total_tool_calls INTEGER,
1291
- total_tokens INTEGER,
1292
- notes TEXT,
1293
- created_at TEXT DEFAULT (datetime('now'))
1278
+ db.exec(`CREATE TABLE IF NOT EXISTS eval_run_results (
1279
+ id TEXT PRIMARY KEY,
1280
+ task_id TEXT NOT NULL,
1281
+ session_id TEXT,
1282
+ condition TEXT NOT NULL,
1283
+ trial_number INTEGER DEFAULT 1,
1284
+ outcome_score REAL,
1285
+ process_score REAL,
1286
+ combined_score REAL,
1287
+ outcome_results TEXT,
1288
+ forbidden_violations TEXT,
1289
+ duration_minutes REAL,
1290
+ total_tool_calls INTEGER,
1291
+ total_tokens INTEGER,
1292
+ notes TEXT,
1293
+ created_at TEXT DEFAULT (datetime('now'))
1294
1294
  )`);
1295
1295
  // Load task from bank (optional — if it exists, validate)
1296
- db.exec(`CREATE TABLE IF NOT EXISTS eval_task_bank (
1297
- id TEXT PRIMARY KEY, task_id TEXT UNIQUE NOT NULL, title TEXT NOT NULL,
1298
- category TEXT NOT NULL, difficulty TEXT NOT NULL, prompt TEXT NOT NULL,
1299
- initial_state TEXT, success_criteria TEXT NOT NULL, forbidden_behaviors TEXT,
1300
- expected_tools TEXT, time_budget_minutes INTEGER DEFAULT 30, token_budget INTEGER,
1301
- created_at TEXT DEFAULT (datetime('now')), run_count INTEGER DEFAULT 0, pass_count INTEGER DEFAULT 0
1296
+ db.exec(`CREATE TABLE IF NOT EXISTS eval_task_bank (
1297
+ id TEXT PRIMARY KEY, task_id TEXT UNIQUE NOT NULL, title TEXT NOT NULL,
1298
+ category TEXT NOT NULL, difficulty TEXT NOT NULL, prompt TEXT NOT NULL,
1299
+ initial_state TEXT, success_criteria TEXT NOT NULL, forbidden_behaviors TEXT,
1300
+ expected_tools TEXT, time_budget_minutes INTEGER DEFAULT 30, token_budget INTEGER,
1301
+ created_at TEXT DEFAULT (datetime('now')), run_count INTEGER DEFAULT 0, pass_count INTEGER DEFAULT 0
1302
1302
  )`);
1303
1303
  const task = db.prepare("SELECT * FROM eval_task_bank WHERE task_id = ?").get(args.taskId);
1304
1304
  // ── Outcome scoring (50pts) ──
@@ -1383,8 +1383,8 @@ export const selfEvalTools = [
1383
1383
  grade = "F (Non-Compliant)";
1384
1384
  // Persist result
1385
1385
  const resultId = genId("err");
1386
- db.prepare(`INSERT INTO eval_run_results (id, task_id, session_id, condition, trial_number,
1387
- outcome_score, process_score, combined_score, outcome_results, forbidden_violations,
1386
+ db.prepare(`INSERT INTO eval_run_results (id, task_id, session_id, condition, trial_number,
1387
+ outcome_score, process_score, combined_score, outcome_results, forbidden_violations,
1388
1388
  duration_minutes, total_tool_calls, total_tokens, notes) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(resultId, args.taskId, args.sessionId ?? null, args.condition, args.trialNumber ?? 1, totalOutcomeScore, totalProcessScore, combinedScore, JSON.stringify(outcomes), violations.length > 0 ? JSON.stringify(violations) : null, args.durationMinutes ?? null, args.totalToolCalls ?? null, args.totalTokens ?? null, args.notes ?? null);
1389
1389
  // Update task bank stats
1390
1390
  if (task) {
@@ -0,0 +1,16 @@
1
+ /**
2
+ * SEO Tools — Website SEO auditing, performance checks, content analysis,
3
+ * and WordPress security assessment.
4
+ *
5
+ * 5 tools:
6
+ * - seo_audit_url: Fetch URL and analyze SEO elements (title, meta, headings, images, etc.)
7
+ * - check_page_performance: Lightweight performance checks via fetch (response time, compression, caching)
8
+ * - analyze_seo_content: Content analysis for SEO (readability, keyword density, link ratio)
9
+ * - check_wordpress_site: Detect WordPress and assess security posture
10
+ * - scan_wordpress_updates: Check WordPress plugins/themes for known versions and vulnerabilities
11
+ *
12
+ * All tools use HTTP fetch + basic HTML parsing. No browser dependencies.
13
+ * No external npm dependencies — uses Node's built-in fetch (Node 18+).
14
+ */
15
+ import type { McpTool } from "../types.js";
16
+ export declare const seoTools: McpTool[];