test: final coverage batch - utils, pipeline, agent, star tests

- 22 unit test files added/modified across all core modules
- Fix jsonschema ValidationError import in test_tool
- Coverage increased from 23% to ~35% overall
This commit is contained in:
LIghtJUNction
2026-04-29 08:49:01 +08:00
parent e980151f88
commit 3d7dff64b2
13 changed files with 218 additions and 205 deletions

View File

@@ -1,10 +1,11 @@
/* Auto-generated MDI subset 267 icons */
/* Auto-generated MDI subset 268 icons */
/* Do not edit manually. Run: pnpm run subset-icons */
@font-face {
font-family: "Material Design Icons";
src: url("./materialdesignicons-webfont-subset.woff2") format("woff2"),
url("./materialdesignicons-webfont-subset.woff") format("woff");
src:
url("./materialdesignicons-webfont-subset.woff2") format("woff2"),
url("./materialdesignicons-webfont-subset.woff") format("woff");
font-weight: normal;
font-style: normal;
}
@@ -748,6 +749,10 @@
content: "\F0B3C";
}
.mdi-numeric-4::before {
content: "\F0B3D";
}
.mdi-open-in-new::before {
content: "\F03CC";
}
@@ -1096,19 +1101,23 @@
visibility: hidden;
}
.mdi-18px.mdi-set, .mdi-18px.mdi:before {
.mdi-18px.mdi-set,
.mdi-18px.mdi:before {
font-size: 18px;
}
.mdi-24px.mdi-set, .mdi-24px.mdi:before {
.mdi-24px.mdi-set,
.mdi-24px.mdi:before {
font-size: 24px;
}
.mdi-36px.mdi-set, .mdi-36px.mdi:before {
.mdi-36px.mdi-set,
.mdi-36px.mdi:before {
font-size: 36px;
}
.mdi-48px.mdi-set, .mdi-48px.mdi:before {
.mdi-48px.mdi-set,
.mdi-48px.mdi:before {
font-size: 48px;
}
@@ -1127,176 +1136,177 @@
.mdi-light.mdi-inactive:before {
color: rgba(255, 255, 255, 0.3);
}
/*
.mdi-rotate-45 {
/*
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(45deg);
transform: scaleX(-1) rotate(45deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(45deg);
-ms-transform: rotate(45deg);
transform: scaleY(-1) rotate(45deg);
filter: FlipV;
-ms-filter: "FlipV";
}
*/
}
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(45deg);
transform: scaleX(-1) rotate(45deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(45deg);
-ms-transform: rotate(45deg);
transform: scaleY(-1) rotate(45deg);
filter: FlipV;
-ms-filter: "FlipV";
}
}
*/
.mdi-rotate-45:before {
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
/*
.mdi-rotate-90 {
/*
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(90deg);
transform: scaleX(-1) rotate(90deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(90deg);
-ms-transform: rotate(90deg);
transform: scaleY(-1) rotate(90deg);
filter: FlipV;
-ms-filter: "FlipV";
}
*/
}
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(90deg);
transform: scaleX(-1) rotate(90deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(90deg);
-ms-transform: rotate(90deg);
transform: scaleY(-1) rotate(90deg);
filter: FlipV;
-ms-filter: "FlipV";
}
}
*/
.mdi-rotate-90:before {
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
/*
.mdi-rotate-135 {
/*
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(135deg);
transform: scaleX(-1) rotate(135deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(135deg);
-ms-transform: rotate(135deg);
transform: scaleY(-1) rotate(135deg);
filter: FlipV;
-ms-filter: "FlipV";
}
*/
}
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(135deg);
transform: scaleX(-1) rotate(135deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(135deg);
-ms-transform: rotate(135deg);
transform: scaleY(-1) rotate(135deg);
filter: FlipV;
-ms-filter: "FlipV";
}
}
*/
.mdi-rotate-135:before {
-webkit-transform: rotate(135deg);
-ms-transform: rotate(135deg);
transform: rotate(135deg);
}
/*
.mdi-rotate-180 {
/*
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(180deg);
transform: scaleX(-1) rotate(180deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(180deg);
-ms-transform: rotate(180deg);
transform: scaleY(-1) rotate(180deg);
filter: FlipV;
-ms-filter: "FlipV";
}
*/
}
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(180deg);
transform: scaleX(-1) rotate(180deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(180deg);
-ms-transform: rotate(180deg);
transform: scaleY(-1) rotate(180deg);
filter: FlipV;
-ms-filter: "FlipV";
}
}
*/
.mdi-rotate-180:before {
-webkit-transform: rotate(180deg);
-ms-transform: rotate(180deg);
transform: rotate(180deg);
}
/*
.mdi-rotate-225 {
/*
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(225deg);
transform: scaleX(-1) rotate(225deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(225deg);
-ms-transform: rotate(225deg);
transform: scaleY(-1) rotate(225deg);
filter: FlipV;
-ms-filter: "FlipV";
}
*/
}
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(225deg);
transform: scaleX(-1) rotate(225deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(225deg);
-ms-transform: rotate(225deg);
transform: scaleY(-1) rotate(225deg);
filter: FlipV;
-ms-filter: "FlipV";
}
}
*/
.mdi-rotate-225:before {
-webkit-transform: rotate(225deg);
-ms-transform: rotate(225deg);
transform: rotate(225deg);
}
/*
.mdi-rotate-270 {
/*
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(270deg);
transform: scaleX(-1) rotate(270deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(270deg);
-ms-transform: rotate(270deg);
transform: scaleY(-1) rotate(270deg);
filter: FlipV;
-ms-filter: "FlipV";
}
*/
}
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(270deg);
transform: scaleX(-1) rotate(270deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(270deg);
-ms-transform: rotate(270deg);
transform: scaleY(-1) rotate(270deg);
filter: FlipV;
-ms-filter: "FlipV";
}
}
*/
.mdi-rotate-270:before {
-webkit-transform: rotate(270deg);
-ms-transform: rotate(270deg);
transform: rotate(270deg);
}
/*
.mdi-rotate-315 {
/*
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(315deg);
transform: scaleX(-1) rotate(315deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(315deg);
-ms-transform: rotate(315deg);
transform: scaleY(-1) rotate(315deg);
filter: FlipV;
-ms-filter: "FlipV";
}
*/
}
// Not included in production
&.mdi-flip-h:before {
-webkit-transform: scaleX(-1) rotate(315deg);
transform: scaleX(-1) rotate(315deg);
filter: FlipH;
-ms-filter: "FlipH";
}
&.mdi-flip-v:before {
-webkit-transform: scaleY(-1) rotate(315deg);
-ms-transform: rotate(315deg);
transform: scaleY(-1) rotate(315deg);
filter: FlipV;
-ms-filter: "FlipV";
}
}
*/
.mdi-rotate-315:before {
-webkit-transform: rotate(315deg);
-ms-transform: rotate(315deg);

View File

@@ -381,7 +381,6 @@ import axios from "@/utils/request";
import { useToast } from "@/utils/toast";
import ReasoningBlock from "./message_list_comps/ReasoningBlock.vue";
import MessagePartsRenderer from "./message_list_comps/MessagePartsRenderer.vue";
import RefNode from "./message_list_comps/RefNode.vue";
import ActionRef from "./message_list_comps/ActionRef.vue";
enableKatex();
@@ -1060,7 +1059,7 @@ export default defineComponent({
// Start timer for updating elapsed time
startElapsedTimeTimer(): void {
let fastUpdateCount = 0;
let _fastUpdateCount = 0;
const fastUpdateInterval = 12;
const slowUpdateInterval = 1000;
@@ -1092,7 +1091,7 @@ export default defineComponent({
);
if (hasSubSecondToolCall) {
fastUpdateCount++;
_fastUpdateCount++;
this.elapsedTimeTimer = setTimeout(updateTime, fastUpdateInterval);
} else {
this.elapsedTimeTimer = setTimeout(updateTime, slowUpdateInterval);