clay-server 2.26.0-beta.1 → 2.26.0-beta.10
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/bin/cli.js +5 -9
- package/lib/browser-mcp-server.js +496 -0
- package/lib/daemon.js +1 -1
- package/lib/os-users.js +23 -0
- package/lib/project-debate.js +206 -88
- package/lib/project-mate-interaction.js +766 -0
- package/lib/project-memory.js +677 -0
- package/lib/project.js +546 -1361
- package/lib/public/app.js +817 -175
- package/lib/public/css/debate.css +224 -2
- package/lib/public/css/icon-strip.css +10 -10
- package/lib/public/css/input.css +263 -83
- package/lib/public/css/mates.css +56 -57
- package/lib/public/css/mention.css +7 -4
- package/lib/public/css/menus.css +7 -0
- package/lib/public/css/messages.css +17 -0
- package/lib/public/css/mobile-nav.css +3 -1
- package/lib/public/css/overlays.css +181 -0
- package/lib/public/css/rewind.css +79 -0
- package/lib/public/css/server-settings.css +1 -0
- package/lib/public/css/sidebar.css +10 -0
- package/lib/public/css/title-bar.css +189 -3
- package/lib/public/index.html +53 -16
- package/lib/public/modules/context-sources.js +313 -0
- package/lib/public/modules/debate.js +184 -97
- package/lib/public/modules/input.js +18 -1
- package/lib/public/modules/mate-knowledge.js +11 -11
- package/lib/public/modules/mate-memory.js +5 -5
- package/lib/public/modules/mate-sidebar.js +13 -9
- package/lib/public/modules/mention.js +40 -2
- package/lib/public/modules/notifications.js +109 -1
- package/lib/public/modules/rewind.js +36 -0
- package/lib/public/modules/sidebar.js +107 -28
- package/lib/public/modules/terminal.js +8 -0
- package/lib/public/modules/theme.js +2 -1
- package/lib/public/modules/tools.js +69 -24
- package/lib/sdk-bridge.js +81 -7
- package/lib/sdk-worker.js +13 -1
- package/lib/server.js +42 -0
- package/lib/sessions.js +39 -7
- package/lib/terminal-manager.js +36 -6
- package/package.json +2 -2
package/lib/public/css/input.css
CHANGED
|
@@ -271,6 +271,181 @@
|
|
|
271
271
|
border-color: var(--error);
|
|
272
272
|
}
|
|
273
273
|
|
|
274
|
+
/* ==========================================================================
|
|
275
|
+
Context Sources — chips above input
|
|
276
|
+
========================================================================== */
|
|
277
|
+
|
|
278
|
+
#context-sources-bar {
|
|
279
|
+
display: flex;
|
|
280
|
+
align-items: center;
|
|
281
|
+
flex-wrap: wrap;
|
|
282
|
+
gap: 4px;
|
|
283
|
+
padding: 0 8px 4px;
|
|
284
|
+
position: relative;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
#context-sources-add {
|
|
288
|
+
display: inline-flex;
|
|
289
|
+
align-items: center;
|
|
290
|
+
gap: 6px;
|
|
291
|
+
padding: 6px 12px;
|
|
292
|
+
border-radius: 6px;
|
|
293
|
+
border: 1px dashed var(--border);
|
|
294
|
+
background: transparent;
|
|
295
|
+
color: var(--text-dimmer);
|
|
296
|
+
font-family: inherit;
|
|
297
|
+
font-size: 12px;
|
|
298
|
+
font-weight: 500;
|
|
299
|
+
cursor: pointer;
|
|
300
|
+
transition: color 0.15s, border-color 0.15s, background 0.15s;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
#context-sources-add .lucide { width: 12px; height: 12px; }
|
|
304
|
+
|
|
305
|
+
#context-sources-add:hover {
|
|
306
|
+
color: var(--text-secondary);
|
|
307
|
+
border-color: var(--text-dimmer);
|
|
308
|
+
background: var(--sidebar-hover);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
#context-sources-chips {
|
|
312
|
+
display: flex;
|
|
313
|
+
align-items: center;
|
|
314
|
+
flex-wrap: wrap;
|
|
315
|
+
gap: 4px;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.context-chip {
|
|
319
|
+
display: inline-flex;
|
|
320
|
+
align-items: stretch;
|
|
321
|
+
padding: 0;
|
|
322
|
+
border-radius: 8px;
|
|
323
|
+
background: var(--bg-alt);
|
|
324
|
+
color: var(--text);
|
|
325
|
+
font-size: 13px;
|
|
326
|
+
font-weight: 500;
|
|
327
|
+
line-height: 1;
|
|
328
|
+
white-space: nowrap;
|
|
329
|
+
border: 1px solid var(--border);
|
|
330
|
+
transition: border-color 0.15s;
|
|
331
|
+
animation: chipIn 0.3s ease-out;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
@keyframes chipIn {
|
|
335
|
+
from { opacity: 0; transform: translateY(6px) scale(0.95); }
|
|
336
|
+
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
.context-chip-label {
|
|
340
|
+
display: inline-flex;
|
|
341
|
+
align-items: center;
|
|
342
|
+
gap: 6px;
|
|
343
|
+
padding: 6px 10px 6px 12px;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.context-chip-label .lucide { width: 14px; height: 14px; flex-shrink: 0; color: var(--accent); }
|
|
347
|
+
|
|
348
|
+
.context-chip-remove {
|
|
349
|
+
display: inline-flex;
|
|
350
|
+
align-items: center;
|
|
351
|
+
justify-content: center;
|
|
352
|
+
width: 30px;
|
|
353
|
+
border: none;
|
|
354
|
+
border-left: 1px solid var(--border);
|
|
355
|
+
background: transparent;
|
|
356
|
+
color: var(--text-muted);
|
|
357
|
+
cursor: pointer;
|
|
358
|
+
padding: 0;
|
|
359
|
+
border-radius: 0 8px 8px 0;
|
|
360
|
+
transition: color 0.15s, background 0.15s;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
.context-chip-remove:hover {
|
|
364
|
+
color: var(--text);
|
|
365
|
+
background: rgba(var(--overlay-rgb), 0.08);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
.context-chip-remove .lucide { width: 14px; height: 14px; }
|
|
369
|
+
|
|
370
|
+
#context-sources-picker.hidden { display: none; }
|
|
371
|
+
|
|
372
|
+
#context-sources-picker {
|
|
373
|
+
position: absolute;
|
|
374
|
+
bottom: calc(100% + 4px);
|
|
375
|
+
left: 0;
|
|
376
|
+
min-width: 200px;
|
|
377
|
+
max-height: 320px;
|
|
378
|
+
overflow-y: auto;
|
|
379
|
+
background: var(--sidebar-bg);
|
|
380
|
+
border: 1px solid var(--border);
|
|
381
|
+
border-radius: 10px;
|
|
382
|
+
padding: 4px 0;
|
|
383
|
+
box-shadow: 0 4px 12px rgba(var(--shadow-rgb), 0.15);
|
|
384
|
+
z-index: 200;
|
|
385
|
+
animation: ctxPickerAppear 0.12s ease-out;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
@keyframes ctxPickerAppear {
|
|
389
|
+
from { opacity: 0; transform: scale(0.95); }
|
|
390
|
+
to { opacity: 1; transform: scale(1); }
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
.context-picker-section-label {
|
|
394
|
+
font-size: 10px;
|
|
395
|
+
font-weight: 600;
|
|
396
|
+
color: var(--text-dimmer);
|
|
397
|
+
text-transform: uppercase;
|
|
398
|
+
letter-spacing: 0.5px;
|
|
399
|
+
padding: 8px 12px 4px;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.context-picker-item {
|
|
403
|
+
display: flex;
|
|
404
|
+
align-items: center;
|
|
405
|
+
gap: 8px;
|
|
406
|
+
width: 100%;
|
|
407
|
+
padding: 8px 12px;
|
|
408
|
+
font-size: 13px;
|
|
409
|
+
color: var(--text-secondary);
|
|
410
|
+
background: none;
|
|
411
|
+
border: none;
|
|
412
|
+
cursor: pointer;
|
|
413
|
+
transition: background 0.15s;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
.context-picker-item:hover {
|
|
417
|
+
background: rgba(var(--overlay-rgb), 0.05);
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
.context-picker-item .lucide { width: 14px; height: 14px; flex-shrink: 0; }
|
|
421
|
+
|
|
422
|
+
.context-picker-check {
|
|
423
|
+
margin-left: auto;
|
|
424
|
+
width: 14px;
|
|
425
|
+
height: 14px;
|
|
426
|
+
color: var(--accent);
|
|
427
|
+
display: none;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
.context-picker-item.active .context-picker-check {
|
|
431
|
+
display: block;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
.context-picker-empty {
|
|
435
|
+
padding: 12px;
|
|
436
|
+
color: var(--text-dimmer);
|
|
437
|
+
font-size: 13px;
|
|
438
|
+
text-align: center;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
.context-picker-favicon {
|
|
442
|
+
width: 14px;
|
|
443
|
+
height: 14px;
|
|
444
|
+
border-radius: 2px;
|
|
445
|
+
flex-shrink: 0;
|
|
446
|
+
object-fit: contain;
|
|
447
|
+
}
|
|
448
|
+
|
|
274
449
|
/* ==========================================================================
|
|
275
450
|
Input Area — Claude-style unified container
|
|
276
451
|
========================================================================== */
|
|
@@ -291,15 +466,14 @@
|
|
|
291
466
|
display: flex;
|
|
292
467
|
flex-direction: column;
|
|
293
468
|
background: var(--input-bg);
|
|
294
|
-
border:
|
|
469
|
+
border: none;
|
|
295
470
|
border-radius: 8px;
|
|
296
|
-
padding:
|
|
297
|
-
transition:
|
|
471
|
+
padding: 7px;
|
|
472
|
+
transition: box-shadow 0.2s;
|
|
298
473
|
}
|
|
299
474
|
|
|
300
475
|
#input-row:focus-within {
|
|
301
|
-
|
|
302
|
-
box-shadow: 0 0 0 1px rgba(109, 104, 96, 0.15);
|
|
476
|
+
box-shadow: 0 0 0 1px var(--border);
|
|
303
477
|
}
|
|
304
478
|
|
|
305
479
|
#input {
|
|
@@ -378,7 +552,7 @@
|
|
|
378
552
|
border-radius: 10px;
|
|
379
553
|
border: 1px solid transparent;
|
|
380
554
|
background:
|
|
381
|
-
linear-gradient(var(--bg,
|
|
555
|
+
linear-gradient(var(--ask-mate-bg, var(--bg)), var(--ask-mate-bg, var(--bg))) padding-box,
|
|
382
556
|
linear-gradient(135deg, #4ecdc4 0%, #4ecdc4 25%, #556bf7, #a855f7, #f857a6, #ff6b6b) border-box;
|
|
383
557
|
color: transparent;
|
|
384
558
|
cursor: pointer;
|
|
@@ -521,98 +695,48 @@
|
|
|
521
695
|
#suggestion-chips {
|
|
522
696
|
display: flex;
|
|
523
697
|
flex-wrap: wrap;
|
|
524
|
-
gap:
|
|
525
|
-
padding:
|
|
526
|
-
position: absolute;
|
|
527
|
-
bottom: 100%;
|
|
528
|
-
left: 0;
|
|
529
|
-
right: 0;
|
|
530
|
-
z-index: 5;
|
|
531
|
-
background: transparent;
|
|
698
|
+
gap: 4px;
|
|
699
|
+
padding: 4px 6px;
|
|
532
700
|
}
|
|
533
701
|
|
|
534
702
|
#suggestion-chips.hidden { display: none; }
|
|
535
703
|
|
|
536
704
|
.suggestion-chip {
|
|
537
705
|
display: inline-flex;
|
|
538
|
-
align-items:
|
|
539
|
-
|
|
540
|
-
|
|
706
|
+
align-items: center;
|
|
707
|
+
gap: 5px;
|
|
708
|
+
padding: 4px 10px 4px 8px;
|
|
709
|
+
border-radius: 6px;
|
|
541
710
|
border: 1px solid var(--border);
|
|
542
|
-
background: var(--
|
|
711
|
+
background: rgba(var(--overlay-rgb), 0.08);
|
|
543
712
|
color: var(--text-secondary);
|
|
544
|
-
font-size:
|
|
713
|
+
font-size: 12px;
|
|
545
714
|
font-family: inherit;
|
|
546
715
|
cursor: pointer;
|
|
547
|
-
transition: border-color 0.15s;
|
|
716
|
+
transition: border-color 0.15s, background 0.15s, color 0.15s;
|
|
548
717
|
text-align: left;
|
|
549
718
|
max-width: 100%;
|
|
550
|
-
line-height: 1.
|
|
551
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
719
|
+
line-height: 1.2;
|
|
552
720
|
}
|
|
553
721
|
|
|
554
722
|
.suggestion-chip:hover {
|
|
555
723
|
border-color: var(--accent);
|
|
724
|
+
background: var(--accent-bg);
|
|
725
|
+
color: var(--accent);
|
|
556
726
|
}
|
|
557
727
|
|
|
558
728
|
.suggestion-chip .lucide {
|
|
559
|
-
width:
|
|
560
|
-
height:
|
|
729
|
+
width: 12px;
|
|
730
|
+
height: 12px;
|
|
561
731
|
flex-shrink: 0;
|
|
562
732
|
color: var(--accent);
|
|
563
733
|
}
|
|
564
734
|
|
|
565
|
-
.suggestion-chip-send {
|
|
566
|
-
display: inline-flex;
|
|
567
|
-
align-items: center;
|
|
568
|
-
gap: 5px;
|
|
569
|
-
flex: 1;
|
|
570
|
-
min-width: 0;
|
|
571
|
-
padding: 8px 10px 8px 14px;
|
|
572
|
-
border-radius: 16px 0 0 16px;
|
|
573
|
-
transition: background 0.15s, color 0.15s;
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
.suggestion-chip-send:hover {
|
|
577
|
-
background: var(--accent-bg);
|
|
578
|
-
color: var(--accent);
|
|
579
|
-
}
|
|
580
|
-
|
|
581
735
|
.suggestion-chip-text {
|
|
582
736
|
flex: 1;
|
|
583
737
|
min-width: 0;
|
|
584
738
|
}
|
|
585
739
|
|
|
586
|
-
.suggestion-chip-edit {
|
|
587
|
-
display: inline-flex;
|
|
588
|
-
align-items: center;
|
|
589
|
-
justify-content: center;
|
|
590
|
-
padding: 8px 12px;
|
|
591
|
-
border-left: 1px solid var(--border);
|
|
592
|
-
border-radius: 0 16px 16px 0;
|
|
593
|
-
background: rgba(128, 128, 128, 0.07);
|
|
594
|
-
cursor: pointer;
|
|
595
|
-
transition: background 0.15s, border-color 0.15s;
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
.suggestion-chip:hover .suggestion-chip-edit {
|
|
599
|
-
border-left-color: var(--accent);
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
.suggestion-chip-edit:hover {
|
|
603
|
-
background: var(--accent-bg);
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
.suggestion-chip-edit .lucide {
|
|
607
|
-
width: 14px;
|
|
608
|
-
height: 14px;
|
|
609
|
-
color: var(--text-secondary);
|
|
610
|
-
}
|
|
611
|
-
|
|
612
|
-
.suggestion-chip-edit:hover .lucide {
|
|
613
|
-
color: var(--accent);
|
|
614
|
-
}
|
|
615
|
-
|
|
616
740
|
/* ==========================================================================
|
|
617
741
|
Animations
|
|
618
742
|
========================================================================== */
|
|
@@ -809,27 +933,83 @@
|
|
|
809
933
|
flex: 1;
|
|
810
934
|
}
|
|
811
935
|
|
|
812
|
-
|
|
813
|
-
|
|
936
|
+
|
|
937
|
+
/* Channel mode: scheduled badge in header row */
|
|
938
|
+
.scheduled-msg-badge {
|
|
939
|
+
display: inline-flex;
|
|
814
940
|
align-items: center;
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
941
|
+
gap: 5px;
|
|
942
|
+
padding: 3px 10px;
|
|
943
|
+
border-radius: 12px;
|
|
944
|
+
font-size: 12px;
|
|
945
|
+
font-weight: 600;
|
|
946
|
+
line-height: 1;
|
|
947
|
+
color: var(--accent);
|
|
948
|
+
background: color-mix(in srgb, var(--accent) 12%, transparent);
|
|
949
|
+
vertical-align: middle;
|
|
950
|
+
}
|
|
951
|
+
.scheduled-msg-badge svg,
|
|
952
|
+
.scheduled-msg-badge .lucide {
|
|
953
|
+
width: 13px;
|
|
954
|
+
height: 13px;
|
|
955
|
+
}
|
|
956
|
+
/* Scheduled message action links (shared by both modes) */
|
|
957
|
+
.scheduled-msg-actions {
|
|
958
|
+
display: inline-flex;
|
|
959
|
+
align-items: center;
|
|
960
|
+
gap: 6px;
|
|
961
|
+
margin-left: 4px;
|
|
962
|
+
}
|
|
963
|
+
.scheduled-msg-send-now {
|
|
964
|
+
padding: 0;
|
|
818
965
|
border: none;
|
|
819
|
-
border-radius: 4px;
|
|
820
966
|
background: none;
|
|
821
|
-
color: var(--
|
|
967
|
+
color: var(--accent);
|
|
968
|
+
font-size: 12px;
|
|
969
|
+
font-weight: 500;
|
|
970
|
+
font-family: inherit;
|
|
822
971
|
cursor: pointer;
|
|
972
|
+
transition: text-decoration 0.15s;
|
|
973
|
+
}
|
|
974
|
+
.scheduled-msg-send-now:hover {
|
|
975
|
+
text-decoration: underline;
|
|
976
|
+
}
|
|
977
|
+
.scheduled-msg-sep {
|
|
978
|
+
color: var(--text-dimmer);
|
|
979
|
+
font-size: 12px;
|
|
980
|
+
user-select: none;
|
|
981
|
+
}
|
|
982
|
+
.scheduled-msg-cancel {
|
|
823
983
|
padding: 0;
|
|
824
|
-
|
|
984
|
+
border: none;
|
|
985
|
+
background: none;
|
|
986
|
+
color: var(--text-dimmer);
|
|
987
|
+
font-size: 12px;
|
|
988
|
+
font-weight: 500;
|
|
989
|
+
font-family: inherit;
|
|
990
|
+
cursor: pointer;
|
|
991
|
+
transition: color 0.15s;
|
|
825
992
|
}
|
|
826
|
-
|
|
827
993
|
.scheduled-msg-cancel:hover {
|
|
828
|
-
background: rgba(var(--overlay-rgb), 0.08);
|
|
829
994
|
color: var(--error);
|
|
830
995
|
}
|
|
831
996
|
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
997
|
+
/* Channel mode: strip bubble box styling, render as plain text */
|
|
998
|
+
body.wide-view .scheduled-msg-wrap .bubble {
|
|
999
|
+
background: none;
|
|
1000
|
+
border: none;
|
|
1001
|
+
box-shadow: none;
|
|
1002
|
+
padding: 0;
|
|
1003
|
+
border-radius: 0;
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
/* Channel mode: header alignment */
|
|
1007
|
+
body.wide-view .scheduled-msg-wrap .dm-bubble-header {
|
|
1008
|
+
display: flex;
|
|
1009
|
+
align-items: center;
|
|
1010
|
+
gap: 6px;
|
|
1011
|
+
}
|
|
1012
|
+
body.wide-view .scheduled-msg-wrap .scheduled-msg-countdown {
|
|
1013
|
+
font-size: inherit;
|
|
1014
|
+
color: inherit;
|
|
835
1015
|
}
|
package/lib/public/css/mates.css
CHANGED
|
@@ -487,24 +487,24 @@
|
|
|
487
487
|
background: var(--border, #333);
|
|
488
488
|
}
|
|
489
489
|
|
|
490
|
-
/* === Mate
|
|
491
|
-
.icon-strip-user-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
right: 0;
|
|
495
|
-
width: 14px;
|
|
496
|
-
height: 14px;
|
|
497
|
-
background: var(--accent, #6c5ce7);
|
|
498
|
-
border-radius: 50%;
|
|
499
|
-
border: 2px solid var(--bg, #282a36);
|
|
500
|
-
display: flex;
|
|
501
|
-
align-items: center;
|
|
502
|
-
justify-content: center;
|
|
490
|
+
/* === Mate avatar in user strip: squircle + desaturate === */
|
|
491
|
+
.icon-strip-mate .icon-strip-user-avatar {
|
|
492
|
+
border-radius: 8px;
|
|
493
|
+
filter: saturate(0.65);
|
|
503
494
|
}
|
|
504
|
-
.icon-strip-user-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
495
|
+
.icon-strip-mate:hover .icon-strip-user-avatar,
|
|
496
|
+
.icon-strip-mate.mention-active .icon-strip-user-avatar {
|
|
497
|
+
filter: saturate(1);
|
|
498
|
+
}
|
|
499
|
+
.icon-strip-mate.active .icon-strip-user-avatar {
|
|
500
|
+
filter: saturate(1);
|
|
501
|
+
box-shadow: 0 0 0 2px var(--accent);
|
|
502
|
+
border-radius: 8px;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
/* Hide legacy bot badge (replaced by squircle shape) */
|
|
506
|
+
.icon-strip-user-mate-badge {
|
|
507
|
+
display: none;
|
|
508
508
|
}
|
|
509
509
|
|
|
510
510
|
/* Mate item in DM picker */
|
|
@@ -2342,7 +2342,9 @@ body.mate-dm-active .turn-meta {
|
|
|
2342
2342
|
========================================================================== */
|
|
2343
2343
|
|
|
2344
2344
|
/* --- Mate Thinking: flex layout matching msg-assistant --- */
|
|
2345
|
-
|
|
2345
|
+
/* Applies in both Mate DM and channel project chat */
|
|
2346
|
+
body.mate-dm-active .mate-thinking,
|
|
2347
|
+
body.wide-view .mate-thinking {
|
|
2346
2348
|
display: flex;
|
|
2347
2349
|
flex-direction: row;
|
|
2348
2350
|
align-items: flex-start;
|
|
@@ -2351,10 +2353,12 @@ body.mate-dm-active .mate-thinking {
|
|
|
2351
2353
|
margin: 0;
|
|
2352
2354
|
max-width: 100%;
|
|
2353
2355
|
}
|
|
2354
|
-
body.mate-dm-active .mate-thinking:hover
|
|
2356
|
+
body.mate-dm-active .mate-thinking:hover,
|
|
2357
|
+
body.wide-view .mate-thinking:hover {
|
|
2355
2358
|
background: var(--bg-alt);
|
|
2356
2359
|
}
|
|
2357
|
-
body.mate-dm-active .mate-thinking > .dm-bubble-avatar
|
|
2360
|
+
body.mate-dm-active .mate-thinking > .dm-bubble-avatar,
|
|
2361
|
+
body.wide-view .mate-thinking > .dm-bubble-avatar {
|
|
2358
2362
|
display: block;
|
|
2359
2363
|
width: 36px;
|
|
2360
2364
|
height: 36px;
|
|
@@ -2362,7 +2366,8 @@ body.mate-dm-active .mate-thinking > .dm-bubble-avatar {
|
|
|
2362
2366
|
flex-shrink: 0;
|
|
2363
2367
|
margin-top: 2px;
|
|
2364
2368
|
}
|
|
2365
|
-
body.mate-dm-active .mate-thinking > .dm-bubble-content
|
|
2369
|
+
body.mate-dm-active .mate-thinking > .dm-bubble-content,
|
|
2370
|
+
body.wide-view .mate-thinking > .dm-bubble-content {
|
|
2366
2371
|
flex: 1;
|
|
2367
2372
|
min-width: 0;
|
|
2368
2373
|
}
|
|
@@ -2373,7 +2378,8 @@ body.mate-dm-active .mate-thinking > .dm-bubble-content {
|
|
|
2373
2378
|
gap: 4px;
|
|
2374
2379
|
padding: 4px 0;
|
|
2375
2380
|
}
|
|
2376
|
-
body.mate-dm-active .mate-thinking:not(.done) .mate-thinking-row
|
|
2381
|
+
body.mate-dm-active .mate-thinking:not(.done) .mate-thinking-row,
|
|
2382
|
+
body.wide-view .mate-thinking:not(.done) .mate-thinking-row {
|
|
2377
2383
|
display: flex;
|
|
2378
2384
|
}
|
|
2379
2385
|
.mate-thinking-dots {
|
|
@@ -2400,10 +2406,16 @@ body.mate-dm-active .mate-thinking:not(.done) .mate-thinking-row {
|
|
|
2400
2406
|
}
|
|
2401
2407
|
|
|
2402
2408
|
/* When done, hide mate row (JS does this too), show compact expandable header */
|
|
2403
|
-
body.mate-dm-active .mate-thinking.done .mate-thinking-row
|
|
2409
|
+
body.mate-dm-active .mate-thinking.done .mate-thinking-row,
|
|
2410
|
+
body.wide-view .mate-thinking.done .mate-thinking-row {
|
|
2404
2411
|
display: none;
|
|
2405
2412
|
}
|
|
2406
|
-
body.mate-dm-active .mate-thinking.done .thinking-
|
|
2413
|
+
body.mate-dm-active .mate-thinking.done .mate-thinking-activity,
|
|
2414
|
+
body.wide-view .mate-thinking.done .mate-thinking-activity {
|
|
2415
|
+
display: none;
|
|
2416
|
+
}
|
|
2417
|
+
body.mate-dm-active .mate-thinking.done .thinking-header,
|
|
2418
|
+
body.wide-view .mate-thinking.done .thinking-header {
|
|
2407
2419
|
display: inline-flex !important;
|
|
2408
2420
|
font-size: 12px;
|
|
2409
2421
|
padding: 4px 10px;
|
|
@@ -2412,16 +2424,19 @@ body.mate-dm-active .mate-thinking.done .thinking-header {
|
|
|
2412
2424
|
opacity: 0.7;
|
|
2413
2425
|
transition: opacity 0.15s;
|
|
2414
2426
|
}
|
|
2415
|
-
body.mate-dm-active .mate-thinking.done .thinking-header:hover
|
|
2427
|
+
body.mate-dm-active .mate-thinking.done .thinking-header:hover,
|
|
2428
|
+
body.wide-view .mate-thinking.done .thinking-header:hover {
|
|
2416
2429
|
opacity: 1;
|
|
2417
2430
|
background: rgba(var(--overlay-rgb), 0.08);
|
|
2418
2431
|
}
|
|
2419
|
-
body.mate-dm-active .mate-thinking .thinking-content
|
|
2432
|
+
body.mate-dm-active .mate-thinking .thinking-content,
|
|
2433
|
+
body.wide-view .mate-thinking .thinking-content {
|
|
2420
2434
|
max-height: 0;
|
|
2421
2435
|
overflow: hidden;
|
|
2422
2436
|
transition: max-height 0.25s ease;
|
|
2423
2437
|
}
|
|
2424
|
-
body.mate-dm-active .mate-thinking.expanded .thinking-content
|
|
2438
|
+
body.mate-dm-active .mate-thinking.expanded .thinking-content,
|
|
2439
|
+
body.wide-view .mate-thinking.expanded .thinking-content {
|
|
2425
2440
|
max-height: 2000px;
|
|
2426
2441
|
}
|
|
2427
2442
|
|
|
@@ -2476,8 +2491,10 @@ body.mate-dm-active .mate-tool-group .tool-name {
|
|
|
2476
2491
|
color: var(--text-muted);
|
|
2477
2492
|
}
|
|
2478
2493
|
|
|
2479
|
-
/* ---
|
|
2480
|
-
|
|
2494
|
+
/* --- Conversational Permission: flex layout matching msg-assistant --- */
|
|
2495
|
+
/* Applies in both Mate DM and channel project chat */
|
|
2496
|
+
body.mate-dm-active .mate-permission,
|
|
2497
|
+
body.wide-view .mate-permission {
|
|
2481
2498
|
display: flex;
|
|
2482
2499
|
flex-direction: row;
|
|
2483
2500
|
align-items: flex-start;
|
|
@@ -2490,10 +2507,12 @@ body.mate-dm-active .mate-permission {
|
|
|
2490
2507
|
margin: 0;
|
|
2491
2508
|
max-width: 100%;
|
|
2492
2509
|
}
|
|
2493
|
-
body.mate-dm-active .mate-permission:hover
|
|
2510
|
+
body.mate-dm-active .mate-permission:hover,
|
|
2511
|
+
body.wide-view .mate-permission:hover {
|
|
2494
2512
|
background: var(--bg-alt);
|
|
2495
2513
|
}
|
|
2496
|
-
body.mate-dm-active .mate-permission > .dm-bubble-avatar
|
|
2514
|
+
body.mate-dm-active .mate-permission > .dm-bubble-avatar,
|
|
2515
|
+
body.wide-view .mate-permission > .dm-bubble-avatar {
|
|
2497
2516
|
display: block;
|
|
2498
2517
|
width: 36px;
|
|
2499
2518
|
height: 36px;
|
|
@@ -2501,7 +2520,8 @@ body.mate-dm-active .mate-permission > .dm-bubble-avatar {
|
|
|
2501
2520
|
flex-shrink: 0;
|
|
2502
2521
|
margin-top: 2px;
|
|
2503
2522
|
}
|
|
2504
|
-
body.mate-dm-active .mate-permission > .dm-bubble-content
|
|
2523
|
+
body.mate-dm-active .mate-permission > .dm-bubble-content,
|
|
2524
|
+
body.wide-view .mate-permission > .dm-bubble-content {
|
|
2505
2525
|
flex: 1;
|
|
2506
2526
|
min-width: 0;
|
|
2507
2527
|
}
|
|
@@ -2569,14 +2589,14 @@ body.mate-dm-active .mate-permission > .dm-bubble-content {
|
|
|
2569
2589
|
.mate-permission-deny {
|
|
2570
2590
|
color: var(--text-muted);
|
|
2571
2591
|
}
|
|
2572
|
-
/* Resolved state */
|
|
2573
|
-
|
|
2592
|
+
/* Resolved state (works in both Mate DM and channel project chat) */
|
|
2593
|
+
.mate-permission.resolved .mate-permission-actions {
|
|
2574
2594
|
pointer-events: none;
|
|
2575
2595
|
}
|
|
2576
|
-
|
|
2596
|
+
.mate-permission.resolved .mate-permission-reply {
|
|
2577
2597
|
display: none;
|
|
2578
2598
|
}
|
|
2579
|
-
|
|
2599
|
+
.mate-permission.resolved .permission-decision-label {
|
|
2580
2600
|
font-size: 12px;
|
|
2581
2601
|
color: var(--text-dimmer);
|
|
2582
2602
|
}
|
|
@@ -2732,27 +2752,6 @@ body.mate-dm-active .activity-inline:not(.mention-activity-bar):not(.mate-pre-ac
|
|
|
2732
2752
|
-webkit-tap-highlight-color: transparent;
|
|
2733
2753
|
}
|
|
2734
2754
|
|
|
2735
|
-
.mate-mobile-back {
|
|
2736
|
-
display: flex;
|
|
2737
|
-
align-items: center;
|
|
2738
|
-
justify-content: center;
|
|
2739
|
-
width: 44px;
|
|
2740
|
-
height: 44px;
|
|
2741
|
-
flex-shrink: 0;
|
|
2742
|
-
background: none;
|
|
2743
|
-
border: none;
|
|
2744
|
-
color: #fff;
|
|
2745
|
-
cursor: pointer;
|
|
2746
|
-
padding: 0;
|
|
2747
|
-
touch-action: manipulation;
|
|
2748
|
-
-webkit-tap-highlight-color: transparent;
|
|
2749
|
-
}
|
|
2750
|
-
|
|
2751
|
-
.mate-mobile-back svg {
|
|
2752
|
-
width: 22px;
|
|
2753
|
-
height: 22px;
|
|
2754
|
-
}
|
|
2755
|
-
|
|
2756
2755
|
.mate-mobile-avatar {
|
|
2757
2756
|
width: 32px;
|
|
2758
2757
|
height: 32px;
|
|
@@ -107,8 +107,8 @@
|
|
|
107
107
|
padding: 3px 6px 3px 4px;
|
|
108
108
|
margin: 0 0 4px 0;
|
|
109
109
|
border-radius: 6px;
|
|
110
|
-
background: color-mix(in srgb, var(--chip-color, #6c5ce7)
|
|
111
|
-
border: 1px solid color-mix(in srgb, var(--chip-color, #6c5ce7)
|
|
110
|
+
background: color-mix(in srgb, var(--chip-color, #6c5ce7) 15%, var(--bg-alt));
|
|
111
|
+
border: 1px solid color-mix(in srgb, var(--chip-color, #6c5ce7) 30%, var(--border));
|
|
112
112
|
cursor: default;
|
|
113
113
|
flex-shrink: 0;
|
|
114
114
|
width: fit-content;
|
|
@@ -131,19 +131,22 @@
|
|
|
131
131
|
font-size: 13px;
|
|
132
132
|
font-weight: 600;
|
|
133
133
|
white-space: nowrap;
|
|
134
|
+
line-height: 18px;
|
|
134
135
|
}
|
|
135
136
|
|
|
136
137
|
.input-mention-chip-remove {
|
|
137
138
|
background: none;
|
|
138
139
|
border: none;
|
|
139
|
-
padding: 0
|
|
140
|
+
padding: 0;
|
|
140
141
|
margin: 0;
|
|
141
142
|
cursor: pointer;
|
|
142
143
|
font-size: 15px;
|
|
143
|
-
line-height:
|
|
144
|
+
line-height: 18px;
|
|
144
145
|
color: var(--text-dimmer);
|
|
145
146
|
opacity: 0.6;
|
|
146
147
|
transition: opacity 0.1s;
|
|
148
|
+
display: flex;
|
|
149
|
+
align-items: center;
|
|
147
150
|
}
|
|
148
151
|
|
|
149
152
|
.input-mention-chip-remove:hover {
|
package/lib/public/css/menus.css
CHANGED
|
@@ -474,6 +474,13 @@
|
|
|
474
474
|
|
|
475
475
|
#config-chip .lucide { width: 10px; height: 10px; }
|
|
476
476
|
#config-chip .config-chip-icon { display: none; }
|
|
477
|
+
|
|
478
|
+
@media (max-width: 1000px) {
|
|
479
|
+
#config-chip .config-chip-icon { display: inline-flex; width: 16px; height: 16px; }
|
|
480
|
+
#config-chip-label { display: none; }
|
|
481
|
+
#config-chip .lucide:last-child { display: none; }
|
|
482
|
+
#config-chip { padding: 0 6px; }
|
|
483
|
+
}
|
|
477
484
|
#config-chip:hover { color: var(--text-secondary); background: rgba(var(--overlay-rgb),0.06); }
|
|
478
485
|
#config-chip.active { color: var(--text-secondary); background: rgba(var(--overlay-rgb),0.06); }
|
|
479
486
|
|
|
@@ -1798,6 +1798,23 @@ body.wide-view .msg-assistant:hover {
|
|
|
1798
1798
|
background: var(--bg-alt);
|
|
1799
1799
|
}
|
|
1800
1800
|
|
|
1801
|
+
/* Grouped messages: same sender within same minute, hide avatar + header */
|
|
1802
|
+
body.wide-view .msg-user.grouped > .dm-bubble-avatar,
|
|
1803
|
+
body.wide-view .msg-assistant.grouped > .dm-bubble-avatar,
|
|
1804
|
+
body.mate-dm-active .msg-assistant.grouped > .dm-bubble-avatar {
|
|
1805
|
+
visibility: hidden;
|
|
1806
|
+
}
|
|
1807
|
+
body.wide-view .msg-user.grouped .dm-bubble-header,
|
|
1808
|
+
body.wide-view .msg-assistant.grouped .dm-bubble-header,
|
|
1809
|
+
body.mate-dm-active .msg-assistant.grouped .dm-bubble-header {
|
|
1810
|
+
display: none;
|
|
1811
|
+
}
|
|
1812
|
+
body.wide-view .msg-user.grouped,
|
|
1813
|
+
body.wide-view .msg-assistant.grouped,
|
|
1814
|
+
body.mate-dm-active .msg-assistant.grouped {
|
|
1815
|
+
padding-top: 1px;
|
|
1816
|
+
}
|
|
1817
|
+
|
|
1801
1818
|
body.wide-view .msg-user {
|
|
1802
1819
|
justify-content: flex-start;
|
|
1803
1820
|
}
|