ai-speedometer 2.3.0 → 2.3.1
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/ai-speedometer +17 -8
- package/package.json +1 -1
package/dist/ai-speedometer
CHANGED
|
@@ -3016,7 +3016,7 @@ var package_default;
|
|
|
3016
3016
|
var init_package = __esm(() => {
|
|
3017
3017
|
package_default = {
|
|
3018
3018
|
name: "ai-speedometer",
|
|
3019
|
-
version: "2.3.
|
|
3019
|
+
version: "2.3.1",
|
|
3020
3020
|
description: "A comprehensive CLI tool for benchmarking AI models across multiple providers with parallel execution and professional metrics",
|
|
3021
3021
|
bin: {
|
|
3022
3022
|
"ai-speedometer": "dist/ai-speedometer",
|
|
@@ -3993,16 +3993,14 @@ function BenchmarkScreen() {
|
|
|
3993
3993
|
const [modelStates, setModelStates] = useState8([]);
|
|
3994
3994
|
const [spinnerFrame, setSpinnerFrame] = useState8(0);
|
|
3995
3995
|
const [allDone, setAllDone] = useState8(false);
|
|
3996
|
+
const [runKey, setRunKey] = useState8(0);
|
|
3996
3997
|
const spinnerRef = useRef4(null);
|
|
3997
|
-
const startedRef = useRef4(false);
|
|
3998
3998
|
useEffect6(() => {
|
|
3999
|
-
if (startedRef.current)
|
|
4000
|
-
return;
|
|
4001
|
-
startedRef.current = true;
|
|
4002
3999
|
const models = state.benchResults.map((r) => r.model);
|
|
4003
4000
|
if (models.length === 0)
|
|
4004
4001
|
return;
|
|
4005
4002
|
setModelStates(models.map((m) => ({ model: m, status: "pending" })));
|
|
4003
|
+
setAllDone(false);
|
|
4006
4004
|
spinnerRef.current = setInterval(() => setSpinnerFrame((f) => f + 1), 80);
|
|
4007
4005
|
setModelStates((prev) => prev.map((s) => ({ ...s, status: "running", startedAt: Date.now() })));
|
|
4008
4006
|
async function runAll() {
|
|
@@ -4045,7 +4043,14 @@ function BenchmarkScreen() {
|
|
|
4045
4043
|
spinnerRef.current = null;
|
|
4046
4044
|
}
|
|
4047
4045
|
};
|
|
4048
|
-
}, []);
|
|
4046
|
+
}, [runKey]);
|
|
4047
|
+
const rerun = () => {
|
|
4048
|
+
if (spinnerRef.current) {
|
|
4049
|
+
clearInterval(spinnerRef.current);
|
|
4050
|
+
spinnerRef.current = null;
|
|
4051
|
+
}
|
|
4052
|
+
setRunKey((k) => k + 1);
|
|
4053
|
+
};
|
|
4049
4054
|
const done = modelStates.filter((m) => m.status === "done");
|
|
4050
4055
|
const running = modelStates.filter((m) => m.status === "running");
|
|
4051
4056
|
const pending = modelStates.filter((m) => m.status === "pending");
|
|
@@ -4493,6 +4498,10 @@ function BenchmarkScreen() {
|
|
|
4493
4498
|
useAppKeyboard((key) => {
|
|
4494
4499
|
if (!allDone)
|
|
4495
4500
|
return;
|
|
4501
|
+
if (key.shift && key.name === "r") {
|
|
4502
|
+
rerun();
|
|
4503
|
+
return;
|
|
4504
|
+
}
|
|
4496
4505
|
if (key.name === "q" || key.name === "return" || key.name === "enter") {
|
|
4497
4506
|
dispatch({ type: "BENCH_RESET" });
|
|
4498
4507
|
navigate("main-menu");
|
|
@@ -4503,7 +4512,7 @@ function BenchmarkScreen() {
|
|
|
4503
4512
|
children: [
|
|
4504
4513
|
/* @__PURE__ */ jsxDEV14("text", {
|
|
4505
4514
|
fg: theme.success,
|
|
4506
|
-
children: "All done! [Enter]/[Q] return [\u2191\u2193/PgUp/PgDn/wheel] scroll"
|
|
4515
|
+
children: "All done! [R] rerun [Enter]/[Q] return [\u2191\u2193/PgUp/PgDn/wheel] scroll"
|
|
4507
4516
|
}, undefined, false, undefined, this),
|
|
4508
4517
|
state.logMode && state.logPath && /* @__PURE__ */ jsxDEV14("text", {
|
|
4509
4518
|
fg: theme.dim,
|
|
@@ -6391,7 +6400,7 @@ function getHints(screen, benchResults) {
|
|
|
6391
6400
|
return ["[\u2191\u2193] navigate", "[Tab] select", "[Enter] run", "[A] all", "[N] none", "[R] recent", "[Esc] back"];
|
|
6392
6401
|
case "benchmark": {
|
|
6393
6402
|
const allDone = benchResults.length > 0 && benchResults.every((r) => r.status === "done" || r.status === "error");
|
|
6394
|
-
return allDone ? ["[Enter] back to menu", "[Q] back to menu"] : ["Benchmark in progress..."];
|
|
6403
|
+
return allDone ? ["[R] rerun", "[Enter] back to menu", "[Q] back to menu"] : ["Benchmark in progress..."];
|
|
6395
6404
|
}
|
|
6396
6405
|
case "list-providers":
|
|
6397
6406
|
return ["[\u2191\u2193] scroll", "[Q] back"];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-speedometer",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"description": "A comprehensive CLI tool for benchmarking AI models across multiple providers with parallel execution and professional metrics",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ai-speedometer": "dist/ai-speedometer",
|