nodebench-mcp 2.46.0 → 2.47.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/dist/benchmarks/ambientBench.js +53 -23
- package/dist/benchmarks/ambientBench.js.map +1 -1
- package/dist/benchmarks/runAmbientBench.d.ts +5 -0
- package/dist/benchmarks/runAmbientBench.js +39 -0
- package/dist/benchmarks/runAmbientBench.js.map +1 -0
- package/dist/benchmarks/testDashboard.d.ts +9 -0
- package/dist/benchmarks/testDashboard.js +143 -0
- package/dist/benchmarks/testDashboard.js.map +1 -0
- package/package.json +1 -1
|
@@ -745,9 +745,11 @@ class MultiProviderContinuityBench {
|
|
|
745
745
|
{ key: "arr", value: "$2.3M", category: "identity" }, // OVERLAPS with Provider A (same)
|
|
746
746
|
{ key: "team_size", value: "15", category: "identity" }, // CONFLICTS with Provider A (different number)
|
|
747
747
|
];
|
|
748
|
-
// Ground truth: overlaps and conflicts
|
|
749
|
-
|
|
750
|
-
|
|
748
|
+
// Ground truth: pairwise overlaps and conflicts across providers
|
|
749
|
+
// Overlaps (same key, matching value): arr(A↔B), arr(A↔C), arr(B↔C), team_size(A↔B)
|
|
750
|
+
// Conflicts (same key, different value): funding_stage(A↔B), team_size(A↔C), team_size(B↔C)
|
|
751
|
+
expectedOverlaps = 4;
|
|
752
|
+
expectedConflicts = 3;
|
|
751
753
|
async setup() {
|
|
752
754
|
ensureBenchSchema();
|
|
753
755
|
const db = getDb();
|
|
@@ -767,10 +769,29 @@ class MultiProviderContinuityBench {
|
|
|
767
769
|
const start = now();
|
|
768
770
|
const db = getDb();
|
|
769
771
|
const facts = db.prepare(`SELECT id, provider, factKey, factValue, category FROM amb_provider_facts WHERE benchRunId = ?`).all(this.runId);
|
|
770
|
-
//
|
|
772
|
+
// Normalize a fact key for fuzzy grouping: lowercase, strip whitespace,
|
|
773
|
+
// remove underscores/hyphens so "team_size", "team-size", "teamSize" match.
|
|
774
|
+
const normalizeKey = (k) => k.toLowerCase().replace(/[\s_-]/g, "");
|
|
775
|
+
// Jaccard similarity on word-level tokens for fuzzy value comparison.
|
|
776
|
+
const valueSimilarity = (a, b) => {
|
|
777
|
+
const tokA = new Set(a.toLowerCase().split(/[\s_\-$%,]+/).filter(Boolean));
|
|
778
|
+
const tokB = new Set(b.toLowerCase().split(/[\s_\-$%,]+/).filter(Boolean));
|
|
779
|
+
if (tokA.size === 0 && tokB.size === 0)
|
|
780
|
+
return 1;
|
|
781
|
+
if (tokA.size === 0 || tokB.size === 0)
|
|
782
|
+
return 0;
|
|
783
|
+
let intersection = 0;
|
|
784
|
+
for (const t of tokA)
|
|
785
|
+
if (tokB.has(t))
|
|
786
|
+
intersection++;
|
|
787
|
+
return intersection / (tokA.size + tokB.size - intersection);
|
|
788
|
+
};
|
|
789
|
+
const VALUE_MATCH_THRESHOLD = 0.7;
|
|
790
|
+
// Group facts by normalized key so slight naming differences merge
|
|
771
791
|
const byKey = {};
|
|
772
792
|
for (const f of facts) {
|
|
773
|
-
(
|
|
793
|
+
const nk = normalizeKey(f.factKey);
|
|
794
|
+
(byKey[nk] ??= []).push(f);
|
|
774
795
|
}
|
|
775
796
|
// Merge facts: detect overlaps (same key+value from different providers)
|
|
776
797
|
// and conflicts (same key, different values from different providers)
|
|
@@ -783,27 +804,36 @@ class MultiProviderContinuityBench {
|
|
|
783
804
|
let internalContradictions = 0;
|
|
784
805
|
for (const [key, keyFacts] of Object.entries(byKey)) {
|
|
785
806
|
const providers = [...new Set(keyFacts.map((f) => f.provider))];
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
807
|
+
// Count pairwise overlaps and conflicts across providers.
|
|
808
|
+
// Two facts from different providers with similar values = overlap.
|
|
809
|
+
// Two facts from different providers with dissimilar values = conflict.
|
|
810
|
+
const seen = new Set();
|
|
811
|
+
for (let i = 0; i < keyFacts.length; i++) {
|
|
812
|
+
for (let j = i + 1; j < keyFacts.length; j++) {
|
|
813
|
+
if (keyFacts[i].provider === keyFacts[j].provider)
|
|
814
|
+
continue;
|
|
815
|
+
const pairId = [keyFacts[i].provider, keyFacts[j].provider].sort().join("|");
|
|
816
|
+
if (seen.has(pairId))
|
|
817
|
+
continue;
|
|
818
|
+
seen.add(pairId);
|
|
819
|
+
const isMatch = keyFacts[i].factValue === keyFacts[j].factValue ||
|
|
820
|
+
valueSimilarity(keyFacts[i].factValue, keyFacts[j].factValue) >= VALUE_MATCH_THRESHOLD;
|
|
821
|
+
if (isMatch) {
|
|
822
|
+
detectedOverlaps++;
|
|
823
|
+
}
|
|
824
|
+
else {
|
|
825
|
+
detectedConflicts++;
|
|
826
|
+
}
|
|
799
827
|
}
|
|
800
|
-
const resolvedValue = Object.entries(valueCounts).sort((a, b) => b[1] - a[1])[0][0];
|
|
801
|
-
mergeInsert.run(`ms_${uid()}`, this.runId, key, resolvedValue, JSON.stringify(providers), 1, isoNow());
|
|
802
828
|
}
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
829
|
+
// Resolve: pick the value with the most provider support
|
|
830
|
+
const valueCounts = {};
|
|
831
|
+
for (const f of keyFacts) {
|
|
832
|
+
valueCounts[f.factValue] = (valueCounts[f.factValue] ?? 0) + 1;
|
|
806
833
|
}
|
|
834
|
+
const resolvedValue = Object.entries(valueCounts).sort((a, b) => b[1] - a[1])[0][0];
|
|
835
|
+
const hasConflict = new Set(keyFacts.map((f) => f.factValue)).size > 1 && providers.length > 1;
|
|
836
|
+
mergeInsert.run(`ms_${uid()}`, this.runId, key, resolvedValue, JSON.stringify(providers), hasConflict ? 1 : 0, isoNow());
|
|
807
837
|
mergedFactCount++;
|
|
808
838
|
}
|
|
809
839
|
// Check merged state for internal contradictions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ambientBench.js","sourceRoot":"","sources":["../../src/benchmarks/ambientBench.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ambientBench.js","sourceRoot":"","sources":["../../src/benchmarks/ambientBench.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runner for the Ambient Intelligence Benchmark Suite.
|
|
3
|
+
* Executes all 5 benchmarks, prints per-benchmark scores, and overall pass rate.
|
|
4
|
+
*/
|
|
5
|
+
import { runAmbientBenchSuite } from "./ambientBench.js";
|
|
6
|
+
async function main() {
|
|
7
|
+
console.log("=== Ambient Intelligence Benchmark Suite ===\n");
|
|
8
|
+
console.log("Running 5 benchmarks...\n");
|
|
9
|
+
const suite = await runAmbientBenchSuite();
|
|
10
|
+
// Per-benchmark results
|
|
11
|
+
for (const r of suite.results) {
|
|
12
|
+
const status = r.passed ? "PASS" : "FAIL";
|
|
13
|
+
console.log(`--- ${r.benchmarkName} [${status}] (${r.runDurationMs}ms) ---`);
|
|
14
|
+
if (Object.keys(r.scores).length > 0) {
|
|
15
|
+
for (const [metric, score] of Object.entries(r.scores)) {
|
|
16
|
+
const threshold = r.thresholds[metric];
|
|
17
|
+
const met = threshold !== undefined ? (score >= threshold ? "ok" : "BELOW") : "";
|
|
18
|
+
console.log(` ${metric}: ${score.toFixed(3)}${threshold !== undefined ? ` (threshold: ${threshold})` : ""} ${met}`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if (r.details) {
|
|
22
|
+
console.log(` Details: ${r.details}`);
|
|
23
|
+
}
|
|
24
|
+
console.log();
|
|
25
|
+
}
|
|
26
|
+
// Summary
|
|
27
|
+
console.log("=== SUMMARY ===");
|
|
28
|
+
console.log(`Passed: ${suite.passedCount}/${suite.results.length}`);
|
|
29
|
+
console.log(`Failed: ${suite.failedCount}/${suite.results.length}`);
|
|
30
|
+
console.log(`Overall pass rate: ${(suite.overallPassRate * 100).toFixed(1)}%`);
|
|
31
|
+
console.log(`Total duration: ${suite.totalDurationMs}ms`);
|
|
32
|
+
// Exit with non-zero if any failed
|
|
33
|
+
process.exit(suite.failedCount > 0 ? 1 : 0);
|
|
34
|
+
}
|
|
35
|
+
main().catch((err) => {
|
|
36
|
+
console.error("Suite runner crashed:", err);
|
|
37
|
+
process.exit(2);
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=runAmbientBench.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runAmbientBench.js","sourceRoot":"","sources":["../../src/benchmarks/runAmbientBench.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAE3C,wBAAwB;IACxB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,aAAa,KAAK,MAAM,MAAM,CAAC,CAAC,aAAa,SAAS,CAAC,CAAC;QAE7E,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvD,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,GAAG,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CACxG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;IAE1D,mCAAmC;IACnC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NodeBench Operating Dashboard — Smoke Test
|
|
3
|
+
*
|
|
4
|
+
* Starts the operating dashboard server programmatically,
|
|
5
|
+
* fetches the HTML, validates structure/design tokens, then stops.
|
|
6
|
+
*
|
|
7
|
+
* Run: npx tsx src/benchmarks/testDashboard.ts
|
|
8
|
+
*/
|
|
9
|
+
import Database from "better-sqlite3";
|
|
10
|
+
import { tmpdir } from "node:os";
|
|
11
|
+
import { join } from "node:path";
|
|
12
|
+
import { unlinkSync } from "node:fs";
|
|
13
|
+
// Use the source TS files directly via tsx
|
|
14
|
+
import { startOperatingDashboardServer, stopOperatingDashboardServer, } from "../dashboard/operatingServer.js";
|
|
15
|
+
// ── Helpers ────────────────────────────────────────────────────────────
|
|
16
|
+
const results = [];
|
|
17
|
+
function check(name, pass, detail) {
|
|
18
|
+
results.push({ name, pass, detail });
|
|
19
|
+
const icon = pass ? "PASS" : "FAIL";
|
|
20
|
+
const suffix = detail ? ` — ${detail}` : "";
|
|
21
|
+
console.log(` [${icon}] ${name}${suffix}`);
|
|
22
|
+
}
|
|
23
|
+
// ── Main ───────────────────────────────────────────────────────────────
|
|
24
|
+
async function main() {
|
|
25
|
+
console.log("\n=== NodeBench Operating Dashboard Smoke Test ===\n");
|
|
26
|
+
// Create a temporary SQLite database so we don't touch the real one
|
|
27
|
+
const dbPath = join(tmpdir(), `nodebench-dashboard-test-${Date.now()}.db`);
|
|
28
|
+
let db = null;
|
|
29
|
+
let port = null;
|
|
30
|
+
try {
|
|
31
|
+
db = new Database(dbPath);
|
|
32
|
+
// Start the server on a test port to avoid conflicts
|
|
33
|
+
const testPort = 6274;
|
|
34
|
+
console.log(`Starting server on port ${testPort}...`);
|
|
35
|
+
port = await startOperatingDashboardServer(db, testPort);
|
|
36
|
+
console.log(`Server started on port ${port}\n`);
|
|
37
|
+
check("Server starts", true, `listening on port ${port}`);
|
|
38
|
+
// Fetch the HTML
|
|
39
|
+
const url = `http://127.0.0.1:${port}`;
|
|
40
|
+
const response = await fetch(url);
|
|
41
|
+
// 1. Status code
|
|
42
|
+
check("HTTP 200", response.status === 200, `got ${response.status}`);
|
|
43
|
+
const html = await response.text();
|
|
44
|
+
// 2. Contains "NodeBench"
|
|
45
|
+
check("Contains 'NodeBench'", html.includes("NodeBench"), html.includes("NodeBench") ? "found" : "missing");
|
|
46
|
+
// 3. Contains "Operating Dashboard" header
|
|
47
|
+
check("Contains 'Operating Dashboard'", html.includes("Operating Dashboard"), html.includes("Operating Dashboard") ? "found" : "missing");
|
|
48
|
+
// 4. Expected sections (from the HTML comment header + actual section-headers)
|
|
49
|
+
const expectedSections = [
|
|
50
|
+
{ label: "Company Truth", search: "Company Truth" },
|
|
51
|
+
{ label: "Initiatives", search: "Initiatives" },
|
|
52
|
+
{ label: "Ranked Interventions", search: "Ranked Interventions" },
|
|
53
|
+
{ label: "Competitor Intelligence", search: "Competitor Intelligence" },
|
|
54
|
+
{ label: "Active Contradictions", search: "Active Contradictions" },
|
|
55
|
+
{ label: "Agent Status", search: "Agent Status" },
|
|
56
|
+
{ label: "Recent Decisions", search: "Recent Decisions" },
|
|
57
|
+
{ label: "Session Delta", search: "Since Your Last Session" },
|
|
58
|
+
{ label: "Trajectory Score", search: "Trajectory Score" },
|
|
59
|
+
{ label: "Event Ledger", search: "Event Ledger" },
|
|
60
|
+
{ label: "Important Changes", search: "Important Changes" },
|
|
61
|
+
{ label: "Session Path", search: "Session Path" },
|
|
62
|
+
{ label: "Time Rollups", search: "Time Rollups" },
|
|
63
|
+
{ label: "Packet Readiness", search: "Packet Readiness" },
|
|
64
|
+
{ label: "Recent Actions", search: "Recent Actions" },
|
|
65
|
+
];
|
|
66
|
+
let sectionPassCount = 0;
|
|
67
|
+
for (const sec of expectedSections) {
|
|
68
|
+
const found = html.includes(sec.search);
|
|
69
|
+
if (found)
|
|
70
|
+
sectionPassCount++;
|
|
71
|
+
check(`Section: ${sec.label}`, found, found ? "found" : "MISSING from HTML");
|
|
72
|
+
}
|
|
73
|
+
console.log(`\n Sections: ${sectionPassCount}/${expectedSections.length} present\n`);
|
|
74
|
+
// 5. HTML validity basics
|
|
75
|
+
check("Has <html> open tag", html.includes("<html"), html.includes("<html") ? "found" : "missing");
|
|
76
|
+
check("Has </html> close tag", html.includes("</html>"), html.includes("</html>") ? "found" : "missing");
|
|
77
|
+
check("Has <head> tag", html.includes("<head>"), html.includes("<head>") ? "found" : "missing");
|
|
78
|
+
check("Has </head> tag", html.includes("</head>"), html.includes("</head>") ? "found" : "missing");
|
|
79
|
+
check("Has <body> tag", html.includes("<body"), html.includes("<body") ? "found" : "missing");
|
|
80
|
+
check("Has </body> tag", html.includes("</body>"), html.includes("</body>") ? "found" : "missing");
|
|
81
|
+
check("Has DOCTYPE", html.includes("<!DOCTYPE html>"), html.includes("<!DOCTYPE html>") ? "found" : "missing");
|
|
82
|
+
// 6. Design tokens
|
|
83
|
+
check("Design token: #09090b background", html.includes("#09090b"), html.includes("#09090b") ? "found" : "missing");
|
|
84
|
+
check("Design token: #d97757 accent", html.includes("#d97757"), html.includes("#d97757") ? "found" : "missing");
|
|
85
|
+
check("Design token: Manrope font", html.includes("Manrope"), html.includes("Manrope") ? "found" : "missing");
|
|
86
|
+
check("Design token: JetBrains Mono font", html.includes("JetBrains Mono"), html.includes("JetBrains Mono") ? "found" : "missing");
|
|
87
|
+
// 7. API endpoints respond (spot check)
|
|
88
|
+
const apiChecks = [
|
|
89
|
+
"/api/business/company",
|
|
90
|
+
"/api/business/initiatives",
|
|
91
|
+
"/api/ambient/stats",
|
|
92
|
+
];
|
|
93
|
+
for (const endpoint of apiChecks) {
|
|
94
|
+
try {
|
|
95
|
+
const apiRes = await fetch(`http://127.0.0.1:${port}${endpoint}`);
|
|
96
|
+
check(`API ${endpoint}`, apiRes.status === 200, `status ${apiRes.status}`);
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
check(`API ${endpoint}`, false, err.message);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// 8. HTML size sanity (should be substantial, not a stub)
|
|
103
|
+
const sizeKB = Math.round(html.length / 1024);
|
|
104
|
+
check("HTML size reasonable", html.length > 5000, `${sizeKB} KB`);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
check("Server starts", false, err.message);
|
|
108
|
+
console.error("\nFATAL:", err);
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
// Stop server
|
|
112
|
+
console.log("\nStopping server...");
|
|
113
|
+
stopOperatingDashboardServer();
|
|
114
|
+
console.log("Server stopped.");
|
|
115
|
+
// Close DB and clean up temp file
|
|
116
|
+
if (db) {
|
|
117
|
+
try {
|
|
118
|
+
db.close();
|
|
119
|
+
}
|
|
120
|
+
catch { }
|
|
121
|
+
}
|
|
122
|
+
try {
|
|
123
|
+
unlinkSync(dbPath);
|
|
124
|
+
}
|
|
125
|
+
catch { }
|
|
126
|
+
}
|
|
127
|
+
// Summary
|
|
128
|
+
const passed = results.filter((r) => r.pass).length;
|
|
129
|
+
const failed = results.filter((r) => !r.pass).length;
|
|
130
|
+
const total = results.length;
|
|
131
|
+
console.log(`\n${"=".repeat(50)}`);
|
|
132
|
+
console.log(`RESULT: ${passed}/${total} passed, ${failed} failed`);
|
|
133
|
+
if (failed > 0) {
|
|
134
|
+
console.log("\nFailures:");
|
|
135
|
+
for (const r of results.filter((x) => !x.pass)) {
|
|
136
|
+
console.log(` - ${r.name}: ${r.detail || "no detail"}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
console.log(`${"=".repeat(50)}\n`);
|
|
140
|
+
process.exit(failed > 0 ? 1 : 0);
|
|
141
|
+
}
|
|
142
|
+
main();
|
|
143
|
+
//# sourceMappingURL=testDashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testDashboard.js","sourceRoot":"","sources":["../../src/benchmarks/testDashboard.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nodebench-mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.47.0",
|
|
4
4
|
"mcpName": "io.github.HomenShum/nodebench",
|
|
5
5
|
"description": "341 MCP tools across 55 domains. Operating intelligence for founders: decision packets, structured research, agent verification, quality gates, progressive discovery with 8-mode hybrid search + neural embeddings, TOON encoding, Agent-as-a-Graph bipartite search. Starter: 15 tools. Core: 81 tools. Full: 341 tools.",
|
|
6
6
|
"type": "module",
|