@zq-silk/yui 2.0.0 → 2.1.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/cli/commandCatalog.js +294 -286
- package/dist/cli/commandDiscovery.js +69 -0
- package/dist/cli/completion.js +22 -227
- package/dist/cli/dynamicCompletion.js +12 -6
- package/dist/cli/invocationAuthority.js +2 -2
- package/dist/cli/invocationRouter.js +18 -7
- package/dist/cli.js +71 -23
- package/dist/commands/capabilityCommands.js +5 -5
- package/dist/commands/globalRoleCommands.js +2 -1
- package/dist/commands/taskCommands.js +11 -0
- package/dist/context/taskContext.js +6 -2
- package/dist/kernel/accessAssessment.js +1 -0
- package/dist/kernel/builtinCapabilities.js +28 -1
- package/dist/kernel/capabilityRegistry.js +64 -19
- package/dist/nativeAgent/agent.js +173 -0
- package/dist/nativeAgent/contracts.js +1 -0
- package/dist/nativeAgent/demo.js +29 -0
- package/dist/nativeAgent/index.js +3 -0
- package/dist/nativeAgent/mockProvider.js +43 -0
- package/dist/nativeAgent/textTools.js +156 -0
- package/dist/nativeAgent/validation.js +95 -0
- package/dist/plugins/pluginService.js +98 -8
- package/dist/resources/projectResourceService.js +23 -1
- package/dist/runtime/managedIdentity.js +6 -0
- package/dist/surface/surfaceContributions.js +3 -0
- package/dist/task/taskAuthority.js +5 -10
- package/dist/web/assets/assetManifest.js +38 -22
- package/dist/web/assets/client/api.js +115 -0
- package/dist/web/assets/client/app.js +555 -863
- package/dist/web/assets/client/components.js +323 -897
- package/dist/web/assets/client/detail.js +333 -0
- package/dist/web/assets/client/dock.js +225 -0
- package/dist/web/assets/client/dom.js +55 -3
- package/dist/web/assets/client/evidence.js +172 -0
- package/dist/web/assets/client/format.js +25 -14
- package/dist/web/assets/client/forms.js +230 -0
- package/dist/web/assets/client/i18n.js +1020 -791
- package/dist/web/assets/client/overview.js +115 -0
- package/dist/web/assets/client/records.js +63 -0
- package/dist/web/assets/client/sections.js +313 -0
- package/dist/web/assets/client/sidebar.js +117 -0
- package/dist/web/assets/client/theme.js +61 -22
- package/dist/web/assets/icons.js +39 -0
- package/dist/web/assets/shell.js +124 -118
- package/dist/web/assets/styles/base.js +41 -0
- package/dist/web/assets/styles/components.js +167 -0
- package/dist/web/assets/styles/layout.js +49 -77
- package/dist/web/assets/styles/markdown.js +16 -24
- package/dist/web/assets/styles/responsive.js +33 -44
- package/dist/web/assets/styles/tokens.js +65 -89
- package/dist/web/assets/styles/views.js +289 -0
- package/dist/web/webServer.js +2 -1
- package/docs/release-workflow.md +23 -0
- package/docs/release-workflow.zh-CN.md +16 -0
- package/package.json +1 -1
- package/skills/yui-runtime/SKILL.md +26 -0
- package/dist/web/assets/client/taskSummary.js +0 -350
- package/dist/web/assets/client/taskSurface.js +0 -616
- package/dist/web/assets/client/view.js +0 -608
- package/dist/web/assets/styles/cards.js +0 -247
- package/dist/web/assets/styles/widgets.js +0 -168
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* CARDS — content-bearing surfaces.
|
|
3
|
-
* Overview blocks, detail head / conclusion band, sections, record cards,
|
|
4
|
-
* input cards, AgentRun cards, criteria lists. Widgets (pills, chips, metrics)
|
|
5
|
-
* live in widgets.ts; markdown typography lives in markdown.ts.
|
|
6
|
-
*/
|
|
7
|
-
export const CARD_STYLES = `
|
|
8
|
-
.surface-json { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 36rem; overflow: auto; }
|
|
9
|
-
.task-surface .section-body { display:grid; gap:12px; min-width:0; }
|
|
10
|
-
.task-surface { grid-template-columns:minmax(0,1fr); }
|
|
11
|
-
.task-surface .detail-section,.task-surface .record-card,.task-surface .execute-card { min-width:0; max-width:100%; }
|
|
12
|
-
.task-surface .record-meta { min-width:0; overflow-wrap:anywhere; }
|
|
13
|
-
@media(max-width:620px){
|
|
14
|
-
.task-surface .record-head{flex-wrap:wrap}
|
|
15
|
-
.task-surface .record-title-row{flex-basis:100%}
|
|
16
|
-
}
|
|
17
|
-
.task-surface .section-body > .pill { width:max-content; }
|
|
18
|
-
.task-surface form,.task-surface label { display:grid; gap:10px; min-width:0; }
|
|
19
|
-
.task-surface label { font-size:13px; font-weight:500; }
|
|
20
|
-
.task-surface input,.task-surface textarea { box-sizing:border-box; width:100%; min-width:0; padding:12px; border:1px solid var(--border-strong); border-radius:var(--radius); background:var(--bg-1); color:var(--text); font:inherit; }
|
|
21
|
-
.task-surface textarea { min-height:96px; resize:vertical; }
|
|
22
|
-
.task-surface input:focus-visible,.task-surface textarea:focus-visible,.task-surface summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
|
|
23
|
-
.task-surface button { min-height:40px; }
|
|
24
|
-
.task-surface summary { cursor:pointer; padding:8px 0; font-weight:600; }
|
|
25
|
-
.task-surface [role=status] { overflow-wrap:anywhere; }
|
|
26
|
-
.summary-block h3 { margin:0 0 12px; font-size:16px; }
|
|
27
|
-
.summary-block h4 { margin:12px 0 4px; }
|
|
28
|
-
.summary-block p { overflow-wrap:anywhere; }
|
|
29
|
-
.task-summary-grid { display:grid; gap:12px; min-width:0; align-items:start; }
|
|
30
|
-
.task-summary-grid .summary-block { display:block; }
|
|
31
|
-
.task-summary-grid .summary-block p { margin:8px 0; }
|
|
32
|
-
.task-surface .record-pills { flex-wrap:wrap; max-width:100%; }
|
|
33
|
-
@media (min-width:1100px) {
|
|
34
|
-
.task-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
|
|
35
|
-
}
|
|
36
|
-
.session-counts { display:flex; flex-wrap:wrap; gap:8px; }
|
|
37
|
-
.session-count { padding:6px 10px; background:var(--bg-3); border:1px solid var(--border); border-radius:var(--radius); }
|
|
38
|
-
.session-row { padding:12px 0; border-top:1px solid var(--border); overflow-wrap:anywhere; }
|
|
39
|
-
.artifact-choice { text-align:left; white-space:normal; overflow-wrap:anywhere; }
|
|
40
|
-
.task-surface .artifact-text { max-height:32rem; padding:16px; border:1px solid var(--border); background:var(--bg-1); }
|
|
41
|
-
.task-surface .mono { overflow-wrap:anywhere; }
|
|
42
|
-
.task-surface .muted { overflow-wrap:anywhere; min-width:0; }
|
|
43
|
-
.task-surface .observability-metrics { grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); }
|
|
44
|
-
.task-surface .observability-metrics .metric { flex-direction:column; align-items:flex-start; min-width:0; }
|
|
45
|
-
.task-surface .observability-metrics .metric-value { overflow-wrap:anywhere; max-width:100%; }
|
|
46
|
-
.task-surface button { min-height:44px; }
|
|
47
|
-
/* Overview scaffolding */
|
|
48
|
-
.overview{display:grid;gap:14px;padding-top:2px}
|
|
49
|
-
.overview-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
|
|
50
|
-
.overview-block{display:grid;gap:8px}
|
|
51
|
-
.section-head{display:flex;align-items:center;gap:10px;min-height:22px}
|
|
52
|
-
.section-head h3{margin:0;font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:-.01em;color:var(--text)}
|
|
53
|
-
.section-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--bg-3);border:1px solid var(--border);color:var(--muted);font-family:var(--font-mono);font-size:10.5px;font-weight:500}
|
|
54
|
-
.section-label{color:var(--muted);font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;margin-left:auto}
|
|
55
|
-
.section-kicker{color:var(--faint);font-family:var(--font-body);font-size:11.5px;margin-left:4px;align-self:baseline}
|
|
56
|
-
.overview-list{display:grid;gap:7px}
|
|
57
|
-
.overview-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text);box-shadow:var(--shadow-card);transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}
|
|
58
|
-
.overview-row:hover{border-color:var(--border-strong);box-shadow:0 1px 2px rgba(0,0,0,.32),0 6px 16px rgba(0,0,0,.22)}
|
|
59
|
-
.overview-row .status-dot{margin-top:0}
|
|
60
|
-
.overview-row-title{min-width:0;font-family:var(--font-body);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
61
|
-
.overview-row-time{font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:.02em;white-space:nowrap}
|
|
62
|
-
.overview-row.has-inputs .status-dot{background:var(--warning);box-shadow:0 0 8px var(--warning)}
|
|
63
|
-
.inbox-empty{display:flex;align-items:center;gap:10px;padding:13px 16px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);font-family:var(--font-body);font-size:12px}
|
|
64
|
-
.inbox-empty .dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--success);box-shadow:0 0 8px var(--success)}
|
|
65
|
-
.inbox-list{display:grid;gap:7px}
|
|
66
|
-
.inbox-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:3px 14px;width:100%;text-align:left;align-items:center;padding:8px 12px;border:1px solid var(--border);border-left:3px solid var(--warning);background:var(--warning-soft);border-radius:var(--radius);color:var(--text);cursor:pointer;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}
|
|
67
|
-
.inbox-row:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card)}
|
|
68
|
-
.inbox-lead{display:flex;align-items:center;gap:9px;min-width:0;grid-column:1}
|
|
69
|
-
.inbox-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--warning);box-shadow:0 0 8px var(--warning)}
|
|
70
|
-
.inbox-head{display:flex;align-items:center;gap:9px;min-width:0}
|
|
71
|
-
.inbox-task{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
72
|
-
.inbox-question{grid-column:1;grid-row:2;font-family:var(--font-body);font-size:13px;font-weight:600;line-height:1.4;color:var(--text);min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
|
|
73
|
-
.inbox-foot{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;flex:none}
|
|
74
|
-
.inbox-foot time{color:var(--muted);font-size:10.5px;font-family:var(--font-mono);letter-spacing:.03em}
|
|
75
|
-
.inbox-go{color:var(--warning);font-size:11.5px;font-weight:600;font-family:var(--font-body)}
|
|
76
|
-
/* Detail head */
|
|
77
|
-
.detail-scaffold{display:grid;gap:0;max-width:1100px;margin:0 auto}
|
|
78
|
-
.detail-head{display:grid;gap:8px;padding:8px 0 12px;border-bottom:1px solid var(--border)}
|
|
79
|
-
.detail-kicker{display:inline-flex;width:fit-content;color:var(--accent);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;background:var(--accent-soft);border:1px solid var(--accent-line);padding:3px 11px;border-radius:var(--radius-pill)}
|
|
80
|
-
.detail-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:clamp(14px,1.1vw,16px);letter-spacing:-.01em;line-height:1.3;color:var(--text)}
|
|
81
|
-
.detail-description{font-family:var(--font-body);color:var(--muted);line-height:1.6;margin:0;max-width:76ch;font-size:14px}
|
|
82
|
-
.detail-meta{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;padding-top:3px}
|
|
83
|
-
.detail-meta-item{display:inline-flex;align-items:center;gap:6px;min-width:0}
|
|
84
|
-
.detail-meta-item small{color:var(--muted);font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;flex:none}
|
|
85
|
-
.detail-meta-item>span{color:var(--text);font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
86
|
-
.detail-meta-item>.meta-path{font-family:var(--font-mono);font-size:11px;color:var(--muted);max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
87
|
-
.detail-meta-item>.pill{align-self:center}
|
|
88
|
-
/* Bands */
|
|
89
|
-
.conclusion{padding:13px 16px;border:1px solid var(--success);background:var(--success-soft);border-radius:var(--radius-lg);margin:16px 0;display:grid;gap:7px}
|
|
90
|
-
.conclusion h3{margin:0;color:var(--success);letter-spacing:.14em;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;display:flex;align-items:center;gap:10px}
|
|
91
|
-
.conclusion h3:before{content:"✓ ";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--success);color:var(--on-accent);font-size:11px}
|
|
92
|
-
.conclusion p{font-size:14px;margin:0;color:var(--text);font-family:var(--font-body);line-height:1.6}
|
|
93
|
-
.conclusion.retired{border-color:var(--warning);background:var(--warning-soft)}
|
|
94
|
-
.conclusion.retired h3{color:var(--warning)}
|
|
95
|
-
.conclusion.retired h3:before{content:"× ";background:var(--warning);color:var(--on-accent)}
|
|
96
|
-
.conclusion.archived{border-color:var(--border-strong);background:var(--bg-2)}
|
|
97
|
-
.conclusion.archived h3{color:var(--muted)}
|
|
98
|
-
.conclusion.archived h3:before{content:"→ ";background:var(--border-strong);color:var(--text)}
|
|
99
|
-
.conclusion-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:10.5px;font-family:var(--font-mono);letter-spacing:.02em}
|
|
100
|
-
/* Sections */
|
|
101
|
-
.detail-section{display:grid;gap:8px;padding:11px 0;border-bottom:1px solid var(--border)}
|
|
102
|
-
.detail-section:last-child{border-bottom:0}
|
|
103
|
-
.section-body{display:grid;gap:7px}
|
|
104
|
-
.row-list{display:grid;gap:7px}
|
|
105
|
-
.row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;background:var(--bg-2);border:1px solid var(--border);padding:9px 12px;border-radius:var(--radius);color:var(--muted);font-family:var(--font-body);font-size:12px}
|
|
106
|
-
.row.is-empty{justify-content:center;border-style:dashed;color:var(--faint)}
|
|
107
|
-
/* Cards */
|
|
108
|
-
.record-card{background:var(--bg-2);border:1px solid var(--border);padding:9px 11px;border-radius:var(--radius);box-shadow:var(--shadow-card);transition:border-color var(--motion-fast);display:grid;gap:7px}
|
|
109
|
-
.record-card:hover{border-color:var(--border-strong)}
|
|
110
|
-
.record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
|
|
111
|
-
.record-title{font-family:var(--font-body);font-weight:700;font-size:14px;line-height:1.3;color:var(--text);min-width:0}
|
|
112
|
-
.record-title-row{display:flex;align-items:center;gap:9px;min-width:0}
|
|
113
|
-
.record-title-row .status-dot{margin-top:0}
|
|
114
|
-
.record-pills{display:flex;gap:6px;flex-wrap:wrap;flex:none}
|
|
115
|
-
.record-meta{display:flex;gap:10px 16px;flex-wrap:wrap;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.02em}
|
|
116
|
-
.record-meta .meta-name{font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--text)}
|
|
117
|
-
.record-meta .mono{color:var(--faint)}
|
|
118
|
-
.record-meta time{color:var(--muted)}
|
|
119
|
-
.record-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;align-items:start;grid-auto-flow:dense}
|
|
120
|
-
.record-cols .is-wide{grid-column:1 / -1}
|
|
121
|
-
.work-item-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;align-items:start}
|
|
122
|
-
.record-block{display:grid;gap:5px;align-content:start}
|
|
123
|
-
.record-block>small{display:block;color:var(--text);font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:-.005em;margin-bottom:1px}
|
|
124
|
-
.record-block p{margin:0;font-family:var(--font-body);font-size:12px;line-height:1.6;color:var(--text)}
|
|
125
|
-
.record-block p.muted,.record-block .muted{color:var(--muted)}
|
|
126
|
-
.outcome-callout{border-left:2px solid var(--success);background:var(--success-soft);padding:9px 12px;border-radius:0 var(--radius) var(--radius) 0}
|
|
127
|
-
.outcome-callout>small{color:var(--success)}
|
|
128
|
-
.record-open{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;color:var(--text);background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:12px;font-weight:600;transition:border-color var(--motion-fast),color var(--motion-fast),background var(--motion-fast)}
|
|
129
|
-
.record-open:hover{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}
|
|
130
|
-
.record-open .arrow{font-weight:400;color:var(--faint);transition:transform var(--motion-fast)}
|
|
131
|
-
.record-open:hover .arrow{transform:translateX(2px);color:var(--accent)}
|
|
132
|
-
/* Collapsible work items (closed records fold into a summary row) */
|
|
133
|
-
details.work-item-card>summary.record-head{list-style:none;cursor:pointer}
|
|
134
|
-
details.work-item-card>summary.record-head::-webkit-details-marker{display:none}
|
|
135
|
-
details.work-item-card>summary.record-head:before{content:"▸";flex:none;color:var(--faint);font-size:11px;margin-top:2px;transition:color var(--motion-fast)}
|
|
136
|
-
details.work-item-card[open]>summary.record-head:before{content:"▾";color:var(--muted)}
|
|
137
|
-
details.work-item-card>summary.record-head:hover:before{color:var(--accent)}
|
|
138
|
-
details.work-item-card>summary.record-head~*{margin-top:0}
|
|
139
|
-
/* Input attention cards */
|
|
140
|
-
.input-card{border:1px solid var(--warning);background:var(--warning-soft);padding:11px 13px;border-radius:var(--radius);color:var(--text);display:grid;gap:8px}
|
|
141
|
-
.input-card-top{display:grid;gap:5px}
|
|
142
|
-
.input-card-top small{display:block;color:var(--warning);font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:-.005em}
|
|
143
|
-
.input-question{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--text);line-height:1.35}
|
|
144
|
-
.input-context{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.02em}
|
|
145
|
-
.input-blocked{display:block;padding:8px 12px;border:1px dashed var(--warning);border-radius:var(--radius);color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em}
|
|
146
|
-
.input-actions{display:flex;gap:8px;flex-wrap:wrap}
|
|
147
|
-
.input-answer{padding:7px 13px;color:var(--text);background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius);font-family:var(--font-body);font-size:12px;font-weight:600;transition:border-color var(--motion-fast),color var(--motion-fast),background var(--motion-fast)}
|
|
148
|
-
.input-answer:hover{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}
|
|
149
|
-
.input-form{display:flex;gap:8px;flex:1}
|
|
150
|
-
.input-form input{min-width:0;flex:1;padding:8px 12px;color:var(--text);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:12.5px}
|
|
151
|
-
/* Execution AgentRuns */
|
|
152
|
-
.run-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:9px}
|
|
153
|
-
.run-filter{margin-bottom:3px}
|
|
154
|
-
.execute-card{background:var(--bg-2);border:1px solid var(--border);border-left:2px solid var(--border);border-radius:var(--radius);padding:9px 12px;display:grid;gap:6px;box-shadow:var(--shadow-card);transition:border-color var(--motion-fast)}
|
|
155
|
-
.execute-card:hover{border-left-color:var(--border-strong)}
|
|
156
|
-
.execute-card[data-status=active]{border-left-color:var(--accent)}
|
|
157
|
-
.execute-card[data-status=completed]{border-left-color:var(--success)}
|
|
158
|
-
.execute-card[data-status=failed]{border-left-color:var(--danger)}
|
|
159
|
-
.execute-id{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.02em}
|
|
160
|
-
.execute-id .status-dot{margin-top:0}
|
|
161
|
-
.execute-id .role{font-family:var(--font-body);font-weight:700;font-size:14px;color:var(--text)}
|
|
162
|
-
.execute-io{display:grid;gap:5px}
|
|
163
|
-
.execute-io>small{color:var(--text);font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:-.005em}
|
|
164
|
-
.execute-io p{margin:0;font-family:var(--font-body);font-size:12px;line-height:1.6;color:var(--text)}
|
|
165
|
-
.execute-io.outcome{border-left:2px solid var(--success);background:var(--success-soft);padding:9px 0 9px 12px;border-radius:0 var(--radius) var(--radius) 0}
|
|
166
|
-
.execute-io.outcome>small{color:var(--success)}
|
|
167
|
-
.execute-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:4px}
|
|
168
|
-
.execute-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.05em}
|
|
169
|
-
/* Acceptance criteria — dash markers, not checkboxes (they are read-only) */
|
|
170
|
-
.criteria-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}
|
|
171
|
-
.criteria-list li{position:relative;padding-left:16px;font-family:var(--font-body);font-size:12px;line-height:1.5;color:var(--text)}
|
|
172
|
-
.criteria-list li:before{content:"";position:absolute;left:0;top:8px;width:9px;height:2px;border:0;border-radius:2px;background:var(--border-strong)}
|
|
173
|
-
.criteria-block.is-collapsed .criteria-list li:nth-child(n+7){display:none}
|
|
174
|
-
/* Task-first execution status band */
|
|
175
|
-
.exec-band{display:grid;gap:8px;padding:11px 14px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-lg);background:var(--bg-2);box-shadow:var(--shadow-card)}
|
|
176
|
-
.exec-band.is-danger{border-left-color:var(--danger)}
|
|
177
|
-
.exec-band.is-warning{border-left-color:var(--warning)}
|
|
178
|
-
.exec-band.is-active{border-left-color:var(--active)}
|
|
179
|
-
.exec-band.is-accent{border-left-color:var(--accent)}
|
|
180
|
-
.exec-band.is-muted{border-left-color:var(--faint)}
|
|
181
|
-
.exec-band-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
|
|
182
|
-
.exec-band-owner{color:var(--muted);font-family:var(--font-body);font-size:12px;font-weight:600}
|
|
183
|
-
.exec-band-executors{color:var(--active);font-family:var(--font-mono);font-size:10px;letter-spacing:.04em}
|
|
184
|
-
.exec-band-stopped{color:var(--faint);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
|
|
185
|
-
.exec-band-failclosed{color:var(--danger);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--danger);padding:2px 8px;border-radius:var(--radius-pill)}
|
|
186
|
-
.exec-band-summary{margin:0;font-family:var(--font-body);font-size:13px;line-height:1.55;color:var(--text)}
|
|
187
|
-
.exec-signal-list{display:grid;gap:5px}
|
|
188
|
-
.exec-signal{display:flex;gap:9px;align-items:baseline;padding:6px 10px;border-radius:var(--radius);font-size:11.5px;line-height:1.45}
|
|
189
|
-
.exec-signal.is-attention{background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent)}
|
|
190
|
-
.exec-signal.is-blocker{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}
|
|
191
|
-
.exec-signal-kind{flex:none;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
|
|
192
|
-
.exec-signal-text{min-width:0;color:var(--text)}
|
|
193
|
-
/* WorkItem execution and recovery */
|
|
194
|
-
.exec-group{gap:8px}
|
|
195
|
-
.lane-list{display:grid;gap:4px}
|
|
196
|
-
.lane-row{display:flex;align-items:center;gap:9px;padding:5px 9px;border-radius:var(--radius);background:var(--bg-3);border:1px solid var(--border);font-size:11.5px}
|
|
197
|
-
.lane-row .status-dot{margin-top:0}
|
|
198
|
-
.lane-role{font-family:var(--font-body);font-weight:700;font-size:12px;color:var(--text)}
|
|
199
|
-
.lane-status{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
|
|
200
|
-
.lane-summary{flex:1;min-width:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
201
|
-
.execution-resource-meta,.work-item-observability{gap:10px;flex-wrap:wrap}
|
|
202
|
-
.execution-resource-meta .chip{margin-left:auto}
|
|
203
|
-
.observability-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}
|
|
204
|
-
.observability-metrics .metric{min-height:52px;padding:8px 10px}
|
|
205
|
-
.observability-metrics .metric-value{font-size:18px}
|
|
206
|
-
.observability-context-meta{gap:10px;flex-wrap:wrap;margin-top:7px}
|
|
207
|
-
.dag-graph{display:grid;gap:8px}
|
|
208
|
-
.dag-node{display:grid;gap:6px;padding:9px 11px;background:var(--bg-2);border:1px solid var(--border);border-left:3px solid var(--faint);border-radius:var(--radius);box-shadow:var(--shadow-card)}
|
|
209
|
-
.dag-node.is-ready{border-left-color:var(--accent)}
|
|
210
|
-
.dag-node.is-running{border-left-color:var(--active)}
|
|
211
|
-
.dag-node.is-blocked,.dag-node.is-failed,.dag-node.is-awaiting_acceptance{border-left-color:var(--danger)}
|
|
212
|
-
.dag-node.is-completed{border-left-color:var(--success)}
|
|
213
|
-
.dag-node.is-retired{border-left-color:var(--faint)}
|
|
214
|
-
.dag-node-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
|
|
215
|
-
.dag-node-head .status-dot{margin-top:0}
|
|
216
|
-
.dag-node-title{flex:1;min-width:0;font-size:12px;color:var(--text)}
|
|
217
|
-
.dag-node-deps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-family:var(--font-mono);font-size:9.5px}
|
|
218
|
-
.dag-node-deps small{margin-right:2px;text-transform:uppercase;letter-spacing:.08em}
|
|
219
|
-
.dag-root-cause{color:var(--warning);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.03em}
|
|
220
|
-
.chip.is-satisfied{color:var(--success);background:var(--success-soft);border-color:transparent}
|
|
221
|
-
.chip.is-active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}
|
|
222
|
-
.chip.is-failed-open,.chip.is-dead{color:var(--danger);background:var(--danger-soft);border-color:transparent}
|
|
223
|
-
.exec-resolution{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap;padding:7px 10px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--accent-line)}
|
|
224
|
-
.exec-resolution-decision{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
|
|
225
|
-
.exec-resolution-summary{flex:1;min-width:0;font-size:12px;color:var(--text)}
|
|
226
|
-
.exec-resolution time{color:var(--muted);font-size:10.5px}
|
|
227
|
-
/* Candidates */
|
|
228
|
-
.candidate-list{display:grid;gap:4px}
|
|
229
|
-
.candidate-row{display:flex;align-items:baseline;gap:9px;padding:5px 9px;border-radius:var(--radius);background:var(--bg-3);border:1px solid var(--border);font-size:11.5px}
|
|
230
|
-
.candidate-seq{flex:none;font-family:var(--font-mono);font-size:10px;color:var(--faint)}
|
|
231
|
-
.candidate-summary{flex:1;min-width:0;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
232
|
-
.candidate-source{flex:none;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
|
|
233
|
-
.candidate-row time{flex:none;color:var(--muted);font-size:10.5px}
|
|
234
|
-
/* Sidebar derived execution status */
|
|
235
|
-
.task-exec{grid-row:1;grid-column:3;align-self:center;flex:none;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);white-space:nowrap;max-width:90px;overflow:hidden;text-overflow:ellipsis}
|
|
236
|
-
.task-exec.is-blocked,.task-exec.is-attention{color:var(--danger)}
|
|
237
|
-
.task-exec.is-recovering,.task-exec.is-progressing-with-attention{color:var(--warning)}
|
|
238
|
-
.task-exec.is-working,.task-exec.is-waiting-on-agents{color:var(--active)}
|
|
239
|
-
.task-exec.is-needs-leader-action{color:var(--accent)}
|
|
240
|
-
/* Overview row derived status label */
|
|
241
|
-
.overview-row-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--warning);white-space:nowrap}
|
|
242
|
-
/* Disposition block */
|
|
243
|
-
.disposition-block{border-left:2px solid var(--warning);padding-left:10px}
|
|
244
|
-
.disposition-block>small{color:var(--warning)}
|
|
245
|
-
/* Input requester */
|
|
246
|
-
.input-requester{color:var(--muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.02em}
|
|
247
|
-
`;
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WIDGETS — small reusable chrome.
|
|
3
|
-
* Base element treatment, sidebar controls, topbar controls, pills / dots /
|
|
4
|
-
* chips, filter chips, metric rail, loading / toast. Cards live in cards.ts.
|
|
5
|
-
*/
|
|
6
|
-
export const WIDGET_STYLES = `
|
|
7
|
-
html{background:var(--bg);color:var(--text)}
|
|
8
|
-
body{background:var(--ambient),var(--bg);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color var(--motion-fast),color var(--motion-fast)}
|
|
9
|
-
::selection{background:var(--accent);color:var(--on-accent)}
|
|
10
|
-
*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}
|
|
11
|
-
::-webkit-scrollbar{width:10px;height:10px}
|
|
12
|
-
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:content-box}
|
|
13
|
-
::-webkit-scrollbar-track{background:transparent}
|
|
14
|
-
.skip-link{position:fixed;left:14px;top:-56px;background:var(--accent);color:var(--on-accent);padding:10px 15px;border-radius:var(--radius);z-index:80;text-decoration:none;font-size:12px;transition:top var(--motion-fast)}
|
|
15
|
-
.skip-link:focus{top:14px}
|
|
16
|
-
button{font:inherit;cursor:pointer}
|
|
17
|
-
input:focus-visible,select:focus-visible,button:focus-visible,.task:focus-visible,.tab:focus-visible,.overview-row:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}
|
|
18
|
-
.global-input-dialog{width:min(34rem,calc(100vw - 2rem));max-height:85vh;overflow:auto;color:var(--text);background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--page-space)}
|
|
19
|
-
.global-input-dialog::backdrop{background:color-mix(in srgb,var(--bg) 75%,transparent)}
|
|
20
|
-
.global-input-dialog form,.global-input-dialog label{display:grid;gap:8px}
|
|
21
|
-
.global-input-dialog form{gap:14px}
|
|
22
|
-
.global-input-dialog p{overflow-wrap:anywhere}
|
|
23
|
-
.global-input-dialog form,.global-input-dialog label{min-width:0}
|
|
24
|
-
.global-input-dialog input,.global-input-dialog select,.global-input-dialog textarea{width:100%;box-sizing:border-box;padding:10px;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius)}
|
|
25
|
-
.global-input-dialog textarea{min-height:100px}
|
|
26
|
-
.global-input-dialog .record-actions{display:flex;flex-wrap:wrap;gap:8px}
|
|
27
|
-
.global-input-dialog button{min-height:44px}
|
|
28
|
-
.global-input-state{white-space:pre-wrap;overflow-wrap:anywhere;font:12px var(--font-mono)}
|
|
29
|
-
.global-input-dialog [hidden]{display:none}
|
|
30
|
-
/* Sidebar */
|
|
31
|
-
.sidebar{border-right:1px solid var(--border);background:color-mix(in srgb,var(--bg-1) 84%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
|
|
32
|
-
.brand-mark{width:40px;height:40px;flex:none;display:grid;place-items:center;font-family:var(--font-display);font-size:21px;font-weight:600;color:var(--on-accent);border-radius:11px;background:linear-gradient(140deg,var(--accent),var(--accent-2));box-shadow:var(--glow)}
|
|
33
|
-
.sidebar-brand strong{display:block;font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.1;color:var(--text)}
|
|
34
|
-
.sidebar-brand .brand-text span{display:block;color:var(--muted);font-size:10px;letter-spacing:.02em;line-height:1.2}
|
|
35
|
-
.sidebar-brand .live{flex:none;width:9px;height:9px;padding:0;border:0;background:transparent}
|
|
36
|
-
.sidebar-brand .live i{width:9px;height:9px}
|
|
37
|
-
.live{display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2)}
|
|
38
|
-
.live i{width:7px;height:7px;flex:none;background:var(--success);border-radius:50%;box-shadow:0 0 10px var(--success);animation:pulse 2.4s ease-in-out infinite}
|
|
39
|
-
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
|
|
40
|
-
.live span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}
|
|
41
|
-
.select-control{display:grid;gap:5px;min-width:0;position:relative}
|
|
42
|
-
.select-control select{width:100%;min-height:34px;padding:6px 28px 6px 11px;font-size:11px;color:var(--text);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);appearance:none;cursor:pointer;transition:border-color var(--motion-fast)}
|
|
43
|
-
.select-control:after{content:"";position:absolute;right:11px;top:50%;width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}
|
|
44
|
-
.select-control select:hover{border-color:var(--border-strong)}
|
|
45
|
-
.eyebrow{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;font-size:9.5px;font-weight:600}
|
|
46
|
-
.task-group-head{color:var(--muted);font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.14em}
|
|
47
|
-
.task-group-head .count{margin-left:auto;color:var(--muted);font-weight:600}
|
|
48
|
-
.search{position:relative;display:flex;align-items:center}
|
|
49
|
-
.search:before{content:"◜ ";position:absolute;left:13px;color:var(--faint);font-size:15px;pointer-events:none}
|
|
50
|
-
.search input{width:100%;padding:7px 36px 7px 34px;font-family:var(--font-body);font-size:12px;color:var(--text);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-pill);transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}
|
|
51
|
-
.search input::placeholder{color:var(--faint)}
|
|
52
|
-
.search input:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft);outline:none}
|
|
53
|
-
.search kbd{position:absolute;right:11px;top:50%;transform:translateY(-50%);pointer-events:none}
|
|
54
|
-
kbd{background:var(--bg-3);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:11px;color:var(--muted);font-family:var(--font-mono)}
|
|
55
|
-
/* Filter chips (sidebar filters + runs filter) */
|
|
56
|
-
.filter-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
|
|
57
|
-
.filter-row::-webkit-scrollbar{display:none}
|
|
58
|
-
.filter-chip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-family:var(--font-body);font-size:12px;line-height:1.3;color:var(--muted);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:color var(--motion-fast),border-color var(--motion-fast),background var(--motion-fast)}
|
|
59
|
-
.filter-chip:hover{color:var(--text);border-color:var(--border-strong)}
|
|
60
|
-
.filter-chip.is-active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}
|
|
61
|
-
.filter-count{font-family:var(--font-mono);font-size:10px;color:var(--faint);min-width:14px;text-align:center}
|
|
62
|
-
.filter-chip.is-active .filter-count{color:var(--accent)}
|
|
63
|
-
.filter-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--faint)}
|
|
64
|
-
.filter-dot.active{background:var(--active);box-shadow:0 0 6px var(--active)}
|
|
65
|
-
.filter-dot.draft{background:var(--warning);box-shadow:0 0 6px var(--warning)}
|
|
66
|
-
.filter-dot.completed{background:var(--success);box-shadow:0 0 6px var(--success)}
|
|
67
|
-
.filter-dot.failed{background:var(--danger);box-shadow:0 0 6px var(--danger)}
|
|
68
|
-
.filter-dot.retired{background:var(--faint)}
|
|
69
|
-
.filter-dot.archived{background:var(--muted)}
|
|
70
|
-
.filter-chip[data-status=active].is-active{color:var(--active);background:var(--active-soft);border-color:color-mix(in srgb,var(--active) 45%,transparent)}
|
|
71
|
-
.filter-chip[data-status=active].is-active .filter-count{color:var(--active)}
|
|
72
|
-
.filter-chip[data-status=draft].is-active{color:var(--warning);background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 45%,transparent)}
|
|
73
|
-
.filter-chip[data-status=draft].is-active .filter-count{color:var(--warning)}
|
|
74
|
-
.filter-chip[data-status=completed].is-active{color:var(--success);background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 45%,transparent)}
|
|
75
|
-
.filter-chip[data-status=completed].is-active .filter-count{color:var(--success)}
|
|
76
|
-
.filter-chip[data-status=archived].is-active{color:var(--muted);background:var(--bg-3);border-color:var(--border-strong)}
|
|
77
|
-
.filter-chip[data-status=archived].is-active .filter-count{color:var(--muted)}
|
|
78
|
-
/* Sidebar task cards */
|
|
79
|
-
.task{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:2px 9px;align-items:center;width:100%;text-align:left;padding:5px 9px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text);transition:background var(--motion-fast),border-color var(--motion-fast)}
|
|
80
|
-
.task:hover{background:var(--bg-2);border-color:var(--border)}
|
|
81
|
-
.task[aria-current=true]{background:var(--bg-3);border-color:var(--accent-line);box-shadow:inset 2px 0 var(--accent)}
|
|
82
|
-
.task .status-dot{grid-row:1;align-self:center;margin-top:0}
|
|
83
|
-
.task-main{grid-row:1;grid-column:2;min-width:0;display:flex;align-items:baseline;gap:8px}
|
|
84
|
-
.task-title{flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font-body);font-size:12.5px;font-weight:600;line-height:1.3;color:var(--text)}
|
|
85
|
-
.task-meta{flex:none;color:var(--muted);font-size:10px;letter-spacing:.01em;line-height:1.2;white-space:nowrap}
|
|
86
|
-
.task-signal{grid-row:1;grid-column:3;align-self:center;flex:none;display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:10px;font-weight:600}
|
|
87
|
-
.task-signal.is-input{color:var(--warning);background:var(--warning-soft);border:1px solid var(--warning)}
|
|
88
|
-
.task-signal.is-running{color:var(--active);background:var(--active-soft);border:1px solid transparent}
|
|
89
|
-
/* Topbar */
|
|
90
|
-
.detail-back{width:38px;height:38px;flex:none;display:grid;place-items:center;font-size:18px;line-height:1;color:var(--muted);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--motion-fast),color var(--motion-fast),background var(--motion-fast)}
|
|
91
|
-
.detail-back:hover{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}
|
|
92
|
-
.crumb{color:var(--muted);font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap}
|
|
93
|
-
.crumb-sep{color:var(--faint)}
|
|
94
|
-
.clock span{color:var(--muted);font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.14em}
|
|
95
|
-
.clock time{color:var(--text);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.04em}
|
|
96
|
-
.refresh{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;color:var(--text);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:12px;font-weight:600;transition:border-color var(--motion-fast),color var(--motion-fast),background var(--motion-fast)}
|
|
97
|
-
.refresh:hover,.refresh:focus-visible{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}
|
|
98
|
-
.refresh:disabled{opacity:.5;cursor:wait}
|
|
99
|
-
/* Operator session control (top bar, right side).
|
|
100
|
-
Kept visually consistent with the refresh button so the topbar actions read
|
|
101
|
-
as one family: same background, border, radius, padding, and hover treatment. */
|
|
102
|
-
.operator-open{display:inline-flex;align-items:center;gap:8px;flex:none;padding:9px 14px;color:var(--text);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:12px;font-weight:600;cursor:pointer;transition:border-color var(--motion-fast),color var(--motion-fast),background var(--motion-fast)}
|
|
103
|
-
.operator-open:hover,.operator-open:focus-visible{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}
|
|
104
|
-
.operator-title{flex:none;white-space:nowrap}
|
|
105
|
-
.operator-shortcuts{display:flex;gap:4px;flex:none}
|
|
106
|
-
/* Pills + dots + chips */
|
|
107
|
-
.pill{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.07em;padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line)}
|
|
108
|
-
.pill[data-status=failed],.pill[data-status=urgent],.pill[data-status=required]{color:var(--danger);background:var(--danger-soft);border-color:transparent}
|
|
109
|
-
.pill[data-status=active],.pill[data-status=running],
|
|
110
|
-
.pill[data-status=user],.pill[data-status=operator]{color:var(--active);background:var(--active-soft);border-color:transparent}
|
|
111
|
-
.pill[data-status=completed],.pill[data-status=integrated],.pill[data-status=role-result]{color:var(--success);background:var(--success-soft);border-color:transparent}
|
|
112
|
-
.pill[data-status=pending],.pill[data-status=draft],.pill[data-status=recommended],
|
|
113
|
-
.pill[data-status=detached]{color:var(--warning);background:var(--warning-soft);border-color:transparent}
|
|
114
|
-
.pill[data-status=archived],.pill[data-status=retired],.pill[data-status=superseded],.pill[data-status=abandoned],
|
|
115
|
-
.pill[data-status=exited],.pill[data-status=system]{color:var(--muted);background:var(--bg-3);border-color:transparent}
|
|
116
|
-
.status-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--faint);margin-top:4px}
|
|
117
|
-
.status-dot.active{background:var(--active);box-shadow:0 0 8px var(--active)}
|
|
118
|
-
.status-dot.completed{background:var(--success);box-shadow:0 0 8px var(--success)}
|
|
119
|
-
.status-dot.running{background:var(--active);box-shadow:0 0 8px var(--active)}
|
|
120
|
-
.status-dot.succeeded{background:var(--success);box-shadow:0 0 8px var(--success)}
|
|
121
|
-
.status-dot.needs-attention{background:var(--warning);box-shadow:0 0 8px var(--warning)}
|
|
122
|
-
.status-dot.failed{background:var(--danger);box-shadow:0 0 8px var(--danger)}
|
|
123
|
-
.status-dot.draft{background:var(--warning);box-shadow:0 0 8px var(--warning)}
|
|
124
|
-
.status-dot.retired{background:var(--faint)}
|
|
125
|
-
.status-dot.archived{background:var(--faint)}
|
|
126
|
-
.chip{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.02em;color:var(--muted);background:var(--bg-3);border:1px solid var(--border);padding:2px 9px;border-radius:var(--radius-pill);white-space:nowrap}
|
|
127
|
-
.chip.is-adapter{color:var(--text);font-weight:700}
|
|
128
|
-
.chip.is-active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}
|
|
129
|
-
.chip-row{display:flex;gap:6px;flex-wrap:wrap}
|
|
130
|
-
.agent-badge{display:inline-flex;gap:5px;flex-wrap:wrap;align-items:center}
|
|
131
|
-
/* Command rail = 4 metric tiles */
|
|
132
|
-
.command-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
|
|
133
|
-
.metric{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;overflow:hidden;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}
|
|
134
|
-
.metric:hover{border-color:var(--border-strong);box-shadow:0 1px 2px rgba(0,0,0,.32),0 6px 16px rgba(0,0,0,.22)}
|
|
135
|
-
.metric-label{color:var(--muted);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;line-height:1.2}
|
|
136
|
-
.metric-value{font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);flex:none}
|
|
137
|
-
.metric.is-hot{border-color:var(--accent-line)}
|
|
138
|
-
.metric.is-hot:before{content:"";position:absolute;inset:0;background:radial-gradient(170px 90px at 100% 0,var(--accent-soft),transparent 70%);pointer-events:none}
|
|
139
|
-
.metric.is-hot .metric-value{color:var(--accent)}
|
|
140
|
-
.metric.is-warning{border-color:var(--warning)}
|
|
141
|
-
.metric.is-warning:before{content:"";position:absolute;inset:0;background:radial-gradient(170px 90px at 100% 0,var(--warning-soft),transparent 70%);pointer-events:none}
|
|
142
|
-
.metric.is-warning .metric-value{color:var(--warning)}
|
|
143
|
-
/* Terminal panel */
|
|
144
|
-
.terminal-panel{color:#e8eef6;background:#080b11;border-left:1px solid #263244;box-shadow:var(--shadow-pop)}
|
|
145
|
-
.conversation-panel{color:var(--text);background:var(--bg-1);border-left:1px solid var(--border);box-shadow:var(--shadow-card)}
|
|
146
|
-
.conversation-head{border-bottom:1px solid var(--border);background:var(--bg-2)}
|
|
147
|
-
.conversation-eyebrow{color:var(--muted)}
|
|
148
|
-
.pane-action{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-1);color:var(--text);font:inherit;font-size:20px;cursor:pointer}
|
|
149
|
-
.pane-action:hover,.pane-action:focus-visible{border-color:var(--accent);color:var(--accent)}
|
|
150
|
-
.terminal-head{background:#0c111a;border-bottom:1px solid #263244}
|
|
151
|
-
.terminal-head h2{font-family:var(--font-display);font-size:15px;color:#e8eef6}
|
|
152
|
-
.terminal-close{display:grid!important;color:#8b99ad;background:#111826;border-color:#263244}
|
|
153
|
-
.terminal-host .xterm{height:100%}
|
|
154
|
-
.terminal-host .xterm-viewport{scrollbar-width:none}
|
|
155
|
-
.terminal-host .xterm-viewport::-webkit-scrollbar{display:none}
|
|
156
|
-
.terminal-hint p{margin:0;color:#8b99ad;font-family:var(--font-body)}
|
|
157
|
-
.terminal-hint-cli a{display:inline-block;margin-top:6px;padding:6px 14px;font-family:var(--font-mono);font-size:13.5px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius);text-decoration:none}
|
|
158
|
-
.terminal-hint-cli a:hover{color:var(--on-accent);background:var(--accent)}
|
|
159
|
-
.terminal-hint-note{font-size:11px;color:var(--faint)}
|
|
160
|
-
/* Loading / empty / toast */
|
|
161
|
-
.loading,.empty,.error{padding:46px 16px;color:var(--muted);text-align:center;font-size:12px;letter-spacing:.04em;font-family:var(--font-body)}
|
|
162
|
-
.error{color:var(--danger)}
|
|
163
|
-
.loading:before{content:"";display:block;width:20px;height:20px;margin:0 auto 14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
|
|
164
|
-
@keyframes spin{to{transform:rotate(360deg)}}
|
|
165
|
-
.toast{position:fixed;right:22px;bottom:22px;z-index:90;max-width:340px;background:var(--danger);color:#fff;padding:13px 17px;border-radius:var(--radius);box-shadow:var(--shadow-pop);transform:translateY(130px);opacity:0;transition:transform var(--motion-slow),opacity var(--motion-slow)}
|
|
166
|
-
.toast.show{transform:none;opacity:1}
|
|
167
|
-
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
|
|
168
|
-
`;
|