clay-server 2.26.0-beta.8 → 2.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,121 @@
1
+ /* --- Debate floor mode: hide non-essential input controls --- */
2
+ .debate-floor-mode #schedule-btn,
3
+ .debate-floor-mode #ask-mate-btn,
4
+ .debate-floor-mode #config-chip-wrap,
5
+ .debate-floor-mode #context-sources-bar,
6
+ .debate-floor-mode #mention-menu,
7
+ .debate-floor-mode #slash-menu,
8
+ .debate-floor-mode #suggestion-chips {
9
+ display: none !important;
10
+ }
11
+
12
+ .debate-floor-banner {
13
+ display: flex;
14
+ align-items: center;
15
+ gap: 8px;
16
+ padding: 8px 16px;
17
+ background: color-mix(in srgb, var(--accent) 8%, var(--bg));
18
+ border-bottom: 1px solid var(--border);
19
+ font-size: 13px;
20
+ font-weight: 600;
21
+ color: var(--accent);
22
+ }
23
+
24
+ .debate-floor-banner svg {
25
+ width: 14px;
26
+ height: 14px;
27
+ }
28
+
29
+ .debate-floor-banner .debate-floor-done-btn {
30
+ margin-left: auto;
31
+ padding: 4px 12px;
32
+ border: 1px solid var(--accent);
33
+ border-radius: 6px;
34
+ background: transparent;
35
+ color: var(--accent);
36
+ font-size: 12px;
37
+ font-weight: 600;
38
+ cursor: pointer;
39
+ }
40
+
41
+ .debate-floor-banner .debate-floor-end-btn {
42
+ border-color: #e74c3c;
43
+ color: #e74c3c;
44
+ }
45
+
46
+ /* --- Debate ended status line --- */
47
+ .debate-ended-status-line {
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ gap: 6px;
52
+ padding: 12px 16px;
53
+ font-size: 13px;
54
+ font-weight: 600;
55
+ color: var(--text-muted);
56
+ }
57
+
58
+ .debate-ended-status-line svg {
59
+ width: 16px;
60
+ height: 16px;
61
+ color: var(--accent);
62
+ }
63
+
64
+ /* --- Debate loop group in sidebar --- */
65
+ .session-loop-group.debate {
66
+ border-left: 2px solid var(--accent);
67
+ }
68
+
69
+ .session-loop-icon.debate {
70
+ color: var(--accent);
71
+ }
72
+
73
+ .session-loop-count.debate {
74
+ color: var(--accent);
75
+ }
76
+
77
+ /* --- Debate session icon in sidebar --- */
78
+ .session-debate-icon {
79
+ display: inline-flex;
80
+ align-items: center;
81
+ margin-right: 4px;
82
+ color: var(--accent);
83
+ vertical-align: middle;
84
+ }
85
+ .session-debate-icon svg {
86
+ width: 12px;
87
+ height: 12px;
88
+ }
89
+
90
+ /* --- Debate pill button in mate sidebar (matches .new-ralph-pill) --- */
91
+ .mate-debate-pill {
92
+ display: inline-flex;
93
+ align-items: center;
94
+ justify-content: center;
95
+ gap: 3px;
96
+ height: 22px;
97
+ padding: 0 8px;
98
+ border: 1px solid var(--accent);
99
+ border-radius: 6px;
100
+ background: var(--accent-12, rgba(108, 92, 231, 0.12));
101
+ color: var(--accent);
102
+ font-size: 10px;
103
+ font-weight: 700;
104
+ font-family: inherit;
105
+ letter-spacing: 0.2px;
106
+ cursor: pointer;
107
+ white-space: nowrap;
108
+ transition: background 0.15s, color 0.15s;
109
+ }
110
+ .mate-debate-pill .lucide {
111
+ width: 10px;
112
+ height: 10px;
113
+ }
114
+ .mate-debate-pill:hover {
115
+ background: var(--accent);
116
+ color: #fff;
117
+ }
118
+
1
119
  /* --- Debate header badges (inline with session title) --- */
2
120
  .debate-header-badge {
3
121
  display: inline-flex;
@@ -590,6 +708,7 @@
590
708
  transition: color 0.15s, background 0.15s, border-color 0.15s;
591
709
  }
592
710
 
711
+ #debate-pdf-btn.hidden { display: none; }
593
712
  #debate-pdf-btn .lucide { width: 15px; height: 15px; }
594
713
  #debate-pdf-btn:hover { color: var(--text-secondary); background: rgba(var(--overlay-rgb),0.04); border-color: var(--border); }
595
714
  #debate-pdf-btn:disabled { opacity: 0.5; cursor: default; }
@@ -850,6 +969,27 @@
850
969
  padding: 0 4px;
851
970
  }
852
971
 
972
+ /* Wizard pages */
973
+ .debate-wizard-page { display: none; }
974
+ .debate-wizard-page.active { display: block; }
975
+
976
+ /* Step dots */
977
+ .debate-wizard-steps {
978
+ display: flex;
979
+ gap: 6px;
980
+ align-items: center;
981
+ }
982
+ .debate-step-dot {
983
+ width: 8px;
984
+ height: 8px;
985
+ border-radius: 50%;
986
+ background: var(--border);
987
+ transition: background 0.2s;
988
+ }
989
+ .debate-step-dot.active {
990
+ background: var(--accent);
991
+ }
992
+
853
993
  .debate-modal-body {
854
994
  padding: 16px 20px;
855
995
  }
@@ -945,9 +1085,10 @@
945
1085
  }
946
1086
 
947
1087
  .debate-skip-setup-row {
948
- margin-top: 12px;
949
- padding: 8px 0;
1088
+ margin: 0;
1089
+ padding: 0;
950
1090
  }
1091
+ .debate-skip-setup-row.hidden { display: none; }
951
1092
 
952
1093
  .debate-toggle-label {
953
1094
  display: flex;
@@ -971,13 +1112,29 @@
971
1112
 
972
1113
  .debate-modal-footer {
973
1114
  display: flex;
1115
+ align-items: center;
974
1116
  justify-content: flex-end;
975
1117
  gap: 8px;
976
1118
  padding: 12px 20px;
977
1119
  border-top: 1px solid var(--border);
978
1120
  }
979
1121
 
1122
+ .debate-modal-footer .hidden { display: none; }
1123
+
980
1124
  .debate-btn-cancel {
1125
+ margin-right: auto;
1126
+ padding: 8px 16px;
1127
+ border: 1px solid var(--border);
1128
+ border-radius: 8px;
1129
+ background: var(--bg);
1130
+ color: var(--text-muted);
1131
+ font-size: 13px;
1132
+ font-weight: 600;
1133
+ cursor: pointer;
1134
+ }
1135
+
1136
+ .debate-btn-back {
1137
+ margin-right: auto;
981
1138
  padding: 8px 16px;
982
1139
  border: 1px solid var(--border);
983
1140
  border-radius: 8px;
@@ -988,6 +1145,30 @@
988
1145
  cursor: pointer;
989
1146
  }
990
1147
 
1148
+ .debate-btn-quick {
1149
+ padding: 8px 20px;
1150
+ border: 1px solid var(--accent);
1151
+ border-radius: 8px;
1152
+ background: var(--bg);
1153
+ color: var(--accent);
1154
+ font-size: 13px;
1155
+ font-weight: 600;
1156
+ cursor: pointer;
1157
+ transition: opacity 0.2s;
1158
+ }
1159
+
1160
+ .debate-btn-next {
1161
+ padding: 8px 20px;
1162
+ border: none;
1163
+ border-radius: 8px;
1164
+ background: var(--accent);
1165
+ color: #fff;
1166
+ font-size: 13px;
1167
+ font-weight: 600;
1168
+ cursor: pointer;
1169
+ transition: opacity 0.2s;
1170
+ }
1171
+
991
1172
  .debate-btn-start {
992
1173
  padding: 8px 20px;
993
1174
  border: none;
@@ -1121,6 +1302,12 @@
1121
1302
  padding: 12px 16px;
1122
1303
  }
1123
1304
 
1305
+ @media (max-width: 768px) {
1306
+ #debate-bottom-bar {
1307
+ padding-bottom: calc(12px + 56px + var(--safe-bottom, 0px));
1308
+ }
1309
+ }
1310
+
1124
1311
  .debate-bottom-inner {
1125
1312
  max-width: var(--content-width);
1126
1313
  margin: 0 auto;
@@ -1151,6 +1338,41 @@
1151
1338
  background: color-mix(in srgb, var(--accent) 10%, transparent);
1152
1339
  }
1153
1340
 
1341
+ .debate-bottom-hand.raised {
1342
+ background: var(--accent);
1343
+ color: #fff;
1344
+ border-color: var(--accent);
1345
+ }
1346
+
1347
+ .debate-bottom-hand.raised svg {
1348
+ color: #fff;
1349
+ }
1350
+
1351
+ .debate-bottom-hand.hidden { display: none; }
1352
+
1353
+ .debate-bottom-waiting {
1354
+ display: inline-flex;
1355
+ align-items: center;
1356
+ gap: 6px;
1357
+ font-size: 13px;
1358
+ color: var(--accent);
1359
+ font-weight: 500;
1360
+ animation: debate-waiting-pulse 2s ease-in-out infinite;
1361
+ }
1362
+
1363
+ .debate-bottom-waiting.hidden { display: none; }
1364
+
1365
+ .debate-bottom-waiting svg {
1366
+ width: 14px;
1367
+ height: 14px;
1368
+ animation: spin 1s linear infinite;
1369
+ }
1370
+
1371
+ @keyframes debate-waiting-pulse {
1372
+ 0%, 100% { opacity: 1; }
1373
+ 50% { opacity: 0.6; }
1374
+ }
1375
+
1154
1376
  .debate-bottom-stop {
1155
1377
  display: inline-flex;
1156
1378
  align-items: center;
@@ -1222,6 +1444,12 @@
1222
1444
  border-color: var(--accent);
1223
1445
  }
1224
1446
 
1447
+ @media (max-width: 768px) {
1448
+ .debate-bottom-conclude {
1449
+ padding-bottom: calc(56px + var(--safe-bottom, 0px));
1450
+ }
1451
+ }
1452
+
1225
1453
  .debate-bottom-continue {
1226
1454
  padding: 8px 16px;
1227
1455
  border: 1px solid var(--accent);
@@ -873,7 +873,8 @@
873
873
  .terminal-tab.active { color: var(--text); border-color: var(--accent); }
874
874
  .terminal-tab.exited { opacity: 0.5; }
875
875
 
876
- .terminal-tab-close {
876
+
877
+ .terminal-tab-more {
877
878
  display: none;
878
879
  align-items: center;
879
880
  justify-content: center;
@@ -888,9 +889,44 @@
888
889
  line-height: 1;
889
890
  }
890
891
 
891
- .terminal-tab:hover .terminal-tab-close,
892
- .terminal-tab.active .terminal-tab-close { display: flex; }
893
- .terminal-tab-close:hover { background: rgba(var(--overlay-rgb),0.1); color: var(--text); }
892
+ .terminal-tab:hover .terminal-tab-more,
893
+ .terminal-tab.active .terminal-tab-more { display: flex; }
894
+ .terminal-tab-more:hover { background: rgba(var(--overlay-rgb),0.1); color: var(--text); }
895
+
896
+ .terminal-tab-ctx {
897
+ position: fixed;
898
+ z-index: 9999;
899
+ min-width: 120px;
900
+ background: var(--bg-elevated, var(--bg));
901
+ border: 1px solid var(--border);
902
+ border-radius: 6px;
903
+ padding: 4px;
904
+ box-shadow: 0 4px 12px rgba(0,0,0,0.15);
905
+ }
906
+
907
+ .terminal-tab-ctx-item {
908
+ display: flex;
909
+ align-items: center;
910
+ gap: 8px;
911
+ width: 100%;
912
+ padding: 6px 10px;
913
+ border: none;
914
+ border-radius: 4px;
915
+ background: transparent;
916
+ color: var(--text-secondary);
917
+ font-size: 12px;
918
+ cursor: pointer;
919
+ white-space: nowrap;
920
+ }
921
+
922
+ .terminal-tab-ctx-item:hover {
923
+ background: rgba(var(--overlay-rgb),0.08);
924
+ color: var(--text);
925
+ }
926
+
927
+ .terminal-tab-ctx-danger:hover {
928
+ color: #e74c3c;
929
+ }
894
930
 
895
931
  .terminal-tab-label { cursor: default; }
896
932
 
@@ -971,6 +1007,7 @@
971
1007
 
972
1008
  .terminal-tab-body .xterm {
973
1009
  height: 100%;
1010
+ overflow: hidden;
974
1011
  }
975
1012
 
976
1013
  /* --- Terminal key toolbar (mobile) --- */
@@ -222,11 +222,13 @@
222
222
  animation: permShake 2s ease-in-out infinite;
223
223
  }
224
224
 
225
- /* Mate status dot (top-left, same as project icons) */
225
+ /* Mate status dot (bottom-right, matching user online dot) */
226
226
  .icon-strip-mate .icon-strip-status {
227
- top: -1px;
228
- left: -1px;
229
- border-color: var(--bg-alt);
227
+ top: auto;
228
+ left: auto;
229
+ bottom: 5px;
230
+ right: 5px;
231
+ border-color: var(--sidebar-bg);
230
232
  z-index: 3;
231
233
  }
232
234
 
@@ -824,13 +826,11 @@
824
826
  box-shadow: 0 0 0 2px var(--accent);
825
827
  }
826
828
 
827
- /* Primary mate: green ring + full opacity */
829
+ /* Primary mate: full color (no desaturate), no ring */
828
830
  .icon-strip-primary-mate {
829
- opacity: 0.9;
830
- box-shadow: 0 0 0 2px #00b894;
831
- }
832
- .icon-strip-user:hover .icon-strip-primary-mate {
833
- box-shadow: 0 0 0 2px #00b894;
831
+ opacity: 1;
832
+ border-radius: 8px;
833
+ filter: saturate(1) !important;
834
834
  }
835
835
 
836
836
  /* Online status dot (bottom-right on avatar, like project blink dot) */
@@ -437,6 +437,39 @@
437
437
  font-size: 13px;
438
438
  text-align: center;
439
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
+ }
440
473
 
441
474
  .context-picker-favicon {
442
475
  width: 14px;
@@ -466,15 +499,14 @@
466
499
  display: flex;
467
500
  flex-direction: column;
468
501
  background: var(--input-bg);
469
- border: 1px solid var(--border);
502
+ border: none;
470
503
  border-radius: 8px;
471
- padding: 6px;
472
- transition: border-color 0.2s, box-shadow 0.2s;
504
+ padding: 7px;
505
+ transition: box-shadow 0.2s;
473
506
  }
474
507
 
475
508
  #input-row:focus-within {
476
- border-color: var(--text-dimmer);
477
- box-shadow: 0 0 0 1px rgba(109, 104, 96, 0.15);
509
+ box-shadow: 0 0 0 1px var(--border);
478
510
  }
479
511
 
480
512
  #input {
@@ -553,7 +585,7 @@
553
585
  border-radius: 10px;
554
586
  border: 1px solid transparent;
555
587
  background:
556
- linear-gradient(var(--bg, #282a36), var(--bg, #282a36)) padding-box,
588
+ linear-gradient(var(--ask-mate-bg, var(--bg)), var(--ask-mate-bg, var(--bg))) padding-box,
557
589
  linear-gradient(135deg, #4ecdc4 0%, #4ecdc4 25%, #556bf7, #a855f7, #f857a6, #ff6b6b) border-box;
558
590
  color: transparent;
559
591
  cursor: pointer;
@@ -934,27 +966,83 @@
934
966
  flex: 1;
935
967
  }
936
968
 
937
- .scheduled-msg-cancel {
938
- display: flex;
969
+
970
+ /* Channel mode: scheduled badge in header row */
971
+ .scheduled-msg-badge {
972
+ display: inline-flex;
939
973
  align-items: center;
940
- justify-content: center;
941
- width: 22px;
942
- height: 22px;
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;
943
998
  border: none;
944
- border-radius: 4px;
945
999
  background: none;
946
- color: var(--text-dimmer);
1000
+ color: var(--accent);
1001
+ font-size: 12px;
1002
+ font-weight: 500;
1003
+ font-family: inherit;
947
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 {
948
1016
  padding: 0;
949
- transition: background 0.15s, color 0.15s;
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;
950
1025
  }
951
-
952
1026
  .scheduled-msg-cancel:hover {
953
- background: rgba(var(--overlay-rgb), 0.08);
954
1027
  color: var(--error);
955
1028
  }
956
1029
 
957
- .scheduled-msg-cancel .lucide {
958
- width: 14px;
959
- height: 14px;
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;
960
1048
  }