claude-code-kanban 4.3.0 → 4.5.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/lib/parsers.js +103 -10
- package/package.json +1 -1
- package/plugin/plugins/claude-code-kanban/.claude-plugin/plugin.json +1 -1
- package/plugin/plugins/claude-code-kanban/scripts/agent-spy.sh +1 -1
- package/public/app.js +329 -47
- package/public/index.html +19 -0
- package/public/style.css +235 -4
- package/server.js +334 -87
package/public/style.css
CHANGED
|
@@ -525,6 +525,24 @@ body::before {
|
|
|
525
525
|
text-overflow: ellipsis;
|
|
526
526
|
}
|
|
527
527
|
|
|
528
|
+
.session-goal {
|
|
529
|
+
font-size: 10px;
|
|
530
|
+
margin-top: 2px;
|
|
531
|
+
white-space: nowrap;
|
|
532
|
+
overflow: hidden;
|
|
533
|
+
text-overflow: ellipsis;
|
|
534
|
+
cursor: pointer;
|
|
535
|
+
color: var(--warning);
|
|
536
|
+
}
|
|
537
|
+
.session-goal .session-goal-icon {
|
|
538
|
+
margin-right: 3px;
|
|
539
|
+
font-weight: 700;
|
|
540
|
+
}
|
|
541
|
+
.session-goal:hover {
|
|
542
|
+
text-decoration: underline;
|
|
543
|
+
text-underline-offset: 2px;
|
|
544
|
+
}
|
|
545
|
+
|
|
528
546
|
.session-item.plan-reveal {
|
|
529
547
|
outline: 1.5px solid var(--plan);
|
|
530
548
|
background: var(--plan-dim);
|
|
@@ -1868,6 +1886,36 @@ body::before {
|
|
|
1868
1886
|
border-top: 1px solid var(--border);
|
|
1869
1887
|
}
|
|
1870
1888
|
|
|
1889
|
+
.info-goal-card {
|
|
1890
|
+
margin: 12px 0;
|
|
1891
|
+
padding: 10px 14px;
|
|
1892
|
+
background: var(--bg-elevated);
|
|
1893
|
+
border: 1px solid var(--border);
|
|
1894
|
+
border-left: 3px solid var(--warning);
|
|
1895
|
+
border-radius: 8px;
|
|
1896
|
+
}
|
|
1897
|
+
.info-goal-head {
|
|
1898
|
+
display: flex;
|
|
1899
|
+
align-items: center;
|
|
1900
|
+
gap: 6px;
|
|
1901
|
+
font-size: 11px;
|
|
1902
|
+
font-weight: 600;
|
|
1903
|
+
text-transform: uppercase;
|
|
1904
|
+
letter-spacing: 0.5px;
|
|
1905
|
+
color: var(--text-muted);
|
|
1906
|
+
}
|
|
1907
|
+
.info-goal-icon {
|
|
1908
|
+
color: var(--warning);
|
|
1909
|
+
}
|
|
1910
|
+
.info-goal-text {
|
|
1911
|
+
margin-top: 6px;
|
|
1912
|
+
font-size: 13px;
|
|
1913
|
+
line-height: 1.45;
|
|
1914
|
+
color: var(--text-primary);
|
|
1915
|
+
white-space: pre-wrap;
|
|
1916
|
+
word-break: break-word;
|
|
1917
|
+
}
|
|
1918
|
+
|
|
1871
1919
|
.info-grid {
|
|
1872
1920
|
display: grid;
|
|
1873
1921
|
grid-template-columns: auto 1fr auto;
|
|
@@ -2501,12 +2549,27 @@ body::before {
|
|
|
2501
2549
|
color: var(--danger, #e54d4d);
|
|
2502
2550
|
}
|
|
2503
2551
|
.msg-waiting .msg-text {
|
|
2552
|
+
font-weight: 500;
|
|
2553
|
+
}
|
|
2554
|
+
.msg-waiting-pill {
|
|
2555
|
+
display: inline-block;
|
|
2556
|
+
padding: 1px 6px;
|
|
2557
|
+
margin-right: 6px;
|
|
2558
|
+
border-radius: 3px;
|
|
2559
|
+
background: color-mix(in srgb, var(--warning, #f5a623) 22%, transparent);
|
|
2560
|
+
color: var(--warning, #f5a623);
|
|
2561
|
+
font-size: 10px;
|
|
2504
2562
|
font-weight: 600;
|
|
2563
|
+
text-transform: uppercase;
|
|
2564
|
+
letter-spacing: 0.3px;
|
|
2565
|
+
vertical-align: middle;
|
|
2505
2566
|
}
|
|
2506
|
-
.msg-waiting-
|
|
2507
|
-
font-size:
|
|
2508
|
-
|
|
2509
|
-
|
|
2567
|
+
.msg-waiting-body {
|
|
2568
|
+
font-size: 12px;
|
|
2569
|
+
margin-top: 4px;
|
|
2570
|
+
word-break: break-word;
|
|
2571
|
+
}
|
|
2572
|
+
.msg-waiting-body pre {
|
|
2510
2573
|
white-space: pre-wrap;
|
|
2511
2574
|
word-break: break-word;
|
|
2512
2575
|
}
|
|
@@ -3351,6 +3414,164 @@ select.form-input option:checked {
|
|
|
3351
3414
|
|
|
3352
3415
|
/* #endregion */
|
|
3353
3416
|
|
|
3417
|
+
/* #region TOOL_STATS */
|
|
3418
|
+
.modal.tool-stats-modal {
|
|
3419
|
+
width: 90%;
|
|
3420
|
+
max-width: 860px;
|
|
3421
|
+
max-height: 85vh;
|
|
3422
|
+
display: flex;
|
|
3423
|
+
flex-direction: column;
|
|
3424
|
+
}
|
|
3425
|
+
|
|
3426
|
+
.tool-stats-summary {
|
|
3427
|
+
display: flex;
|
|
3428
|
+
gap: 12px;
|
|
3429
|
+
flex-wrap: wrap;
|
|
3430
|
+
margin-bottom: 20px;
|
|
3431
|
+
}
|
|
3432
|
+
|
|
3433
|
+
.tool-stats-chip {
|
|
3434
|
+
display: flex;
|
|
3435
|
+
flex-direction: column;
|
|
3436
|
+
align-items: center;
|
|
3437
|
+
background: var(--bg-secondary);
|
|
3438
|
+
border: 1px solid var(--border);
|
|
3439
|
+
border-radius: 8px;
|
|
3440
|
+
padding: 10px 16px;
|
|
3441
|
+
min-width: 80px;
|
|
3442
|
+
}
|
|
3443
|
+
|
|
3444
|
+
.tool-stats-chip-val {
|
|
3445
|
+
font-size: 22px;
|
|
3446
|
+
font-weight: 600;
|
|
3447
|
+
color: var(--text-primary);
|
|
3448
|
+
line-height: 1;
|
|
3449
|
+
}
|
|
3450
|
+
|
|
3451
|
+
.tool-stats-chip-val.failed {
|
|
3452
|
+
color: var(--status-failed, #ef4444);
|
|
3453
|
+
}
|
|
3454
|
+
|
|
3455
|
+
.tool-stats-chip-lbl {
|
|
3456
|
+
font-size: 11px;
|
|
3457
|
+
color: var(--text-tertiary);
|
|
3458
|
+
margin-top: 4px;
|
|
3459
|
+
text-transform: uppercase;
|
|
3460
|
+
letter-spacing: 0.04em;
|
|
3461
|
+
}
|
|
3462
|
+
|
|
3463
|
+
.tool-stats-table {
|
|
3464
|
+
width: 100%;
|
|
3465
|
+
border-collapse: collapse;
|
|
3466
|
+
font-size: 13px;
|
|
3467
|
+
margin-bottom: 8px;
|
|
3468
|
+
}
|
|
3469
|
+
|
|
3470
|
+
.tool-stats-table thead th {
|
|
3471
|
+
text-align: right;
|
|
3472
|
+
padding: 6px 10px;
|
|
3473
|
+
font-size: 11px;
|
|
3474
|
+
font-weight: 600;
|
|
3475
|
+
color: var(--text-tertiary);
|
|
3476
|
+
text-transform: uppercase;
|
|
3477
|
+
letter-spacing: 0.05em;
|
|
3478
|
+
border-bottom: 1px solid var(--border);
|
|
3479
|
+
cursor: pointer;
|
|
3480
|
+
user-select: none;
|
|
3481
|
+
white-space: nowrap;
|
|
3482
|
+
}
|
|
3483
|
+
|
|
3484
|
+
.tool-stats-table thead th:first-child {
|
|
3485
|
+
text-align: left;
|
|
3486
|
+
}
|
|
3487
|
+
|
|
3488
|
+
.tool-stats-table thead th:hover {
|
|
3489
|
+
color: var(--text-primary);
|
|
3490
|
+
}
|
|
3491
|
+
|
|
3492
|
+
.tool-stats-table tbody tr:nth-child(even) {
|
|
3493
|
+
background: var(--bg-secondary);
|
|
3494
|
+
}
|
|
3495
|
+
|
|
3496
|
+
.tool-stats-table tbody td {
|
|
3497
|
+
padding: 6px 10px;
|
|
3498
|
+
text-align: right;
|
|
3499
|
+
color: var(--text-primary);
|
|
3500
|
+
border-bottom: 1px solid var(--border-subtle, var(--border));
|
|
3501
|
+
}
|
|
3502
|
+
|
|
3503
|
+
.tool-stats-table tbody td.tool-name {
|
|
3504
|
+
text-align: left;
|
|
3505
|
+
font-family: var(--font-mono, monospace);
|
|
3506
|
+
font-size: 12px;
|
|
3507
|
+
}
|
|
3508
|
+
|
|
3509
|
+
.impact-cell-inner {
|
|
3510
|
+
display: flex;
|
|
3511
|
+
align-items: center;
|
|
3512
|
+
justify-content: flex-end;
|
|
3513
|
+
gap: 6px;
|
|
3514
|
+
}
|
|
3515
|
+
|
|
3516
|
+
.badge-success {
|
|
3517
|
+
display: inline-block;
|
|
3518
|
+
background: rgba(34, 197, 94, 0.15);
|
|
3519
|
+
color: #22c55e;
|
|
3520
|
+
border-radius: 4px;
|
|
3521
|
+
padding: 1px 6px;
|
|
3522
|
+
font-size: 12px;
|
|
3523
|
+
font-weight: 600;
|
|
3524
|
+
}
|
|
3525
|
+
|
|
3526
|
+
.badge-failed {
|
|
3527
|
+
display: inline-block;
|
|
3528
|
+
background: rgba(239, 68, 68, 0.15);
|
|
3529
|
+
color: #ef4444;
|
|
3530
|
+
border-radius: 4px;
|
|
3531
|
+
padding: 1px 6px;
|
|
3532
|
+
font-size: 12px;
|
|
3533
|
+
font-weight: 600;
|
|
3534
|
+
}
|
|
3535
|
+
|
|
3536
|
+
.badge-rejected {
|
|
3537
|
+
display: inline-block;
|
|
3538
|
+
background: rgba(245, 158, 11, 0.15);
|
|
3539
|
+
color: #f59e0b;
|
|
3540
|
+
border-radius: 4px;
|
|
3541
|
+
padding: 1px 6px;
|
|
3542
|
+
font-size: 12px;
|
|
3543
|
+
font-weight: 600;
|
|
3544
|
+
}
|
|
3545
|
+
|
|
3546
|
+
.tool-stats-chip-val.rejected {
|
|
3547
|
+
color: #f59e0b;
|
|
3548
|
+
}
|
|
3549
|
+
|
|
3550
|
+
.impact-bar-wrap {
|
|
3551
|
+
width: 48px;
|
|
3552
|
+
height: 6px;
|
|
3553
|
+
border-radius: 3px;
|
|
3554
|
+
background: var(--bg-hover, var(--bg-secondary));
|
|
3555
|
+
flex-shrink: 0;
|
|
3556
|
+
overflow: hidden;
|
|
3557
|
+
}
|
|
3558
|
+
|
|
3559
|
+
.impact-bar-fill {
|
|
3560
|
+
height: 100%;
|
|
3561
|
+
border-radius: 3px;
|
|
3562
|
+
background: var(--accent, #6366f1);
|
|
3563
|
+
min-width: 2px;
|
|
3564
|
+
}
|
|
3565
|
+
|
|
3566
|
+
.impact-pct {
|
|
3567
|
+
font-size: 12px;
|
|
3568
|
+
font-weight: 500;
|
|
3569
|
+
color: var(--text-primary);
|
|
3570
|
+
min-width: 32px;
|
|
3571
|
+
text-align: right;
|
|
3572
|
+
}
|
|
3573
|
+
/* #endregion */
|
|
3574
|
+
|
|
3354
3575
|
/* #region SCRATCHPAD */
|
|
3355
3576
|
.scratchpad-modal {
|
|
3356
3577
|
width: 90%;
|
|
@@ -3805,6 +4026,16 @@ pre.mermaid svg {
|
|
|
3805
4026
|
line-height: 1;
|
|
3806
4027
|
}
|
|
3807
4028
|
|
|
4029
|
+
.project-group-header .group-count-active {
|
|
4030
|
+
color: var(--success);
|
|
4031
|
+
font-weight: 500;
|
|
4032
|
+
}
|
|
4033
|
+
|
|
4034
|
+
.project-group-header .group-count-sep {
|
|
4035
|
+
margin: 0 1px;
|
|
4036
|
+
opacity: 0.5;
|
|
4037
|
+
}
|
|
4038
|
+
|
|
3808
4039
|
.project-group-header .group-path-toggle {
|
|
3809
4040
|
color: var(--text-muted);
|
|
3810
4041
|
cursor: pointer;
|