nodebench-mcp 2.6.0 → 2.8.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 (32) hide show
  1. package/NODEBENCH_AGENTS.md +1 -1
  2. package/README.md +21 -12
  3. package/dist/__tests__/gaiaCapabilityFilesEval.test.js +330 -8
  4. package/dist/__tests__/gaiaCapabilityFilesEval.test.js.map +1 -1
  5. package/dist/__tests__/tools.test.js +544 -4
  6. package/dist/__tests__/tools.test.js.map +1 -1
  7. package/dist/index.js +28 -6
  8. package/dist/index.js.map +1 -1
  9. package/dist/tools/boilerplateTools.d.ts +11 -0
  10. package/dist/tools/boilerplateTools.js +500 -0
  11. package/dist/tools/boilerplateTools.js.map +1 -0
  12. package/dist/tools/cCompilerBenchmarkTools.d.ts +14 -0
  13. package/dist/tools/cCompilerBenchmarkTools.js +453 -0
  14. package/dist/tools/cCompilerBenchmarkTools.js.map +1 -0
  15. package/dist/tools/figmaFlowTools.d.ts +13 -0
  16. package/dist/tools/figmaFlowTools.js +183 -0
  17. package/dist/tools/figmaFlowTools.js.map +1 -0
  18. package/dist/tools/flickerDetectionTools.d.ts +14 -0
  19. package/dist/tools/flickerDetectionTools.js +231 -0
  20. package/dist/tools/flickerDetectionTools.js.map +1 -0
  21. package/dist/tools/localFileTools.d.ts +1 -0
  22. package/dist/tools/localFileTools.js +1926 -27
  23. package/dist/tools/localFileTools.js.map +1 -1
  24. package/dist/tools/metaTools.js +17 -0
  25. package/dist/tools/metaTools.js.map +1 -1
  26. package/dist/tools/progressiveDiscoveryTools.d.ts +14 -0
  27. package/dist/tools/progressiveDiscoveryTools.js +222 -0
  28. package/dist/tools/progressiveDiscoveryTools.js.map +1 -0
  29. package/dist/tools/toolRegistry.d.ts +70 -0
  30. package/dist/tools/toolRegistry.js +1437 -0
  31. package/dist/tools/toolRegistry.js.map +1 -0
  32. package/package.json +3 -2
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Tool Registry — Central metadata catalog for all NodeBench MCP tools.
3
+ *
4
+ * Every tool gets: category, tags (for hybrid search), quickRef (what to do next),
5
+ * relatedTools, and phase (which methodology phase it belongs to).
6
+ *
7
+ * The progressive disclosure system uses this to:
8
+ * 1. Score tools by relevance (hybrid: keyword + tag + category matching)
9
+ * 2. Append quickRefs to every tool response (so agents always know what to do next)
10
+ * 3. Build tool chains (recommended sequences for common workflows)
11
+ */
12
+ export interface ToolQuickRef {
13
+ /** 1-2 sentence guidance on what to do after calling this tool */
14
+ nextAction: string;
15
+ /** Tools commonly used after this one */
16
+ nextTools: string[];
17
+ /** Which methodology to consult for full guidance */
18
+ methodology?: string;
19
+ /** Short tip for effective use */
20
+ tip?: string;
21
+ }
22
+ export interface ToolRegistryEntry {
23
+ name: string;
24
+ category: string;
25
+ tags: string[];
26
+ quickRef: ToolQuickRef;
27
+ /** Where this tool sits in a typical workflow: research, implement, test, verify, ship */
28
+ phase: "research" | "implement" | "test" | "verify" | "ship" | "meta" | "utility";
29
+ }
30
+ /** Map of tool name → registry entry for O(1) lookup */
31
+ export declare const TOOL_REGISTRY: Map<string, ToolRegistryEntry>;
32
+ /** All registry entries as array */
33
+ export declare const ALL_REGISTRY_ENTRIES: ToolRegistryEntry[];
34
+ /** Get quick ref for a tool, with fallback for unregistered tools */
35
+ export declare function getQuickRef(toolName: string): ToolQuickRef | null;
36
+ /** Get all tools in a category */
37
+ export declare function getToolsByCategory(category: string): ToolRegistryEntry[];
38
+ /** Get all tools in a workflow phase */
39
+ export declare function getToolsByPhase(phase: ToolRegistryEntry["phase"]): ToolRegistryEntry[];
40
+ export interface SearchResult {
41
+ name: string;
42
+ description: string;
43
+ category: string;
44
+ score: number;
45
+ quickRef: ToolQuickRef;
46
+ phase: string;
47
+ tags: string[];
48
+ }
49
+ /**
50
+ * Hybrid search: scores tools by relevance using keyword matching across
51
+ * name, tags, description, and category. Returns sorted results.
52
+ */
53
+ export declare function hybridSearch(query: string, tools: Array<{
54
+ name: string;
55
+ description: string;
56
+ }>, options?: {
57
+ category?: string;
58
+ phase?: string;
59
+ limit?: number;
60
+ }): SearchResult[];
61
+ export interface WorkflowChain {
62
+ name: string;
63
+ description: string;
64
+ steps: Array<{
65
+ tool: string;
66
+ action: string;
67
+ }>;
68
+ }
69
+ /** Pre-built workflow chains for common tasks */
70
+ export declare const WORKFLOW_CHAINS: Record<string, WorkflowChain>;