@tea-agent/loop-agent 0.13.0-beta.0 → 0.14.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/AGENTS.md +2 -0
- package/CHANGELOG.md +56 -305
- package/README.md +13 -19
- package/dist/commands/init.js +92 -23
- package/dist/executors/pi-event-serializer.js +33 -11
- package/dist/executors/shell-executor.js +200 -21
- package/dist/infrastructure/evaluation/candidate-store.js +5 -1
- package/dist/worker/observe/spec-evidence.js +19 -10
- package/dist/worker/observe/static/app.js +4 -3
- package/dist/worker/observe/static/constants.js +10 -2
- package/dist/worker/observe/static/dag-helpers.js +37 -8
- package/dist/worker/observe/static/dom.js +159 -0
- package/dist/worker/observe/static/format-pool.d.ts +71 -0
- package/dist/worker/observe/static/format-pool.js +67 -0
- package/dist/worker/observe/static/format.js +27 -2
- package/dist/worker/observe/static/index.html +76 -34
- package/dist/worker/observe/static/kpi.js +12 -6
- package/dist/worker/observe/static/markdown-render.js +124 -0
- package/dist/worker/observe/static/shell-chrome.js +8 -2
- package/dist/worker/observe/static/state.js +20 -0
- package/dist/worker/observe/static/styles.css +662 -60
- package/dist/worker/observe/static/views/dag-inspector.js +65 -142
- package/dist/worker/observe/static/views/dag.js +9 -0
- package/dist/worker/observe/static/views/dashboard.js +512 -269
- package/dist/worker/observe/static/views/pool.js +595 -237
- package/dist/worker/observe/static/views/session-timeline.js +577 -11
- package/dist/workflows/dag/backend-test-case-manifest.js +503 -0
- package/dist/workflows/dag/backend-test-execution-contract.js +353 -0
- package/dist/workflows/dag/backend-test-result-contract.js +568 -0
- package/dist/workflows/dag/decision-envelope.js +57 -2
- package/dist/workflows/dag/frontend-implementation-contract.js +240 -0
- package/dist/workflows/dag/frontend-project-capability.js +309 -0
- package/dist/workflows/dag/frontend-repair.js +341 -0
- package/dist/workflows/dag/frontend-risk.js +161 -0
- package/dist/workflows/dag/frontend-verification-trace.js +190 -0
- package/dist/workflows/dag/init-hybrid.js +1020 -125
- package/dist/workflows/dag/repair-artifact.js +43 -3
- package/dist/workflows/dag/skill-instructions.js +4 -2
- package/dist/workflows/dag/types.js +29 -8
- package/docs/README.md +2 -0
- package/docs/agent-dag-recovery-playbook.md +3 -3
- package/docs/agent-dag-runner.md +3 -3
- package/docs/architecture/README.md +3 -3
- package/docs/architecture/dag-execution.md +1 -1
- package/docs/architecture/evolution.md +13 -13
- package/docs/architecture/facts-and-state.md +1 -1
- package/docs/architecture/runtime-boundaries.md +7 -7
- package/docs/architecture/system-overview.md +3 -3
- package/docs/architecture/worker-and-feature.md +3 -3
- package/docs/design/README.md +7 -7
- package/docs/development-principles.md +4 -4
- package/docs/exec-plans/active/README.md +2 -4
- package/docs/exec-plans/completed/README.md +29 -6
- package/docs/feature-workflow.md +57 -32
- package/docs/init-surface.manifest.json +21 -3
- package/docs/loop-agent-harness.md +8 -8
- package/docs/production-readiness.md +1 -1
- package/docs/progress/README.md +20 -3
- package/docs/reports/README.md +53 -7
- package/docs/templates/agent-dag.supervised-implementation.json +127 -8
- package/docs/templates/backend-test-case-manifest.schema.json +190 -0
- package/docs/templates/backend-test-dag.classify.prompt.md +75 -0
- package/docs/templates/backend-test-dag.generate-pytest.prompt.md +6 -4
- package/docs/templates/backend-test-dag.json +269 -21
- package/docs/templates/backend-test-dag.retrospect.prompt.md +44 -30
- package/docs/templates/backend-test-dag.review-cases.prompt.md +6 -4
- package/docs/templates/backend-test-execution.schema.json +133 -0
- package/docs/templates/backend-test-result.schema.json +99 -0
- package/docs/templates/branch-merge-report.md +93 -0
- package/docs/templates/frontend-eval/fixtures/failures/01-type-build-error.md +17 -0
- package/docs/templates/frontend-eval/fixtures/failures/02-unit-component-test-fail.md +16 -0
- package/docs/templates/frontend-eval/fixtures/failures/03-fixture-schema-drift.md +16 -0
- package/docs/templates/frontend-eval/fixtures/failures/04-missing-loading-empty-error-state.md +16 -0
- package/docs/templates/frontend-eval/fixtures/failures/05-forbidden-write-writeset-expansion.md +16 -0
- package/docs/templates/frontend-eval/fixtures/failures/06-unapproved-dependency-add.md +16 -0
- package/docs/templates/frontend-eval/fixtures/failures/07-mock-production-on.md +21 -0
- package/docs/templates/frontend-eval/fixtures/functional/01-simple-component-style.md +29 -0
- package/docs/templates/frontend-eval/fixtures/functional/02-form-validation.md +28 -0
- package/docs/templates/frontend-eval/fixtures/functional/03-list-detail-page.md +28 -0
- package/docs/templates/frontend-eval/fixtures/functional/04-api-mock.md +29 -0
- package/docs/templates/frontend-eval/fixtures/functional/05-permission-auth-gated-ui.md +27 -0
- package/docs/templates/frontend-eval/fixtures/functional/06-ssr-server-client-boundary.md +28 -0
- package/docs/templates/frontend-eval/fixtures/functional/07-shared-public-component-api.md +28 -0
- package/docs/templates/frontend-eval/fixtures/functional/08-pure-local-no-remote.md +27 -0
- package/docs/templates/frontend-eval/metrics.md +138 -0
- package/docs/templates/frontend-eval/smoke-targets.md +53 -0
- package/docs/templates/frontend-implementation-contract.schema.json +27 -0
- package/docs/verification-matrix.md +1 -1
- package/examples/decision-gate-agent-dag.json +4 -4
- package/examples/hybrid-loop-agent-dag.json +1 -1
- package/package.json +2 -2
- package/skills/ai-engineering-context/SKILL.md +2 -2
- package/skills/browser-tools/SKILL.md +196 -0
- package/skills/browser-tools/browser-content.js +103 -0
- package/skills/browser-tools/browser-cookies.js +35 -0
- package/skills/browser-tools/browser-eval.js +53 -0
- package/skills/browser-tools/browser-hn-scraper.js +108 -0
- package/skills/browser-tools/browser-nav.js +44 -0
- package/skills/browser-tools/browser-pick.js +162 -0
- package/skills/browser-tools/browser-screenshot.js +34 -0
- package/skills/browser-tools/browser-start.js +86 -0
- package/skills/browser-tools/package-lock.json +2556 -0
- package/skills/browser-tools/package.json +19 -0
- package/skills/frontend-implementation/SKILL.md +3 -1
- package/skills/frontend-implementation/references/node-contracts.md +17 -66
- package/skills/frontend-verification/SKILL.md +1 -1
- package/skills/grill-with-docs/SKILL.md +5 -5
- package/skills/grill-with-docs/adr-format.md +3 -3
- package/skills/init-capability-evolution/SKILL.md +5 -5
- package/skills/loop-agent/SKILL.md +5 -5
- package/skills/loop-agent/references/README.md +3 -3
- package/skills/loop-agent/references/command-reference.md +39 -17
- package/skills/loop-agent/references/docs-converge.md +15 -15
- package/skills/loop-agent/references/harness-policy.md +2 -2
- package/skills/loop-agent/references/hybrid-dag.md +20 -15
- package/skills/loop-agent/references/multi-worktree.md +1 -1
- package/skills/loop-agent/references/orchestrator-and-interventions.md +8 -8
- package/skills/loop-agent/references/task-workflow.md +1 -1
- package/skills/loop-agent/references/verification-and-failure-handling.md +6 -4
- package/skills/requesting-code-review/SKILL.md +1 -1
- package/skills/systematic-debugging/CREATION-LOG.md +3 -3
- package/skills/systematic-debugging/SKILL.md +1 -1
- package/skills/systematic-debugging/test-academic.md +1 -1
- package/skills/systematic-debugging/test-pressure-1.md +1 -1
- package/skills/systematic-debugging/test-pressure-2.md +1 -1
- package/skills/systematic-debugging/test-pressure-3.md +1 -1
- package/skills/verification-before-completion/SKILL.md +1 -1
|
@@ -279,6 +279,11 @@ td:first-child,
|
|
|
279
279
|
|
|
280
280
|
.panel-primary {
|
|
281
281
|
border-color: var(--hairline-strong);
|
|
282
|
+
box-shadow: var(--shadow-panel);
|
|
283
|
+
}
|
|
284
|
+
.panel-features {
|
|
285
|
+
background: var(--canvas-soft);
|
|
286
|
+
border-color: var(--hairline);
|
|
282
287
|
}
|
|
283
288
|
.panel-meta {
|
|
284
289
|
background: transparent;
|
|
@@ -312,41 +317,263 @@ td:first-child,
|
|
|
312
317
|
}
|
|
313
318
|
|
|
314
319
|
.view-dashboard {
|
|
320
|
+
--dashboard-cols: minmax(0, 1.65fr) minmax(280px, 0.85fr);
|
|
321
|
+
/* Secondary: timeline + batch table — more even, batch side slightly wider. */
|
|
322
|
+
--dashboard-secondary-cols: minmax(0, 1fr) minmax(0, 1.2fr);
|
|
323
|
+
--dashboard-gap: var(--space-4);
|
|
315
324
|
display: grid;
|
|
316
325
|
gap: var(--space-4);
|
|
317
326
|
}
|
|
318
327
|
|
|
319
|
-
.
|
|
328
|
+
.view-pool {
|
|
329
|
+
display: grid;
|
|
330
|
+
gap: var(--space-4);
|
|
331
|
+
}
|
|
332
|
+
.page-header,
|
|
333
|
+
.pool-page-header,
|
|
334
|
+
.dashboard-page-header {
|
|
335
|
+
display: grid;
|
|
336
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
337
|
+
gap: var(--space-4) var(--space-6);
|
|
338
|
+
align-items: start;
|
|
339
|
+
padding-bottom: var(--space-4);
|
|
340
|
+
border-bottom: 1px solid var(--hairline);
|
|
341
|
+
}
|
|
342
|
+
.page-header-heading,
|
|
343
|
+
.view-dashboard .page-header-heading,
|
|
344
|
+
.view-pool .page-header-heading {
|
|
345
|
+
margin-bottom: 0;
|
|
346
|
+
}
|
|
347
|
+
.pool-toolbar {
|
|
348
|
+
display: grid;
|
|
349
|
+
justify-items: end;
|
|
350
|
+
gap: 8px;
|
|
351
|
+
padding-top: 2px;
|
|
352
|
+
}
|
|
353
|
+
.pool-toolbar-actions {
|
|
320
354
|
display: flex;
|
|
355
|
+
flex-wrap: wrap;
|
|
321
356
|
align-items: center;
|
|
322
|
-
|
|
323
|
-
|
|
357
|
+
justify-content: flex-end;
|
|
358
|
+
gap: 10px 12px;
|
|
359
|
+
}
|
|
360
|
+
.pool-toolbar .pool-updated-at {
|
|
361
|
+
margin: 0;
|
|
362
|
+
max-width: 28ch;
|
|
363
|
+
font-size: 11px;
|
|
364
|
+
line-height: 1.4;
|
|
365
|
+
text-align: right;
|
|
366
|
+
}
|
|
367
|
+
.pool-refresh-btn {
|
|
368
|
+
appearance: none;
|
|
324
369
|
border: 1px solid var(--hairline-strong);
|
|
325
|
-
border-radius: var(--radius-
|
|
370
|
+
border-radius: var(--radius-md);
|
|
326
371
|
background: var(--surface);
|
|
372
|
+
color: var(--ink);
|
|
373
|
+
font-size: 13px;
|
|
374
|
+
font-weight: 700;
|
|
375
|
+
padding: 8px 14px;
|
|
376
|
+
cursor: pointer;
|
|
377
|
+
}
|
|
378
|
+
.pool-refresh-btn:hover {
|
|
379
|
+
border-color: var(--orange);
|
|
380
|
+
color: var(--orange-active);
|
|
381
|
+
}
|
|
382
|
+
.pool-auto-refresh-label {
|
|
383
|
+
display: inline-flex;
|
|
384
|
+
align-items: center;
|
|
385
|
+
gap: 6px;
|
|
386
|
+
color: var(--body);
|
|
387
|
+
font-size: 13px;
|
|
388
|
+
cursor: pointer;
|
|
389
|
+
}
|
|
390
|
+
.pool-workspace {
|
|
391
|
+
display: grid;
|
|
392
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
393
|
+
gap: var(--space-4);
|
|
394
|
+
align-items: start;
|
|
395
|
+
}
|
|
396
|
+
.pool-ops-list {
|
|
397
|
+
display: grid;
|
|
398
|
+
gap: 10px;
|
|
399
|
+
}
|
|
400
|
+
.pool-ops-card {
|
|
401
|
+
padding: 12px 14px;
|
|
402
|
+
border: 1px solid var(--hairline);
|
|
403
|
+
border-radius: var(--radius-md);
|
|
404
|
+
background: var(--canvas-soft);
|
|
405
|
+
border-left: 3px solid var(--hairline-strong);
|
|
406
|
+
}
|
|
407
|
+
.pool-ops-card-attention {
|
|
408
|
+
border-left-color: var(--red);
|
|
409
|
+
border-color: color-mix(in srgb, var(--red) 35%, var(--hairline));
|
|
410
|
+
background: #fff8f9;
|
|
411
|
+
}
|
|
412
|
+
.pool-ops-card-ready {
|
|
413
|
+
border-left-color: var(--orange);
|
|
414
|
+
background: #fffaf5;
|
|
327
415
|
}
|
|
328
|
-
.
|
|
416
|
+
.pool-ops-card-title {
|
|
417
|
+
margin-bottom: 6px;
|
|
418
|
+
font-size: 14px;
|
|
419
|
+
font-weight: 700;
|
|
420
|
+
}
|
|
421
|
+
.pool-ops-card-meta {
|
|
422
|
+
display: flex;
|
|
423
|
+
flex-wrap: wrap;
|
|
424
|
+
align-items: center;
|
|
425
|
+
gap: 8px;
|
|
329
426
|
color: var(--muted);
|
|
330
|
-
font-size:
|
|
427
|
+
font-size: 12px;
|
|
331
428
|
}
|
|
332
|
-
.
|
|
429
|
+
.pool-ops-card-detail {
|
|
430
|
+
margin: 8px 0 0;
|
|
431
|
+
color: var(--body);
|
|
432
|
+
font-size: 12px;
|
|
433
|
+
line-height: 1.5;
|
|
434
|
+
}
|
|
435
|
+
.pool-filters {
|
|
436
|
+
display: block;
|
|
437
|
+
}
|
|
438
|
+
.pool-filters-inner {
|
|
439
|
+
display: flex;
|
|
440
|
+
flex-wrap: wrap;
|
|
441
|
+
align-items: end;
|
|
442
|
+
gap: var(--space-3);
|
|
443
|
+
}
|
|
444
|
+
.pool-filters-inner label {
|
|
333
445
|
display: grid;
|
|
334
|
-
gap:
|
|
446
|
+
gap: 4px;
|
|
447
|
+
color: var(--muted);
|
|
448
|
+
font-size: 11px;
|
|
449
|
+
font-weight: 700;
|
|
450
|
+
}
|
|
451
|
+
.pool-filters-inner select,
|
|
452
|
+
.pool-filters-inner input[type="search"] {
|
|
453
|
+
min-width: 160px;
|
|
454
|
+
padding: 7px 10px;
|
|
455
|
+
border: 1px solid var(--hairline);
|
|
456
|
+
border-radius: var(--radius-md);
|
|
457
|
+
background: var(--surface);
|
|
458
|
+
color: var(--ink);
|
|
459
|
+
font-size: 13px;
|
|
460
|
+
}
|
|
461
|
+
.pool-table-wrap {
|
|
462
|
+
overflow-x: auto;
|
|
463
|
+
}
|
|
464
|
+
.pool-ref-links {
|
|
465
|
+
display: inline;
|
|
466
|
+
font-size: 12px;
|
|
467
|
+
overflow-wrap: anywhere;
|
|
468
|
+
}
|
|
469
|
+
.pool-events-details {
|
|
470
|
+
border: 1px solid var(--hairline);
|
|
471
|
+
border-radius: var(--radius-lg);
|
|
472
|
+
background: var(--surface);
|
|
473
|
+
padding: 0 var(--space-5) var(--space-4);
|
|
474
|
+
}
|
|
475
|
+
.pool-events-details > summary {
|
|
476
|
+
cursor: pointer;
|
|
477
|
+
padding: var(--space-4) 0;
|
|
478
|
+
color: var(--ink);
|
|
479
|
+
font-size: 14px;
|
|
480
|
+
font-weight: 700;
|
|
481
|
+
}
|
|
482
|
+
.pool-events-details > summary:hover {
|
|
483
|
+
color: var(--orange-active);
|
|
484
|
+
}
|
|
485
|
+
.pool-events-details .panel-timeline {
|
|
486
|
+
border: 0;
|
|
487
|
+
padding: 0;
|
|
488
|
+
box-shadow: none;
|
|
489
|
+
}
|
|
490
|
+
#pool-kpi.panel-kpi {
|
|
491
|
+
display: grid;
|
|
492
|
+
grid-template-columns: 1fr;
|
|
493
|
+
gap: var(--space-2);
|
|
494
|
+
}
|
|
495
|
+
#pool-kpi .section-heading {
|
|
496
|
+
margin: 0;
|
|
497
|
+
}
|
|
498
|
+
.pool-fault-active {
|
|
499
|
+
display: grid;
|
|
500
|
+
gap: var(--space-3);
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
.repo-banner {
|
|
504
|
+
display: flex;
|
|
505
|
+
align-items: flex-start;
|
|
506
|
+
gap: 10px;
|
|
507
|
+
padding: 6px 12px;
|
|
508
|
+
border: 1px solid var(--hairline);
|
|
509
|
+
border-radius: var(--radius-md);
|
|
510
|
+
background: transparent;
|
|
511
|
+
}
|
|
512
|
+
.repo-banner-inline {
|
|
513
|
+
justify-self: end;
|
|
514
|
+
align-items: center;
|
|
515
|
+
max-width: min(48ch, 100%);
|
|
516
|
+
padding: 4px 10px 4px 8px;
|
|
517
|
+
border: 1px solid var(--hairline);
|
|
518
|
+
border-radius: 999px;
|
|
519
|
+
background: var(--canvas-soft);
|
|
520
|
+
}
|
|
521
|
+
.repo-banner-icon {
|
|
522
|
+
display: inline-flex;
|
|
523
|
+
align-items: center;
|
|
524
|
+
justify-content: center;
|
|
525
|
+
flex: 0 0 auto;
|
|
526
|
+
width: 28px;
|
|
527
|
+
height: 28px;
|
|
528
|
+
border-radius: 8px;
|
|
529
|
+
background: var(--surface);
|
|
530
|
+
border: 1px solid var(--hairline);
|
|
531
|
+
color: var(--orange-active);
|
|
532
|
+
}
|
|
533
|
+
.repo-banner-icon > i {
|
|
534
|
+
font-size: 15px;
|
|
535
|
+
line-height: 1;
|
|
536
|
+
}
|
|
537
|
+
.repo-banner-inline .repo-banner-text {
|
|
538
|
+
display: grid;
|
|
539
|
+
justify-items: start;
|
|
540
|
+
gap: 1px;
|
|
541
|
+
min-width: 0;
|
|
542
|
+
}
|
|
543
|
+
.repo-banner-text {
|
|
544
|
+
display: flex;
|
|
545
|
+
flex-wrap: wrap;
|
|
546
|
+
align-items: baseline;
|
|
547
|
+
gap: 6px 10px;
|
|
335
548
|
min-width: 0;
|
|
336
549
|
}
|
|
337
550
|
.repo-banner-name {
|
|
338
551
|
color: var(--ink);
|
|
339
|
-
font-size:
|
|
552
|
+
font-size: 13px;
|
|
340
553
|
font-weight: 700;
|
|
341
|
-
|
|
554
|
+
letter-spacing: 0.01em;
|
|
555
|
+
line-height: 1.25;
|
|
556
|
+
overflow: hidden;
|
|
557
|
+
text-overflow: ellipsis;
|
|
558
|
+
white-space: nowrap;
|
|
342
559
|
}
|
|
343
560
|
.repo-banner-path {
|
|
344
561
|
color: var(--muted);
|
|
345
562
|
font-size: 11px;
|
|
346
|
-
|
|
563
|
+
line-height: 1.35;
|
|
564
|
+
font-variant-numeric: tabular-nums;
|
|
565
|
+
letter-spacing: 0.01em;
|
|
566
|
+
overflow: hidden;
|
|
567
|
+
text-overflow: ellipsis;
|
|
568
|
+
white-space: nowrap;
|
|
569
|
+
max-width: 36ch;
|
|
347
570
|
}
|
|
348
571
|
|
|
349
572
|
.panel-kpi {
|
|
573
|
+
display: grid;
|
|
574
|
+
grid-template-columns: var(--dashboard-cols);
|
|
575
|
+
gap: var(--space-2) var(--dashboard-gap);
|
|
576
|
+
align-items: stretch;
|
|
350
577
|
padding: 0;
|
|
351
578
|
background: transparent;
|
|
352
579
|
border: 0;
|
|
@@ -356,11 +583,13 @@ td:first-child,
|
|
|
356
583
|
margin: 0;
|
|
357
584
|
padding: 0;
|
|
358
585
|
border: 0;
|
|
586
|
+
min-width: 0;
|
|
359
587
|
display: grid;
|
|
360
|
-
|
|
588
|
+
grid-template-rows: auto 1fr;
|
|
589
|
+
gap: var(--space-2);
|
|
361
590
|
}
|
|
362
591
|
.kpi-group + .kpi-group {
|
|
363
|
-
margin-top:
|
|
592
|
+
margin-top: 0;
|
|
364
593
|
}
|
|
365
594
|
.kpi-group-legend {
|
|
366
595
|
padding: 0;
|
|
@@ -373,18 +602,56 @@ td:first-child,
|
|
|
373
602
|
|
|
374
603
|
.kpi-grid {
|
|
375
604
|
display: grid;
|
|
376
|
-
grid-template-columns: repeat(
|
|
605
|
+
grid-template-columns: repeat(5, minmax(0, 1fr));
|
|
377
606
|
overflow: visible;
|
|
378
|
-
border: 1px solid var(--hairline
|
|
379
|
-
border-radius: var(--radius-
|
|
607
|
+
border: 1px solid var(--hairline);
|
|
608
|
+
border-radius: var(--radius-md);
|
|
380
609
|
background: var(--surface);
|
|
610
|
+
height: 100%;
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
/* Must follow .kpi-grid so display:flex wins over display:grid. */
|
|
614
|
+
.kpi-grid.pool-health-grid {
|
|
615
|
+
display: flex;
|
|
616
|
+
flex-wrap: nowrap;
|
|
617
|
+
align-items: stretch;
|
|
618
|
+
overflow-x: auto;
|
|
619
|
+
height: auto;
|
|
620
|
+
grid-template-columns: none;
|
|
621
|
+
}
|
|
622
|
+
.kpi-grid.pool-health-grid .kpi-card {
|
|
623
|
+
flex: 1 1 0;
|
|
624
|
+
min-width: 96px;
|
|
625
|
+
display: flex;
|
|
626
|
+
flex-direction: row;
|
|
627
|
+
flex-wrap: nowrap;
|
|
628
|
+
align-items: baseline;
|
|
629
|
+
justify-content: flex-start;
|
|
630
|
+
gap: 8px;
|
|
631
|
+
padding: 8px 12px;
|
|
632
|
+
border-top: 0;
|
|
633
|
+
border-left: 1px solid var(--hairline);
|
|
634
|
+
}
|
|
635
|
+
.kpi-grid.pool-health-grid .kpi-card:first-child {
|
|
636
|
+
border-left: 0;
|
|
637
|
+
}
|
|
638
|
+
.kpi-grid.pool-health-grid .kpi-value {
|
|
639
|
+
font-size: 18px;
|
|
640
|
+
line-height: 1.1;
|
|
641
|
+
}
|
|
642
|
+
.kpi-grid.pool-health-grid .kpi-label {
|
|
643
|
+
margin: 0;
|
|
644
|
+
font-size: 11px;
|
|
645
|
+
font-weight: 650;
|
|
646
|
+
color: var(--muted);
|
|
647
|
+
white-space: nowrap;
|
|
381
648
|
}
|
|
382
649
|
|
|
383
650
|
.kpi-card {
|
|
384
651
|
position: relative;
|
|
385
652
|
min-width: 0;
|
|
386
|
-
min-height:
|
|
387
|
-
padding:
|
|
653
|
+
min-height: 0;
|
|
654
|
+
padding: 10px 12px 9px;
|
|
388
655
|
border-left: 1px solid var(--hairline);
|
|
389
656
|
}
|
|
390
657
|
|
|
@@ -392,23 +659,50 @@ td:first-child,
|
|
|
392
659
|
border-left: 0;
|
|
393
660
|
}
|
|
394
661
|
.kpi-label {
|
|
395
|
-
margin-bottom:
|
|
662
|
+
margin-bottom: 4px;
|
|
396
663
|
color: var(--muted);
|
|
397
|
-
font-size:
|
|
664
|
+
font-size: 10px;
|
|
398
665
|
font-weight: 650;
|
|
399
666
|
}
|
|
400
667
|
.kpi-value-row {
|
|
401
668
|
display: flex;
|
|
402
|
-
align-items:
|
|
669
|
+
align-items: flex-start;
|
|
403
670
|
gap: 6px;
|
|
404
671
|
}
|
|
405
672
|
.kpi-value {
|
|
406
673
|
color: var(--ink);
|
|
407
|
-
font-size:
|
|
674
|
+
font-size: 22px;
|
|
408
675
|
font-weight: 500;
|
|
409
676
|
line-height: 1;
|
|
410
677
|
font-variant-numeric: tabular-nums;
|
|
411
678
|
}
|
|
679
|
+
.kpi-card.kpi-highlight .kpi-value {
|
|
680
|
+
color: var(--orange-active);
|
|
681
|
+
}
|
|
682
|
+
.kpi-card.kpi-muted .kpi-value {
|
|
683
|
+
color: var(--muted);
|
|
684
|
+
}
|
|
685
|
+
.kpi-card.kpi-risk .kpi-value {
|
|
686
|
+
color: var(--amber);
|
|
687
|
+
}
|
|
688
|
+
.kpi-card.kpi-danger .kpi-value {
|
|
689
|
+
color: var(--red);
|
|
690
|
+
}
|
|
691
|
+
.kpi-value-with-link {
|
|
692
|
+
display: flex;
|
|
693
|
+
flex-direction: column;
|
|
694
|
+
align-items: flex-start;
|
|
695
|
+
gap: 2px;
|
|
696
|
+
}
|
|
697
|
+
.kpi-value-with-link .kpi-value-num {
|
|
698
|
+
font-variant-numeric: tabular-nums;
|
|
699
|
+
}
|
|
700
|
+
.kpi-value-with-link .inbox-link {
|
|
701
|
+
font-size: 10px;
|
|
702
|
+
font-weight: 650;
|
|
703
|
+
line-height: 1.2;
|
|
704
|
+
text-underline-offset: 2px;
|
|
705
|
+
}
|
|
412
706
|
|
|
413
707
|
.kpi-help {
|
|
414
708
|
display: inline-flex;
|
|
@@ -464,75 +758,110 @@ td:first-child,
|
|
|
464
758
|
.dashboard-workspace,
|
|
465
759
|
.dashboard-secondary {
|
|
466
760
|
display: grid;
|
|
467
|
-
gap: var(--
|
|
468
|
-
align-items:
|
|
761
|
+
gap: var(--dashboard-gap);
|
|
762
|
+
align-items: start;
|
|
469
763
|
}
|
|
470
764
|
|
|
471
765
|
.dashboard-workspace {
|
|
472
|
-
grid-template-columns:
|
|
766
|
+
grid-template-columns: var(--dashboard-cols);
|
|
473
767
|
}
|
|
474
768
|
.dashboard-secondary {
|
|
475
|
-
grid-template-columns:
|
|
769
|
+
grid-template-columns: var(--dashboard-secondary-cols);
|
|
770
|
+
}
|
|
771
|
+
#dashboard-batches {
|
|
772
|
+
min-width: 0;
|
|
773
|
+
overflow-x: auto;
|
|
774
|
+
}
|
|
775
|
+
#dashboard-batches table {
|
|
776
|
+
width: 100%;
|
|
777
|
+
min-width: 0;
|
|
778
|
+
}
|
|
779
|
+
#dashboard-batches th,
|
|
780
|
+
#dashboard-batches td {
|
|
781
|
+
white-space: nowrap;
|
|
782
|
+
}
|
|
783
|
+
#dashboard-batches td:last-child {
|
|
784
|
+
white-space: normal;
|
|
785
|
+
min-width: 12rem;
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
.panel-primary,
|
|
789
|
+
.panel-risk {
|
|
790
|
+
min-width: 0;
|
|
476
791
|
}
|
|
477
792
|
|
|
478
793
|
.panel-risk {
|
|
479
794
|
display: block;
|
|
480
|
-
background: var(--
|
|
795
|
+
background: var(--surface);
|
|
796
|
+
border-color: var(--hairline-strong);
|
|
797
|
+
box-shadow: var(--shadow-panel);
|
|
798
|
+
position: sticky;
|
|
799
|
+
top: 16px;
|
|
481
800
|
}
|
|
482
801
|
|
|
802
|
+
/* Attention state stays on inner cards; outer shell matches active DAG panel. */
|
|
483
803
|
.panel-risk-attention {
|
|
484
|
-
border-color:
|
|
485
|
-
background:
|
|
804
|
+
border-color: var(--hairline-strong);
|
|
805
|
+
background: var(--surface);
|
|
486
806
|
}
|
|
487
807
|
.panel-risk .section-heading {
|
|
488
|
-
margin: 0 0 var(--space-
|
|
808
|
+
margin: 0 0 var(--space-4);
|
|
489
809
|
}
|
|
490
810
|
.risk-blocks {
|
|
491
811
|
display: grid;
|
|
492
|
-
gap:
|
|
812
|
+
gap: 10px;
|
|
493
813
|
}
|
|
494
|
-
.risk-block
|
|
814
|
+
.risk-block,
|
|
815
|
+
.risk-block-dag,
|
|
816
|
+
.risk-block-worker {
|
|
495
817
|
display: grid;
|
|
496
|
-
grid-template-columns: minmax(
|
|
818
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
819
|
+
grid-template-areas:
|
|
820
|
+
"label total"
|
|
821
|
+
"summary total"
|
|
822
|
+
"link total";
|
|
497
823
|
align-items: start;
|
|
498
|
-
gap: var(--space-3);
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
border-
|
|
824
|
+
column-gap: var(--space-3);
|
|
825
|
+
row-gap: 4px;
|
|
826
|
+
padding: 14px;
|
|
827
|
+
padding-left: 12px;
|
|
828
|
+
border: 1px solid color-mix(in srgb, var(--red) 35%, var(--hairline));
|
|
829
|
+
border-left: 3px solid var(--red);
|
|
830
|
+
border-radius: var(--radius-md);
|
|
831
|
+
background: #fff8f9;
|
|
505
832
|
}
|
|
506
833
|
.risk-block-label {
|
|
507
|
-
|
|
834
|
+
grid-area: label;
|
|
835
|
+
color: var(--ink);
|
|
508
836
|
font-size: 11px;
|
|
509
837
|
font-weight: 700;
|
|
510
838
|
letter-spacing: 0.04em;
|
|
511
839
|
text-transform: uppercase;
|
|
512
840
|
}
|
|
513
|
-
.risk-block-dag .risk-block-label {
|
|
514
|
-
color: var(--ink);
|
|
515
|
-
}
|
|
516
|
-
.risk-block-worker .risk-block-label {
|
|
517
|
-
color: var(--ink);
|
|
518
|
-
}
|
|
519
841
|
.risk-total {
|
|
842
|
+
grid-area: total;
|
|
520
843
|
margin: 0;
|
|
521
|
-
color: var(--
|
|
844
|
+
color: var(--red);
|
|
522
845
|
font-size: 32px;
|
|
523
846
|
font-weight: 500;
|
|
524
847
|
line-height: 1;
|
|
525
848
|
font-variant-numeric: tabular-nums;
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
849
|
+
align-self: center;
|
|
850
|
+
text-align: right;
|
|
851
|
+
min-width: 1.5ch;
|
|
529
852
|
}
|
|
530
853
|
.risk-summary {
|
|
854
|
+
grid-area: summary;
|
|
531
855
|
margin: 0;
|
|
532
856
|
color: var(--body);
|
|
533
857
|
font-size: 12px;
|
|
534
858
|
line-height: 1.6;
|
|
535
859
|
}
|
|
860
|
+
.risk-block .risk-link {
|
|
861
|
+
grid-area: link;
|
|
862
|
+
justify-self: start;
|
|
863
|
+
margin-top: 6px;
|
|
864
|
+
}
|
|
536
865
|
.panel-risk .risk-empty {
|
|
537
866
|
margin: 0;
|
|
538
867
|
}
|
|
@@ -611,10 +940,17 @@ td:first-child,
|
|
|
611
940
|
border: 1px solid var(--hairline);
|
|
612
941
|
border-radius: var(--radius-md);
|
|
613
942
|
background: var(--canvas-soft);
|
|
943
|
+
border-left: 3px solid var(--hairline-strong);
|
|
944
|
+
padding-left: 12px;
|
|
614
945
|
}
|
|
615
946
|
.active-dag-card-running {
|
|
616
|
-
border-left:
|
|
617
|
-
|
|
947
|
+
border-left-color: var(--orange);
|
|
948
|
+
background: #fffaf5;
|
|
949
|
+
}
|
|
950
|
+
.active-dag-card-attention {
|
|
951
|
+
border-left-color: var(--red);
|
|
952
|
+
border-color: color-mix(in srgb, var(--red) 35%, var(--hairline));
|
|
953
|
+
background: #fff8f9;
|
|
618
954
|
}
|
|
619
955
|
.active-dag-header {
|
|
620
956
|
display: flex;
|
|
@@ -641,6 +977,49 @@ td:first-child,
|
|
|
641
977
|
margin-top: 10px;
|
|
642
978
|
}
|
|
643
979
|
|
|
980
|
+
.feature-decision-list {
|
|
981
|
+
display: grid;
|
|
982
|
+
gap: 8px;
|
|
983
|
+
}
|
|
984
|
+
.feature-decision-row {
|
|
985
|
+
display: grid;
|
|
986
|
+
grid-template-columns: minmax(120px, 0.9fr) minmax(88px, 0.55fr) minmax(0, 1.6fr) auto;
|
|
987
|
+
align-items: center;
|
|
988
|
+
gap: var(--space-3);
|
|
989
|
+
padding: 10px 12px;
|
|
990
|
+
border: 1px solid var(--hairline);
|
|
991
|
+
border-radius: var(--radius-md);
|
|
992
|
+
background: var(--surface);
|
|
993
|
+
cursor: pointer;
|
|
994
|
+
}
|
|
995
|
+
.feature-decision-row:hover {
|
|
996
|
+
border-color: var(--hairline-strong);
|
|
997
|
+
}
|
|
998
|
+
.feature-decision-id {
|
|
999
|
+
min-width: 0;
|
|
1000
|
+
font-size: 13px;
|
|
1001
|
+
font-weight: 700;
|
|
1002
|
+
overflow-wrap: anywhere;
|
|
1003
|
+
}
|
|
1004
|
+
.feature-decision-status {
|
|
1005
|
+
color: var(--body);
|
|
1006
|
+
font-size: 12px;
|
|
1007
|
+
}
|
|
1008
|
+
.feature-decision-next {
|
|
1009
|
+
min-width: 0;
|
|
1010
|
+
color: var(--muted);
|
|
1011
|
+
font-size: 12px;
|
|
1012
|
+
overflow: hidden;
|
|
1013
|
+
text-overflow: ellipsis;
|
|
1014
|
+
white-space: nowrap;
|
|
1015
|
+
}
|
|
1016
|
+
.feature-decision-open {
|
|
1017
|
+
color: var(--ink);
|
|
1018
|
+
font-size: 12px;
|
|
1019
|
+
font-weight: 700;
|
|
1020
|
+
white-space: nowrap;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
644
1023
|
.meta-grid {
|
|
645
1024
|
display: grid;
|
|
646
1025
|
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
|
|
@@ -770,12 +1149,13 @@ tr.clickable:focus-within {
|
|
|
770
1149
|
.dag-inspector {
|
|
771
1150
|
position: fixed;
|
|
772
1151
|
z-index: 40;
|
|
773
|
-
top
|
|
1152
|
+
/* Align with site-header top edge; same inset as right/bottom. */
|
|
1153
|
+
top: 24px;
|
|
774
1154
|
right: 24px;
|
|
775
1155
|
bottom: 24px;
|
|
776
1156
|
display: grid;
|
|
777
1157
|
grid-template-rows: auto minmax(0, 1fr);
|
|
778
|
-
width: min(var(--dag-inspector-width,
|
|
1158
|
+
width: min(var(--dag-inspector-width, 50vw), calc(100vw - 48px));
|
|
779
1159
|
min-width: 0;
|
|
780
1160
|
padding: 0;
|
|
781
1161
|
overflow: hidden;
|
|
@@ -1252,6 +1632,160 @@ body.is-resizing-dag-graph {
|
|
|
1252
1632
|
font-size: 11px;
|
|
1253
1633
|
}
|
|
1254
1634
|
|
|
1635
|
+
.process-timeline-toolbar {
|
|
1636
|
+
display: flex;
|
|
1637
|
+
flex-wrap: wrap;
|
|
1638
|
+
gap: 8px;
|
|
1639
|
+
margin-bottom: var(--space-2);
|
|
1640
|
+
}
|
|
1641
|
+
.process-timeline-toggle {
|
|
1642
|
+
min-height: 28px;
|
|
1643
|
+
padding: 0 10px;
|
|
1644
|
+
border: 1px solid var(--hairline-strong);
|
|
1645
|
+
border-radius: var(--radius-sm);
|
|
1646
|
+
background: var(--surface);
|
|
1647
|
+
color: var(--body);
|
|
1648
|
+
font-size: 11px;
|
|
1649
|
+
font-weight: 600;
|
|
1650
|
+
cursor: pointer;
|
|
1651
|
+
}
|
|
1652
|
+
.process-timeline-toggle:hover,
|
|
1653
|
+
.process-timeline-toggle:focus-visible {
|
|
1654
|
+
border-color: var(--orange);
|
|
1655
|
+
color: var(--orange-active);
|
|
1656
|
+
outline: none;
|
|
1657
|
+
}
|
|
1658
|
+
.process-timeline-toggle[aria-pressed="true"] {
|
|
1659
|
+
border-color: color-mix(in srgb, var(--orange) 55%, var(--hairline));
|
|
1660
|
+
background: #fff5ed;
|
|
1661
|
+
color: var(--orange-active);
|
|
1662
|
+
}
|
|
1663
|
+
.process-timeline-body {
|
|
1664
|
+
min-width: 0;
|
|
1665
|
+
padding: 4px 0 8px var(--space-2);
|
|
1666
|
+
}
|
|
1667
|
+
.process-timeline-card {
|
|
1668
|
+
display: grid;
|
|
1669
|
+
gap: 6px;
|
|
1670
|
+
min-width: 0;
|
|
1671
|
+
}
|
|
1672
|
+
.process-timeline-details {
|
|
1673
|
+
min-width: 0;
|
|
1674
|
+
border: 1px solid var(--hairline);
|
|
1675
|
+
border-radius: var(--radius-sm);
|
|
1676
|
+
background: var(--surface);
|
|
1677
|
+
}
|
|
1678
|
+
.process-timeline-summary {
|
|
1679
|
+
display: flex;
|
|
1680
|
+
flex-wrap: wrap;
|
|
1681
|
+
align-items: center;
|
|
1682
|
+
justify-content: space-between;
|
|
1683
|
+
gap: 8px;
|
|
1684
|
+
padding: 8px 10px;
|
|
1685
|
+
cursor: pointer;
|
|
1686
|
+
list-style: none;
|
|
1687
|
+
color: var(--ink);
|
|
1688
|
+
font-size: 12px;
|
|
1689
|
+
font-weight: 650;
|
|
1690
|
+
}
|
|
1691
|
+
.process-timeline-summary::-webkit-details-marker {
|
|
1692
|
+
display: none;
|
|
1693
|
+
}
|
|
1694
|
+
.process-timeline-summary-title {
|
|
1695
|
+
min-width: 0;
|
|
1696
|
+
overflow-wrap: anywhere;
|
|
1697
|
+
}
|
|
1698
|
+
.process-timeline-summary-status {
|
|
1699
|
+
flex-shrink: 0;
|
|
1700
|
+
color: var(--muted);
|
|
1701
|
+
font-size: 11px;
|
|
1702
|
+
font-weight: 700;
|
|
1703
|
+
}
|
|
1704
|
+
.process-timeline-summary-status.status-succeeded {
|
|
1705
|
+
color: var(--green);
|
|
1706
|
+
}
|
|
1707
|
+
.process-timeline-summary-status.status-failed {
|
|
1708
|
+
color: var(--red);
|
|
1709
|
+
}
|
|
1710
|
+
.process-timeline-summary-status.status-pending {
|
|
1711
|
+
color: var(--orange);
|
|
1712
|
+
}
|
|
1713
|
+
.process-timeline-tool-card.is-error .process-timeline-details {
|
|
1714
|
+
border-color: color-mix(in srgb, var(--red) 45%, var(--hairline));
|
|
1715
|
+
background: color-mix(in srgb, var(--red) 6%, var(--surface));
|
|
1716
|
+
}
|
|
1717
|
+
.process-timeline-card-body {
|
|
1718
|
+
display: grid;
|
|
1719
|
+
gap: 6px;
|
|
1720
|
+
padding: 0 10px 10px;
|
|
1721
|
+
}
|
|
1722
|
+
.process-timeline-section-label {
|
|
1723
|
+
color: var(--muted);
|
|
1724
|
+
font-size: 11px;
|
|
1725
|
+
font-weight: 700;
|
|
1726
|
+
}
|
|
1727
|
+
.process-timeline-code,
|
|
1728
|
+
.process-timeline-thinking-body {
|
|
1729
|
+
margin: 0;
|
|
1730
|
+
padding: 8px 10px;
|
|
1731
|
+
overflow: auto;
|
|
1732
|
+
border-radius: var(--radius-sm);
|
|
1733
|
+
background: var(--canvas-soft);
|
|
1734
|
+
color: var(--body);
|
|
1735
|
+
font-family: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
|
|
1736
|
+
font-size: 11px;
|
|
1737
|
+
line-height: 1.45;
|
|
1738
|
+
white-space: pre-wrap;
|
|
1739
|
+
overflow-wrap: anywhere;
|
|
1740
|
+
}
|
|
1741
|
+
.process-timeline-more {
|
|
1742
|
+
margin-top: 2px;
|
|
1743
|
+
}
|
|
1744
|
+
.process-timeline-more > summary {
|
|
1745
|
+
cursor: pointer;
|
|
1746
|
+
color: var(--blue);
|
|
1747
|
+
font-size: 11px;
|
|
1748
|
+
font-weight: 650;
|
|
1749
|
+
}
|
|
1750
|
+
.process-timeline-thinking > summary {
|
|
1751
|
+
background: color-mix(in srgb, var(--lavender) 35%, var(--surface));
|
|
1752
|
+
}
|
|
1753
|
+
.process-timeline-turn-text {
|
|
1754
|
+
display: grid;
|
|
1755
|
+
gap: 6px;
|
|
1756
|
+
padding: 8px 10px;
|
|
1757
|
+
border: 1px solid var(--hairline);
|
|
1758
|
+
border-radius: var(--radius-sm);
|
|
1759
|
+
background: var(--surface);
|
|
1760
|
+
}
|
|
1761
|
+
.process-timeline-turn-text .markdown-output {
|
|
1762
|
+
font-size: 12px;
|
|
1763
|
+
}
|
|
1764
|
+
.process-timeline-tool-only-note {
|
|
1765
|
+
margin: 0;
|
|
1766
|
+
font-size: 12px;
|
|
1767
|
+
}
|
|
1768
|
+
.process-timeline-turn-tools {
|
|
1769
|
+
display: grid;
|
|
1770
|
+
gap: 4px;
|
|
1771
|
+
margin: 0;
|
|
1772
|
+
padding: 0 0 0 1.1em;
|
|
1773
|
+
color: var(--body);
|
|
1774
|
+
font-size: 12px;
|
|
1775
|
+
font-family: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
|
|
1776
|
+
overflow-wrap: anywhere;
|
|
1777
|
+
}
|
|
1778
|
+
.process-timeline-turn-tools li {
|
|
1779
|
+
padding: 2px 0;
|
|
1780
|
+
}
|
|
1781
|
+
.process-timeline-agent-end-note {
|
|
1782
|
+
margin: 0;
|
|
1783
|
+
font-size: 11px;
|
|
1784
|
+
}
|
|
1785
|
+
.process-timeline-item.is-error .process-timeline-dot {
|
|
1786
|
+
background: var(--red);
|
|
1787
|
+
}
|
|
1788
|
+
|
|
1255
1789
|
.markdown-output {
|
|
1256
1790
|
display: grid;
|
|
1257
1791
|
gap: var(--space-3);
|
|
@@ -1290,6 +1824,10 @@ body.is-resizing-dag-graph {
|
|
|
1290
1824
|
.markdown-output ul,
|
|
1291
1825
|
.markdown-output ol {
|
|
1292
1826
|
margin: 0;
|
|
1827
|
+
overflow-wrap: anywhere;
|
|
1828
|
+
}
|
|
1829
|
+
.markdown-output p {
|
|
1830
|
+
white-space: normal;
|
|
1293
1831
|
}
|
|
1294
1832
|
.markdown-output ul,
|
|
1295
1833
|
.markdown-output ol {
|
|
@@ -1601,17 +2139,34 @@ body.is-resizing-dag-graph {
|
|
|
1601
2139
|
}
|
|
1602
2140
|
|
|
1603
2141
|
@media (max-width: 1320px) {
|
|
2142
|
+
.view-dashboard {
|
|
2143
|
+
--dashboard-cols: 1fr;
|
|
2144
|
+
}
|
|
1604
2145
|
.kpi-grid {
|
|
1605
2146
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
1606
2147
|
}
|
|
2148
|
+
.kpi-grid.pool-health-grid {
|
|
2149
|
+
display: flex;
|
|
2150
|
+
flex-wrap: nowrap;
|
|
2151
|
+
grid-template-columns: none;
|
|
2152
|
+
}
|
|
1607
2153
|
.kpi-card:nth-child(4) {
|
|
1608
2154
|
border-left: 0;
|
|
1609
2155
|
}
|
|
1610
2156
|
.kpi-card:nth-child(n + 4) {
|
|
1611
2157
|
border-top: 1px solid var(--hairline);
|
|
1612
2158
|
}
|
|
1613
|
-
.
|
|
1614
|
-
|
|
2159
|
+
.kpi-grid.pool-health-grid .kpi-card,
|
|
2160
|
+
.kpi-grid.pool-health-grid .kpi-card:nth-child(n),
|
|
2161
|
+
.kpi-grid.pool-health-grid .kpi-card:nth-child(n + 4) {
|
|
2162
|
+
border-top: 0;
|
|
2163
|
+
border-left: 1px solid var(--hairline);
|
|
2164
|
+
}
|
|
2165
|
+
.kpi-grid.pool-health-grid .kpi-card:first-child {
|
|
2166
|
+
border-left: 0;
|
|
2167
|
+
}
|
|
2168
|
+
.panel-risk {
|
|
2169
|
+
position: static;
|
|
1615
2170
|
}
|
|
1616
2171
|
.run-detail-workspace {
|
|
1617
2172
|
grid-template-columns: minmax(200px, 0.45fr) minmax(0, 1fr);
|
|
@@ -1636,6 +2191,32 @@ body.is-resizing-dag-graph {
|
|
|
1636
2191
|
.panel-artifacts {
|
|
1637
2192
|
grid-column: auto;
|
|
1638
2193
|
}
|
|
2194
|
+
.pool-workspace {
|
|
2195
|
+
grid-template-columns: 1fr;
|
|
2196
|
+
}
|
|
2197
|
+
.page-header,
|
|
2198
|
+
.pool-page-header,
|
|
2199
|
+
.dashboard-page-header {
|
|
2200
|
+
grid-template-columns: 1fr;
|
|
2201
|
+
}
|
|
2202
|
+
.repo-banner-inline {
|
|
2203
|
+
justify-self: start;
|
|
2204
|
+
max-width: none;
|
|
2205
|
+
}
|
|
2206
|
+
.repo-banner-path {
|
|
2207
|
+
max-width: none;
|
|
2208
|
+
white-space: normal;
|
|
2209
|
+
}
|
|
2210
|
+
.pool-toolbar {
|
|
2211
|
+
justify-items: start;
|
|
2212
|
+
}
|
|
2213
|
+
.pool-toolbar-actions {
|
|
2214
|
+
justify-content: flex-start;
|
|
2215
|
+
}
|
|
2216
|
+
.pool-toolbar .pool-updated-at {
|
|
2217
|
+
text-align: left;
|
|
2218
|
+
max-width: none;
|
|
2219
|
+
}
|
|
1639
2220
|
}
|
|
1640
2221
|
|
|
1641
2222
|
@media (max-width: 720px) {
|
|
@@ -1648,6 +2229,11 @@ body.is-resizing-dag-graph {
|
|
|
1648
2229
|
.kpi-grid {
|
|
1649
2230
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
1650
2231
|
}
|
|
2232
|
+
.kpi-grid.pool-health-grid {
|
|
2233
|
+
display: flex;
|
|
2234
|
+
flex-wrap: nowrap;
|
|
2235
|
+
grid-template-columns: none;
|
|
2236
|
+
}
|
|
1651
2237
|
.kpi-card:nth-child(n) {
|
|
1652
2238
|
border-top: 1px solid var(--hairline);
|
|
1653
2239
|
border-left: 1px solid var(--hairline);
|
|
@@ -1659,8 +2245,17 @@ body.is-resizing-dag-graph {
|
|
|
1659
2245
|
.kpi-card:nth-child(odd) {
|
|
1660
2246
|
border-left: 0;
|
|
1661
2247
|
}
|
|
2248
|
+
.kpi-grid.pool-health-grid .kpi-card,
|
|
2249
|
+
.kpi-grid.pool-health-grid .kpi-card:nth-child(n),
|
|
2250
|
+
.kpi-grid.pool-health-grid .kpi-card:nth-child(odd) {
|
|
2251
|
+
border-top: 0;
|
|
2252
|
+
border-left: 1px solid var(--hairline);
|
|
2253
|
+
}
|
|
2254
|
+
.kpi-grid.pool-health-grid .kpi-card:first-child {
|
|
2255
|
+
border-left: 0;
|
|
2256
|
+
}
|
|
1662
2257
|
.dag-inspector {
|
|
1663
|
-
top:
|
|
2258
|
+
top: 12px;
|
|
1664
2259
|
right: 12px;
|
|
1665
2260
|
bottom: 12px;
|
|
1666
2261
|
width: calc(100vw - 24px);
|
|
@@ -1671,9 +2266,16 @@ body.is-resizing-dag-graph {
|
|
|
1671
2266
|
.dashboard-secondary {
|
|
1672
2267
|
grid-template-columns: 1fr;
|
|
1673
2268
|
}
|
|
1674
|
-
.
|
|
2269
|
+
.feature-decision-row {
|
|
1675
2270
|
grid-template-columns: 1fr;
|
|
1676
|
-
gap:
|
|
2271
|
+
gap: 4px;
|
|
2272
|
+
}
|
|
2273
|
+
.feature-decision-next {
|
|
2274
|
+
white-space: normal;
|
|
2275
|
+
}
|
|
2276
|
+
.risk-block {
|
|
2277
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
2278
|
+
column-gap: var(--space-2);
|
|
1677
2279
|
}
|
|
1678
2280
|
.panel {
|
|
1679
2281
|
padding: var(--space-4);
|