claude-code-kanban 7.4.0 → 7.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/README.md +5 -3
- package/cli.js +95 -29
- package/lib/panes.js +26 -5
- package/lib/parsers.js +15 -1
- package/lib/retention.js +25 -0
- package/lib/scratchpad-dir.js +19 -2
- package/lib/session-cache.js +1 -1
- package/lib/session-events.js +33 -18
- package/lib/task-dir.js +26 -0
- package/lib/terminal.js +1 -1
- package/package.json +1 -1
- package/plugin/plugins/claude-code-kanban/.claude-plugin/plugin.json +2 -5
- package/plugin/plugins/claude-code-kanban/hooks/doorbell.ts +80 -0
- package/plugin/plugins/claude-code-kanban/hooks/index.ts +2 -0
- package/plugin/plugins/claude-code-kanban/skills/kanban/SKILL.md +1 -3
- package/plugin/plugins/claude-code-kanban/tests/doorbell.test.ts +74 -0
- package/public/app.js +1019 -1001
- package/public/index.html +13 -31
- package/public/style.css +190 -29
- package/server.js +171 -159
- package/plugin/plugins/claude-code-kanban/monitors.json +0 -8
- package/plugin/plugins/claude-code-kanban/scripts/postman.js +0 -82
- package/plugin/plugins/claude-code-kanban/skills/follow/SKILL.md +0 -47
package/public/index.html
CHANGED
|
@@ -32,6 +32,9 @@
|
|
|
32
32
|
</head>
|
|
33
33
|
<body class="booting">
|
|
34
34
|
<script src="/vendor/claude-hub-sdk.js"></script>
|
|
35
|
+
<svg width="0" height="0" style="position:absolute" aria-hidden="true">
|
|
36
|
+
<symbol id="icon-pane" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M3 9h18M9 4v5"/></symbol>
|
|
37
|
+
</svg>
|
|
35
38
|
<div id="offline-overlay" class="offline-overlay">
|
|
36
39
|
<div class="offline-card">
|
|
37
40
|
<div class="clawd-sleep" aria-hidden="true">
|
|
@@ -65,7 +68,7 @@
|
|
|
65
68
|
<header class="sidebar-header">
|
|
66
69
|
<div id="activity-chips" class="activity-chips"></div>
|
|
67
70
|
<button id="new-session-btn" class="new-session-pill" onclick="openNewSession()" title="New session (Ctrl+Alt+N)" hidden>+ New</button>
|
|
68
|
-
<button id="sidebar-toggle" class="sidebar-toggle-btn" onclick="toggleSidebar()" title="Toggle sidebar" aria-label="Toggle sidebar">
|
|
71
|
+
<button id="sidebar-toggle" class="sidebar-toggle-btn" onclick="toggleSidebar()" title="Toggle sidebar (\)" aria-label="Toggle sidebar">
|
|
69
72
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
70
73
|
<path d="M15 18l-6-6 6-6"/>
|
|
71
74
|
</svg>
|
|
@@ -265,7 +268,7 @@
|
|
|
265
268
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"/><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"/><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"/><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"/><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"/></svg>
|
|
266
269
|
<div class="theme-menu" id="themeMenu"></div>
|
|
267
270
|
</span>
|
|
268
|
-
<button id="theme-toggle" class="icon-btn" onclick="toggleTheme()" title="Toggle theme" aria-label="Toggle theme">
|
|
271
|
+
<button id="theme-toggle" class="icon-btn" onclick="toggleTheme()" title="Toggle theme (T)" aria-label="Toggle theme">
|
|
269
272
|
<svg id="theme-icon-dark" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
270
273
|
<path d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"/>
|
|
271
274
|
</svg>
|
|
@@ -358,7 +361,7 @@
|
|
|
358
361
|
<div id="terminal-pane" class="terminal-pane">
|
|
359
362
|
<div class="terminal-bar">
|
|
360
363
|
<span id="terminal-status" class="terminal-status"></span>
|
|
361
|
-
<button class="icon-btn" onclick="endTerminalSession()" title="End
|
|
364
|
+
<button class="icon-btn" onclick="endTerminalSession()" title="End terminal (Alt+Shift+`)" aria-label="End terminal">
|
|
362
365
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
363
366
|
<rect x="6" y="6" width="12" height="12" rx="1"/>
|
|
364
367
|
</svg>
|
|
@@ -431,6 +434,9 @@
|
|
|
431
434
|
<button id="msg-detail-agent-btn" class="icon-btn" aria-label="View Agent" title="View Agent" style="display:none" onclick="closeMsgDetailModal();showAgentModal(this.dataset.agentId)">
|
|
432
435
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="16" height="16"><rect x="4" y="10" width="16" height="10" rx="2"/><circle cx="9" cy="15" r="1"/><circle cx="15" cy="15" r="1"/><path d="M12 2v4"/><path d="M2 14h2"/><path d="M20 14h2"/></svg>
|
|
433
436
|
</button>
|
|
437
|
+
<button id="msg-detail-pane-btn" class="icon-btn" aria-label="Open in a pane" title="Open in a pane" style="display:none" onclick="openMsgInPane()">
|
|
438
|
+
<svg fill="none" stroke="currentColor" stroke-width="2" width="16" height="16"><use href="#icon-pane"/></svg>
|
|
439
|
+
</button>
|
|
434
440
|
<button id="msg-detail-pin-btn" class="icon-btn" aria-label="Pin message" title="Pin message" onclick="togglePinFromModal()">
|
|
435
441
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="16" height="16"><path d="M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"/></svg>
|
|
436
442
|
</button>
|
|
@@ -466,7 +472,7 @@
|
|
|
466
472
|
<h3 class="modal-title" id="preview-modal-title">Preview</h3>
|
|
467
473
|
<div style="display:flex;gap:4px;align-items:center;">
|
|
468
474
|
<button id="preview-pane-btn" class="icon-btn" aria-label="Open in a pane" title="Open in a pane" onclick="openPreviewInPane()">
|
|
469
|
-
<svg
|
|
475
|
+
<svg fill="none" stroke="currentColor" stroke-width="2" width="16" height="16"><use href="#icon-pane"/></svg>
|
|
470
476
|
</button>
|
|
471
477
|
<button id="preview-link-btn" class="icon-btn" aria-label="Link to current session" title="Link to current session" onclick="togglePreviewSessionLink()">
|
|
472
478
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="16" height="16"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>
|
|
@@ -593,6 +599,9 @@
|
|
|
593
599
|
<div class="modal-header">
|
|
594
600
|
<h3 id="plan-modal-title" class="modal-title">Plan</h3>
|
|
595
601
|
<div style="display:flex;align-items:center;gap:4px;">
|
|
602
|
+
<button id="plan-pane-btn" class="icon-btn" aria-label="Open in a pane" title="Open in a pane" style="display:none" onclick="openPlanInPane()">
|
|
603
|
+
<svg fill="none" stroke="currentColor" stroke-width="2" width="16" height="16"><use href="#icon-pane"/></svg>
|
|
604
|
+
</button>
|
|
596
605
|
<button class="icon-btn" aria-label="Open in editor" title="Open in editor" onclick="openPlanInEditor()">
|
|
597
606
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="16" height="16"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>
|
|
598
607
|
</button>
|
|
@@ -621,33 +630,6 @@
|
|
|
621
630
|
</div>
|
|
622
631
|
</div>
|
|
623
632
|
|
|
624
|
-
<!-- Blocked Task Warning Modal -->
|
|
625
|
-
<div id="blocked-task-modal" class="modal-overlay" onclick="closeBlockedTaskModal()">
|
|
626
|
-
<div class="modal modal-sm" onclick="event.stopPropagation()">
|
|
627
|
-
<div class="modal-header">
|
|
628
|
-
<h3 class="modal-title" style="display: flex; align-items: center; gap: 8px;">
|
|
629
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="var(--danger)" stroke-width="2" style="width: 20px; height: 20px;">
|
|
630
|
-
<circle cx="12" cy="12" r="10"/>
|
|
631
|
-
<line x1="15" y1="9" x2="9" y2="15"/>
|
|
632
|
-
<line x1="9" y1="9" x2="15" y2="15"/>
|
|
633
|
-
</svg>
|
|
634
|
-
Cannot Start Blocked Task
|
|
635
|
-
</h3>
|
|
636
|
-
<button class="modal-close" aria-label="Close dialog" onclick="closeBlockedTaskModal()">
|
|
637
|
-
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
638
|
-
<path d="M18 6L6 18M6 6l12 12"/>
|
|
639
|
-
</svg>
|
|
640
|
-
</button>
|
|
641
|
-
</div>
|
|
642
|
-
<div class="modal-body">
|
|
643
|
-
<div id="blocked-task-message" style="color: var(--text-primary); line-height: 1.6;"></div>
|
|
644
|
-
</div>
|
|
645
|
-
<div class="modal-footer">
|
|
646
|
-
<button class="btn btn-secondary" onclick="closeBlockedTaskModal()">OK</button>
|
|
647
|
-
</div>
|
|
648
|
-
</div>
|
|
649
|
-
</div>
|
|
650
|
-
|
|
651
633
|
<!-- Loop Wakeups Modal -->
|
|
652
634
|
<div id="loop-modal" class="modal-overlay" onclick="closeLoopModal()">
|
|
653
635
|
<div class="modal plan-modal" onclick="event.stopPropagation()">
|
package/public/style.css
CHANGED
|
@@ -25,9 +25,19 @@
|
|
|
25
25
|
--warning-dim: rgba(240, 180, 41, 0.18);
|
|
26
26
|
--danger: #ef5350;
|
|
27
27
|
--danger-dim: rgba(239, 83, 80, 0.18);
|
|
28
|
-
--
|
|
28
|
+
--info: #60a5fa;
|
|
29
29
|
--plan: #86a886;
|
|
30
30
|
--plan-dim: rgba(134, 168, 134, 0.18);
|
|
31
|
+
--owner-blue: #9cc2fb;
|
|
32
|
+
--owner-purple: #cdb8fa;
|
|
33
|
+
--owner-teal: #7fe2c9;
|
|
34
|
+
--owner-orange: #f7ad8b;
|
|
35
|
+
--owner-yellow: #ecce7a;
|
|
36
|
+
--owner-pink: #f8a9cf;
|
|
37
|
+
--owner-green: #9be1ab;
|
|
38
|
+
--owner-indigo: #c0c2fc;
|
|
39
|
+
--owner-red: #f9a3a3;
|
|
40
|
+
--owner-cyan: #7dd8ea;
|
|
31
41
|
--ansi-red: #e06c66;
|
|
32
42
|
--ansi-green: #3ecf8e;
|
|
33
43
|
--ansi-yellow: #e0b04a;
|
|
@@ -2285,8 +2295,8 @@ body.booting .boot-splash {
|
|
|
2285
2295
|
}
|
|
2286
2296
|
|
|
2287
2297
|
.detail-box.active {
|
|
2288
|
-
background:
|
|
2289
|
-
border: 1px solid
|
|
2298
|
+
background: color-mix(in srgb, var(--accent) 8%, transparent);
|
|
2299
|
+
border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent);
|
|
2290
2300
|
color: var(--text-primary);
|
|
2291
2301
|
}
|
|
2292
2302
|
|
|
@@ -2720,7 +2730,7 @@ code.language-tree .hljs-title {
|
|
|
2720
2730
|
}
|
|
2721
2731
|
|
|
2722
2732
|
.wf-phase-mark.done {
|
|
2723
|
-
color: var(--
|
|
2733
|
+
color: var(--success);
|
|
2724
2734
|
}
|
|
2725
2735
|
|
|
2726
2736
|
.wf-phase-title {
|
|
@@ -2777,7 +2787,7 @@ code.language-tree .hljs-title {
|
|
|
2777
2787
|
}
|
|
2778
2788
|
|
|
2779
2789
|
.wf-agent-status.done {
|
|
2780
|
-
color: var(--
|
|
2790
|
+
color: var(--success);
|
|
2781
2791
|
}
|
|
2782
2792
|
|
|
2783
2793
|
.wf-agent-status.running {
|
|
@@ -3038,9 +3048,9 @@ code.language-tree .hljs-title {
|
|
|
3038
3048
|
text-transform: capitalize;
|
|
3039
3049
|
}
|
|
3040
3050
|
.agent-chip-running {
|
|
3041
|
-
background:
|
|
3042
|
-
color:
|
|
3043
|
-
border-color:
|
|
3051
|
+
background: var(--success-dim);
|
|
3052
|
+
color: color-mix(in srgb, var(--success) 45%, var(--text-primary));
|
|
3053
|
+
border-color: color-mix(in srgb, var(--success) 35%, transparent);
|
|
3044
3054
|
}
|
|
3045
3055
|
.agent-chip-stopped {
|
|
3046
3056
|
background: rgba(127, 127, 127, 0.15);
|
|
@@ -3049,9 +3059,9 @@ code.language-tree .hljs-title {
|
|
|
3049
3059
|
}
|
|
3050
3060
|
.agent-chip-error,
|
|
3051
3061
|
.agent-chip-failed {
|
|
3052
|
-
background:
|
|
3053
|
-
color:
|
|
3054
|
-
border-color:
|
|
3062
|
+
background: var(--danger-dim);
|
|
3063
|
+
color: color-mix(in srgb, var(--danger) 55%, var(--text-primary));
|
|
3064
|
+
border-color: color-mix(in srgb, var(--danger) 35%, transparent);
|
|
3055
3065
|
}
|
|
3056
3066
|
.team-modal-desc {
|
|
3057
3067
|
font-size: 12px;
|
|
@@ -3119,6 +3129,49 @@ code.language-tree .hljs-title {
|
|
|
3119
3129
|
}
|
|
3120
3130
|
}
|
|
3121
3131
|
|
|
3132
|
+
.plan-card {
|
|
3133
|
+
margin-bottom: 16px;
|
|
3134
|
+
padding: 10px 14px;
|
|
3135
|
+
background: var(--bg-elevated);
|
|
3136
|
+
border: 1px solid var(--border);
|
|
3137
|
+
border-radius: 8px;
|
|
3138
|
+
cursor: pointer;
|
|
3139
|
+
display: flex;
|
|
3140
|
+
align-items: center;
|
|
3141
|
+
gap: 10px;
|
|
3142
|
+
transition: all 0.15s ease;
|
|
3143
|
+
}
|
|
3144
|
+
.plan-card:hover {
|
|
3145
|
+
border-color: var(--accent);
|
|
3146
|
+
background: var(--bg-hover);
|
|
3147
|
+
}
|
|
3148
|
+
.plan-card-icon {
|
|
3149
|
+
font-size: 14px;
|
|
3150
|
+
}
|
|
3151
|
+
.plan-card-text {
|
|
3152
|
+
flex: 1;
|
|
3153
|
+
min-width: 0;
|
|
3154
|
+
}
|
|
3155
|
+
.plan-card-label {
|
|
3156
|
+
font-size: 11px;
|
|
3157
|
+
font-weight: 500;
|
|
3158
|
+
color: var(--text-muted);
|
|
3159
|
+
text-transform: uppercase;
|
|
3160
|
+
letter-spacing: 0.5px;
|
|
3161
|
+
}
|
|
3162
|
+
.plan-card-title {
|
|
3163
|
+
font-size: 13px;
|
|
3164
|
+
color: var(--text-primary);
|
|
3165
|
+
white-space: nowrap;
|
|
3166
|
+
overflow: hidden;
|
|
3167
|
+
text-overflow: ellipsis;
|
|
3168
|
+
}
|
|
3169
|
+
.plan-card-chevron {
|
|
3170
|
+
width: 16px;
|
|
3171
|
+
height: 16px;
|
|
3172
|
+
flex-shrink: 0;
|
|
3173
|
+
}
|
|
3174
|
+
|
|
3122
3175
|
/* #endregion */
|
|
3123
3176
|
|
|
3124
3177
|
/* #region OWNER_FILTER */
|
|
@@ -3541,6 +3594,14 @@ code.language-tree .hljs-title {
|
|
|
3541
3594
|
opacity: 0.5;
|
|
3542
3595
|
}
|
|
3543
3596
|
|
|
3597
|
+
.pane-strip .drop-before {
|
|
3598
|
+
box-shadow: inset 2px 0 0 var(--accent);
|
|
3599
|
+
}
|
|
3600
|
+
|
|
3601
|
+
.pane-strip .drop-after {
|
|
3602
|
+
box-shadow: inset -2px 0 0 var(--accent);
|
|
3603
|
+
}
|
|
3604
|
+
|
|
3544
3605
|
.pane-pair {
|
|
3545
3606
|
display: flex;
|
|
3546
3607
|
flex: 0 1 auto;
|
|
@@ -3590,6 +3651,18 @@ code.language-tree .hljs-title {
|
|
|
3590
3651
|
text-overflow: ellipsis;
|
|
3591
3652
|
}
|
|
3592
3653
|
|
|
3654
|
+
.pane-tab .pane-title-input {
|
|
3655
|
+
flex: 1;
|
|
3656
|
+
min-width: 80px;
|
|
3657
|
+
padding: 0 4px;
|
|
3658
|
+
font: inherit;
|
|
3659
|
+
color: var(--text-primary);
|
|
3660
|
+
background: var(--bg-deep);
|
|
3661
|
+
border: 1px solid var(--accent);
|
|
3662
|
+
border-radius: 3px;
|
|
3663
|
+
outline: none;
|
|
3664
|
+
}
|
|
3665
|
+
|
|
3593
3666
|
.pane-tab .pin-meta {
|
|
3594
3667
|
color: var(--text-muted);
|
|
3595
3668
|
font-size: 10px;
|
|
@@ -3976,6 +4049,12 @@ code.language-tree .hljs-title {
|
|
|
3976
4049
|
word-break: break-word;
|
|
3977
4050
|
}
|
|
3978
4051
|
|
|
4052
|
+
.pane-msg-meta {
|
|
4053
|
+
margin-bottom: 12px;
|
|
4054
|
+
font-size: 11px;
|
|
4055
|
+
color: var(--text-muted);
|
|
4056
|
+
}
|
|
4057
|
+
|
|
3979
4058
|
/* The modal's corner grip; the pane fills the height, so it sets the width only. */
|
|
3980
4059
|
.pane-doc > .modal-resize-handle {
|
|
3981
4060
|
cursor: ew-resize;
|
|
@@ -4651,6 +4730,17 @@ code.language-tree .hljs-title {
|
|
|
4651
4730
|
display: block;
|
|
4652
4731
|
overflow-x: auto;
|
|
4653
4732
|
}
|
|
4733
|
+
/* The bodies around these tables set `word-break: break-word`, which lets a cell break
|
|
4734
|
+
between any two letters, so the table layout shrinks short columns to one letter. */
|
|
4735
|
+
.rendered-md th,
|
|
4736
|
+
.rendered-md td,
|
|
4737
|
+
.waiting-question-text th,
|
|
4738
|
+
.waiting-question-text td,
|
|
4739
|
+
.waiting-option-desc th,
|
|
4740
|
+
.waiting-option-desc td {
|
|
4741
|
+
word-break: normal;
|
|
4742
|
+
overflow-wrap: break-word;
|
|
4743
|
+
}
|
|
4654
4744
|
.rendered-md th,
|
|
4655
4745
|
.rendered-md td {
|
|
4656
4746
|
border: 1px solid var(--border);
|
|
@@ -4682,6 +4772,55 @@ code.language-tree .hljs-title {
|
|
|
4682
4772
|
border-radius: 6px;
|
|
4683
4773
|
padding: 8px 10px;
|
|
4684
4774
|
}
|
|
4775
|
+
.msg-detail-pre-old,
|
|
4776
|
+
.msg-detail-pre-new {
|
|
4777
|
+
max-height: 200px;
|
|
4778
|
+
overflow: auto;
|
|
4779
|
+
padding-left: 8px;
|
|
4780
|
+
}
|
|
4781
|
+
.msg-detail-pre-old {
|
|
4782
|
+
border-left: 3px solid var(--danger);
|
|
4783
|
+
}
|
|
4784
|
+
.msg-detail-pre-new {
|
|
4785
|
+
border-left: 3px solid var(--success);
|
|
4786
|
+
}
|
|
4787
|
+
.tool-detail-section {
|
|
4788
|
+
margin-top: 8px;
|
|
4789
|
+
padding-top: 6px;
|
|
4790
|
+
border-top: 1px solid var(--border);
|
|
4791
|
+
}
|
|
4792
|
+
.tool-detail-section-wide {
|
|
4793
|
+
margin-top: 10px;
|
|
4794
|
+
padding-top: 8px;
|
|
4795
|
+
border-top: 1px solid var(--border);
|
|
4796
|
+
}
|
|
4797
|
+
.tool-detail-label {
|
|
4798
|
+
font-size: 0.75rem;
|
|
4799
|
+
color: var(--text-muted);
|
|
4800
|
+
margin-bottom: 2px;
|
|
4801
|
+
}
|
|
4802
|
+
.tool-detail-heading {
|
|
4803
|
+
font-size: 0.8rem;
|
|
4804
|
+
color: var(--text-muted);
|
|
4805
|
+
margin-bottom: 4px;
|
|
4806
|
+
}
|
|
4807
|
+
.tool-detail-pre-scroll {
|
|
4808
|
+
max-height: 300px;
|
|
4809
|
+
overflow: auto;
|
|
4810
|
+
}
|
|
4811
|
+
.modal-status {
|
|
4812
|
+
padding: 16px;
|
|
4813
|
+
color: var(--text-secondary);
|
|
4814
|
+
}
|
|
4815
|
+
.modal-status-tight {
|
|
4816
|
+
padding: 8px 0;
|
|
4817
|
+
color: var(--text-secondary);
|
|
4818
|
+
}
|
|
4819
|
+
.modal-empty {
|
|
4820
|
+
padding: 24px;
|
|
4821
|
+
text-align: center;
|
|
4822
|
+
color: var(--text-secondary);
|
|
4823
|
+
}
|
|
4685
4824
|
.expand-toggle-btn {
|
|
4686
4825
|
background: none;
|
|
4687
4826
|
border: none;
|
|
@@ -4758,7 +4897,7 @@ code.language-tree .hljs-title {
|
|
|
4758
4897
|
font-size: 11px;
|
|
4759
4898
|
}
|
|
4760
4899
|
.msg-item.msg-teammate {
|
|
4761
|
-
border-left: 3px solid var(--
|
|
4900
|
+
border-left: 3px solid var(--info);
|
|
4762
4901
|
}
|
|
4763
4902
|
.msg-item.msg-protocol {
|
|
4764
4903
|
border-left: 3px solid var(--border);
|
|
@@ -4769,8 +4908,8 @@ code.language-tree .hljs-title {
|
|
|
4769
4908
|
opacity: 0.75;
|
|
4770
4909
|
}
|
|
4771
4910
|
.msg-item.msg-waiting {
|
|
4772
|
-
border-left: 3px solid var(--warning
|
|
4773
|
-
background: color-mix(in srgb, var(--warning
|
|
4911
|
+
border-left: 3px solid var(--warning);
|
|
4912
|
+
background: color-mix(in srgb, var(--warning) 8%, transparent);
|
|
4774
4913
|
animation: msg-waiting-pulse 2s ease-in-out infinite;
|
|
4775
4914
|
cursor: pointer;
|
|
4776
4915
|
}
|
|
@@ -4803,8 +4942,8 @@ code.language-tree .hljs-title {
|
|
|
4803
4942
|
padding: 1px 6px;
|
|
4804
4943
|
margin-right: 6px;
|
|
4805
4944
|
border-radius: 3px;
|
|
4806
|
-
background: color-mix(in srgb, var(--warning
|
|
4807
|
-
color: var(--warning
|
|
4945
|
+
background: color-mix(in srgb, var(--warning) 22%, transparent);
|
|
4946
|
+
color: var(--warning);
|
|
4808
4947
|
font-size: 10px;
|
|
4809
4948
|
font-weight: 600;
|
|
4810
4949
|
text-transform: uppercase;
|
|
@@ -4823,10 +4962,10 @@ code.language-tree .hljs-title {
|
|
|
4823
4962
|
@keyframes msg-waiting-pulse {
|
|
4824
4963
|
0%,
|
|
4825
4964
|
100% {
|
|
4826
|
-
background: color-mix(in srgb, var(--warning
|
|
4965
|
+
background: color-mix(in srgb, var(--warning) 8%, transparent);
|
|
4827
4966
|
}
|
|
4828
4967
|
50% {
|
|
4829
|
-
background: color-mix(in srgb, var(--warning
|
|
4968
|
+
background: color-mix(in srgb, var(--warning) 16%, transparent);
|
|
4830
4969
|
}
|
|
4831
4970
|
}
|
|
4832
4971
|
.msg-waiting-footer {
|
|
@@ -4899,21 +5038,21 @@ code.language-tree .hljs-title {
|
|
|
4899
5038
|
buttons need the descendant selector to out-rank `.msg-waiting-actions button` */
|
|
4900
5039
|
.waiting-btn-allow,
|
|
4901
5040
|
.msg-waiting-actions .msg-waiting-allow {
|
|
4902
|
-
color: var(--success
|
|
4903
|
-
border-color: color-mix(in srgb, var(--success
|
|
5041
|
+
color: var(--success);
|
|
5042
|
+
border-color: color-mix(in srgb, var(--success) 35%, transparent);
|
|
4904
5043
|
}
|
|
4905
5044
|
.waiting-btn-allow:hover:not(:disabled),
|
|
4906
5045
|
.msg-waiting-actions .msg-waiting-allow:hover {
|
|
4907
|
-
background: color-mix(in srgb, var(--success
|
|
5046
|
+
background: color-mix(in srgb, var(--success) 10%, transparent);
|
|
4908
5047
|
}
|
|
4909
5048
|
.waiting-btn-deny,
|
|
4910
5049
|
.msg-waiting-actions .msg-waiting-deny {
|
|
4911
|
-
color: var(--danger
|
|
4912
|
-
border-color: color-mix(in srgb, var(--danger
|
|
5050
|
+
color: var(--danger);
|
|
5051
|
+
border-color: color-mix(in srgb, var(--danger) 35%, transparent);
|
|
4913
5052
|
}
|
|
4914
5053
|
.waiting-btn-deny:hover,
|
|
4915
5054
|
.msg-waiting-actions .msg-waiting-deny:hover {
|
|
4916
|
-
background: color-mix(in srgb, var(--danger
|
|
5055
|
+
background: color-mix(in srgb, var(--danger) 10%, transparent);
|
|
4917
5056
|
}
|
|
4918
5057
|
.waiting-btn-allow:disabled {
|
|
4919
5058
|
opacity: 0.4;
|
|
@@ -4968,7 +5107,7 @@ code.language-tree .hljs-title {
|
|
|
4968
5107
|
padding: 8px 10px;
|
|
4969
5108
|
border: 1px solid var(--border);
|
|
4970
5109
|
border-radius: 4px;
|
|
4971
|
-
background: var(--bg-
|
|
5110
|
+
background: var(--bg-deep);
|
|
4972
5111
|
}
|
|
4973
5112
|
.waiting-question-text pre.mermaid,
|
|
4974
5113
|
.waiting-option-desc pre.mermaid {
|
|
@@ -5033,7 +5172,7 @@ code.language-tree .hljs-title {
|
|
|
5033
5172
|
padding: 8px 10px;
|
|
5034
5173
|
border: 1px solid var(--border);
|
|
5035
5174
|
border-radius: 4px;
|
|
5036
|
-
background: var(--bg-
|
|
5175
|
+
background: var(--bg-deep);
|
|
5037
5176
|
font-size: 11px;
|
|
5038
5177
|
font-weight: 400;
|
|
5039
5178
|
overflow-x: auto;
|
|
@@ -5788,7 +5927,7 @@ code.language-tree .hljs-title {
|
|
|
5788
5927
|
}
|
|
5789
5928
|
|
|
5790
5929
|
.wf-live-phase.done::before {
|
|
5791
|
-
background: var(--
|
|
5930
|
+
background: var(--success);
|
|
5792
5931
|
}
|
|
5793
5932
|
|
|
5794
5933
|
.wf-live-phase.done {
|
|
@@ -6095,6 +6234,7 @@ body.light {
|
|
|
6095
6234
|
--gold: #a8842f;
|
|
6096
6235
|
--success: #1a8a5a;
|
|
6097
6236
|
--success-dim: rgba(26, 138, 90, 0.15);
|
|
6237
|
+
--info: #2563eb;
|
|
6098
6238
|
--warning: #b07d0a;
|
|
6099
6239
|
--warning-dim: rgba(176, 125, 10, 0.15);
|
|
6100
6240
|
--danger: #c0392b;
|
|
@@ -6113,6 +6253,16 @@ body.light {
|
|
|
6113
6253
|
--ansi-bright-magenta: #a855c9;
|
|
6114
6254
|
--ansi-bright-cyan: #2a9a9a;
|
|
6115
6255
|
--plan-dim: rgba(90, 122, 90, 0.15);
|
|
6256
|
+
--owner-blue: #163f8a;
|
|
6257
|
+
--owner-purple: #5524b0;
|
|
6258
|
+
--owner-teal: #064c3f;
|
|
6259
|
+
--owner-orange: #7a2c10;
|
|
6260
|
+
--owner-yellow: #634b06;
|
|
6261
|
+
--owner-pink: #831a4d;
|
|
6262
|
+
--owner-green: #0b4a22;
|
|
6263
|
+
--owner-indigo: #3730a3;
|
|
6264
|
+
--owner-red: #8f1d1d;
|
|
6265
|
+
--owner-cyan: #0b5566;
|
|
6116
6266
|
}
|
|
6117
6267
|
|
|
6118
6268
|
body.light::before {
|
|
@@ -6552,7 +6702,7 @@ body.light .msg-assistant .msg-text {
|
|
|
6552
6702
|
}
|
|
6553
6703
|
|
|
6554
6704
|
.preview-fm .fm-k {
|
|
6555
|
-
color: var(--accent
|
|
6705
|
+
color: var(--accent);
|
|
6556
6706
|
font-weight: 600;
|
|
6557
6707
|
}
|
|
6558
6708
|
|
|
@@ -7770,7 +7920,7 @@ select.form-input option:checked {
|
|
|
7770
7920
|
.impact-bar-fill {
|
|
7771
7921
|
height: 100%;
|
|
7772
7922
|
border-radius: 3px;
|
|
7773
|
-
background: var(--accent
|
|
7923
|
+
background: var(--accent);
|
|
7774
7924
|
min-width: 2px;
|
|
7775
7925
|
}
|
|
7776
7926
|
|
|
@@ -8179,6 +8329,7 @@ select.form-input option:checked {
|
|
|
8179
8329
|
--gold: #a8842f;
|
|
8180
8330
|
--success: #1a8a5a;
|
|
8181
8331
|
--success-dim: rgba(26, 138, 90, 0.15);
|
|
8332
|
+
--info: #2563eb;
|
|
8182
8333
|
--warning: #b07d0a;
|
|
8183
8334
|
--warning-dim: rgba(176, 125, 10, 0.15);
|
|
8184
8335
|
--danger: #c0392b;
|
|
@@ -8197,6 +8348,16 @@ select.form-input option:checked {
|
|
|
8197
8348
|
--ansi-bright-magenta: #a855c9;
|
|
8198
8349
|
--ansi-bright-cyan: #2a9a9a;
|
|
8199
8350
|
--plan-dim: rgba(90, 122, 90, 0.15);
|
|
8351
|
+
--owner-blue: #163f8a;
|
|
8352
|
+
--owner-purple: #5524b0;
|
|
8353
|
+
--owner-teal: #064c3f;
|
|
8354
|
+
--owner-orange: #7a2c10;
|
|
8355
|
+
--owner-yellow: #634b06;
|
|
8356
|
+
--owner-pink: #831a4d;
|
|
8357
|
+
--owner-green: #0b4a22;
|
|
8358
|
+
--owner-indigo: #3730a3;
|
|
8359
|
+
--owner-red: #8f1d1d;
|
|
8360
|
+
--owner-cyan: #0b5566;
|
|
8200
8361
|
}
|
|
8201
8362
|
|
|
8202
8363
|
body:not(.dark-forced)::before {
|