nodebench-mcp 2.17.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.
- package/LICENSE +21 -0
- package/NODEBENCH_AGENTS.md +2 -2
- package/README.md +514 -82
- package/dist/__tests__/analytics.test.d.ts +11 -0
- package/dist/__tests__/analytics.test.js +546 -0
- package/dist/__tests__/analytics.test.js.map +1 -0
- package/dist/__tests__/dynamicLoading.test.d.ts +1 -0
- package/dist/__tests__/dynamicLoading.test.js +278 -0
- package/dist/__tests__/dynamicLoading.test.js.map +1 -0
- package/dist/__tests__/evalHarness.test.js +1 -1
- package/dist/__tests__/evalHarness.test.js.map +1 -1
- package/dist/__tests__/helpers/answerMatch.js +22 -22
- package/dist/__tests__/presetRealWorldBench.test.js +9 -0
- package/dist/__tests__/presetRealWorldBench.test.js.map +1 -1
- package/dist/__tests__/tools.test.js +1 -1
- package/dist/__tests__/toolsetGatingEval.test.js +9 -1
- package/dist/__tests__/toolsetGatingEval.test.js.map +1 -1
- package/dist/analytics/index.d.ts +10 -0
- package/dist/analytics/index.js +11 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics/projectDetector.d.ts +19 -0
- package/dist/analytics/projectDetector.js +259 -0
- package/dist/analytics/projectDetector.js.map +1 -0
- package/dist/analytics/schema.d.ts +57 -0
- package/dist/analytics/schema.js +157 -0
- package/dist/analytics/schema.js.map +1 -0
- package/dist/analytics/smartPreset.d.ts +63 -0
- package/dist/analytics/smartPreset.js +300 -0
- package/dist/analytics/smartPreset.js.map +1 -0
- package/dist/analytics/toolTracker.d.ts +59 -0
- package/dist/analytics/toolTracker.js +163 -0
- package/dist/analytics/toolTracker.js.map +1 -0
- package/dist/analytics/usageStats.d.ts +64 -0
- package/dist/analytics/usageStats.js +252 -0
- package/dist/analytics/usageStats.js.map +1 -0
- package/dist/db.js +359 -321
- package/dist/db.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +652 -89
- package/dist/index.js.map +1 -1
- package/dist/tools/architectTools.js +13 -13
- package/dist/tools/critterTools.js +14 -14
- package/dist/tools/parallelAgentTools.js +176 -176
- package/dist/tools/patternTools.js +11 -11
- package/dist/tools/progressiveDiscoveryTools.d.ts +5 -1
- package/dist/tools/progressiveDiscoveryTools.js +111 -19
- package/dist/tools/progressiveDiscoveryTools.js.map +1 -1
- package/dist/tools/researchWritingTools.js +42 -42
- package/dist/tools/rssTools.js +396 -396
- package/dist/tools/toolRegistry.d.ts +17 -0
- package/dist/tools/toolRegistry.js +65 -17
- package/dist/tools/toolRegistry.js.map +1 -1
- package/dist/tools/voiceBridgeTools.js +498 -498
- package/dist/toolsetRegistry.d.ts +10 -0
- package/dist/toolsetRegistry.js +84 -0
- package/dist/toolsetRegistry.js.map +1 -0
- package/package.json +4 -4
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
* - get_workflow_chain: Get a recommended tool sequence for a common workflow
|
|
9
9
|
*/
|
|
10
10
|
import type { McpTool } from "../types.js";
|
|
11
|
+
export interface DiscoveryOptions {
|
|
12
|
+
getLoadedToolNames?: () => Set<string>;
|
|
13
|
+
getToolToToolset?: () => Map<string, string>;
|
|
14
|
+
}
|
|
11
15
|
export declare function createProgressiveDiscoveryTools(allRegisteredTools: Array<{
|
|
12
16
|
name: string;
|
|
13
17
|
description: string;
|
|
14
|
-
}
|
|
18
|
+
}>, options?: DiscoveryOptions): McpTool[];
|
|
@@ -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
|
{
|
|
@@ -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
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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.",
|
|
@@ -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 {
|