feat: add unified OA event flow

This commit is contained in:
Codex
2026-05-14 09:41:55 +00:00
parent b36d7f94d7
commit 9f483b002c
37 changed files with 3417 additions and 502 deletions
File diff suppressed because one or more lines are too long
+196 -5
View File
@@ -1422,7 +1422,7 @@ input:focus, select:focus, textarea:focus { border-color: var(--accent-2); }
.result-card dd { margin: 0; }
.result-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.microservice-page, .findjob-page, .pipeline-page, .met-page, .code-queue-page, .baidu-netdisk-page, .filebrowser-page {
.microservice-page, .findjob-page, .pipeline-page, .met-page, .code-queue-page, .baidu-netdisk-page, .filebrowser-page, .oa-event-flow-page {
display: grid;
gap: 10px;
}
@@ -1464,6 +1464,130 @@ input:focus, select:focus, textarea:focus { border-color: var(--accent-2); }
gap: 10px;
align-items: start;
}
.oa-flow-hero {
display: grid;
grid-template-columns: minmax(320px, 1fr) minmax(260px, 0.45fr);
gap: 10px;
align-items: stretch;
}
.oa-flow-signal {
position: relative;
display: grid;
gap: 4px;
min-width: 0;
padding: 10px;
overflow: hidden;
border: 1px solid rgba(78, 183, 168, 0.28);
background:
linear-gradient(120deg, rgba(78, 183, 168, 0.14), rgba(215, 161, 58, 0.08)),
repeating-linear-gradient(90deg, rgba(255,255,255,0.04) 0, rgba(255,255,255,0.04) 1px, transparent 1px, transparent 14px),
var(--panel-3);
}
.oa-flow-signal::after {
content: "";
position: absolute;
inset: auto -20% 0 -20%;
height: 2px;
background: linear-gradient(90deg, transparent, var(--accent-2), var(--accent), transparent);
animation: oa-signal-scan 2.8s linear infinite;
}
.oa-flow-signal span {
color: var(--accent);
font-size: 10px;
letter-spacing: 0.18em;
text-transform: uppercase;
}
.oa-flow-signal strong {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 18px;
}
.oa-flow-signal code { color: var(--muted); }
@keyframes oa-signal-scan {
from { transform: translateX(-40%); opacity: 0.35; }
50% { opacity: 1; }
to { transform: translateX(40%); opacity: 0.35; }
}
.oa-flow-metrics {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 8px;
}
.oa-filter-bar {
display: grid;
grid-template-columns: minmax(280px, 0.8fr) auto minmax(180px, 0.45fr);
gap: 10px;
align-items: end;
}
.oa-filter-bar label {
display: grid;
gap: 5px;
color: var(--muted);
font-size: 10px;
letter-spacing: 0.16em;
text-transform: uppercase;
}
.oa-filter-bar input {
width: 100%;
min-height: 34px;
padding: 7px 9px;
border: 1px solid var(--line);
color: var(--text);
background: var(--panel-3);
}
.oa-filter-presets {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.oa-filter-bar > code {
align-self: center;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--accent-2);
}
.oa-type-strip {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 10px;
}
.oa-flow-grid {
display: grid;
grid-template-columns: 1fr;
gap: 10px;
}
.oa-flow-wide { min-width: 0; }
.oa-event-table, .oa-stats-table {
min-width: 1120px;
font-size: 12px;
}
.oa-event-table td,
.oa-stats-table td {
vertical-align: top;
}
.oa-tag-rail {
display: flex;
flex-wrap: wrap;
gap: 4px;
max-width: 360px;
}
.oa-tag-rail code {
padding: 2px 5px;
border: 1px solid rgba(78, 183, 168, 0.22);
color: var(--accent-2);
background: rgba(78, 183, 168, 0.07);
}
.oa-payload-preview {
display: block;
max-width: 360px;
color: var(--muted);
overflow-wrap: anywhere;
}
.findjob-grid .panel:nth-child(3) { grid-column: 1 / -1; }
.claudeqq-page .findjob-grid .panel:nth-child(n+3) { grid-column: 1 / -1; }
.filebrowser-hero {
@@ -2356,7 +2480,7 @@ input:focus, select:focus, textarea:focus { border-color: var(--accent-2); }
min-width: 0;
align-items: center;
}
.codex-submit-queue-row select {
.codex-submit-queue-select {
grid-area: queue-select;
}
.codex-rename-queue-btn,
@@ -2376,6 +2500,49 @@ input:focus, select:focus, textarea:focus { border-color: var(--accent-2); }
.codex-merge-queue-btn {
grid-area: merge;
}
.codex-merge-dialog {
width: min(480px, 96vw);
overflow: hidden;
border-color: rgba(78, 183, 168, 0.34);
border-radius: 18px;
background:
radial-gradient(circle at 20% 0%, rgba(78, 183, 168, 0.16), transparent 34%),
#0a1015;
}
.codex-merge-dialog-body {
display: grid;
gap: 12px;
padding: 14px;
}
.codex-merge-dialog-body label {
display: grid;
gap: 6px;
color: rgba(226, 244, 244, 0.82);
font-size: 12px;
font-weight: 800;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.codex-merge-dialog-body select {
width: 100%;
min-height: 40px;
box-sizing: border-box;
}
.codex-merge-dialog-target,
.codex-merge-dialog-note {
margin: 0;
color: rgba(217, 238, 238, 0.76);
line-height: 1.55;
}
.codex-merge-dialog-target code {
color: #eafffb;
}
.codex-merge-dialog-actions {
display: flex;
justify-content: flex-end;
gap: 8px;
flex-wrap: wrap;
}
.codex-reference-field {
display: grid;
gap: 5px;
@@ -5090,6 +5257,29 @@ input:focus, select:focus, textarea:focus { border-color: var(--accent-2); }
padding: 10px;
border-bottom: 1px solid var(--line);
}
.unidesk-dialog {
overflow: hidden;
}
.unidesk-dialog-body {
display: grid;
gap: 10px;
max-height: calc(86vh - 118px);
overflow: auto;
padding: 10px;
}
.unidesk-dialog-actions {
display: flex;
justify-content: flex-end;
gap: 8px;
flex-wrap: wrap;
padding: 10px;
border-top: 1px solid var(--line);
background: rgba(255,255,255,0.02);
}
.unidesk-dialog-body.codex-merge-dialog-body {
gap: 12px;
padding: 14px;
}
.raw-json {
max-height: calc(86vh - 58px);
overflow: auto;
@@ -5168,11 +5358,11 @@ input:focus, select:focus, textarea:focus { border-color: var(--accent-2); }
}
@media (max-width: 1120px) {
.metric-grid, .policy-grid, .security-board, .docker-metrics, .monitor-chart-grid, .monitor-summary-grid, .performance-metric-stack, .codex-load-test-grid, .baidu-doc-grid, .filebrowser-target-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.metric-grid, .policy-grid, .security-board, .docker-metrics, .monitor-chart-grid, .monitor-summary-grid, .performance-metric-stack, .codex-load-test-grid, .baidu-doc-grid, .filebrowser-target-grid, .oa-flow-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pipeline-oa-guarantees { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dispatch-form, .schedule-form { grid-template-columns: 1fr 1fr; }
.dispatch-actions { align-items: center; }
.page-grid, .docker-layout, .monitor-layout, .performance-top-grid, .performance-grid, .findjob-grid, .findjob-hero, .pipeline-grid, .pipeline-hero, .met-grid, .met-form-grid, .code-queue-layout, .code-queue-hero, .codex-detail-grid, .project-manager-hero, .project-manager-layout, .baidu-netdisk-grid, .baidu-netdisk-hero, .baidu-transfer-forms, .filebrowser-hero { grid-template-columns: 1fr; }
.page-grid, .docker-layout, .monitor-layout, .performance-top-grid, .performance-grid, .findjob-grid, .findjob-hero, .pipeline-grid, .pipeline-hero, .met-grid, .met-form-grid, .code-queue-layout, .code-queue-hero, .codex-detail-grid, .project-manager-hero, .project-manager-layout, .baidu-netdisk-grid, .baidu-netdisk-hero, .baidu-transfer-forms, .filebrowser-hero, .oa-flow-hero, .oa-filter-bar { grid-template-columns: 1fr; }
.codex-session-shell { grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr); position: relative; }
.codex-session-shell.queue-collapsed { grid-template-columns: minmax(0, 1fr); }
.codex-session-sidebar { border-right: 1px solid var(--line); border-bottom: 0; }
@@ -5198,7 +5388,8 @@ input:focus, select:focus, textarea:focus { border-color: var(--accent-2); }
.pipeline-kv-grid,
.pipeline-field-list,
.performance-metric-stack,
.codex-load-test-grid {
.codex-load-test-grid,
.oa-flow-metrics {
grid-template-columns: 1fr;
}
.performance-hero { flex-direction: column; }