@tea-agent/loop-agent 0.32.0 → 0.33.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/CHANGELOG.md +60 -0
- package/dist/executors/model-routing.js +14 -4
- package/dist/governance/manifest-types.js +34 -7
- package/dist/worker/console/chat/model-resolver.js +114 -34
- package/dist/worker/console/chat/workspace-landing.js +58 -22
- package/dist/worker/console/doctor.js +1 -0
- package/dist/worker/console/night-aux-ticker.js +5 -0
- package/dist/worker/console/pi-readiness.js +26 -17
- package/dist/worker/console/server.js +2 -0
- package/dist/worker/console/static/assets/index-3R-GT3a_.js +29 -0
- package/dist/worker/console/static/assets/index-B0EQt_yq.css +1 -0
- package/dist/worker/console/static/index.html +2 -2
- package/dist/worker/console/static-src/app/console-types.js +140 -0
- package/dist/worker/console/static-src/app/useConsoleShell.js +101 -0
- package/dist/worker/console/static-src/app/useOperatorActions.js +304 -0
- package/dist/worker/console/static-src/app/usePrdImport.js +171 -0
- package/dist/worker/console/static-src/app/useRecoveryActions.js +257 -0
- package/dist/worker/console/static-src/app/useRecoveryConsole.js +334 -0
- package/dist/worker/console/static-src/app/useTaskWizard.js +229 -0
- package/dist/worker/console/static-src/chat-view-types.js +2 -0
- package/dist/worker/console/static-src/night/night-types.js +24 -0
- package/dist/worker/console/static-src/night/useNightBoard.js +94 -0
- package/dist/worker/console/static-src/night/useNightWizard.js +171 -0
- package/dist/worker/console/static-src/operator-chat/chat-sse-events.js +253 -0
- package/dist/worker/console/static-src/operator-chat/format.js +71 -0
- package/dist/worker/console/static-src/operator-chat/refs.js +47 -0
- package/dist/worker/console/static-src/operator-chat/tools-catalog.js +77 -0
- package/dist/worker/console/static-src/operator-chat/types.js +1 -0
- package/dist/worker/console/static-src/operator-chat/useChatSessions.js +320 -0
- package/dist/worker/console/static-src/operator-chat/useChatStream.js +209 -0
- package/dist/worker/console/static-src/operator-chat/useChatThread.js +218 -0
- package/dist/worker/console/static-src/operator-chat/useComposer.js +125 -0
- package/dist/worker/console/static-src/operator-chat/useInterview.js +108 -0
- package/dist/worker/console/static-src/operator-chat/useRepoBrowser.js +123 -0
- package/dist/worker/console/static-src/operator-chat/useRuntimeControls.js +207 -0
- package/dist/worker/observability/read-model.js +106 -0
- package/dist/worker/observe/routes.js +19 -1
- package/dist/worker/observe/static/api.js +42 -3
- package/dist/worker/observe/static/app.js +4 -0
- package/dist/worker/observe/static/constants.js +10 -0
- package/dist/worker/observe/static/custom-select.js +567 -0
- package/dist/worker/observe/static/index.html +47 -6
- package/dist/worker/observe/static/router.js +54 -1
- package/dist/worker/observe/static/state.js +20 -0
- package/dist/worker/observe/static/styles.css +618 -30
- package/dist/worker/observe/static/views/dag-inspector.js +20 -17
- package/dist/worker/observe/static/views/dag.js +136 -59
- package/dist/worker/observe/static/views/dags.js +877 -0
- package/dist/worker/observe/static/views/dashboard.js +15 -4
- package/dist/workflows/dag/init-hybrid.js +58 -29
- package/docs/templates/agent-worker-production-readiness-checklist.md +26 -24
- package/docs/templates/harness.schema.json +5 -0
- package/harness.json +4 -4
- package/package.json +5 -4
- package/dist/worker/console/static/assets/index-D9gnJn_l.js +0 -29
- package/dist/worker/console/static/assets/index-rajoXwkM.css +0 -1
|
@@ -456,42 +456,65 @@ td:first-child,
|
|
|
456
456
|
.view-pool .page-header-heading {
|
|
457
457
|
margin-bottom: 0;
|
|
458
458
|
}
|
|
459
|
-
.
|
|
460
|
-
display: grid;
|
|
461
|
-
justify-items: end;
|
|
462
|
-
gap: 8px;
|
|
463
|
-
padding-top: 2px;
|
|
464
|
-
}
|
|
465
|
-
.pool-toolbar-actions {
|
|
459
|
+
.page-header-actions {
|
|
466
460
|
display: flex;
|
|
467
461
|
flex-wrap: wrap;
|
|
468
462
|
align-items: center;
|
|
469
463
|
justify-content: flex-end;
|
|
470
464
|
gap: 10px 12px;
|
|
465
|
+
padding-top: 2px;
|
|
471
466
|
}
|
|
472
|
-
.
|
|
473
|
-
margin: 0;
|
|
474
|
-
max-width: 28ch;
|
|
475
|
-
font-size: 11px;
|
|
476
|
-
line-height: 1.4;
|
|
477
|
-
text-align: right;
|
|
478
|
-
}
|
|
467
|
+
.page-action-btn,
|
|
479
468
|
.pool-refresh-btn {
|
|
480
469
|
appearance: none;
|
|
470
|
+
display: inline-flex;
|
|
471
|
+
align-items: center;
|
|
472
|
+
justify-content: center;
|
|
473
|
+
min-height: 34px;
|
|
474
|
+
padding: 8px 14px;
|
|
481
475
|
border: 1px solid var(--hairline);
|
|
482
476
|
border-radius: var(--radius-pill);
|
|
483
477
|
background: var(--surface);
|
|
484
478
|
color: var(--ink);
|
|
485
479
|
font-size: 13px;
|
|
486
480
|
font-weight: 700;
|
|
487
|
-
|
|
481
|
+
line-height: 1.2;
|
|
482
|
+
text-decoration: none;
|
|
488
483
|
cursor: pointer;
|
|
489
484
|
box-shadow: var(--shadow-panel);
|
|
485
|
+
transition:
|
|
486
|
+
background-color var(--transition-fast),
|
|
487
|
+
border-color var(--transition-fast),
|
|
488
|
+
color var(--transition-fast);
|
|
490
489
|
}
|
|
491
|
-
.
|
|
490
|
+
.page-action-btn:hover,
|
|
491
|
+
.page-action-btn:focus-visible,
|
|
492
|
+
.pool-refresh-btn:hover,
|
|
493
|
+
.pool-refresh-btn:focus-visible {
|
|
492
494
|
border-color: var(--orange);
|
|
493
495
|
color: var(--orange-active);
|
|
494
496
|
background: var(--orange-soft);
|
|
497
|
+
outline: none;
|
|
498
|
+
}
|
|
499
|
+
.pool-toolbar {
|
|
500
|
+
display: grid;
|
|
501
|
+
justify-items: end;
|
|
502
|
+
gap: 8px;
|
|
503
|
+
padding-top: 2px;
|
|
504
|
+
}
|
|
505
|
+
.pool-toolbar-actions {
|
|
506
|
+
display: flex;
|
|
507
|
+
flex-wrap: wrap;
|
|
508
|
+
align-items: center;
|
|
509
|
+
justify-content: flex-end;
|
|
510
|
+
gap: 10px 12px;
|
|
511
|
+
}
|
|
512
|
+
.pool-toolbar .pool-updated-at {
|
|
513
|
+
margin: 0;
|
|
514
|
+
max-width: 28ch;
|
|
515
|
+
font-size: 11px;
|
|
516
|
+
line-height: 1.4;
|
|
517
|
+
text-align: right;
|
|
495
518
|
}
|
|
496
519
|
.pool-auto-refresh-label {
|
|
497
520
|
display: inline-flex;
|
|
@@ -1471,12 +1494,11 @@ body.is-resizing-dag-graph {
|
|
|
1471
1494
|
color: var(--muted);
|
|
1472
1495
|
}
|
|
1473
1496
|
.dag-inspector-attempt-select {
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
color: var(--ink);
|
|
1497
|
+
/* Shared custom-select surface; keep class for integration hooks. */
|
|
1498
|
+
min-width: 9.5rem;
|
|
1499
|
+
}
|
|
1500
|
+
.dag-inspector-attempt-bar .custom-select-menu {
|
|
1501
|
+
z-index: 5;
|
|
1480
1502
|
}
|
|
1481
1503
|
.dag-inspector-attempt-preview {
|
|
1482
1504
|
display: flex;
|
|
@@ -1892,9 +1914,10 @@ body.is-resizing-dag-graph {
|
|
|
1892
1914
|
.dag-node-table {
|
|
1893
1915
|
table-layout: fixed;
|
|
1894
1916
|
}
|
|
1917
|
+
/* 9 columns sum to 100%: 4/17/6/8/14/9/8/14/20 */
|
|
1895
1918
|
.dag-node-table th:nth-child(1),
|
|
1896
1919
|
.dag-node-table td:nth-child(1) {
|
|
1897
|
-
width:
|
|
1920
|
+
width: 4%;
|
|
1898
1921
|
}
|
|
1899
1922
|
.dag-node-table th:nth-child(2),
|
|
1900
1923
|
.dag-node-table td:nth-child(2) {
|
|
@@ -1902,27 +1925,31 @@ body.is-resizing-dag-graph {
|
|
|
1902
1925
|
}
|
|
1903
1926
|
.dag-node-table th:nth-child(3),
|
|
1904
1927
|
.dag-node-table td:nth-child(3) {
|
|
1905
|
-
width:
|
|
1928
|
+
width: 6%;
|
|
1906
1929
|
}
|
|
1907
1930
|
.dag-node-table th:nth-child(4),
|
|
1908
1931
|
.dag-node-table td:nth-child(4) {
|
|
1909
|
-
width:
|
|
1932
|
+
width: 8%;
|
|
1910
1933
|
}
|
|
1911
1934
|
.dag-node-table th:nth-child(5),
|
|
1912
1935
|
.dag-node-table td:nth-child(5) {
|
|
1913
|
-
width:
|
|
1936
|
+
width: 14%;
|
|
1914
1937
|
}
|
|
1915
1938
|
.dag-node-table th:nth-child(6),
|
|
1916
1939
|
.dag-node-table td:nth-child(6) {
|
|
1917
|
-
width:
|
|
1940
|
+
width: 9%;
|
|
1918
1941
|
}
|
|
1919
1942
|
.dag-node-table th:nth-child(7),
|
|
1920
1943
|
.dag-node-table td:nth-child(7) {
|
|
1921
|
-
width:
|
|
1944
|
+
width: 8%;
|
|
1922
1945
|
}
|
|
1923
1946
|
.dag-node-table th:nth-child(8),
|
|
1924
1947
|
.dag-node-table td:nth-child(8) {
|
|
1925
|
-
width:
|
|
1948
|
+
width: 14%;
|
|
1949
|
+
}
|
|
1950
|
+
.dag-node-table th:nth-child(9),
|
|
1951
|
+
.dag-node-table td:nth-child(9) {
|
|
1952
|
+
width: 20%;
|
|
1926
1953
|
}
|
|
1927
1954
|
.dag-node-table th:first-child,
|
|
1928
1955
|
.dag-node-table td:first-child {
|
|
@@ -1930,9 +1957,19 @@ body.is-resizing-dag-graph {
|
|
|
1930
1957
|
}
|
|
1931
1958
|
.dag-node-table td:nth-child(2),
|
|
1932
1959
|
.dag-node-table td:nth-child(5),
|
|
1933
|
-
.dag-node-table td:nth-child(8)
|
|
1960
|
+
.dag-node-table td:nth-child(8),
|
|
1961
|
+
.dag-node-table td:nth-child(9) {
|
|
1934
1962
|
overflow-wrap: anywhere;
|
|
1935
1963
|
}
|
|
1964
|
+
.dag-node-error-summary {
|
|
1965
|
+
display: -webkit-box;
|
|
1966
|
+
-webkit-box-orient: vertical;
|
|
1967
|
+
-webkit-line-clamp: 2;
|
|
1968
|
+
line-clamp: 2;
|
|
1969
|
+
overflow: hidden;
|
|
1970
|
+
color: var(--red);
|
|
1971
|
+
word-break: break-word;
|
|
1972
|
+
}
|
|
1936
1973
|
.dag-active-node {
|
|
1937
1974
|
background: #fff8f3;
|
|
1938
1975
|
}
|
|
@@ -3154,3 +3191,554 @@ button.copy-command:focus-visible {
|
|
|
3154
3191
|
transition-duration: 0.01ms !important;
|
|
3155
3192
|
}
|
|
3156
3193
|
}
|
|
3194
|
+
|
|
3195
|
+
/* Formal DAG run history page (#/dags) */
|
|
3196
|
+
.section-heading-row {
|
|
3197
|
+
display: flex;
|
|
3198
|
+
align-items: center;
|
|
3199
|
+
justify-content: space-between;
|
|
3200
|
+
gap: var(--space-3, 0.75rem);
|
|
3201
|
+
margin: 0 0 var(--space-3, 0.75rem);
|
|
3202
|
+
}
|
|
3203
|
+
.section-heading-row .section-heading {
|
|
3204
|
+
margin: 0;
|
|
3205
|
+
}
|
|
3206
|
+
.section-heading-action {
|
|
3207
|
+
flex-shrink: 0;
|
|
3208
|
+
font-size: 13px;
|
|
3209
|
+
font-weight: 600;
|
|
3210
|
+
color: var(--orange-active, #c45c26);
|
|
3211
|
+
text-decoration: none;
|
|
3212
|
+
}
|
|
3213
|
+
.section-heading-action:hover,
|
|
3214
|
+
.section-heading-action:focus-visible {
|
|
3215
|
+
text-decoration: underline;
|
|
3216
|
+
}
|
|
3217
|
+
.view-dags .dags-table-wrap,
|
|
3218
|
+
.dags-table-wrap.table-scroll {
|
|
3219
|
+
overflow-x: auto;
|
|
3220
|
+
-webkit-overflow-scrolling: touch;
|
|
3221
|
+
}
|
|
3222
|
+
.dags-history-table {
|
|
3223
|
+
width: 100%;
|
|
3224
|
+
min-width: 720px;
|
|
3225
|
+
border-collapse: collapse;
|
|
3226
|
+
}
|
|
3227
|
+
.dags-run-id-wrap {
|
|
3228
|
+
display: inline-flex;
|
|
3229
|
+
align-items: center;
|
|
3230
|
+
gap: 0.35rem;
|
|
3231
|
+
max-width: 100%;
|
|
3232
|
+
}
|
|
3233
|
+
.dags-run-id {
|
|
3234
|
+
font-size: 12px;
|
|
3235
|
+
overflow-wrap: anywhere;
|
|
3236
|
+
word-break: break-all;
|
|
3237
|
+
}
|
|
3238
|
+
.dags-copy-btn,
|
|
3239
|
+
.dags-copy-btn-icon {
|
|
3240
|
+
flex-shrink: 0;
|
|
3241
|
+
display: inline-flex;
|
|
3242
|
+
align-items: center;
|
|
3243
|
+
justify-content: center;
|
|
3244
|
+
width: 30px;
|
|
3245
|
+
height: 30px;
|
|
3246
|
+
padding: 0;
|
|
3247
|
+
border: 1px solid var(--hairline, #e2dcd4);
|
|
3248
|
+
border-radius: var(--radius-md, 6px);
|
|
3249
|
+
background: var(--surface, #fff);
|
|
3250
|
+
color: var(--ink, #1c1917);
|
|
3251
|
+
cursor: pointer;
|
|
3252
|
+
line-height: 1;
|
|
3253
|
+
}
|
|
3254
|
+
.dags-copy-btn:hover {
|
|
3255
|
+
border-color: var(--hairline-strong, #cfcdc4);
|
|
3256
|
+
background: var(--surface-muted, #f0efe9);
|
|
3257
|
+
}
|
|
3258
|
+
.dags-copy-btn:active {
|
|
3259
|
+
border-color: var(--hairline-strong, #cfcdc4);
|
|
3260
|
+
background: color-mix(in srgb, var(--surface-muted, #f0efe9) 80%, var(--hairline, #e6e5e0));
|
|
3261
|
+
}
|
|
3262
|
+
/* Mouse focus must not leave residual orange chrome; orange is :focus-visible only. */
|
|
3263
|
+
.dags-copy-btn:focus:not(:focus-visible) {
|
|
3264
|
+
outline: none;
|
|
3265
|
+
border-color: var(--hairline, #e2dcd4);
|
|
3266
|
+
}
|
|
3267
|
+
.dags-copy-btn:focus-visible {
|
|
3268
|
+
border-color: var(--orange-active, #c45c26);
|
|
3269
|
+
outline: 2px solid color-mix(in srgb, var(--orange) 55%, transparent);
|
|
3270
|
+
outline-offset: 1px;
|
|
3271
|
+
}
|
|
3272
|
+
.dags-copy-btn .dags-copy-icon {
|
|
3273
|
+
display: block;
|
|
3274
|
+
}
|
|
3275
|
+
.dags-copy-btn .dags-copy-icon-check {
|
|
3276
|
+
display: none;
|
|
3277
|
+
}
|
|
3278
|
+
.dags-copy-btn.is-copied {
|
|
3279
|
+
color: var(--green, #1f8a65);
|
|
3280
|
+
border-color: var(--hairline, #e2dcd4);
|
|
3281
|
+
}
|
|
3282
|
+
.dags-copy-btn.is-copied:hover,
|
|
3283
|
+
.dags-copy-btn.is-copied:active {
|
|
3284
|
+
border-color: var(--hairline-strong, #cfcdc4);
|
|
3285
|
+
}
|
|
3286
|
+
.dags-copy-btn.is-copied .dags-copy-icon-rects {
|
|
3287
|
+
display: none;
|
|
3288
|
+
}
|
|
3289
|
+
.dags-copy-btn.is-copied .dags-copy-icon-check {
|
|
3290
|
+
display: block;
|
|
3291
|
+
}
|
|
3292
|
+
/* Copy success must never paint row / cell / run-id container chrome. */
|
|
3293
|
+
.dags-history-row.is-copied,
|
|
3294
|
+
.dags-run-id-cell.is-copied,
|
|
3295
|
+
.dags-run-id-wrap.is-copied {
|
|
3296
|
+
background: transparent;
|
|
3297
|
+
border-color: inherit;
|
|
3298
|
+
box-shadow: none;
|
|
3299
|
+
}
|
|
3300
|
+
.dags-copy-toast {
|
|
3301
|
+
position: fixed;
|
|
3302
|
+
right: 24px;
|
|
3303
|
+
bottom: 24px;
|
|
3304
|
+
z-index: 50;
|
|
3305
|
+
max-width: min(360px, calc(100vw - 32px));
|
|
3306
|
+
padding: 10px 14px;
|
|
3307
|
+
border: 1px solid var(--hairline-strong, #cfcdc4);
|
|
3308
|
+
border-radius: var(--radius-md, 8px);
|
|
3309
|
+
background: var(--surface, #fff);
|
|
3310
|
+
color: var(--ink, #1c1917);
|
|
3311
|
+
box-shadow: var(--shadow-soft);
|
|
3312
|
+
font-size: 13px;
|
|
3313
|
+
pointer-events: none;
|
|
3314
|
+
}
|
|
3315
|
+
.dags-copy-toast[hidden] {
|
|
3316
|
+
display: none !important;
|
|
3317
|
+
}
|
|
3318
|
+
.sr-only {
|
|
3319
|
+
position: absolute;
|
|
3320
|
+
width: 1px;
|
|
3321
|
+
height: 1px;
|
|
3322
|
+
padding: 0;
|
|
3323
|
+
margin: -1px;
|
|
3324
|
+
overflow: hidden;
|
|
3325
|
+
clip: rect(0, 0, 0, 0);
|
|
3326
|
+
white-space: nowrap;
|
|
3327
|
+
border: 0;
|
|
3328
|
+
}
|
|
3329
|
+
.dags-pagination {
|
|
3330
|
+
display: grid;
|
|
3331
|
+
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
|
|
3332
|
+
align-items: center;
|
|
3333
|
+
column-gap: 1rem;
|
|
3334
|
+
row-gap: 0.75rem;
|
|
3335
|
+
width: 100%;
|
|
3336
|
+
min-width: 0;
|
|
3337
|
+
}
|
|
3338
|
+
.dags-pagination-summary {
|
|
3339
|
+
min-width: 0;
|
|
3340
|
+
justify-self: start;
|
|
3341
|
+
text-align: left;
|
|
3342
|
+
}
|
|
3343
|
+
.dags-pagination-summary .dags-meta {
|
|
3344
|
+
margin: 0;
|
|
3345
|
+
}
|
|
3346
|
+
.dags-pagination-pages {
|
|
3347
|
+
display: inline-flex;
|
|
3348
|
+
flex-wrap: nowrap;
|
|
3349
|
+
align-items: center;
|
|
3350
|
+
justify-content: center;
|
|
3351
|
+
gap: 2px;
|
|
3352
|
+
justify-self: center;
|
|
3353
|
+
flex: 0 0 auto;
|
|
3354
|
+
max-width: 100%;
|
|
3355
|
+
padding: 5px;
|
|
3356
|
+
border: 1px solid var(--hairline, #e6e5e0);
|
|
3357
|
+
border-radius: 14px;
|
|
3358
|
+
background: var(--surface, #ffffff);
|
|
3359
|
+
box-shadow:
|
|
3360
|
+
0 1px 2px rgb(38 37 30 / 4%),
|
|
3361
|
+
0 4px 12px rgb(38 37 30 / 3%);
|
|
3362
|
+
}
|
|
3363
|
+
.dags-pagination-tools {
|
|
3364
|
+
display: inline-flex;
|
|
3365
|
+
flex-wrap: wrap;
|
|
3366
|
+
align-items: center;
|
|
3367
|
+
justify-content: flex-end;
|
|
3368
|
+
gap: 0.5rem;
|
|
3369
|
+
justify-self: end;
|
|
3370
|
+
min-width: 0;
|
|
3371
|
+
}
|
|
3372
|
+
.dags-page-num,
|
|
3373
|
+
.dags-page-nav {
|
|
3374
|
+
box-sizing: border-box;
|
|
3375
|
+
display: inline-flex;
|
|
3376
|
+
align-items: center;
|
|
3377
|
+
justify-content: center;
|
|
3378
|
+
width: 36px;
|
|
3379
|
+
height: 36px;
|
|
3380
|
+
min-width: 36px;
|
|
3381
|
+
min-height: 36px;
|
|
3382
|
+
padding: 0;
|
|
3383
|
+
margin: 0;
|
|
3384
|
+
border: 1px solid transparent;
|
|
3385
|
+
border-radius: 10px;
|
|
3386
|
+
background: transparent;
|
|
3387
|
+
color: var(--ink, #26251e);
|
|
3388
|
+
font: inherit;
|
|
3389
|
+
font-size: 13px;
|
|
3390
|
+
font-weight: 500;
|
|
3391
|
+
line-height: 1;
|
|
3392
|
+
cursor: pointer;
|
|
3393
|
+
appearance: none;
|
|
3394
|
+
-webkit-appearance: none;
|
|
3395
|
+
transition:
|
|
3396
|
+
background var(--transition-fast, 160ms ease),
|
|
3397
|
+
color var(--transition-fast, 160ms ease),
|
|
3398
|
+
border-color var(--transition-fast, 160ms ease),
|
|
3399
|
+
box-shadow var(--transition-base, 220ms ease),
|
|
3400
|
+
opacity var(--transition-fast, 160ms ease);
|
|
3401
|
+
}
|
|
3402
|
+
.dags-page-num i,
|
|
3403
|
+
.dags-page-nav i,
|
|
3404
|
+
.dags-refresh-btn i {
|
|
3405
|
+
font-size: 18px;
|
|
3406
|
+
line-height: 1;
|
|
3407
|
+
pointer-events: none;
|
|
3408
|
+
}
|
|
3409
|
+
.dags-page-num:hover:not(:disabled),
|
|
3410
|
+
.dags-page-nav:hover:not(:disabled) {
|
|
3411
|
+
background: color-mix(in srgb, var(--orange-soft, #fff1ea) 70%, var(--surface-muted, #f0efe9));
|
|
3412
|
+
color: var(--ink, #26251e);
|
|
3413
|
+
}
|
|
3414
|
+
.dags-page-num:active:not(:disabled),
|
|
3415
|
+
.dags-page-nav:active:not(:disabled) {
|
|
3416
|
+
background: color-mix(in srgb, var(--orange, #f54e00) 14%, var(--surface-muted, #f0efe9));
|
|
3417
|
+
}
|
|
3418
|
+
.dags-page-num:focus-visible,
|
|
3419
|
+
.dags-page-nav:focus-visible,
|
|
3420
|
+
.dags-refresh-btn:focus-visible,
|
|
3421
|
+
.dags-page-size-label select:focus-visible,
|
|
3422
|
+
.dags-page-size-label .custom-select-trigger:focus-visible {
|
|
3423
|
+
outline: 2px solid color-mix(in srgb, var(--orange, #f54e00) 55%, transparent);
|
|
3424
|
+
outline-offset: 1px;
|
|
3425
|
+
}
|
|
3426
|
+
.dags-page-num.is-current,
|
|
3427
|
+
.dags-page-num.is-current:disabled,
|
|
3428
|
+
.dags-page-num.is-current:hover:disabled,
|
|
3429
|
+
.dags-page-num.is-current:active:disabled {
|
|
3430
|
+
background: var(--orange, #f54e00);
|
|
3431
|
+
border-color: var(--orange, #f54e00);
|
|
3432
|
+
color: #fff;
|
|
3433
|
+
opacity: 1;
|
|
3434
|
+
box-shadow: 0 2px 8px color-mix(in srgb, var(--orange, #f54e00) 35%, transparent);
|
|
3435
|
+
cursor: default;
|
|
3436
|
+
}
|
|
3437
|
+
.dags-page-nav:disabled,
|
|
3438
|
+
.dags-page-num:disabled:not(.is-current),
|
|
3439
|
+
.dags-refresh-btn:disabled,
|
|
3440
|
+
.dags-page-size-label select:disabled,
|
|
3441
|
+
.dags-page-size-label .custom-select.is-disabled .custom-select-trigger,
|
|
3442
|
+
.dags-page-size-label .custom-select-trigger:disabled {
|
|
3443
|
+
opacity: 0.45;
|
|
3444
|
+
cursor: not-allowed;
|
|
3445
|
+
}
|
|
3446
|
+
.dags-page-ellipsis {
|
|
3447
|
+
display: inline-flex;
|
|
3448
|
+
align-items: center;
|
|
3449
|
+
justify-content: center;
|
|
3450
|
+
width: 28px;
|
|
3451
|
+
min-width: 28px;
|
|
3452
|
+
height: 36px;
|
|
3453
|
+
color: var(--muted, #807d72);
|
|
3454
|
+
user-select: none;
|
|
3455
|
+
pointer-events: none;
|
|
3456
|
+
}
|
|
3457
|
+
.dags-page-size-label {
|
|
3458
|
+
display: inline-flex;
|
|
3459
|
+
align-items: center;
|
|
3460
|
+
gap: 0.35rem;
|
|
3461
|
+
font-size: 13px;
|
|
3462
|
+
color: var(--body, #5a5852);
|
|
3463
|
+
}
|
|
3464
|
+
.dags-page-size-label select {
|
|
3465
|
+
box-sizing: border-box;
|
|
3466
|
+
height: 36px;
|
|
3467
|
+
min-width: 4.5rem;
|
|
3468
|
+
padding: 0 0.5rem;
|
|
3469
|
+
border: 1px solid var(--hairline, #e6e5e0);
|
|
3470
|
+
border-radius: var(--radius-md, 8px);
|
|
3471
|
+
background: var(--surface, #ffffff);
|
|
3472
|
+
color: var(--ink, #26251e);
|
|
3473
|
+
font: inherit;
|
|
3474
|
+
font-size: 13px;
|
|
3475
|
+
line-height: 1;
|
|
3476
|
+
cursor: pointer;
|
|
3477
|
+
transition:
|
|
3478
|
+
border-color var(--transition-fast, 160ms ease),
|
|
3479
|
+
box-shadow var(--transition-fast, 160ms ease),
|
|
3480
|
+
background var(--transition-fast, 160ms ease);
|
|
3481
|
+
}
|
|
3482
|
+
.dags-page-size-label .custom-select {
|
|
3483
|
+
min-width: 4.5rem;
|
|
3484
|
+
}
|
|
3485
|
+
.dags-page-size-label .custom-select-trigger {
|
|
3486
|
+
box-sizing: border-box;
|
|
3487
|
+
height: 36px;
|
|
3488
|
+
min-width: 4.5rem;
|
|
3489
|
+
border: 1px solid var(--hairline, #e6e5e0);
|
|
3490
|
+
border-radius: 10px;
|
|
3491
|
+
background: var(--surface, #ffffff);
|
|
3492
|
+
color: var(--ink, #26251e);
|
|
3493
|
+
font: inherit;
|
|
3494
|
+
font-size: 13px;
|
|
3495
|
+
line-height: 1;
|
|
3496
|
+
cursor: pointer;
|
|
3497
|
+
}
|
|
3498
|
+
.dags-refresh-btn {
|
|
3499
|
+
box-sizing: border-box;
|
|
3500
|
+
display: inline-flex;
|
|
3501
|
+
align-items: center;
|
|
3502
|
+
justify-content: center;
|
|
3503
|
+
width: 36px;
|
|
3504
|
+
height: 36px;
|
|
3505
|
+
min-width: 36px;
|
|
3506
|
+
min-height: 36px;
|
|
3507
|
+
padding: 0;
|
|
3508
|
+
margin: 0;
|
|
3509
|
+
border: 1px solid var(--hairline, #e6e5e0);
|
|
3510
|
+
border-radius: var(--radius-md, 8px);
|
|
3511
|
+
background: var(--surface, #ffffff);
|
|
3512
|
+
color: var(--ink, #26251e);
|
|
3513
|
+
font: inherit;
|
|
3514
|
+
line-height: 1;
|
|
3515
|
+
cursor: pointer;
|
|
3516
|
+
appearance: none;
|
|
3517
|
+
-webkit-appearance: none;
|
|
3518
|
+
transition:
|
|
3519
|
+
background var(--transition-fast, 160ms ease),
|
|
3520
|
+
border-color var(--transition-fast, 160ms ease),
|
|
3521
|
+
color var(--transition-fast, 160ms ease),
|
|
3522
|
+
box-shadow var(--transition-fast, 160ms ease),
|
|
3523
|
+
opacity var(--transition-fast, 160ms ease);
|
|
3524
|
+
}
|
|
3525
|
+
.dags-refresh-btn:hover:not(:disabled) {
|
|
3526
|
+
border-color: var(--hairline-strong, #cfcdc4);
|
|
3527
|
+
background: var(--surface-muted, #f0efe9);
|
|
3528
|
+
}
|
|
3529
|
+
.dags-refresh-btn:active:not(:disabled) {
|
|
3530
|
+
background: color-mix(in srgb, var(--surface-muted, #f0efe9) 80%, var(--hairline, #e6e5e0));
|
|
3531
|
+
}
|
|
3532
|
+
.dags-pagination.is-busy {
|
|
3533
|
+
opacity: 0.92;
|
|
3534
|
+
}
|
|
3535
|
+
.dags-degraded-banner:not([hidden]) {
|
|
3536
|
+
border: 1px solid color-mix(in srgb, #c45c26 35%, var(--hairline, #e2dcd4));
|
|
3537
|
+
background: color-mix(in srgb, #c45c26 8%, var(--surface, #fff));
|
|
3538
|
+
color: var(--ink, #1c1917);
|
|
3539
|
+
padding: var(--space-3, 0.75rem) var(--space-4, 1rem);
|
|
3540
|
+
margin-bottom: var(--space-3, 0.75rem);
|
|
3541
|
+
}
|
|
3542
|
+
.dags-history-row.clickable {
|
|
3543
|
+
cursor: pointer;
|
|
3544
|
+
}
|
|
3545
|
+
@media (max-width: 720px) {
|
|
3546
|
+
.dags-pagination {
|
|
3547
|
+
display: flex;
|
|
3548
|
+
flex-wrap: wrap;
|
|
3549
|
+
align-items: center;
|
|
3550
|
+
justify-content: space-between;
|
|
3551
|
+
}
|
|
3552
|
+
.dags-pagination-summary {
|
|
3553
|
+
flex: 1 1 auto;
|
|
3554
|
+
justify-self: auto;
|
|
3555
|
+
}
|
|
3556
|
+
.dags-pagination-tools {
|
|
3557
|
+
flex: 0 0 auto;
|
|
3558
|
+
margin-left: auto;
|
|
3559
|
+
justify-self: auto;
|
|
3560
|
+
}
|
|
3561
|
+
.dags-pagination-pages {
|
|
3562
|
+
order: 3;
|
|
3563
|
+
flex: 0 0 auto;
|
|
3564
|
+
flex-wrap: nowrap;
|
|
3565
|
+
width: max-content;
|
|
3566
|
+
max-width: 100%;
|
|
3567
|
+
margin-inline: auto;
|
|
3568
|
+
justify-content: center;
|
|
3569
|
+
justify-self: auto;
|
|
3570
|
+
gap: 1px;
|
|
3571
|
+
padding: 3px;
|
|
3572
|
+
}
|
|
3573
|
+
.dags-page-num,
|
|
3574
|
+
.dags-page-nav {
|
|
3575
|
+
width: 28px;
|
|
3576
|
+
height: 28px;
|
|
3577
|
+
min-width: 28px;
|
|
3578
|
+
min-height: 28px;
|
|
3579
|
+
border-radius: 8px;
|
|
3580
|
+
font-size: 12px;
|
|
3581
|
+
}
|
|
3582
|
+
.dags-page-num i,
|
|
3583
|
+
.dags-page-nav i {
|
|
3584
|
+
font-size: 15px;
|
|
3585
|
+
}
|
|
3586
|
+
.dags-page-ellipsis {
|
|
3587
|
+
width: 16px;
|
|
3588
|
+
min-width: 16px;
|
|
3589
|
+
height: 28px;
|
|
3590
|
+
}
|
|
3591
|
+
}
|
|
3592
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3593
|
+
.dags-copy-btn,
|
|
3594
|
+
.dags-page-num,
|
|
3595
|
+
.dags-page-nav,
|
|
3596
|
+
.dags-refresh-btn,
|
|
3597
|
+
.dags-page-size-label select,
|
|
3598
|
+
.dags-page-size-label .custom-select-trigger,
|
|
3599
|
+
.dags-copy-toast,
|
|
3600
|
+
.custom-select-trigger,
|
|
3601
|
+
.custom-select-chevron,
|
|
3602
|
+
.custom-select-menu {
|
|
3603
|
+
transition: none !important;
|
|
3604
|
+
transform: none !important;
|
|
3605
|
+
animation: none !important;
|
|
3606
|
+
}
|
|
3607
|
+
.custom-select.is-open .custom-select-chevron {
|
|
3608
|
+
transform: none !important;
|
|
3609
|
+
}
|
|
3610
|
+
}
|
|
3611
|
+
|
|
3612
|
+
/* Shared custom select (DAG history pageSize + inspector attempt). */
|
|
3613
|
+
.custom-select {
|
|
3614
|
+
position: relative;
|
|
3615
|
+
display: inline-flex;
|
|
3616
|
+
vertical-align: middle;
|
|
3617
|
+
min-width: 4.5rem;
|
|
3618
|
+
}
|
|
3619
|
+
.custom-select-trigger {
|
|
3620
|
+
box-sizing: border-box;
|
|
3621
|
+
display: inline-flex;
|
|
3622
|
+
align-items: center;
|
|
3623
|
+
justify-content: space-between;
|
|
3624
|
+
gap: 0.35rem;
|
|
3625
|
+
width: 100%;
|
|
3626
|
+
height: 36px;
|
|
3627
|
+
min-height: 36px;
|
|
3628
|
+
padding: 0 0.55rem 0 0.65rem;
|
|
3629
|
+
margin: 0;
|
|
3630
|
+
border: 1px solid var(--hairline, #e6e5e0);
|
|
3631
|
+
border-radius: 10px;
|
|
3632
|
+
background: var(--surface, #ffffff);
|
|
3633
|
+
color: var(--ink, #26251e);
|
|
3634
|
+
font: inherit;
|
|
3635
|
+
font-size: 13px;
|
|
3636
|
+
line-height: 1;
|
|
3637
|
+
cursor: pointer;
|
|
3638
|
+
appearance: none;
|
|
3639
|
+
-webkit-appearance: none;
|
|
3640
|
+
box-shadow: 0 1px 2px color-mix(in srgb, var(--ink, #26251e) 4%, transparent);
|
|
3641
|
+
transition:
|
|
3642
|
+
border-color var(--transition-fast, 160ms ease),
|
|
3643
|
+
box-shadow var(--transition-fast, 160ms ease),
|
|
3644
|
+
background var(--transition-fast, 160ms ease);
|
|
3645
|
+
}
|
|
3646
|
+
.custom-select-trigger:hover:not(:disabled) {
|
|
3647
|
+
background: var(--surface-muted, #f0efe9);
|
|
3648
|
+
border-color: var(--hairline-strong, #cfcdc4);
|
|
3649
|
+
}
|
|
3650
|
+
.custom-select-trigger:focus-visible {
|
|
3651
|
+
outline: 2px solid color-mix(in srgb, var(--orange, #f54e00) 55%, transparent);
|
|
3652
|
+
outline-offset: 1px;
|
|
3653
|
+
}
|
|
3654
|
+
.custom-select-trigger:disabled {
|
|
3655
|
+
opacity: 0.45;
|
|
3656
|
+
cursor: not-allowed;
|
|
3657
|
+
}
|
|
3658
|
+
.custom-select-value {
|
|
3659
|
+
flex: 1 1 auto;
|
|
3660
|
+
min-width: 0;
|
|
3661
|
+
text-align: left;
|
|
3662
|
+
overflow: hidden;
|
|
3663
|
+
text-overflow: ellipsis;
|
|
3664
|
+
white-space: nowrap;
|
|
3665
|
+
}
|
|
3666
|
+
.custom-select-chevron {
|
|
3667
|
+
flex: 0 0 auto;
|
|
3668
|
+
font-size: 16px;
|
|
3669
|
+
line-height: 1;
|
|
3670
|
+
color: var(--muted, #807d72);
|
|
3671
|
+
transition: transform var(--transition-fast, 160ms ease);
|
|
3672
|
+
pointer-events: none;
|
|
3673
|
+
}
|
|
3674
|
+
.custom-select.is-open .custom-select-chevron {
|
|
3675
|
+
transform: rotate(180deg);
|
|
3676
|
+
}
|
|
3677
|
+
.custom-select-menu {
|
|
3678
|
+
box-sizing: border-box;
|
|
3679
|
+
position: absolute;
|
|
3680
|
+
z-index: 40;
|
|
3681
|
+
display: flex;
|
|
3682
|
+
flex-direction: column;
|
|
3683
|
+
min-width: 100%;
|
|
3684
|
+
max-height: calc(6 * 38px + 8px);
|
|
3685
|
+
padding: 4px;
|
|
3686
|
+
overflow-x: hidden;
|
|
3687
|
+
overflow-y: auto;
|
|
3688
|
+
border: 1px solid var(--hairline, #e6e5e0);
|
|
3689
|
+
border-radius: 12px;
|
|
3690
|
+
background: color-mix(in srgb, var(--surface, #ffffff) 96%, transparent);
|
|
3691
|
+
backdrop-filter: blur(8px);
|
|
3692
|
+
box-shadow:
|
|
3693
|
+
0 4px 16px color-mix(in srgb, var(--ink, #26251e) 10%, transparent),
|
|
3694
|
+
0 1px 3px color-mix(in srgb, var(--ink, #26251e) 6%, transparent);
|
|
3695
|
+
}
|
|
3696
|
+
.custom-select-menu[hidden] {
|
|
3697
|
+
display: none !important;
|
|
3698
|
+
}
|
|
3699
|
+
.custom-select-option {
|
|
3700
|
+
box-sizing: border-box;
|
|
3701
|
+
display: flex;
|
|
3702
|
+
align-items: center;
|
|
3703
|
+
justify-content: space-between;
|
|
3704
|
+
gap: 0.5rem;
|
|
3705
|
+
min-height: 38px;
|
|
3706
|
+
height: 38px;
|
|
3707
|
+
padding: 0 0.65rem;
|
|
3708
|
+
border-radius: 8px;
|
|
3709
|
+
color: var(--ink, #26251e);
|
|
3710
|
+
font-size: 13px;
|
|
3711
|
+
line-height: 1.2;
|
|
3712
|
+
cursor: pointer;
|
|
3713
|
+
user-select: none;
|
|
3714
|
+
}
|
|
3715
|
+
.custom-select-option:hover,
|
|
3716
|
+
.custom-select-option.is-active {
|
|
3717
|
+
background: var(--surface-muted, #f0efe9);
|
|
3718
|
+
}
|
|
3719
|
+
.custom-select-option.is-selected {
|
|
3720
|
+
background: var(--orange-soft, #fff1ea);
|
|
3721
|
+
color: var(--orange-active, #d04200);
|
|
3722
|
+
font-weight: 600;
|
|
3723
|
+
}
|
|
3724
|
+
.custom-select-option.is-selected.is-active,
|
|
3725
|
+
.custom-select-option.is-selected:hover {
|
|
3726
|
+
background: color-mix(in srgb, var(--orange-soft, #fff1ea) 70%, var(--surface-muted, #f0efe9));
|
|
3727
|
+
}
|
|
3728
|
+
.custom-select-option-label {
|
|
3729
|
+
flex: 1 1 auto;
|
|
3730
|
+
min-width: 0;
|
|
3731
|
+
overflow: hidden;
|
|
3732
|
+
text-overflow: ellipsis;
|
|
3733
|
+
white-space: nowrap;
|
|
3734
|
+
}
|
|
3735
|
+
.custom-select-option-check {
|
|
3736
|
+
flex: 0 0 auto;
|
|
3737
|
+
font-size: 15px;
|
|
3738
|
+
line-height: 1;
|
|
3739
|
+
opacity: 0;
|
|
3740
|
+
color: var(--orange-active, #d04200);
|
|
3741
|
+
}
|
|
3742
|
+
.custom-select-option.is-selected .custom-select-option-check {
|
|
3743
|
+
opacity: 1;
|
|
3744
|
+
}
|