codexmate 0.0.16 → 0.0.18
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.en.md +42 -24
- package/README.md +42 -24
- package/cli.js +1457 -157
- package/lib/text-diff.js +303 -0
- package/package.json +2 -2
- package/web-ui/app.js +1946 -247
- package/web-ui/index.html +321 -78
- package/web-ui/logic.mjs +503 -13
- package/web-ui/modules/skills.methods.mjs +7 -1
- package/web-ui/session-helpers.mjs +350 -0
- package/web-ui/styles.css +679 -31
package/web-ui/styles.css
CHANGED
|
@@ -27,9 +27,7 @@
|
|
|
27
27
|
--color-error: #C44536;
|
|
28
28
|
|
|
29
29
|
--bg-warm-gradient:
|
|
30
|
-
|
|
31
|
-
radial-gradient(circle at 90% 6%, rgba(255, 255, 255, 0.9), transparent 42%),
|
|
32
|
-
linear-gradient(135deg, #F8F2EA 0%, #F1E4D8 44%, #F8F2EA 100%);
|
|
30
|
+
linear-gradient(180deg, #F8F2EA 0%, #F8F2EA 100%);
|
|
33
31
|
|
|
34
32
|
/* 字体系统 */
|
|
35
33
|
--font-family-body: 'JetBrainsMono Nerd Font Mono', 'OPPO Sans 4.0', 'Fira Mono', 'JetBrains Mono', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', monospace;
|
|
@@ -89,6 +87,145 @@
|
|
|
89
87
|
--ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
|
|
90
88
|
}
|
|
91
89
|
|
|
90
|
+
/* ============================================
|
|
91
|
+
手机桌面 UA 兜底:触控设备强制紧凑排版
|
|
92
|
+
============================================ */
|
|
93
|
+
body.force-compact {
|
|
94
|
+
--font-size-title: 20px;
|
|
95
|
+
--font-size-body: 16px;
|
|
96
|
+
--font-size-secondary: 14px;
|
|
97
|
+
--font-size-caption: 12px;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
body.force-compact .container {
|
|
101
|
+
max-width: 760px;
|
|
102
|
+
padding: 10px 10px 16px;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
body.force-compact .provider-fast-switch {
|
|
106
|
+
position: sticky;
|
|
107
|
+
top: 8px;
|
|
108
|
+
z-index: 16;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
body.force-compact .provider-fast-switch-select {
|
|
112
|
+
min-height: 44px;
|
|
113
|
+
font-size: 16px;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
body.force-compact .app-shell {
|
|
117
|
+
grid-template-columns: 1fr;
|
|
118
|
+
gap: 12px;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
body.force-compact .main-panel {
|
|
122
|
+
position: relative;
|
|
123
|
+
top: auto;
|
|
124
|
+
align-self: stretch;
|
|
125
|
+
width: 100%;
|
|
126
|
+
height: auto;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
body.force-compact .side-rail,
|
|
130
|
+
body.force-compact .status-inspector {
|
|
131
|
+
display: none;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
body.force-compact .top-tabs {
|
|
135
|
+
display: grid !important;
|
|
136
|
+
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
@media (min-width: 541px) {
|
|
140
|
+
body.force-compact .top-tabs {
|
|
141
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
body.force-compact .hero-logo {
|
|
146
|
+
display: block;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
body.force-compact .hero-github {
|
|
150
|
+
display: flex;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
body.force-compact .main-panel {
|
|
154
|
+
padding: 14px 12px;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
body.force-compact .hero-title {
|
|
158
|
+
font-size: 34px;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
body.force-compact .card {
|
|
162
|
+
display: flex;
|
|
163
|
+
flex-direction: column;
|
|
164
|
+
align-items: flex-start;
|
|
165
|
+
justify-content: flex-start;
|
|
166
|
+
padding: 12px;
|
|
167
|
+
gap: 8px;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
body.force-compact .card-leading {
|
|
171
|
+
align-items: flex-start;
|
|
172
|
+
width: 100%;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
body.force-compact .card-content {
|
|
176
|
+
width: 100%;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
body.force-compact .card-title,
|
|
180
|
+
body.force-compact .card-title > span:first-child {
|
|
181
|
+
white-space: normal;
|
|
182
|
+
overflow: visible;
|
|
183
|
+
text-overflow: clip;
|
|
184
|
+
overflow-wrap: anywhere;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
body.force-compact .card-subtitle {
|
|
188
|
+
white-space: normal;
|
|
189
|
+
overflow: hidden;
|
|
190
|
+
text-overflow: clip;
|
|
191
|
+
overflow-wrap: anywhere;
|
|
192
|
+
display: -webkit-box;
|
|
193
|
+
-webkit-line-clamp: 2;
|
|
194
|
+
-webkit-box-orient: vertical;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
body.force-compact .card-trailing {
|
|
198
|
+
width: 100%;
|
|
199
|
+
margin-top: 0;
|
|
200
|
+
grid-auto-flow: row;
|
|
201
|
+
grid-auto-columns: 1fr;
|
|
202
|
+
justify-content: stretch;
|
|
203
|
+
justify-items: end;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
body.force-compact .card-trailing .card-actions {
|
|
207
|
+
width: 100%;
|
|
208
|
+
justify-content: flex-end;
|
|
209
|
+
justify-self: stretch;
|
|
210
|
+
flex-wrap: wrap;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
body.force-compact .card-actions {
|
|
214
|
+
opacity: 1;
|
|
215
|
+
transform: none;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
body.force-compact .card-trailing .pill,
|
|
219
|
+
body.force-compact .card-trailing .latency {
|
|
220
|
+
justify-self: end;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
body.force-compact .btn-add,
|
|
224
|
+
body.force-compact .btn-tool,
|
|
225
|
+
body.force-compact .card-action-btn {
|
|
226
|
+
min-height: 44px;
|
|
227
|
+
}
|
|
228
|
+
|
|
92
229
|
/* ============================================
|
|
93
230
|
基础重置
|
|
94
231
|
============================================ */
|
|
@@ -240,10 +377,8 @@ body::before {
|
|
|
240
377
|
position: fixed;
|
|
241
378
|
inset: 0;
|
|
242
379
|
background-image:
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.35) 0 1px, transparent 1px 120px);
|
|
246
|
-
opacity: 0.28;
|
|
380
|
+
linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0));
|
|
381
|
+
opacity: 0.16;
|
|
247
382
|
pointer-events: none;
|
|
248
383
|
z-index: 0;
|
|
249
384
|
}
|
|
@@ -254,10 +389,10 @@ body::after {
|
|
|
254
389
|
position: fixed;
|
|
255
390
|
inset: 0;
|
|
256
391
|
background-image:
|
|
257
|
-
linear-gradient(90deg, rgba(255, 255, 255, 0.
|
|
258
|
-
linear-gradient(0deg, rgba(255, 255, 255, 0.
|
|
259
|
-
background-size:
|
|
260
|
-
opacity: 0.
|
|
392
|
+
linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px),
|
|
393
|
+
linear-gradient(0deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
|
|
394
|
+
background-size: 180px 180px;
|
|
395
|
+
opacity: 0.08;
|
|
261
396
|
pointer-events: none;
|
|
262
397
|
z-index: 0;
|
|
263
398
|
}
|
|
@@ -267,7 +402,7 @@ body::after {
|
|
|
267
402
|
============================================ */
|
|
268
403
|
.container {
|
|
269
404
|
width: 100%;
|
|
270
|
-
max-width:
|
|
405
|
+
max-width: 2200px;
|
|
271
406
|
margin: 0 auto;
|
|
272
407
|
padding: 16px 12px 28px;
|
|
273
408
|
position: relative;
|
|
@@ -331,7 +466,7 @@ body::after {
|
|
|
331
466
|
background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 247, 240, 0.95) 100%);
|
|
332
467
|
color: var(--color-text-secondary);
|
|
333
468
|
cursor: pointer;
|
|
334
|
-
transition:
|
|
469
|
+
transition: none;
|
|
335
470
|
display: flex;
|
|
336
471
|
flex-direction: column;
|
|
337
472
|
gap: 6px;
|
|
@@ -352,6 +487,21 @@ body::after {
|
|
|
352
487
|
box-shadow: var(--shadow-float);
|
|
353
488
|
}
|
|
354
489
|
|
|
490
|
+
.side-item.nav-intent-active {
|
|
491
|
+
border-color: var(--color-brand);
|
|
492
|
+
background: linear-gradient(135deg, rgba(201, 94, 75, 0.14), rgba(255, 255, 255, 0.96));
|
|
493
|
+
color: var(--color-text-primary);
|
|
494
|
+
box-shadow: var(--shadow-float);
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
.side-item.nav-intent-inactive,
|
|
498
|
+
.side-item.active.nav-intent-inactive {
|
|
499
|
+
border-color: var(--color-border-soft);
|
|
500
|
+
background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 247, 240, 0.95) 100%);
|
|
501
|
+
color: var(--color-text-secondary);
|
|
502
|
+
box-shadow: var(--shadow-subtle);
|
|
503
|
+
}
|
|
504
|
+
|
|
355
505
|
.side-item-title {
|
|
356
506
|
font-size: var(--font-size-body);
|
|
357
507
|
font-weight: var(--font-weight-secondary);
|
|
@@ -615,6 +765,47 @@ body::after {
|
|
|
615
765
|
word-break: break-word;
|
|
616
766
|
}
|
|
617
767
|
|
|
768
|
+
.provider-fast-switch {
|
|
769
|
+
margin: 0 0 var(--spacing-sm);
|
|
770
|
+
padding: 10px 12px;
|
|
771
|
+
border-radius: var(--radius-lg);
|
|
772
|
+
border: 1px solid rgba(216, 201, 184, 0.6);
|
|
773
|
+
background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 249, 243, 0.96) 100%);
|
|
774
|
+
box-shadow: var(--shadow-subtle);
|
|
775
|
+
display: grid;
|
|
776
|
+
gap: 6px;
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
.provider-fast-switch-label {
|
|
780
|
+
font-size: var(--font-size-caption);
|
|
781
|
+
color: var(--color-text-tertiary);
|
|
782
|
+
letter-spacing: 0.02em;
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
.provider-fast-switch-select {
|
|
786
|
+
width: 100%;
|
|
787
|
+
min-height: 40px;
|
|
788
|
+
padding: 8px 12px;
|
|
789
|
+
padding-right: 38px;
|
|
790
|
+
border: 1px solid var(--color-border-soft);
|
|
791
|
+
border-radius: var(--radius-sm);
|
|
792
|
+
font-size: var(--font-size-body);
|
|
793
|
+
color: var(--color-text-primary);
|
|
794
|
+
background-color: var(--color-surface-alt);
|
|
795
|
+
outline: none;
|
|
796
|
+
cursor: pointer;
|
|
797
|
+
appearance: none;
|
|
798
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23505A66' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
|
|
799
|
+
background-repeat: no-repeat;
|
|
800
|
+
background-position: right 12px center;
|
|
801
|
+
background-size: 12px;
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
.provider-fast-switch-select:focus {
|
|
805
|
+
border-color: var(--color-brand);
|
|
806
|
+
box-shadow: var(--shadow-input-focus);
|
|
807
|
+
}
|
|
808
|
+
|
|
618
809
|
.main-panel {
|
|
619
810
|
min-width: 0;
|
|
620
811
|
background: rgba(255, 255, 255, 0.95);
|
|
@@ -783,7 +974,7 @@ body::after {
|
|
|
783
974
|
color: var(--color-text-secondary);
|
|
784
975
|
text-align: center;
|
|
785
976
|
cursor: pointer;
|
|
786
|
-
transition:
|
|
977
|
+
transition: none;
|
|
787
978
|
box-shadow: var(--shadow-subtle);
|
|
788
979
|
}
|
|
789
980
|
|
|
@@ -800,6 +991,25 @@ body::after {
|
|
|
800
991
|
box-shadow: 0 10px 24px rgba(27, 23, 20, 0.08);
|
|
801
992
|
}
|
|
802
993
|
|
|
994
|
+
.top-tab.nav-intent-active {
|
|
995
|
+
border-color: var(--color-brand);
|
|
996
|
+
color: var(--color-text-primary);
|
|
997
|
+
background: linear-gradient(135deg, rgba(201, 94, 75, 0.12), rgba(255, 255, 255, 0.95));
|
|
998
|
+
box-shadow: 0 10px 24px rgba(27, 23, 20, 0.08);
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
.top-tab.nav-intent-inactive,
|
|
1002
|
+
.top-tab.active.nav-intent-inactive {
|
|
1003
|
+
border-color: rgba(216, 201, 184, 0.55);
|
|
1004
|
+
color: var(--color-text-secondary);
|
|
1005
|
+
background: rgba(255, 255, 255, 0.96);
|
|
1006
|
+
box-shadow: var(--shadow-subtle);
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
#panel-sessions.session-panel-fast-hidden {
|
|
1010
|
+
display: none !important;
|
|
1011
|
+
}
|
|
1012
|
+
|
|
803
1013
|
.config-subtabs {
|
|
804
1014
|
display: flex;
|
|
805
1015
|
gap: 8px;
|
|
@@ -836,6 +1046,25 @@ body::after {
|
|
|
836
1046
|
box-shadow: var(--shadow-card);
|
|
837
1047
|
}
|
|
838
1048
|
|
|
1049
|
+
.settings-subtabs {
|
|
1050
|
+
margin-bottom: var(--spacing-sm);
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
.settings-tab-badge {
|
|
1054
|
+
display: inline-flex;
|
|
1055
|
+
align-items: center;
|
|
1056
|
+
justify-content: center;
|
|
1057
|
+
min-width: 18px;
|
|
1058
|
+
height: 18px;
|
|
1059
|
+
margin-left: 6px;
|
|
1060
|
+
padding: 0 6px;
|
|
1061
|
+
border-radius: 999px;
|
|
1062
|
+
background: rgba(210, 107, 90, 0.14);
|
|
1063
|
+
color: var(--color-text-secondary);
|
|
1064
|
+
font-size: 11px;
|
|
1065
|
+
line-height: 1;
|
|
1066
|
+
}
|
|
1067
|
+
|
|
839
1068
|
.content-wrapper {
|
|
840
1069
|
background: rgba(255, 255, 255, 0.94);
|
|
841
1070
|
border: 1px solid rgba(216, 201, 184, 0.35);
|
|
@@ -1097,8 +1326,9 @@ body::after {
|
|
|
1097
1326
|
grid-auto-columns: max-content;
|
|
1098
1327
|
column-gap: var(--spacing-xs);
|
|
1099
1328
|
row-gap: 6px;
|
|
1100
|
-
align-items:
|
|
1329
|
+
align-items: start;
|
|
1101
1330
|
justify-content: end;
|
|
1331
|
+
align-self: flex-start;
|
|
1102
1332
|
}
|
|
1103
1333
|
|
|
1104
1334
|
.card-trailing .card-actions {
|
|
@@ -1271,6 +1501,22 @@ body::after {
|
|
|
1271
1501
|
margin-bottom: var(--spacing-xs);
|
|
1272
1502
|
}
|
|
1273
1503
|
|
|
1504
|
+
.settings-tab-header {
|
|
1505
|
+
align-items: flex-start;
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
.settings-tab-actions {
|
|
1509
|
+
display: flex;
|
|
1510
|
+
flex-wrap: wrap;
|
|
1511
|
+
gap: 8px;
|
|
1512
|
+
justify-content: flex-end;
|
|
1513
|
+
}
|
|
1514
|
+
|
|
1515
|
+
.settings-tab-actions .btn-tool,
|
|
1516
|
+
.settings-tab-actions .btn-tool-compact {
|
|
1517
|
+
width: auto;
|
|
1518
|
+
}
|
|
1519
|
+
|
|
1274
1520
|
.selector-title {
|
|
1275
1521
|
font-size: var(--font-size-caption);
|
|
1276
1522
|
font-weight: var(--font-weight-secondary);
|
|
@@ -1645,11 +1891,11 @@ body::after {
|
|
|
1645
1891
|
|
|
1646
1892
|
.session-source {
|
|
1647
1893
|
font-size: var(--font-size-caption);
|
|
1648
|
-
color: var(--color-
|
|
1649
|
-
border: 1px solid
|
|
1894
|
+
color: var(--color-text-tertiary);
|
|
1895
|
+
border: 1px solid var(--color-border-soft);
|
|
1650
1896
|
border-radius: 999px;
|
|
1651
1897
|
padding: 2px 8px;
|
|
1652
|
-
background:
|
|
1898
|
+
background: var(--color-surface-alt);
|
|
1653
1899
|
white-space: nowrap;
|
|
1654
1900
|
}
|
|
1655
1901
|
|
|
@@ -1670,6 +1916,12 @@ body::after {
|
|
|
1670
1916
|
flex-shrink: 0;
|
|
1671
1917
|
}
|
|
1672
1918
|
|
|
1919
|
+
.trash-list-footer {
|
|
1920
|
+
display: flex;
|
|
1921
|
+
justify-content: center;
|
|
1922
|
+
margin-top: var(--spacing-sm);
|
|
1923
|
+
}
|
|
1924
|
+
|
|
1673
1925
|
.btn-session-export,
|
|
1674
1926
|
.btn-session-open,
|
|
1675
1927
|
.btn-session-clone,
|
|
@@ -1775,9 +2027,113 @@ body::after {
|
|
|
1775
2027
|
box-shadow: inset 0 0 0 6px rgba(255, 255, 255, 0.7);
|
|
1776
2028
|
}
|
|
1777
2029
|
|
|
2030
|
+
.trash-list {
|
|
2031
|
+
display: grid;
|
|
2032
|
+
gap: 12px;
|
|
2033
|
+
margin-top: 12px;
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
.trash-item.session-item {
|
|
2037
|
+
min-height: auto;
|
|
2038
|
+
height: auto;
|
|
2039
|
+
cursor: default;
|
|
2040
|
+
content-visibility: visible;
|
|
2041
|
+
contain-intrinsic-size: auto;
|
|
2042
|
+
}
|
|
2043
|
+
|
|
2044
|
+
.trash-item.session-item:hover,
|
|
2045
|
+
.trash-item.session-item:active {
|
|
2046
|
+
transform: none;
|
|
2047
|
+
border-color: var(--color-border-soft);
|
|
2048
|
+
background: linear-gradient(to bottom, var(--color-surface) 0%, rgba(255, 255, 255, 0.92) 100%);
|
|
2049
|
+
box-shadow: var(--shadow-subtle);
|
|
2050
|
+
}
|
|
2051
|
+
|
|
2052
|
+
.trash-item.session-item::before {
|
|
2053
|
+
background: linear-gradient(180deg, rgba(70, 86, 110, 0.26), rgba(70, 86, 110, 0.08));
|
|
2054
|
+
}
|
|
2055
|
+
|
|
2056
|
+
.trash-item-main {
|
|
2057
|
+
min-width: 0;
|
|
2058
|
+
flex: 1;
|
|
2059
|
+
}
|
|
2060
|
+
|
|
2061
|
+
.trash-item-mainline {
|
|
2062
|
+
display: flex;
|
|
2063
|
+
align-items: flex-start;
|
|
2064
|
+
gap: 8px;
|
|
2065
|
+
}
|
|
2066
|
+
|
|
2067
|
+
.trash-item-title {
|
|
2068
|
+
flex: 1;
|
|
2069
|
+
font-size: var(--font-size-body);
|
|
2070
|
+
font-weight: var(--font-weight-secondary);
|
|
2071
|
+
color: var(--color-text-primary);
|
|
2072
|
+
line-height: 1.4;
|
|
2073
|
+
display: -webkit-box;
|
|
2074
|
+
-webkit-line-clamp: 2;
|
|
2075
|
+
-webkit-box-orient: vertical;
|
|
2076
|
+
white-space: normal;
|
|
2077
|
+
overflow: hidden;
|
|
2078
|
+
overflow-wrap: anywhere;
|
|
2079
|
+
}
|
|
2080
|
+
|
|
2081
|
+
.trash-item-meta {
|
|
2082
|
+
margin-top: 6px;
|
|
2083
|
+
}
|
|
2084
|
+
|
|
2085
|
+
.trash-item-side {
|
|
2086
|
+
display: flex;
|
|
2087
|
+
flex-direction: column;
|
|
2088
|
+
align-items: flex-end;
|
|
2089
|
+
gap: 8px;
|
|
2090
|
+
flex-shrink: 0;
|
|
2091
|
+
min-width: 132px;
|
|
2092
|
+
}
|
|
2093
|
+
|
|
2094
|
+
.trash-item-actions {
|
|
2095
|
+
display: flex;
|
|
2096
|
+
align-self: flex-end;
|
|
2097
|
+
justify-content: flex-end;
|
|
2098
|
+
flex-wrap: wrap;
|
|
2099
|
+
gap: 8px;
|
|
2100
|
+
}
|
|
2101
|
+
|
|
2102
|
+
.trash-item-time {
|
|
2103
|
+
width: 100%;
|
|
2104
|
+
text-align: right;
|
|
2105
|
+
white-space: nowrap;
|
|
2106
|
+
color: var(--color-text-tertiary);
|
|
2107
|
+
}
|
|
2108
|
+
|
|
2109
|
+
.trash-item-path {
|
|
2110
|
+
margin-top: 8px;
|
|
2111
|
+
display: grid;
|
|
2112
|
+
grid-template-columns: 48px minmax(0, 1fr);
|
|
2113
|
+
gap: 8px;
|
|
2114
|
+
align-items: start;
|
|
2115
|
+
white-space: normal;
|
|
2116
|
+
overflow-wrap: anywhere;
|
|
2117
|
+
}
|
|
2118
|
+
|
|
2119
|
+
.trash-item-label {
|
|
2120
|
+
display: inline-block;
|
|
2121
|
+
color: var(--color-text-secondary);
|
|
2122
|
+
font-weight: var(--font-weight-secondary);
|
|
2123
|
+
}
|
|
2124
|
+
|
|
2125
|
+
.trash-item-path span:last-child {
|
|
2126
|
+
min-width: 0;
|
|
2127
|
+
word-break: break-word;
|
|
2128
|
+
}
|
|
2129
|
+
|
|
2130
|
+
.trash-item .session-count-badge {
|
|
2131
|
+
margin-top: 2px;
|
|
2132
|
+
}
|
|
2133
|
+
|
|
1778
2134
|
.session-layout {
|
|
1779
2135
|
display: grid;
|
|
1780
|
-
grid-template-columns: minmax(
|
|
2136
|
+
grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
|
|
1781
2137
|
gap: var(--spacing-sm);
|
|
1782
2138
|
align-items: start;
|
|
1783
2139
|
height: min(72vh, 760px);
|
|
@@ -1855,14 +2211,16 @@ body::after {
|
|
|
1855
2211
|
border: 1px solid var(--color-border-soft);
|
|
1856
2212
|
border-radius: var(--radius-sm);
|
|
1857
2213
|
background: linear-gradient(to bottom, var(--color-surface) 0%, rgba(255, 255, 255, 0.92) 100%);
|
|
1858
|
-
padding:
|
|
2214
|
+
padding: 16px;
|
|
1859
2215
|
cursor: pointer;
|
|
1860
2216
|
transition: all var(--transition-fast) var(--ease-spring);
|
|
1861
2217
|
user-select: none;
|
|
1862
2218
|
min-width: 0;
|
|
1863
2219
|
position: relative;
|
|
1864
2220
|
overflow: hidden;
|
|
1865
|
-
min-height:
|
|
2221
|
+
min-height: 102px;
|
|
2222
|
+
content-visibility: auto;
|
|
2223
|
+
contain-intrinsic-size: 102px;
|
|
1866
2224
|
}
|
|
1867
2225
|
|
|
1868
2226
|
.session-item-header {
|
|
@@ -1909,6 +2267,16 @@ body::after {
|
|
|
1909
2267
|
box-shadow: 0 6px 16px rgba(210, 107, 90, 0.12);
|
|
1910
2268
|
}
|
|
1911
2269
|
|
|
2270
|
+
.session-item.pinned {
|
|
2271
|
+
border-color: rgba(208, 88, 58, 0.42);
|
|
2272
|
+
background: linear-gradient(to bottom, rgba(210, 107, 90, 0.12) 0%, rgba(255, 251, 247, 0.98) 100%);
|
|
2273
|
+
box-shadow: 0 8px 18px rgba(210, 107, 90, 0.10);
|
|
2274
|
+
}
|
|
2275
|
+
|
|
2276
|
+
.session-item.pinned::before {
|
|
2277
|
+
background: linear-gradient(180deg, rgba(201, 94, 75, 0.8), rgba(201, 94, 75, 0.32));
|
|
2278
|
+
}
|
|
2279
|
+
|
|
1912
2280
|
.session-item.active::before {
|
|
1913
2281
|
background: linear-gradient(180deg, rgba(201, 94, 75, 0.9), rgba(201, 94, 75, 0.4));
|
|
1914
2282
|
}
|
|
@@ -1917,13 +2285,14 @@ body::after {
|
|
|
1917
2285
|
font-size: var(--font-size-body);
|
|
1918
2286
|
font-weight: var(--font-weight-secondary);
|
|
1919
2287
|
color: var(--color-text-primary);
|
|
1920
|
-
line-height: 1.
|
|
1921
|
-
display:
|
|
1922
|
-
|
|
2288
|
+
line-height: 1.4;
|
|
2289
|
+
display: -webkit-box;
|
|
2290
|
+
-webkit-line-clamp: 2;
|
|
2291
|
+
-webkit-box-orient: vertical;
|
|
2292
|
+
white-space: normal;
|
|
1923
2293
|
overflow: hidden;
|
|
1924
|
-
text-overflow: ellipsis;
|
|
1925
2294
|
flex: 1;
|
|
1926
|
-
max-width:
|
|
2295
|
+
max-width: none;
|
|
1927
2296
|
}
|
|
1928
2297
|
|
|
1929
2298
|
.session-item-actions {
|
|
@@ -1966,6 +2335,26 @@ body::after {
|
|
|
1966
2335
|
height: 16px;
|
|
1967
2336
|
}
|
|
1968
2337
|
|
|
2338
|
+
.session-item-pin {
|
|
2339
|
+
border-color: rgba(208, 88, 58, 0.24);
|
|
2340
|
+
}
|
|
2341
|
+
|
|
2342
|
+
.session-item-pin .pin-icon,
|
|
2343
|
+
.session-item-pin svg {
|
|
2344
|
+
color: rgba(208, 88, 58, 0.78);
|
|
2345
|
+
}
|
|
2346
|
+
|
|
2347
|
+
.session-item.pinned .session-item-pin {
|
|
2348
|
+
background: rgba(208, 88, 58, 0.16);
|
|
2349
|
+
border-color: rgba(208, 88, 58, 0.46);
|
|
2350
|
+
box-shadow: inset 0 0 0 1px rgba(208, 88, 58, 0.08);
|
|
2351
|
+
}
|
|
2352
|
+
|
|
2353
|
+
.session-item.pinned .session-item-pin .pin-icon,
|
|
2354
|
+
.session-item.pinned .session-item-pin svg {
|
|
2355
|
+
color: var(--color-brand-dark);
|
|
2356
|
+
}
|
|
2357
|
+
|
|
1969
2358
|
.session-item-sub.session-item-snippet,
|
|
1970
2359
|
.session-preview-meta,
|
|
1971
2360
|
.session-preview-title {
|
|
@@ -2123,6 +2512,7 @@ body::after {
|
|
|
2123
2512
|
display: flex;
|
|
2124
2513
|
flex-direction: column;
|
|
2125
2514
|
gap: 10px;
|
|
2515
|
+
contain: layout style;
|
|
2126
2516
|
}
|
|
2127
2517
|
|
|
2128
2518
|
.session-timeline {
|
|
@@ -2162,21 +2552,22 @@ body::after {
|
|
|
2162
2552
|
transform: translate(-50%, -50%);
|
|
2163
2553
|
cursor: pointer;
|
|
2164
2554
|
padding: 0;
|
|
2165
|
-
transition:
|
|
2555
|
+
transition: none;
|
|
2556
|
+
will-change: auto;
|
|
2166
2557
|
}
|
|
2167
2558
|
|
|
2168
2559
|
.session-timeline-node:hover {
|
|
2169
|
-
transform: translate(-50%, -50%)
|
|
2560
|
+
transform: translate(-50%, -50%);
|
|
2170
2561
|
border-color: rgba(201, 94, 75, 0.85);
|
|
2171
2562
|
background: rgba(255, 255, 255, 1);
|
|
2172
|
-
box-shadow:
|
|
2563
|
+
box-shadow: none;
|
|
2173
2564
|
}
|
|
2174
2565
|
|
|
2175
2566
|
.session-timeline-node.active {
|
|
2176
|
-
transform: translate(-50%, -50%)
|
|
2567
|
+
transform: translate(-50%, -50%);
|
|
2177
2568
|
border-color: rgba(201, 94, 75, 0.95);
|
|
2178
2569
|
background: rgba(201, 94, 75, 0.95);
|
|
2179
|
-
box-shadow:
|
|
2570
|
+
box-shadow: none;
|
|
2180
2571
|
}
|
|
2181
2572
|
|
|
2182
2573
|
.session-timeline-current {
|
|
@@ -2200,6 +2591,7 @@ body::after {
|
|
|
2200
2591
|
background: rgba(255, 255, 255, 0.75);
|
|
2201
2592
|
position: relative;
|
|
2202
2593
|
box-shadow: 0 2px 6px rgba(31, 26, 23, 0.04);
|
|
2594
|
+
contain: layout style paint;
|
|
2203
2595
|
}
|
|
2204
2596
|
|
|
2205
2597
|
.session-msg.user {
|
|
@@ -2371,6 +2763,44 @@ body::after {
|
|
|
2371
2763
|
.session-toolbar-group.session-toolbar-actions .btn-tool {
|
|
2372
2764
|
width: 100%;
|
|
2373
2765
|
}
|
|
2766
|
+
|
|
2767
|
+
.trash-item-header {
|
|
2768
|
+
flex-direction: column;
|
|
2769
|
+
align-items: stretch;
|
|
2770
|
+
gap: 10px;
|
|
2771
|
+
}
|
|
2772
|
+
|
|
2773
|
+
.trash-item-mainline {
|
|
2774
|
+
flex-direction: column;
|
|
2775
|
+
align-items: flex-start;
|
|
2776
|
+
gap: 6px;
|
|
2777
|
+
}
|
|
2778
|
+
|
|
2779
|
+
.trash-item-side {
|
|
2780
|
+
width: 100%;
|
|
2781
|
+
min-width: 0;
|
|
2782
|
+
align-items: stretch;
|
|
2783
|
+
gap: 10px;
|
|
2784
|
+
}
|
|
2785
|
+
|
|
2786
|
+
.trash-item-actions {
|
|
2787
|
+
display: grid;
|
|
2788
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
2789
|
+
justify-content: flex-start;
|
|
2790
|
+
width: 100%;
|
|
2791
|
+
}
|
|
2792
|
+
|
|
2793
|
+
.trash-item-actions .btn-mini {
|
|
2794
|
+
width: 100%;
|
|
2795
|
+
min-height: 40px;
|
|
2796
|
+
display: inline-flex;
|
|
2797
|
+
align-items: center;
|
|
2798
|
+
justify-content: center;
|
|
2799
|
+
}
|
|
2800
|
+
|
|
2801
|
+
.trash-item-time {
|
|
2802
|
+
text-align: right;
|
|
2803
|
+
}
|
|
2374
2804
|
}
|
|
2375
2805
|
|
|
2376
2806
|
.btn[disabled] {
|
|
@@ -2454,6 +2884,22 @@ body::after {
|
|
|
2454
2884
|
letter-spacing: -0.01em;
|
|
2455
2885
|
}
|
|
2456
2886
|
|
|
2887
|
+
.confirm-dialog {
|
|
2888
|
+
max-width: 460px;
|
|
2889
|
+
}
|
|
2890
|
+
|
|
2891
|
+
.confirm-dialog-message {
|
|
2892
|
+
font-size: var(--font-size-body);
|
|
2893
|
+
line-height: 1.7;
|
|
2894
|
+
color: var(--color-text-secondary);
|
|
2895
|
+
white-space: pre-wrap;
|
|
2896
|
+
}
|
|
2897
|
+
|
|
2898
|
+
.confirm-dialog-actions {
|
|
2899
|
+
margin-top: var(--spacing-lg);
|
|
2900
|
+
justify-content: flex-end;
|
|
2901
|
+
}
|
|
2902
|
+
|
|
2457
2903
|
.install-list {
|
|
2458
2904
|
display: flex;
|
|
2459
2905
|
flex-direction: column;
|
|
@@ -2665,6 +3111,119 @@ body::after {
|
|
|
2665
3111
|
line-height: 1.4;
|
|
2666
3112
|
}
|
|
2667
3113
|
|
|
3114
|
+
|
|
3115
|
+
.agents-diff-hint {
|
|
3116
|
+
margin-top: 6px;
|
|
3117
|
+
color: var(--color-text-tertiary);
|
|
3118
|
+
font-size: var(--font-size-caption);
|
|
3119
|
+
}
|
|
3120
|
+
|
|
3121
|
+
.agents-diff-save-alert {
|
|
3122
|
+
margin-bottom: 8px;
|
|
3123
|
+
padding: 8px 10px;
|
|
3124
|
+
border-radius: var(--radius-sm);
|
|
3125
|
+
border: 1px solid rgba(238, 178, 90, 0.45);
|
|
3126
|
+
background: rgba(255, 236, 204, 0.72);
|
|
3127
|
+
color: #8d5b31;
|
|
3128
|
+
font-size: var(--font-size-caption);
|
|
3129
|
+
font-weight: var(--font-weight-secondary);
|
|
3130
|
+
}
|
|
3131
|
+
|
|
3132
|
+
.agents-diff-summary {
|
|
3133
|
+
display: flex;
|
|
3134
|
+
align-items: center;
|
|
3135
|
+
gap: 8px;
|
|
3136
|
+
margin-bottom: 8px;
|
|
3137
|
+
font-size: var(--font-size-caption);
|
|
3138
|
+
color: var(--color-text-tertiary);
|
|
3139
|
+
}
|
|
3140
|
+
|
|
3141
|
+
.agents-diff-stat {
|
|
3142
|
+
display: inline-flex;
|
|
3143
|
+
align-items: center;
|
|
3144
|
+
gap: 4px;
|
|
3145
|
+
padding: 2px 8px;
|
|
3146
|
+
border-radius: 999px;
|
|
3147
|
+
border: 1px solid transparent;
|
|
3148
|
+
font-weight: var(--font-weight-secondary);
|
|
3149
|
+
}
|
|
3150
|
+
|
|
3151
|
+
.agents-diff-stat.add {
|
|
3152
|
+
color: #2b6a3b;
|
|
3153
|
+
background: rgba(57, 181, 97, 0.12);
|
|
3154
|
+
border-color: rgba(57, 181, 97, 0.2);
|
|
3155
|
+
}
|
|
3156
|
+
|
|
3157
|
+
.agents-diff-stat.del {
|
|
3158
|
+
color: #8a2f36;
|
|
3159
|
+
background: rgba(220, 95, 108, 0.12);
|
|
3160
|
+
border-color: rgba(220, 95, 108, 0.2);
|
|
3161
|
+
}
|
|
3162
|
+
|
|
3163
|
+
|
|
3164
|
+
.agents-diff-empty {
|
|
3165
|
+
padding: 10px 12px;
|
|
3166
|
+
font-size: var(--font-size-caption);
|
|
3167
|
+
color: var(--color-text-tertiary);
|
|
3168
|
+
border: 1px dashed var(--color-border-soft);
|
|
3169
|
+
border-radius: var(--radius-sm);
|
|
3170
|
+
background: rgba(255, 255, 255, 0.6);
|
|
3171
|
+
}
|
|
3172
|
+
|
|
3173
|
+
.agents-diff-view {
|
|
3174
|
+
border: 1px solid var(--color-border-soft);
|
|
3175
|
+
border-radius: var(--radius-sm);
|
|
3176
|
+
background: rgba(255, 255, 255, 0.7);
|
|
3177
|
+
font-family: var(--font-family-mono);
|
|
3178
|
+
font-size: 12px;
|
|
3179
|
+
line-height: 1.55;
|
|
3180
|
+
max-height: min(32vh, 280px);
|
|
3181
|
+
overflow: auto;
|
|
3182
|
+
}
|
|
3183
|
+
|
|
3184
|
+
|
|
3185
|
+
.agents-diff-editor {
|
|
3186
|
+
min-height: min(60vh, 520px);
|
|
3187
|
+
max-height: min(65vh, 620px);
|
|
3188
|
+
}
|
|
3189
|
+
|
|
3190
|
+
.agents-diff-line {
|
|
3191
|
+
display: grid;
|
|
3192
|
+
grid-template-columns: 16px 1fr;
|
|
3193
|
+
gap: 8px;
|
|
3194
|
+
padding: 2px 10px;
|
|
3195
|
+
align-items: start;
|
|
3196
|
+
}
|
|
3197
|
+
|
|
3198
|
+
.agents-diff-line + .agents-diff-line {
|
|
3199
|
+
border-top: none;
|
|
3200
|
+
}
|
|
3201
|
+
|
|
3202
|
+
.agents-diff-line.add {
|
|
3203
|
+
background: rgba(57, 181, 97, 0.08);
|
|
3204
|
+
}
|
|
3205
|
+
|
|
3206
|
+
.agents-diff-line.del {
|
|
3207
|
+
background: rgba(220, 95, 108, 0.1);
|
|
3208
|
+
}
|
|
3209
|
+
|
|
3210
|
+
.agents-diff-line.context {
|
|
3211
|
+
background: transparent;
|
|
3212
|
+
}
|
|
3213
|
+
|
|
3214
|
+
|
|
3215
|
+
.agents-diff-line-sign {
|
|
3216
|
+
text-align: center;
|
|
3217
|
+
color: var(--color-text-tertiary);
|
|
3218
|
+
min-height: 20px;
|
|
3219
|
+
}
|
|
3220
|
+
|
|
3221
|
+
.agents-diff-line-text {
|
|
3222
|
+
white-space: pre-wrap;
|
|
3223
|
+
word-break: break-word;
|
|
3224
|
+
color: var(--color-text-primary);
|
|
3225
|
+
}
|
|
3226
|
+
|
|
2668
3227
|
.form-input:disabled,
|
|
2669
3228
|
.form-input[readonly] {
|
|
2670
3229
|
background: linear-gradient(to right, var(--color-bg) 0%, rgba(247, 241, 232, 0.5) 100%);
|
|
@@ -3649,6 +4208,21 @@ textarea:focus-visible {
|
|
|
3649
4208
|
}
|
|
3650
4209
|
|
|
3651
4210
|
@media (max-width: 540px) {
|
|
4211
|
+
.session-item-copy.session-item-pin {
|
|
4212
|
+
width: 44px;
|
|
4213
|
+
height: 44px;
|
|
4214
|
+
min-width: 44px;
|
|
4215
|
+
min-height: 44px;
|
|
4216
|
+
padding: 10px;
|
|
4217
|
+
transform: none;
|
|
4218
|
+
}
|
|
4219
|
+
|
|
4220
|
+
.session-item-copy.session-item-pin svg,
|
|
4221
|
+
.session-item-copy.session-item-pin .pin-icon {
|
|
4222
|
+
width: 16px;
|
|
4223
|
+
height: 16px;
|
|
4224
|
+
}
|
|
4225
|
+
|
|
3652
4226
|
body {
|
|
3653
4227
|
padding: var(--spacing-md) var(--spacing-sm);
|
|
3654
4228
|
}
|
|
@@ -3708,6 +4282,7 @@ textarea:focus-visible {
|
|
|
3708
4282
|
.session-item {
|
|
3709
4283
|
min-height: 75px;
|
|
3710
4284
|
height: 75px;
|
|
4285
|
+
contain-intrinsic-size: 75px;
|
|
3711
4286
|
padding: 12px 14px;
|
|
3712
4287
|
}
|
|
3713
4288
|
|
|
@@ -3758,6 +4333,79 @@ textarea:focus-visible {
|
|
|
3758
4333
|
align-items: center;
|
|
3759
4334
|
}
|
|
3760
4335
|
|
|
4336
|
+
.trash-item.session-item {
|
|
4337
|
+
min-height: auto;
|
|
4338
|
+
height: auto;
|
|
4339
|
+
contain-intrinsic-size: auto;
|
|
4340
|
+
}
|
|
4341
|
+
|
|
4342
|
+
.trash-item-header {
|
|
4343
|
+
flex-direction: column;
|
|
4344
|
+
align-items: stretch;
|
|
4345
|
+
gap: 10px;
|
|
4346
|
+
}
|
|
4347
|
+
|
|
4348
|
+
.trash-item-mainline {
|
|
4349
|
+
flex-direction: column;
|
|
4350
|
+
align-items: flex-start;
|
|
4351
|
+
gap: 6px;
|
|
4352
|
+
}
|
|
4353
|
+
|
|
4354
|
+
.trash-item-side {
|
|
4355
|
+
width: 100%;
|
|
4356
|
+
min-width: 0;
|
|
4357
|
+
align-items: stretch;
|
|
4358
|
+
gap: 10px;
|
|
4359
|
+
padding-top: 8px;
|
|
4360
|
+
border-top: 1px dashed rgba(216, 201, 184, 0.55);
|
|
4361
|
+
}
|
|
4362
|
+
|
|
4363
|
+
.trash-item-actions {
|
|
4364
|
+
display: grid;
|
|
4365
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
4366
|
+
justify-content: flex-start;
|
|
4367
|
+
width: 100%;
|
|
4368
|
+
}
|
|
4369
|
+
|
|
4370
|
+
.trash-item-actions .btn-mini {
|
|
4371
|
+
width: 100%;
|
|
4372
|
+
min-height: 44px;
|
|
4373
|
+
display: inline-flex;
|
|
4374
|
+
align-items: center;
|
|
4375
|
+
justify-content: center;
|
|
4376
|
+
}
|
|
4377
|
+
|
|
4378
|
+
.trash-item .session-count-badge {
|
|
4379
|
+
align-self: flex-start;
|
|
4380
|
+
margin-top: 0;
|
|
4381
|
+
}
|
|
4382
|
+
|
|
4383
|
+
.trash-item-title {
|
|
4384
|
+
-webkit-line-clamp: 3;
|
|
4385
|
+
max-height: none;
|
|
4386
|
+
white-space: normal;
|
|
4387
|
+
text-overflow: clip;
|
|
4388
|
+
overflow: hidden;
|
|
4389
|
+
}
|
|
4390
|
+
|
|
4391
|
+
.trash-item-meta {
|
|
4392
|
+
margin-top: 6px;
|
|
4393
|
+
margin-bottom: 0;
|
|
4394
|
+
gap: 6px;
|
|
4395
|
+
align-items: center;
|
|
4396
|
+
}
|
|
4397
|
+
|
|
4398
|
+
.trash-item-time {
|
|
4399
|
+
padding-top: 2px;
|
|
4400
|
+
line-height: 1.35;
|
|
4401
|
+
text-align: right;
|
|
4402
|
+
}
|
|
4403
|
+
|
|
4404
|
+
.trash-item-path {
|
|
4405
|
+
grid-template-columns: 1fr;
|
|
4406
|
+
gap: 4px;
|
|
4407
|
+
}
|
|
4408
|
+
|
|
3761
4409
|
.card {
|
|
3762
4410
|
padding: 8px;
|
|
3763
4411
|
}
|