feat: 增加失败分析功能,改进问题规划和解决方案生成

This commit is contained in:
catlog22
2026-01-21 17:46:22 +08:00
parent 2084ff3e21
commit a7c8ea04f1
6 changed files with 364 additions and 22 deletions

View File

@@ -279,6 +279,58 @@
color: hsl(var(--destructive));
}
/* Issue Failure Info */
.issue-failure-info {
margin-top: 0.75rem;
padding: 0.5rem 0.75rem;
background: hsl(var(--destructive) / 0.08);
border: 1px solid hsl(var(--destructive) / 0.2);
border-radius: 0.375rem;
border-left: 3px solid hsl(var(--destructive));
}
.issue-failure-info .failure-header {
display: flex;
align-items: center;
gap: 0.375rem;
color: hsl(var(--destructive));
font-size: 0.75rem;
font-weight: 500;
margin-bottom: 0.25rem;
}
.issue-failure-info .failure-label {
text-transform: uppercase;
letter-spacing: 0.02em;
}
.issue-failure-info .failure-task {
font-family: var(--font-mono);
background: hsl(var(--destructive) / 0.15);
padding: 0 0.25rem;
border-radius: 0.25rem;
font-size: 0.6875rem;
}
.issue-failure-info .failure-message {
display: flex;
flex-wrap: wrap;
gap: 0.25rem;
font-size: 0.75rem;
color: hsl(var(--muted-foreground));
line-height: 1.4;
}
.issue-failure-info .failure-type {
font-family: var(--font-mono);
color: hsl(var(--destructive) / 0.8);
font-weight: 500;
}
.issue-failure-info .failure-text {
word-break: break-word;
}
/* Priority Badges */
.issue-priority {
display: inline-flex;
@@ -2014,6 +2066,41 @@
border-left: 3px solid hsl(0 84% 60%);
}
/* Queue Item Failure Info */
.queue-item-failure {
display: flex;
align-items: center;
gap: 0.25rem;
color: hsl(var(--destructive));
background: hsl(var(--destructive) / 0.1);
padding: 0.125rem 0.375rem;
border-radius: 0.25rem;
max-width: 250px;
overflow: hidden;
}
.queue-item-failure i {
flex-shrink: 0;
}
.queue-item-failure .failure-type {
font-family: var(--font-mono);
font-weight: 500;
flex-shrink: 0;
}
.queue-item-failure .failure-msg {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: hsl(var(--muted-foreground));
}
/* Hide failure in parallel view to save space */
.queue-items.parallel .queue-item .queue-item-failure {
display: none;
}
/* Blocked - Purple/violet blocked state */
.queue-item.blocked {
border-color: hsl(262 83% 58%);