acdev 1.2.0 → 1.3.1
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/package.json +1 -1
- package/public/styles.css +138 -86
- package/src/agent.js +6 -1
package/package.json
CHANGED
package/public/styles.css
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
:root,
|
|
4
4
|
[data-theme="light"] {
|
|
5
|
-
--bg: #
|
|
6
|
-
--surface:
|
|
7
|
-
--surface-2: #
|
|
5
|
+
--bg: #eef0f3;
|
|
6
|
+
--surface: var(--bg);
|
|
7
|
+
--surface-2: #e4e7ec;
|
|
8
8
|
--text: #18181b;
|
|
9
9
|
--text-muted: rgba(24, 24, 27, 0.55);
|
|
10
|
-
--border: rgba(24, 24, 27, 0.
|
|
11
|
-
--border-soft: rgba(24, 24, 27, 0.
|
|
10
|
+
--border: rgba(24, 24, 27, 0.07);
|
|
11
|
+
--border-soft: rgba(24, 24, 27, 0.045);
|
|
12
12
|
--primary: #5b4fe8;
|
|
13
13
|
--primary-hover: #4c3fd9;
|
|
14
14
|
--primary-100: #ece9fd;
|
|
@@ -26,7 +26,12 @@
|
|
|
26
26
|
--slate-800: #3a4149;
|
|
27
27
|
--nav-badge-bg: #e9e9eb;
|
|
28
28
|
--nav-badge-text: #55565c;
|
|
29
|
-
--
|
|
29
|
+
--neu-light: #ffffff;
|
|
30
|
+
--neu-dark: #c7cbd3;
|
|
31
|
+
--shadow-sm: 7px 7px 15px var(--neu-dark), -7px -7px 15px var(--neu-light);
|
|
32
|
+
--shadow-neu-sm: 4px 4px 9px var(--neu-dark), -4px -4px 9px var(--neu-light);
|
|
33
|
+
--shadow-neu-inset: inset 4px 4px 9px var(--neu-dark), inset -4px -4px 9px var(--neu-light);
|
|
34
|
+
--shadow-neu-inset-sm: inset 2px 2px 5px var(--neu-dark), inset -2px -2px 5px var(--neu-light);
|
|
30
35
|
--diff-del-bg: oklch(0.93 0.05 25);
|
|
31
36
|
--diff-del-fg: oklch(0.36 0.13 25);
|
|
32
37
|
--diff-add-bg: oklch(0.93 0.05 145);
|
|
@@ -36,12 +41,12 @@
|
|
|
36
41
|
|
|
37
42
|
[data-theme="dark"] {
|
|
38
43
|
--bg: #141316;
|
|
39
|
-
--surface:
|
|
40
|
-
--surface-2: #
|
|
44
|
+
--surface: var(--bg);
|
|
45
|
+
--surface-2: #101013;
|
|
41
46
|
--text: #f1f0f3;
|
|
42
47
|
--text-muted: rgba(241, 240, 243, 0.55);
|
|
43
|
-
--border: rgba(255, 255, 255, 0.
|
|
44
|
-
--border-soft: rgba(255, 255, 255, 0.
|
|
48
|
+
--border: rgba(255, 255, 255, 0.07);
|
|
49
|
+
--border-soft: rgba(255, 255, 255, 0.045);
|
|
45
50
|
--primary: #8c80f5;
|
|
46
51
|
--primary-hover: #a196f7;
|
|
47
52
|
--primary-100: #2a2560;
|
|
@@ -59,7 +64,12 @@
|
|
|
59
64
|
--slate-800: #ccd1d6;
|
|
60
65
|
--nav-badge-bg: #2c2b30;
|
|
61
66
|
--nav-badge-text: #c7c6cc;
|
|
62
|
-
--
|
|
67
|
+
--neu-light: rgba(255, 255, 255, 0.05);
|
|
68
|
+
--neu-dark: rgba(0, 0, 0, 0.6);
|
|
69
|
+
--shadow-sm: 7px 7px 15px var(--neu-dark), -7px -7px 15px var(--neu-light);
|
|
70
|
+
--shadow-neu-sm: 4px 4px 9px var(--neu-dark), -4px -4px 9px var(--neu-light);
|
|
71
|
+
--shadow-neu-inset: inset 4px 4px 9px var(--neu-dark), inset -4px -4px 9px var(--neu-light);
|
|
72
|
+
--shadow-neu-inset-sm: inset 2px 2px 5px var(--neu-dark), inset -2px -2px 5px var(--neu-light);
|
|
63
73
|
--diff-del-bg: oklch(0.28 0.06 25);
|
|
64
74
|
--diff-del-fg: oklch(0.82 0.08 25);
|
|
65
75
|
--diff-add-bg: oklch(0.28 0.05 145);
|
|
@@ -173,23 +183,25 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
173
183
|
width: 100%;
|
|
174
184
|
padding: 8px 10px;
|
|
175
185
|
border: none;
|
|
176
|
-
border-radius:
|
|
186
|
+
border-radius: 10px;
|
|
177
187
|
background: transparent;
|
|
178
188
|
color: var(--text);
|
|
179
189
|
font-size: 14px;
|
|
180
190
|
font-weight: 500;
|
|
181
191
|
text-align: left;
|
|
182
|
-
transition: background 0.12s ease, color 0.12s ease;
|
|
192
|
+
transition: background 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
|
|
183
193
|
}
|
|
184
194
|
|
|
185
195
|
.nav-item:hover {
|
|
186
196
|
background: var(--surface-2);
|
|
197
|
+
box-shadow: var(--shadow-neu-sm);
|
|
187
198
|
}
|
|
188
199
|
|
|
189
200
|
.nav-item.active {
|
|
190
201
|
background: var(--primary-100);
|
|
191
202
|
color: var(--primary);
|
|
192
203
|
font-weight: 600;
|
|
204
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
193
205
|
}
|
|
194
206
|
|
|
195
207
|
.nav-icon {
|
|
@@ -333,16 +345,22 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
333
345
|
display: flex;
|
|
334
346
|
align-items: center;
|
|
335
347
|
justify-content: center;
|
|
336
|
-
border:
|
|
348
|
+
border: none;
|
|
337
349
|
background: var(--surface);
|
|
338
350
|
color: var(--text);
|
|
339
351
|
padding: 0;
|
|
352
|
+
box-shadow: var(--shadow-neu-sm);
|
|
353
|
+
transition: box-shadow 0.12s ease, background 0.12s ease;
|
|
340
354
|
}
|
|
341
355
|
|
|
342
356
|
.theme-toggle:hover {
|
|
343
357
|
background: var(--surface-2);
|
|
344
358
|
}
|
|
345
359
|
|
|
360
|
+
.theme-toggle:active {
|
|
361
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
362
|
+
}
|
|
363
|
+
|
|
346
364
|
.main-scroll {
|
|
347
365
|
flex: 1;
|
|
348
366
|
overflow: auto;
|
|
@@ -375,8 +393,8 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
375
393
|
/* —— Cards / surfaces —— */
|
|
376
394
|
.card {
|
|
377
395
|
background: var(--surface);
|
|
378
|
-
border:
|
|
379
|
-
border-radius:
|
|
396
|
+
border: none;
|
|
397
|
+
border-radius: 18px;
|
|
380
398
|
padding: 16px;
|
|
381
399
|
box-shadow: var(--shadow-sm);
|
|
382
400
|
}
|
|
@@ -500,9 +518,9 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
500
518
|
line-height: 1.4;
|
|
501
519
|
color: var(--text);
|
|
502
520
|
background: var(--surface-2);
|
|
503
|
-
border:
|
|
504
|
-
border-radius:
|
|
505
|
-
box-shadow:
|
|
521
|
+
border: none;
|
|
522
|
+
border-radius: 6px;
|
|
523
|
+
box-shadow: var(--shadow-neu-sm);
|
|
506
524
|
}
|
|
507
525
|
|
|
508
526
|
.enqueue-info-banner {
|
|
@@ -511,8 +529,9 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
511
529
|
gap: 10px;
|
|
512
530
|
padding: 11px 13px;
|
|
513
531
|
background: var(--surface-2);
|
|
514
|
-
border:
|
|
515
|
-
border-radius:
|
|
532
|
+
border: none;
|
|
533
|
+
border-radius: 12px;
|
|
534
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
516
535
|
}
|
|
517
536
|
|
|
518
537
|
.enqueue-info-icon {
|
|
@@ -562,13 +581,14 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
562
581
|
text-align: left;
|
|
563
582
|
cursor: pointer;
|
|
564
583
|
background: var(--surface);
|
|
565
|
-
border:
|
|
566
|
-
border-radius:
|
|
567
|
-
|
|
584
|
+
border: none;
|
|
585
|
+
border-radius: 12px;
|
|
586
|
+
box-shadow: var(--shadow-neu-sm);
|
|
587
|
+
transition: box-shadow 0.12s ease;
|
|
568
588
|
}
|
|
569
589
|
|
|
570
590
|
.agent-pill:hover {
|
|
571
|
-
|
|
591
|
+
box-shadow: var(--shadow-sm);
|
|
572
592
|
}
|
|
573
593
|
|
|
574
594
|
.agent-pill:focus-visible {
|
|
@@ -735,6 +755,7 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
735
755
|
border: none;
|
|
736
756
|
border-bottom: 1px solid var(--border-soft);
|
|
737
757
|
border-radius: 0;
|
|
758
|
+
box-shadow: none;
|
|
738
759
|
}
|
|
739
760
|
|
|
740
761
|
.agent-picker-search:focus-visible {
|
|
@@ -850,8 +871,8 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
850
871
|
|
|
851
872
|
.stat-card {
|
|
852
873
|
background: var(--surface);
|
|
853
|
-
border:
|
|
854
|
-
border-radius:
|
|
874
|
+
border: none;
|
|
875
|
+
border-radius: 18px;
|
|
855
876
|
padding: 16px;
|
|
856
877
|
box-shadow: var(--shadow-sm);
|
|
857
878
|
}
|
|
@@ -903,8 +924,8 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
903
924
|
align-items: center;
|
|
904
925
|
gap: 16px;
|
|
905
926
|
background: var(--surface);
|
|
906
|
-
border:
|
|
907
|
-
border-radius:
|
|
927
|
+
border: none;
|
|
928
|
+
border-radius: 18px;
|
|
908
929
|
padding: 14px 16px;
|
|
909
930
|
box-shadow: var(--shadow-sm);
|
|
910
931
|
}
|
|
@@ -1097,12 +1118,13 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1097
1118
|
}
|
|
1098
1119
|
|
|
1099
1120
|
.empty-dashed {
|
|
1100
|
-
border:
|
|
1101
|
-
border-radius:
|
|
1121
|
+
border: none;
|
|
1122
|
+
border-radius: 16px;
|
|
1102
1123
|
padding: 28px;
|
|
1103
1124
|
text-align: center;
|
|
1104
1125
|
font-size: 13px;
|
|
1105
1126
|
color: var(--text-muted);
|
|
1127
|
+
box-shadow: var(--shadow-neu-inset);
|
|
1106
1128
|
}
|
|
1107
1129
|
|
|
1108
1130
|
.empty-inline {
|
|
@@ -1121,12 +1143,13 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1121
1143
|
font-size: 14px;
|
|
1122
1144
|
color: var(--text);
|
|
1123
1145
|
background: var(--surface);
|
|
1124
|
-
border:
|
|
1125
|
-
border-radius:
|
|
1126
|
-
|
|
1146
|
+
border: none;
|
|
1147
|
+
border-radius: 10px;
|
|
1148
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
1149
|
+
transition: box-shadow 0.12s ease;
|
|
1127
1150
|
}
|
|
1128
1151
|
|
|
1129
|
-
.input:hover {
|
|
1152
|
+
.input:hover { box-shadow: var(--shadow-neu-inset); }
|
|
1130
1153
|
|
|
1131
1154
|
.input:focus-visible {
|
|
1132
1155
|
border-color: var(--primary);
|
|
@@ -1191,7 +1214,7 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1191
1214
|
font-size: 14px;
|
|
1192
1215
|
line-height: 1.2;
|
|
1193
1216
|
border: none;
|
|
1194
|
-
border-radius:
|
|
1217
|
+
border-radius: 10px;
|
|
1195
1218
|
padding: 9px 16px;
|
|
1196
1219
|
min-height: 36px;
|
|
1197
1220
|
cursor: pointer;
|
|
@@ -1212,25 +1235,38 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1212
1235
|
.btn-primary {
|
|
1213
1236
|
background: var(--primary);
|
|
1214
1237
|
color: var(--btn-on-primary);
|
|
1238
|
+
box-shadow: var(--shadow-neu-sm);
|
|
1239
|
+
transition: background 0.12s ease, box-shadow 0.12s ease;
|
|
1215
1240
|
}
|
|
1216
1241
|
|
|
1217
1242
|
.btn-primary:hover:not(:disabled) {
|
|
1218
1243
|
background: var(--primary-hover);
|
|
1219
1244
|
}
|
|
1220
1245
|
|
|
1246
|
+
.btn-primary:active:not(:disabled) {
|
|
1247
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1221
1250
|
.btn-secondary {
|
|
1222
1251
|
background: var(--surface);
|
|
1223
|
-
border:
|
|
1252
|
+
border: none;
|
|
1224
1253
|
color: var(--text);
|
|
1254
|
+
box-shadow: var(--shadow-neu-sm);
|
|
1255
|
+
transition: background 0.12s ease, box-shadow 0.12s ease;
|
|
1225
1256
|
}
|
|
1226
1257
|
|
|
1227
1258
|
.btn-secondary:hover:not(:disabled) {
|
|
1228
1259
|
background: var(--surface-2);
|
|
1229
1260
|
}
|
|
1230
1261
|
|
|
1262
|
+
.btn-secondary:active:not(:disabled) {
|
|
1263
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1231
1266
|
.btn-warn {
|
|
1232
1267
|
background: var(--amber-100);
|
|
1233
1268
|
color: var(--amber-800);
|
|
1269
|
+
box-shadow: var(--shadow-neu-sm);
|
|
1234
1270
|
}
|
|
1235
1271
|
|
|
1236
1272
|
.btn-danger-text {
|
|
@@ -1275,8 +1311,8 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1275
1311
|
/* —— Runs cards —— */
|
|
1276
1312
|
.run-card {
|
|
1277
1313
|
background: var(--surface);
|
|
1278
|
-
border:
|
|
1279
|
-
border-radius:
|
|
1314
|
+
border: none;
|
|
1315
|
+
border-radius: 18px;
|
|
1280
1316
|
padding: 18px 20px;
|
|
1281
1317
|
box-shadow: var(--shadow-sm);
|
|
1282
1318
|
display: flex;
|
|
@@ -1287,15 +1323,15 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1287
1323
|
width: 100%;
|
|
1288
1324
|
color: inherit;
|
|
1289
1325
|
font: inherit;
|
|
1326
|
+
transition: box-shadow 0.12s ease;
|
|
1290
1327
|
}
|
|
1291
1328
|
|
|
1292
1329
|
.run-card:hover {
|
|
1293
|
-
|
|
1330
|
+
box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary) 35%, transparent), var(--shadow-sm);
|
|
1294
1331
|
}
|
|
1295
1332
|
|
|
1296
1333
|
.run-card.selected {
|
|
1297
|
-
|
|
1298
|
-
box-shadow: 0 0 0 1px var(--primary), var(--shadow-sm);
|
|
1334
|
+
box-shadow: var(--shadow-neu-inset), 0 0 0 2px var(--primary);
|
|
1299
1335
|
}
|
|
1300
1336
|
|
|
1301
1337
|
.run-card-top {
|
|
@@ -1351,10 +1387,14 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1351
1387
|
}
|
|
1352
1388
|
|
|
1353
1389
|
.log-pane-wrap {
|
|
1354
|
-
|
|
1390
|
+
display: flex;
|
|
1391
|
+
flex-direction: column;
|
|
1392
|
+
align-items: flex-end;
|
|
1393
|
+
gap: 6px;
|
|
1355
1394
|
}
|
|
1356
1395
|
|
|
1357
1396
|
.log-pane {
|
|
1397
|
+
width: 100%;
|
|
1358
1398
|
background: var(--surface-2);
|
|
1359
1399
|
border-radius: 8px;
|
|
1360
1400
|
padding: 8px 10px;
|
|
@@ -1365,12 +1405,8 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1365
1405
|
}
|
|
1366
1406
|
|
|
1367
1407
|
.log-jump-latest {
|
|
1368
|
-
position: absolute;
|
|
1369
|
-
right: 12px;
|
|
1370
|
-
bottom: 10px;
|
|
1371
|
-
z-index: 1;
|
|
1372
1408
|
background: var(--surface);
|
|
1373
|
-
border:
|
|
1409
|
+
border: none;
|
|
1374
1410
|
color: var(--text);
|
|
1375
1411
|
border-radius: 8px;
|
|
1376
1412
|
padding: 6px 12px;
|
|
@@ -1492,9 +1528,10 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1492
1528
|
.log-raw-pre {
|
|
1493
1529
|
margin: 6px 0 4px;
|
|
1494
1530
|
padding: 10px 12px;
|
|
1495
|
-
background: var(--
|
|
1496
|
-
border:
|
|
1497
|
-
border-radius:
|
|
1531
|
+
background: var(--surface-2);
|
|
1532
|
+
border: none;
|
|
1533
|
+
border-radius: 8px;
|
|
1534
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
1498
1535
|
font-family: "JetBrains Mono", ui-monospace, monospace;
|
|
1499
1536
|
font-size: 11px;
|
|
1500
1537
|
line-height: 1.5;
|
|
@@ -1524,7 +1561,7 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1524
1561
|
display: inline-flex;
|
|
1525
1562
|
align-items: center;
|
|
1526
1563
|
gap: 6px;
|
|
1527
|
-
border:
|
|
1564
|
+
border: none;
|
|
1528
1565
|
background: var(--surface);
|
|
1529
1566
|
color: var(--text-muted);
|
|
1530
1567
|
font-family: inherit;
|
|
@@ -1533,7 +1570,8 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1533
1570
|
padding: 6px 11px;
|
|
1534
1571
|
border-radius: 999px;
|
|
1535
1572
|
cursor: pointer;
|
|
1536
|
-
|
|
1573
|
+
box-shadow: var(--shadow-neu-sm);
|
|
1574
|
+
transition: background 0.12s ease, box-shadow 0.12s ease, color 0.12s ease;
|
|
1537
1575
|
}
|
|
1538
1576
|
|
|
1539
1577
|
.filter-chip:hover {
|
|
@@ -1543,8 +1581,8 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1543
1581
|
|
|
1544
1582
|
.filter-chip[aria-selected="true"] {
|
|
1545
1583
|
background: var(--primary-100);
|
|
1546
|
-
border-color: transparent;
|
|
1547
1584
|
color: var(--primary);
|
|
1585
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
1548
1586
|
}
|
|
1549
1587
|
|
|
1550
1588
|
.filter-chip-count {
|
|
@@ -1595,7 +1633,7 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1595
1633
|
|
|
1596
1634
|
.review-pick:hover { background: var(--surface-2); }
|
|
1597
1635
|
|
|
1598
|
-
.review-pick.selected { background: var(--surface-2); }
|
|
1636
|
+
.review-pick.selected { background: var(--surface-2); box-shadow: var(--shadow-neu-inset-sm); }
|
|
1599
1637
|
|
|
1600
1638
|
.review-pick-title {
|
|
1601
1639
|
font-size: 13px;
|
|
@@ -1641,9 +1679,10 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1641
1679
|
|
|
1642
1680
|
.pr-status-note {
|
|
1643
1681
|
padding: 10px 12px;
|
|
1644
|
-
border:
|
|
1645
|
-
border-radius:
|
|
1682
|
+
border: none;
|
|
1683
|
+
border-radius: 12px;
|
|
1646
1684
|
background: var(--surface-2);
|
|
1685
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
1647
1686
|
}
|
|
1648
1687
|
|
|
1649
1688
|
.markdown-view {
|
|
@@ -1747,14 +1786,15 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1747
1786
|
align-items: flex-start;
|
|
1748
1787
|
gap: 10px;
|
|
1749
1788
|
padding: 8px 10px;
|
|
1750
|
-
border:
|
|
1751
|
-
border-radius:
|
|
1789
|
+
border: none;
|
|
1790
|
+
border-radius: 10px;
|
|
1752
1791
|
background: var(--surface-2);
|
|
1753
1792
|
font-size: 12.5px;
|
|
1754
1793
|
font-family: "JetBrains Mono", ui-monospace, monospace;
|
|
1755
1794
|
cursor: pointer;
|
|
1756
1795
|
user-select: none;
|
|
1757
1796
|
word-break: break-all;
|
|
1797
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
1758
1798
|
}
|
|
1759
1799
|
|
|
1760
1800
|
.review-file-check:has(input:not(:checked)) {
|
|
@@ -1762,7 +1802,7 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1762
1802
|
}
|
|
1763
1803
|
|
|
1764
1804
|
.review-file-check:has(input:checked) {
|
|
1765
|
-
|
|
1805
|
+
box-shadow: var(--shadow-neu-inset-sm), 0 0 0 1.5px var(--primary);
|
|
1766
1806
|
}
|
|
1767
1807
|
|
|
1768
1808
|
.review-file-check input {
|
|
@@ -1799,14 +1839,15 @@ a { color: var(--primary); text-underline-offset: 3px; }
|
|
|
1799
1839
|
}
|
|
1800
1840
|
|
|
1801
1841
|
.diff-viewer {
|
|
1802
|
-
border:
|
|
1803
|
-
border-radius:
|
|
1842
|
+
border: none;
|
|
1843
|
+
border-radius: 14px;
|
|
1804
1844
|
font-family: "JetBrains Mono", ui-monospace, monospace;
|
|
1805
1845
|
font-size: 12.5px;
|
|
1806
1846
|
overflow: hidden;
|
|
1807
1847
|
max-height: min(48vh, 520px);
|
|
1808
1848
|
overflow-y: auto;
|
|
1809
1849
|
background: var(--surface);
|
|
1850
|
+
box-shadow: var(--shadow-sm);
|
|
1810
1851
|
}
|
|
1811
1852
|
|
|
1812
1853
|
.diff-section.diff-fullscreen {
|
|
@@ -2005,12 +2046,13 @@ body.diff-fs-open {
|
|
|
2005
2046
|
}
|
|
2006
2047
|
|
|
2007
2048
|
.diff-pending-chip {
|
|
2008
|
-
border: 1px solid color-mix(in srgb, var(--primary) 30%,
|
|
2049
|
+
border: 1px solid color-mix(in srgb, var(--primary) 30%, transparent);
|
|
2009
2050
|
background: var(--surface);
|
|
2010
|
-
border-radius:
|
|
2051
|
+
border-radius: 10px;
|
|
2011
2052
|
padding: 8px 10px;
|
|
2012
2053
|
font-family: "DM Sans", system-ui, sans-serif;
|
|
2013
2054
|
font-size: 12px;
|
|
2055
|
+
box-shadow: var(--shadow-neu-sm);
|
|
2014
2056
|
}
|
|
2015
2057
|
|
|
2016
2058
|
.diff-pending-chip-path {
|
|
@@ -2052,10 +2094,11 @@ body.diff-fs-open {
|
|
|
2052
2094
|
gap: 10px;
|
|
2053
2095
|
align-items: flex-start;
|
|
2054
2096
|
justify-content: space-between;
|
|
2055
|
-
border:
|
|
2056
|
-
border-radius:
|
|
2097
|
+
border: none;
|
|
2098
|
+
border-radius: 10px;
|
|
2057
2099
|
padding: 8px 10px;
|
|
2058
2100
|
background: var(--surface-2);
|
|
2101
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
2059
2102
|
}
|
|
2060
2103
|
|
|
2061
2104
|
.review-pending-item-main {
|
|
@@ -2134,8 +2177,8 @@ body.diff-fs-open {
|
|
|
2134
2177
|
/* —— Alerts —— */
|
|
2135
2178
|
.alert-card {
|
|
2136
2179
|
background: var(--surface);
|
|
2137
|
-
border:
|
|
2138
|
-
border-radius:
|
|
2180
|
+
border: none;
|
|
2181
|
+
border-radius: 18px;
|
|
2139
2182
|
padding: 16px 18px;
|
|
2140
2183
|
box-shadow: var(--shadow-sm);
|
|
2141
2184
|
display: flex;
|
|
@@ -2184,8 +2227,9 @@ body.diff-fs-open {
|
|
|
2184
2227
|
padding: 10px 12px;
|
|
2185
2228
|
background: var(--accent-100);
|
|
2186
2229
|
color: var(--accent-800);
|
|
2187
|
-
border-radius:
|
|
2230
|
+
border-radius: 10px;
|
|
2188
2231
|
font-size: 13px;
|
|
2232
|
+
box-shadow: var(--shadow-neu-sm);
|
|
2189
2233
|
}
|
|
2190
2234
|
|
|
2191
2235
|
.pr-banner {
|
|
@@ -2197,8 +2241,9 @@ body.diff-fs-open {
|
|
|
2197
2241
|
padding: 10px 12px;
|
|
2198
2242
|
background: var(--green-100);
|
|
2199
2243
|
color: var(--green-800);
|
|
2200
|
-
border-radius:
|
|
2244
|
+
border-radius: 10px;
|
|
2201
2245
|
font-size: 13px;
|
|
2246
|
+
box-shadow: var(--shadow-neu-sm);
|
|
2202
2247
|
}
|
|
2203
2248
|
|
|
2204
2249
|
.permission-card {
|
|
@@ -2208,8 +2253,9 @@ body.diff-fs-open {
|
|
|
2208
2253
|
padding: 12px 14px;
|
|
2209
2254
|
background: var(--amber-100);
|
|
2210
2255
|
color: var(--amber-800);
|
|
2211
|
-
border-radius:
|
|
2256
|
+
border-radius: 10px;
|
|
2212
2257
|
font-size: 13px;
|
|
2258
|
+
box-shadow: var(--shadow-neu-sm);
|
|
2213
2259
|
}
|
|
2214
2260
|
|
|
2215
2261
|
.permission-card-header {
|
|
@@ -2237,14 +2283,15 @@ body.diff-fs-open {
|
|
|
2237
2283
|
padding: 8px 10px;
|
|
2238
2284
|
background: var(--bg);
|
|
2239
2285
|
color: var(--text);
|
|
2240
|
-
border:
|
|
2241
|
-
border-radius:
|
|
2286
|
+
border: none;
|
|
2287
|
+
border-radius: 8px;
|
|
2242
2288
|
font-family: "JetBrains Mono", ui-monospace, monospace;
|
|
2243
2289
|
font-size: 12px;
|
|
2244
2290
|
white-space: pre-wrap;
|
|
2245
2291
|
word-break: break-word;
|
|
2246
2292
|
max-height: 160px;
|
|
2247
2293
|
overflow: auto;
|
|
2294
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
2248
2295
|
}
|
|
2249
2296
|
|
|
2250
2297
|
/* —— Scrollbars —— */
|
|
@@ -2326,16 +2373,17 @@ body.diff-fs-open {
|
|
|
2326
2373
|
}
|
|
2327
2374
|
|
|
2328
2375
|
.settings-tab {
|
|
2329
|
-
border:
|
|
2376
|
+
border: none;
|
|
2330
2377
|
background: var(--surface);
|
|
2331
2378
|
color: var(--text-muted);
|
|
2332
2379
|
font-family: inherit;
|
|
2333
2380
|
font-size: 12px;
|
|
2334
2381
|
font-weight: 600;
|
|
2335
2382
|
padding: 7px 12px;
|
|
2336
|
-
border-radius:
|
|
2383
|
+
border-radius: 10px;
|
|
2337
2384
|
cursor: pointer;
|
|
2338
|
-
|
|
2385
|
+
box-shadow: var(--shadow-neu-sm);
|
|
2386
|
+
transition: background 0.12s ease, box-shadow 0.12s ease, color 0.12s ease;
|
|
2339
2387
|
}
|
|
2340
2388
|
|
|
2341
2389
|
.settings-tab:hover {
|
|
@@ -2345,8 +2393,8 @@ body.diff-fs-open {
|
|
|
2345
2393
|
|
|
2346
2394
|
.settings-tab[aria-selected="true"] {
|
|
2347
2395
|
background: var(--primary-100);
|
|
2348
|
-
border-color: transparent;
|
|
2349
2396
|
color: var(--primary);
|
|
2397
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
2350
2398
|
}
|
|
2351
2399
|
|
|
2352
2400
|
.settings-panel {
|
|
@@ -2477,6 +2525,7 @@ body.diff-fs-open {
|
|
|
2477
2525
|
border: none;
|
|
2478
2526
|
border-bottom: 1px solid var(--border);
|
|
2479
2527
|
border-radius: 0;
|
|
2528
|
+
box-shadow: none;
|
|
2480
2529
|
}
|
|
2481
2530
|
|
|
2482
2531
|
.model-picker-search:focus-visible {
|
|
@@ -2562,19 +2611,20 @@ body.diff-fs-open {
|
|
|
2562
2611
|
align-items: center;
|
|
2563
2612
|
gap: 8px;
|
|
2564
2613
|
padding: 8px 12px;
|
|
2565
|
-
border:
|
|
2566
|
-
border-radius:
|
|
2614
|
+
border: none;
|
|
2615
|
+
border-radius: 10px;
|
|
2567
2616
|
background: var(--surface-2);
|
|
2568
2617
|
font-size: 13px;
|
|
2569
2618
|
font-weight: 500;
|
|
2570
2619
|
cursor: pointer;
|
|
2571
2620
|
user-select: none;
|
|
2621
|
+
box-shadow: var(--shadow-neu-sm);
|
|
2572
2622
|
}
|
|
2573
2623
|
|
|
2574
2624
|
.tool-check:has(input:checked) {
|
|
2575
|
-
border-color: color-mix(in srgb, var(--primary) 45%, var(--border));
|
|
2576
2625
|
background: var(--primary-100);
|
|
2577
2626
|
color: var(--primary);
|
|
2627
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
2578
2628
|
}
|
|
2579
2629
|
|
|
2580
2630
|
.tool-check input {
|
|
@@ -2609,9 +2659,10 @@ body.diff-fs-open {
|
|
|
2609
2659
|
gap: 4px;
|
|
2610
2660
|
max-width: 360px;
|
|
2611
2661
|
padding: 3px;
|
|
2612
|
-
border:
|
|
2662
|
+
border: none;
|
|
2613
2663
|
border-radius: 999px;
|
|
2614
2664
|
background: var(--surface-2);
|
|
2665
|
+
box-shadow: var(--shadow-neu-inset-sm);
|
|
2615
2666
|
}
|
|
2616
2667
|
|
|
2617
2668
|
.source-toggle--compact {
|
|
@@ -2648,8 +2699,8 @@ body.diff-fs-open {
|
|
|
2648
2699
|
.source-btn.active {
|
|
2649
2700
|
background: var(--surface);
|
|
2650
2701
|
color: var(--text);
|
|
2651
|
-
border-color:
|
|
2652
|
-
box-shadow: var(--shadow-sm);
|
|
2702
|
+
border-color: transparent;
|
|
2703
|
+
box-shadow: var(--shadow-neu-sm);
|
|
2653
2704
|
}
|
|
2654
2705
|
|
|
2655
2706
|
/* Agent permission mode: selected button uses the theme's primary color. */
|
|
@@ -2657,13 +2708,14 @@ body.diff-fs-open {
|
|
|
2657
2708
|
#overview-permission-mode .source-btn.active {
|
|
2658
2709
|
background: var(--primary);
|
|
2659
2710
|
color: var(--btn-on-primary);
|
|
2660
|
-
border-color:
|
|
2711
|
+
border-color: transparent;
|
|
2712
|
+
box-shadow: var(--shadow-neu-sm);
|
|
2661
2713
|
}
|
|
2662
2714
|
|
|
2663
2715
|
#settings-permission-mode .source-btn.active:hover:not(:disabled),
|
|
2664
2716
|
#overview-permission-mode .source-btn.active:hover:not(:disabled) {
|
|
2665
2717
|
background: var(--primary-hover);
|
|
2666
|
-
border-color:
|
|
2718
|
+
border-color: transparent;
|
|
2667
2719
|
}
|
|
2668
2720
|
|
|
2669
2721
|
.source-btn:disabled {
|
|
@@ -2796,7 +2848,7 @@ body.diff-fs-open {
|
|
|
2796
2848
|
border-radius: 6px;
|
|
2797
2849
|
background: var(--surface-2);
|
|
2798
2850
|
color: var(--text-muted);
|
|
2799
|
-
border:
|
|
2851
|
+
border: none;
|
|
2800
2852
|
white-space: nowrap;
|
|
2801
2853
|
}
|
|
2802
2854
|
|
package/src/agent.js
CHANGED
|
@@ -468,7 +468,12 @@ async function runAgentQuery({
|
|
|
468
468
|
prompt,
|
|
469
469
|
options: {
|
|
470
470
|
cwd: worktreePath,
|
|
471
|
-
allowedTools
|
|
471
|
+
// `allowedTools` auto-approves those tools without ever calling
|
|
472
|
+
// `canUseTool` (SDK semantics) — fine for full_auto (no gate), but
|
|
473
|
+
// it would silently bypass manual/auto_edit gating. When a gate is
|
|
474
|
+
// active, restrict availability via `tools` instead so every call
|
|
475
|
+
// actually reaches `canUseTool`.
|
|
476
|
+
...(canUseTool ? { tools: config.allowedTools } : { allowedTools: config.allowedTools }),
|
|
472
477
|
disallowedTools: DISALLOWED_AGENT_TOOLS,
|
|
473
478
|
permissionMode: canUseTool ? 'default' : 'acceptEdits',
|
|
474
479
|
maxTurns: config.maxAgentTurns,
|