nodebench-mcp 2.15.0 → 2.18.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 (77) hide show
  1. package/LICENSE +21 -0
  2. package/NODEBENCH_AGENTS.md +2 -2
  3. package/README.md +514 -82
  4. package/dist/__tests__/analytics.test.d.ts +11 -0
  5. package/dist/__tests__/analytics.test.js +546 -0
  6. package/dist/__tests__/analytics.test.js.map +1 -0
  7. package/dist/__tests__/architectComplex.test.d.ts +1 -0
  8. package/dist/__tests__/architectComplex.test.js +375 -0
  9. package/dist/__tests__/architectComplex.test.js.map +1 -0
  10. package/dist/__tests__/architectSmoke.test.d.ts +1 -0
  11. package/dist/__tests__/architectSmoke.test.js +92 -0
  12. package/dist/__tests__/architectSmoke.test.js.map +1 -0
  13. package/dist/__tests__/dynamicLoading.test.d.ts +1 -0
  14. package/dist/__tests__/dynamicLoading.test.js +278 -0
  15. package/dist/__tests__/dynamicLoading.test.js.map +1 -0
  16. package/dist/__tests__/evalHarness.test.js +7 -2
  17. package/dist/__tests__/evalHarness.test.js.map +1 -1
  18. package/dist/__tests__/gaiaCapabilityEval.test.js +229 -12
  19. package/dist/__tests__/gaiaCapabilityEval.test.js.map +1 -1
  20. package/dist/__tests__/gaiaCapabilityMediaEval.test.js +194 -109
  21. package/dist/__tests__/gaiaCapabilityMediaEval.test.js.map +1 -1
  22. package/dist/__tests__/helpers/answerMatch.js +22 -22
  23. package/dist/__tests__/presetRealWorldBench.test.js +11 -2
  24. package/dist/__tests__/presetRealWorldBench.test.js.map +1 -1
  25. package/dist/__tests__/tools.test.js +10 -4
  26. package/dist/__tests__/tools.test.js.map +1 -1
  27. package/dist/__tests__/toolsetGatingEval.test.js +12 -4
  28. package/dist/__tests__/toolsetGatingEval.test.js.map +1 -1
  29. package/dist/analytics/index.d.ts +10 -0
  30. package/dist/analytics/index.js +11 -0
  31. package/dist/analytics/index.js.map +1 -0
  32. package/dist/analytics/projectDetector.d.ts +19 -0
  33. package/dist/analytics/projectDetector.js +259 -0
  34. package/dist/analytics/projectDetector.js.map +1 -0
  35. package/dist/analytics/schema.d.ts +57 -0
  36. package/dist/analytics/schema.js +157 -0
  37. package/dist/analytics/schema.js.map +1 -0
  38. package/dist/analytics/smartPreset.d.ts +63 -0
  39. package/dist/analytics/smartPreset.js +300 -0
  40. package/dist/analytics/smartPreset.js.map +1 -0
  41. package/dist/analytics/toolTracker.d.ts +59 -0
  42. package/dist/analytics/toolTracker.js +163 -0
  43. package/dist/analytics/toolTracker.js.map +1 -0
  44. package/dist/analytics/usageStats.d.ts +64 -0
  45. package/dist/analytics/usageStats.js +252 -0
  46. package/dist/analytics/usageStats.js.map +1 -0
  47. package/dist/db.js +359 -321
  48. package/dist/db.js.map +1 -1
  49. package/dist/index.d.ts +2 -1
  50. package/dist/index.js +653 -84
  51. package/dist/index.js.map +1 -1
  52. package/dist/tools/architectTools.d.ts +15 -0
  53. package/dist/tools/architectTools.js +304 -0
  54. package/dist/tools/architectTools.js.map +1 -0
  55. package/dist/tools/critterTools.js +14 -14
  56. package/dist/tools/emailTools.d.ts +15 -0
  57. package/dist/tools/emailTools.js +664 -0
  58. package/dist/tools/emailTools.js.map +1 -0
  59. package/dist/tools/metaTools.js +660 -0
  60. package/dist/tools/metaTools.js.map +1 -1
  61. package/dist/tools/parallelAgentTools.js +176 -176
  62. package/dist/tools/patternTools.js +11 -11
  63. package/dist/tools/progressiveDiscoveryTools.d.ts +5 -1
  64. package/dist/tools/progressiveDiscoveryTools.js +113 -21
  65. package/dist/tools/progressiveDiscoveryTools.js.map +1 -1
  66. package/dist/tools/researchWritingTools.js +42 -42
  67. package/dist/tools/rssTools.d.ts +8 -0
  68. package/dist/tools/rssTools.js +833 -0
  69. package/dist/tools/rssTools.js.map +1 -0
  70. package/dist/tools/toolRegistry.d.ts +17 -0
  71. package/dist/tools/toolRegistry.js +236 -17
  72. package/dist/tools/toolRegistry.js.map +1 -1
  73. package/dist/tools/voiceBridgeTools.js +498 -498
  74. package/dist/toolsetRegistry.d.ts +10 -0
  75. package/dist/toolsetRegistry.js +84 -0
  76. package/dist/toolsetRegistry.js.map +1 -0
  77. package/package.json +12 -5
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import { hybridSearch, TOOL_REGISTRY, ALL_REGISTRY_ENTRIES, WORKFLOW_CHAINS, SEARCH_MODES, } from "./toolRegistry.js";
11
11
  import { embedQuery, isEmbeddingReady } from "./embeddingProvider.js";
12
- export function createProgressiveDiscoveryTools(allRegisteredTools) {
12
+ export function createProgressiveDiscoveryTools(allRegisteredTools, options) {
13
13
  return [
14
14
  // ── discover_tools ─────────────────────────────────────────────────
15
15
  {
@@ -32,7 +32,7 @@ export function createProgressiveDiscoveryTools(allRegisteredTools) {
32
32
  "research_writing", "flicker_detection", "figma_flow",
33
33
  "boilerplate", "benchmark", "session_memory", "gaia_solvers",
34
34
  "toon", "pattern", "git_workflow", "seo", "voice_bridge",
35
- "critter", "progressive_discovery", "meta",
35
+ "critter", "email", "rss", "architect", "progressive_discovery", "meta",
36
36
  ],
37
37
  description: "Filter by tool category (optional)",
38
38
  },
@@ -58,6 +58,20 @@ export function createProgressiveDiscoveryTools(allRegisteredTools) {
58
58
  type: "boolean",
59
59
  description: "Include matchReasons array showing which search strategies contributed to each result's score (default: false)",
60
60
  },
61
+ intent: {
62
+ type: "string",
63
+ enum: [
64
+ "file_processing", "web_research", "code_quality", "security_audit",
65
+ "academic_writing", "data_analysis", "llm_interaction", "visual_qa",
66
+ "devops_ci", "team_coordination", "communication", "seo_audit",
67
+ "design_review", "voice_ui", "project_setup",
68
+ ],
69
+ description: "High-level intent hint. Narrows the search to the most relevant toolsets BEFORE running hybrid search. Use this when you know the domain but not the exact tool. Reduces noise and improves accuracy.",
70
+ },
71
+ compact: {
72
+ type: "boolean",
73
+ description: "Return compact results with just name, category, and a one-line hint (saves ~60% tokens in the response). Default: false.",
74
+ },
61
75
  },
62
76
  required: ["query"],
63
77
  },
@@ -67,6 +81,26 @@ export function createProgressiveDiscoveryTools(allRegisteredTools) {
67
81
  const includeChains = args.includeChains !== false;
68
82
  const mode = args.mode ?? "hybrid";
69
83
  const explain = args.explain === true;
84
+ const compact = args.compact === true;
85
+ // Intent-based pre-filter: narrow search scope to relevant categories
86
+ const INTENT_CATEGORIES = {
87
+ file_processing: ["local_file", "documentation"],
88
+ web_research: ["web", "reconnaissance", "github", "rss"],
89
+ code_quality: ["verification", "eval", "quality_gate", "flywheel", "pattern"],
90
+ security_audit: ["security"],
91
+ academic_writing: ["research_writing", "llm"],
92
+ data_analysis: ["local_file", "llm", "benchmark"],
93
+ llm_interaction: ["llm"],
94
+ visual_qa: ["ui_capture", "vision", "flicker_detection"],
95
+ devops_ci: ["git_workflow", "boilerplate", "bootstrap", "platform"],
96
+ team_coordination: ["parallel_agents", "session_memory"],
97
+ communication: ["email", "rss", "critter"],
98
+ seo_audit: ["seo", "web"],
99
+ design_review: ["figma_flow", "vision", "ui_capture"],
100
+ voice_ui: ["voice_bridge"],
101
+ project_setup: ["bootstrap", "boilerplate", "self_eval"],
102
+ };
103
+ const intentCategories = args.intent ? INTENT_CATEGORIES[args.intent] : undefined;
70
104
  // Pre-compute query embedding (async) before passing to sync hybridSearch
71
105
  let embeddingQueryVec;
72
106
  if ((mode === "hybrid" || mode === "embedding") && isEmbeddingReady()) {
@@ -75,14 +109,43 @@ export function createProgressiveDiscoveryTools(allRegisteredTools) {
75
109
  embeddingQueryVec = vec;
76
110
  }
77
111
  // Multi-modal search with scoring
78
- const results = hybridSearch(query, allRegisteredTools, {
79
- category: args.category,
80
- phase: args.phase,
81
- limit,
82
- mode,
83
- explain,
84
- embeddingQueryVec,
85
- });
112
+ // If intent is set, run search once per intent category and merge results
113
+ let results;
114
+ if (intentCategories && !args.category) {
115
+ const perCategoryResults = intentCategories.map(cat => hybridSearch(query, allRegisteredTools, {
116
+ category: cat,
117
+ phase: args.phase,
118
+ limit: Math.ceil(limit / intentCategories.length) + 2,
119
+ mode,
120
+ explain,
121
+ embeddingQueryVec,
122
+ searchFullRegistry: !!options?.getLoadedToolNames,
123
+ }));
124
+ // Merge, dedupe, re-sort by score
125
+ const seen = new Set();
126
+ const merged = [];
127
+ for (const batch of perCategoryResults) {
128
+ for (const r of batch) {
129
+ if (!seen.has(r.name)) {
130
+ seen.add(r.name);
131
+ merged.push(r);
132
+ }
133
+ }
134
+ }
135
+ merged.sort((a, b) => b.score - a.score);
136
+ results = merged.slice(0, limit);
137
+ }
138
+ else {
139
+ results = hybridSearch(query, allRegisteredTools, {
140
+ category: args.category,
141
+ phase: args.phase,
142
+ limit,
143
+ mode,
144
+ explain,
145
+ embeddingQueryVec,
146
+ searchFullRegistry: !!options?.getLoadedToolNames,
147
+ });
148
+ }
86
149
  // Find matching workflow chains
87
150
  let matchingChains = [];
88
151
  if (includeChains) {
@@ -109,19 +172,48 @@ export function createProgressiveDiscoveryTools(allRegisteredTools) {
109
172
  query,
110
173
  searchMode: mode,
111
174
  resultCount: results.length,
112
- totalToolsSearched: allRegisteredTools.length,
175
+ totalToolsSearched: options?.getLoadedToolNames ? ALL_REGISTRY_ENTRIES.length : allRegisteredTools.length,
113
176
  availableModes: SEARCH_MODES,
114
- results: results.map((r) => ({
115
- name: r.name,
116
- description: r.description,
117
- category: r.category,
118
- phase: r.phase,
119
- relevanceScore: r.score,
120
- ...(explain ? { matchReasons: r.matchReasons } : {}),
121
- quickRef: r.quickRef,
122
- })),
177
+ results: results.map((r) => compact
178
+ ? { name: r.name, category: r.category, hint: r.quickRef.nextAction }
179
+ : {
180
+ name: r.name,
181
+ description: r.description,
182
+ category: r.category,
183
+ phase: r.phase,
184
+ relevanceScore: r.score,
185
+ ...(explain ? { matchReasons: r.matchReasons } : {}),
186
+ quickRef: r.quickRef,
187
+ }),
123
188
  categorySummary: categoryCounts,
124
189
  matchingWorkflows: matchingChains,
190
+ // Dynamic loading suggestions: when results include tools from unloaded toolsets
191
+ ...((() => {
192
+ if (!options?.getLoadedToolNames || !options?.getToolToToolset)
193
+ return {};
194
+ const loaded = options.getLoadedToolNames();
195
+ const t2ts = options.getToolToToolset();
196
+ const unloadedToolsets = new Map();
197
+ for (const r of results) {
198
+ if (!loaded.has(r.name)) {
199
+ const ts = t2ts.get(r.name);
200
+ if (ts) {
201
+ const list = unloadedToolsets.get(ts) ?? [];
202
+ list.push(r.name);
203
+ unloadedToolsets.set(ts, list);
204
+ }
205
+ }
206
+ }
207
+ if (unloadedToolsets.size === 0)
208
+ return {};
209
+ return {
210
+ _loadSuggestions: [...unloadedToolsets.entries()].map(([ts, tools]) => ({
211
+ toolset: ts,
212
+ matchingTools: tools,
213
+ action: `Call load_toolset("${ts}") to activate ${tools.length} matching tool(s).`,
214
+ })),
215
+ };
216
+ })()),
125
217
  _progressiveHint: results.length > 0
126
218
  ? `Top match: ${results[0].name}. ${results[0].quickRef.nextAction}`
127
219
  : "No matches found. Try broader keywords or call getMethodology('overview') for all available methodologies.",
@@ -202,7 +294,7 @@ export function createProgressiveDiscoveryTools(allRegisteredTools) {
202
294
  "figma_flow_analysis", "agent_eval", "contract_compliance",
203
295
  "ablation_eval", "session_recovery", "attention_refresh",
204
296
  "task_bank_setup", "pr_review", "seo_audit", "voice_pipeline",
205
- "intentionality_check", "list",
297
+ "intentionality_check", "research_digest", "email_assistant", "list",
206
298
  ],
207
299
  description: 'Which workflow chain to retrieve. Use "list" to see all available chains with descriptions.',
208
300
  },
@@ -1 +1 @@
1
- {"version":3,"file":"progressiveDiscoveryTools.js","sourceRoot":"","sources":["../../src/tools/progressiveDiscoveryTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progressiveDiscoveryTools.js","sourceRoot":"","sources":["../../src/tools/progressiveDiscoveryTools.ts"],"names":[],"mappings":"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"}
@@ -357,20 +357,20 @@ export const researchWritingTools = [
357
357
  const provider = await getProvider();
358
358
  if (!provider)
359
359
  return noProvider();
360
- const system = `You are an academic proofreader performing a final "red-line review" of a near-final manuscript. CRITICAL: Assume the draft has been through multiple revisions and is high quality. Only flag issues that BLOCK reader comprehension.
361
-
362
- Check dimensions:
363
- ${checkType === "contradictions" || checkType === "all" ? "- Fatal logic: completely contradictory statements across sections" : ""}
364
- ${checkType === "terminology" || checkType === "all" ? "- Terminology consistency: core concepts renamed without explanation" : ""}
365
- ${checkType === "grammar" || checkType === "all" ? "- Severe grammar: Chinglish or structural errors that make meaning unclear" : ""}
366
-
367
- Rules:
368
- (1) Do NOT flag style preferences or "could be better" suggestions.
369
- (2) Do NOT suggest word replacements that are merely "more elegant."
370
- (3) If no real issues exist, output: [检测通过,无实质性问题] / [No substantive issues found]
371
-
372
- Output format: If issues found, return a JSON array:
373
- [{"location":"paragraph/section","issue":"description","severity":"critical|high|medium","suggestion":"fix"}]
360
+ const system = `You are an academic proofreader performing a final "red-line review" of a near-final manuscript. CRITICAL: Assume the draft has been through multiple revisions and is high quality. Only flag issues that BLOCK reader comprehension.
361
+
362
+ Check dimensions:
363
+ ${checkType === "contradictions" || checkType === "all" ? "- Fatal logic: completely contradictory statements across sections" : ""}
364
+ ${checkType === "terminology" || checkType === "all" ? "- Terminology consistency: core concepts renamed without explanation" : ""}
365
+ ${checkType === "grammar" || checkType === "all" ? "- Severe grammar: Chinglish or structural errors that make meaning unclear" : ""}
366
+
367
+ Rules:
368
+ (1) Do NOT flag style preferences or "could be better" suggestions.
369
+ (2) Do NOT suggest word replacements that are merely "more elegant."
370
+ (3) If no real issues exist, output: [检测通过,无实质性问题] / [No substantive issues found]
371
+
372
+ Output format: If issues found, return a JSON array:
373
+ [{"location":"paragraph/section","issue":"description","severity":"critical|high|medium","suggestion":"fix"}]
374
374
  If no issues: {"passed":true,"message":"No substantive issues found"}`;
375
375
  const start = Date.now();
376
376
  try {
@@ -472,13 +472,13 @@ If no issues: {"passed":true,"message":"No substantive issues found"}`;
472
472
  const provider = await getProvider();
473
473
  if (!provider)
474
474
  return noProvider();
475
- const system = `You are a senior data scientist writing experiment analysis for a top-tier CS conference paper. Rules:
476
- (1) Data truthfulness: ALL conclusions must strictly come from the provided data. Never fabricate numbers, exaggerate improvements, or invent phenomena.
477
- (2) No simple "accounting" (Method A is 0.5, B is 0.6). Focus on comparisons, trends, and insights.
478
- (3) Analysis targets: effectiveness (SOTA comparison), sensitivity, efficiency trade-offs, ablation contributions.
479
- (4) ${format === "latex" ? "Use \\paragraph{Conclusion Title} + analysis paragraph structure. No \\textbf or \\emph. Escape special chars (%, _, &). Separate conclusion blocks with blank lines." : "Use ### Conclusion Title + analysis paragraph structure."}
480
- (5) If data shows no clear advantage, describe honestly — do not force a positive narrative.
481
-
475
+ const system = `You are a senior data scientist writing experiment analysis for a top-tier CS conference paper. Rules:
476
+ (1) Data truthfulness: ALL conclusions must strictly come from the provided data. Never fabricate numbers, exaggerate improvements, or invent phenomena.
477
+ (2) No simple "accounting" (Method A is 0.5, B is 0.6). Focus on comparisons, trends, and insights.
478
+ (3) Analysis targets: effectiveness (SOTA comparison), sensitivity, efficiency trade-offs, ablation contributions.
479
+ (4) ${format === "latex" ? "Use \\paragraph{Conclusion Title} + analysis paragraph structure. No \\textbf or \\emph. Escape special chars (%, _, &). Separate conclusion blocks with blank lines." : "Use ### Conclusion Title + analysis paragraph structure."}
480
+ (5) If data shows no clear advantage, describe honestly — do not force a positive narrative.
481
+
482
482
  Output: Part 1 [Analysis]: The formatted analysis. Part 2 [Translation]: Chinese back-translation for verification.`;
483
483
  const prompt = `Goal: ${goal}\n\nExperiment Data:\n${data.slice(0, 8000)}`;
484
484
  const start = Date.now();
@@ -529,27 +529,27 @@ Output: Part 1 [Analysis]: The formatted analysis. Part 2 [Translation]: Chinese
529
529
  : strictness === "moderate"
530
530
  ? "Balanced approach: acknowledge strengths but do not shy from pointing out weaknesses."
531
531
  : "Constructive approach: focus on helping authors improve. Still flag critical issues.";
532
- const system = `You are a senior reviewer for ${venue}, known for rigorous and precise reviews. ${strictnessPrompt}
533
-
534
- Review dimensions:
535
- - Originality: real breakthrough or incremental?
536
- - Rigor: math sound? experiments fair (baselines complete)? ablations support claims?
537
- - Consistency: do intro claims match experimental evidence?
538
-
539
- Rules:
540
- (1) Be SPECIFIC. Not "experiments insufficient" but "missing robustness evaluation on ImageNet-C".
541
- (2) No lists for complex arguments — use coherent paragraphs.
542
- (3) Keep LaTeX clean.
543
-
544
- Output format:
545
- Part 1 [Review]:
546
- - Summary: one-sentence core contribution
547
- - Strengths: 1-2 genuinely valuable points
548
- - Weaknesses (Critical): 3-5 issues that could cause rejection
549
- - Rating: X/10 (top 5% = 8+)
550
-
551
- Part 2 [Strategic Advice]:
552
- - What experiments to add, which logic to rewrite, how to reduce reviewer attack surface
532
+ const system = `You are a senior reviewer for ${venue}, known for rigorous and precise reviews. ${strictnessPrompt}
533
+
534
+ Review dimensions:
535
+ - Originality: real breakthrough or incremental?
536
+ - Rigor: math sound? experiments fair (baselines complete)? ablations support claims?
537
+ - Consistency: do intro claims match experimental evidence?
538
+
539
+ Rules:
540
+ (1) Be SPECIFIC. Not "experiments insufficient" but "missing robustness evaluation on ImageNet-C".
541
+ (2) No lists for complex arguments — use coherent paragraphs.
542
+ (3) Keep LaTeX clean.
543
+
544
+ Output format:
545
+ Part 1 [Review]:
546
+ - Summary: one-sentence core contribution
547
+ - Strengths: 1-2 genuinely valuable points
548
+ - Weaknesses (Critical): 3-5 issues that could cause rejection
549
+ - Rating: X/10 (top 5% = 8+)
550
+
551
+ Part 2 [Strategic Advice]:
552
+ - What experiments to add, which logic to rewrite, how to reduce reviewer attack surface
553
553
  - Use clear, actionable language`;
554
554
  const start = Date.now();
555
555
  try {
@@ -0,0 +1,8 @@
1
+ /**
2
+ * RSS Tools — Subscribe, fetch, and digest RSS/Atom feeds.
3
+ *
4
+ * Zero npm dependencies — uses Node's built-in `fetch` + simple XML parsing.
5
+ * Articles are tracked in SQLite for deduplication across fetches.
6
+ */
7
+ import type { McpTool } from "../types.js";
8
+ export declare const rssTools: McpTool[];