clay-server 2.26.0-beta.1 → 2.26.0-beta.11
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 +243 -95
- 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 +296 -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 +328 -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,214 @@
|
|
|
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
|
+
.context-picker-ext-notice {
|
|
441
|
+
padding: 10px 12px;
|
|
442
|
+
display: flex;
|
|
443
|
+
flex-direction: column;
|
|
444
|
+
gap: 8px;
|
|
445
|
+
}
|
|
446
|
+
.context-picker-ext-notice-text {
|
|
447
|
+
font-size: 12px;
|
|
448
|
+
color: var(--text-dimmer);
|
|
449
|
+
line-height: 1.4;
|
|
450
|
+
}
|
|
451
|
+
.context-picker-ext-btn {
|
|
452
|
+
display: inline-flex;
|
|
453
|
+
align-items: center;
|
|
454
|
+
gap: 5px;
|
|
455
|
+
padding: 5px 10px;
|
|
456
|
+
font-size: 12px;
|
|
457
|
+
font-weight: 500;
|
|
458
|
+
color: var(--text);
|
|
459
|
+
background: var(--bg-hover, rgba(255,255,255,0.06));
|
|
460
|
+
border: 1px solid var(--border);
|
|
461
|
+
border-radius: 6px;
|
|
462
|
+
cursor: pointer;
|
|
463
|
+
transition: background 0.15s;
|
|
464
|
+
width: fit-content;
|
|
465
|
+
}
|
|
466
|
+
.context-picker-ext-btn:hover {
|
|
467
|
+
background: var(--bg-active, rgba(255,255,255,0.1));
|
|
468
|
+
}
|
|
469
|
+
.context-picker-ext-btn .lucide {
|
|
470
|
+
width: 13px;
|
|
471
|
+
height: 13px;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
.context-picker-favicon {
|
|
475
|
+
width: 14px;
|
|
476
|
+
height: 14px;
|
|
477
|
+
border-radius: 2px;
|
|
478
|
+
flex-shrink: 0;
|
|
479
|
+
object-fit: contain;
|
|
480
|
+
}
|
|
481
|
+
|
|
274
482
|
/* ==========================================================================
|
|
275
483
|
Input Area — Claude-style unified container
|
|
276
484
|
========================================================================== */
|
|
@@ -291,15 +499,14 @@
|
|
|
291
499
|
display: flex;
|
|
292
500
|
flex-direction: column;
|
|
293
501
|
background: var(--input-bg);
|
|
294
|
-
border:
|
|
502
|
+
border: none;
|
|
295
503
|
border-radius: 8px;
|
|
296
|
-
padding:
|
|
297
|
-
transition:
|
|
504
|
+
padding: 7px;
|
|
505
|
+
transition: box-shadow 0.2s;
|
|
298
506
|
}
|
|
299
507
|
|
|
300
508
|
#input-row:focus-within {
|
|
301
|
-
|
|
302
|
-
box-shadow: 0 0 0 1px rgba(109, 104, 96, 0.15);
|
|
509
|
+
box-shadow: 0 0 0 1px var(--border);
|
|
303
510
|
}
|
|
304
511
|
|
|
305
512
|
#input {
|
|
@@ -378,7 +585,7 @@
|
|
|
378
585
|
border-radius: 10px;
|
|
379
586
|
border: 1px solid transparent;
|
|
380
587
|
background:
|
|
381
|
-
linear-gradient(var(--bg,
|
|
588
|
+
linear-gradient(var(--ask-mate-bg, var(--bg)), var(--ask-mate-bg, var(--bg))) padding-box,
|
|
382
589
|
linear-gradient(135deg, #4ecdc4 0%, #4ecdc4 25%, #556bf7, #a855f7, #f857a6, #ff6b6b) border-box;
|
|
383
590
|
color: transparent;
|
|
384
591
|
cursor: pointer;
|
|
@@ -521,98 +728,48 @@
|
|
|
521
728
|
#suggestion-chips {
|
|
522
729
|
display: flex;
|
|
523
730
|
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;
|
|
731
|
+
gap: 4px;
|
|
732
|
+
padding: 4px 6px;
|
|
532
733
|
}
|
|
533
734
|
|
|
534
735
|
#suggestion-chips.hidden { display: none; }
|
|
535
736
|
|
|
536
737
|
.suggestion-chip {
|
|
537
738
|
display: inline-flex;
|
|
538
|
-
align-items:
|
|
539
|
-
|
|
540
|
-
|
|
739
|
+
align-items: center;
|
|
740
|
+
gap: 5px;
|
|
741
|
+
padding: 4px 10px 4px 8px;
|
|
742
|
+
border-radius: 6px;
|
|
541
743
|
border: 1px solid var(--border);
|
|
542
|
-
background: var(--
|
|
744
|
+
background: rgba(var(--overlay-rgb), 0.08);
|
|
543
745
|
color: var(--text-secondary);
|
|
544
|
-
font-size:
|
|
746
|
+
font-size: 12px;
|
|
545
747
|
font-family: inherit;
|
|
546
748
|
cursor: pointer;
|
|
547
|
-
transition: border-color 0.15s;
|
|
749
|
+
transition: border-color 0.15s, background 0.15s, color 0.15s;
|
|
548
750
|
text-align: left;
|
|
549
751
|
max-width: 100%;
|
|
550
|
-
line-height: 1.
|
|
551
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
752
|
+
line-height: 1.2;
|
|
552
753
|
}
|
|
553
754
|
|
|
554
755
|
.suggestion-chip:hover {
|
|
555
756
|
border-color: var(--accent);
|
|
757
|
+
background: var(--accent-bg);
|
|
758
|
+
color: var(--accent);
|
|
556
759
|
}
|
|
557
760
|
|
|
558
761
|
.suggestion-chip .lucide {
|
|
559
|
-
width:
|
|
560
|
-
height:
|
|
762
|
+
width: 12px;
|
|
763
|
+
height: 12px;
|
|
561
764
|
flex-shrink: 0;
|
|
562
765
|
color: var(--accent);
|
|
563
766
|
}
|
|
564
767
|
|
|
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
768
|
.suggestion-chip-text {
|
|
582
769
|
flex: 1;
|
|
583
770
|
min-width: 0;
|
|
584
771
|
}
|
|
585
772
|
|
|
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
773
|
/* ==========================================================================
|
|
617
774
|
Animations
|
|
618
775
|
========================================================================== */
|
|
@@ -809,27 +966,83 @@
|
|
|
809
966
|
flex: 1;
|
|
810
967
|
}
|
|
811
968
|
|
|
812
|
-
|
|
813
|
-
|
|
969
|
+
|
|
970
|
+
/* Channel mode: scheduled badge in header row */
|
|
971
|
+
.scheduled-msg-badge {
|
|
972
|
+
display: inline-flex;
|
|
814
973
|
align-items: center;
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
974
|
+
gap: 5px;
|
|
975
|
+
padding: 3px 10px;
|
|
976
|
+
border-radius: 12px;
|
|
977
|
+
font-size: 12px;
|
|
978
|
+
font-weight: 600;
|
|
979
|
+
line-height: 1;
|
|
980
|
+
color: var(--accent);
|
|
981
|
+
background: color-mix(in srgb, var(--accent) 12%, transparent);
|
|
982
|
+
vertical-align: middle;
|
|
983
|
+
}
|
|
984
|
+
.scheduled-msg-badge svg,
|
|
985
|
+
.scheduled-msg-badge .lucide {
|
|
986
|
+
width: 13px;
|
|
987
|
+
height: 13px;
|
|
988
|
+
}
|
|
989
|
+
/* Scheduled message action links (shared by both modes) */
|
|
990
|
+
.scheduled-msg-actions {
|
|
991
|
+
display: inline-flex;
|
|
992
|
+
align-items: center;
|
|
993
|
+
gap: 6px;
|
|
994
|
+
margin-left: 4px;
|
|
995
|
+
}
|
|
996
|
+
.scheduled-msg-send-now {
|
|
997
|
+
padding: 0;
|
|
818
998
|
border: none;
|
|
819
|
-
border-radius: 4px;
|
|
820
999
|
background: none;
|
|
821
|
-
color: var(--
|
|
1000
|
+
color: var(--accent);
|
|
1001
|
+
font-size: 12px;
|
|
1002
|
+
font-weight: 500;
|
|
1003
|
+
font-family: inherit;
|
|
822
1004
|
cursor: pointer;
|
|
1005
|
+
transition: text-decoration 0.15s;
|
|
1006
|
+
}
|
|
1007
|
+
.scheduled-msg-send-now:hover {
|
|
1008
|
+
text-decoration: underline;
|
|
1009
|
+
}
|
|
1010
|
+
.scheduled-msg-sep {
|
|
1011
|
+
color: var(--text-dimmer);
|
|
1012
|
+
font-size: 12px;
|
|
1013
|
+
user-select: none;
|
|
1014
|
+
}
|
|
1015
|
+
.scheduled-msg-cancel {
|
|
823
1016
|
padding: 0;
|
|
824
|
-
|
|
1017
|
+
border: none;
|
|
1018
|
+
background: none;
|
|
1019
|
+
color: var(--text-dimmer);
|
|
1020
|
+
font-size: 12px;
|
|
1021
|
+
font-weight: 500;
|
|
1022
|
+
font-family: inherit;
|
|
1023
|
+
cursor: pointer;
|
|
1024
|
+
transition: color 0.15s;
|
|
825
1025
|
}
|
|
826
|
-
|
|
827
1026
|
.scheduled-msg-cancel:hover {
|
|
828
|
-
background: rgba(var(--overlay-rgb), 0.08);
|
|
829
1027
|
color: var(--error);
|
|
830
1028
|
}
|
|
831
1029
|
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
1030
|
+
/* Channel mode: strip bubble box styling, render as plain text */
|
|
1031
|
+
body.wide-view .scheduled-msg-wrap .bubble {
|
|
1032
|
+
background: none;
|
|
1033
|
+
border: none;
|
|
1034
|
+
box-shadow: none;
|
|
1035
|
+
padding: 0;
|
|
1036
|
+
border-radius: 0;
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
/* Channel mode: header alignment */
|
|
1040
|
+
body.wide-view .scheduled-msg-wrap .dm-bubble-header {
|
|
1041
|
+
display: flex;
|
|
1042
|
+
align-items: center;
|
|
1043
|
+
gap: 6px;
|
|
1044
|
+
}
|
|
1045
|
+
body.wide-view .scheduled-msg-wrap .scheduled-msg-countdown {
|
|
1046
|
+
font-size: inherit;
|
|
1047
|
+
color: inherit;
|
|
835
1048
|
}
|
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
|
|