clay-server 2.27.1 → 2.28.0-beta.2

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.
@@ -227,6 +227,210 @@
227
227
  margin: -8px 0 20px;
228
228
  }
229
229
 
230
+ /* MCP Servers Modal */
231
+ #mcp-modal { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; }
232
+ #mcp-modal.hidden { display: none; }
233
+ .mcp-dialog {
234
+ width: 480px;
235
+ max-width: 94vw;
236
+ max-height: 70vh;
237
+ display: flex;
238
+ flex-direction: column;
239
+ padding: 0;
240
+ overflow: hidden;
241
+ }
242
+ .mcp-header {
243
+ display: flex;
244
+ align-items: center;
245
+ justify-content: space-between;
246
+ padding: 16px 20px;
247
+ border-bottom: 1px solid var(--border);
248
+ }
249
+ .mcp-title {
250
+ display: flex;
251
+ align-items: center;
252
+ gap: 8px;
253
+ font-size: 16px;
254
+ font-weight: 700;
255
+ color: var(--text);
256
+ }
257
+ .mcp-title .lucide { width: 18px; height: 18px; }
258
+ .mcp-content {
259
+ padding: 16px 20px;
260
+ overflow-y: auto;
261
+ flex: 1;
262
+ }
263
+ .mcp-desc {
264
+ font-size: 13px;
265
+ color: var(--text-muted);
266
+ margin: 0 0 16px;
267
+ line-height: 1.5;
268
+ }
269
+ .mcp-empty {
270
+ text-align: center;
271
+ padding: 32px 16px;
272
+ color: var(--text-muted);
273
+ }
274
+ .mcp-empty .lucide { width: 32px; height: 32px; margin-bottom: 12px; opacity: 0.4; }
275
+ .mcp-empty-title {
276
+ font-size: 15px;
277
+ font-weight: 600;
278
+ color: var(--text-secondary);
279
+ margin: 0 0 6px;
280
+ }
281
+ .mcp-empty-desc {
282
+ font-size: 13px;
283
+ color: var(--text-muted);
284
+ margin: 0;
285
+ line-height: 1.5;
286
+ }
287
+ .mcp-ext-setup-btn {
288
+ display: inline-flex;
289
+ align-items: center;
290
+ gap: 6px;
291
+ padding: 7px 14px;
292
+ margin-top: 14px;
293
+ font-size: 13px;
294
+ font-weight: 500;
295
+ color: var(--text);
296
+ background: var(--bg-hover, rgba(255,255,255,0.06));
297
+ border: 1px solid var(--border);
298
+ border-radius: 8px;
299
+ cursor: pointer;
300
+ transition: background 0.15s;
301
+ }
302
+ .mcp-ext-setup-btn:hover {
303
+ background: var(--bg-active, rgba(255,255,255,0.1));
304
+ }
305
+ .mcp-ext-setup-btn .lucide {
306
+ width: 14px;
307
+ height: 14px;
308
+ }
309
+ .mcp-install-cmd-row {
310
+ display: flex;
311
+ align-items: center;
312
+ gap: 6px;
313
+ margin-top: 12px;
314
+ max-width: 100%;
315
+ }
316
+ .mcp-install-cmd {
317
+ flex: 1;
318
+ padding: 8px 10px;
319
+ background: var(--bg-deep, rgba(0,0,0,0.25));
320
+ border: 1px solid var(--border);
321
+ border-radius: 6px;
322
+ font-family: "SF Mono", Monaco, "Cascadia Code", monospace;
323
+ font-size: 12px;
324
+ color: var(--text);
325
+ overflow-x: auto;
326
+ white-space: nowrap;
327
+ line-height: 1.4;
328
+ }
329
+ .mcp-install-copy-btn {
330
+ flex-shrink: 0;
331
+ padding: 6px 8px;
332
+ background: var(--bg-hover, rgba(255,255,255,0.06));
333
+ border: 1px solid var(--border);
334
+ border-radius: 6px;
335
+ color: var(--text-muted);
336
+ cursor: pointer;
337
+ transition: background 0.15s;
338
+ }
339
+ .mcp-install-copy-btn:hover {
340
+ background: var(--bg-active, rgba(255,255,255,0.1));
341
+ }
342
+ .mcp-install-copy-btn .lucide {
343
+ width: 14px;
344
+ height: 14px;
345
+ }
346
+ .mcp-steps {
347
+ display: flex;
348
+ flex-direction: column;
349
+ gap: 2px;
350
+ }
351
+ .mcp-step {
352
+ display: flex;
353
+ gap: 12px;
354
+ padding: 12px 14px;
355
+ border-radius: 8px;
356
+ transition: opacity 0.15s;
357
+ }
358
+ .mcp-step.disabled {
359
+ opacity: 0.4;
360
+ pointer-events: none;
361
+ }
362
+ .mcp-step-icon {
363
+ flex-shrink: 0;
364
+ width: 22px;
365
+ height: 22px;
366
+ margin-top: 1px;
367
+ color: var(--text-muted);
368
+ }
369
+ .mcp-step-icon.done {
370
+ color: var(--green, #2ecc71);
371
+ }
372
+ .mcp-step-icon .lucide {
373
+ width: 20px;
374
+ height: 20px;
375
+ }
376
+ .mcp-step-body {
377
+ flex: 1;
378
+ min-width: 0;
379
+ }
380
+ .mcp-step-title {
381
+ font-size: 13px;
382
+ font-weight: 600;
383
+ color: var(--text);
384
+ margin-bottom: 2px;
385
+ }
386
+ .mcp-step-desc {
387
+ font-size: 12px;
388
+ color: var(--text-muted);
389
+ line-height: 1.4;
390
+ }
391
+ .mcp-step.done .mcp-step-desc {
392
+ color: var(--green, #2ecc71);
393
+ }
394
+ .mcp-divider {
395
+ height: 1px;
396
+ background: var(--border);
397
+ margin: 12px 0;
398
+ }
399
+ .mcp-server-row {
400
+ display: flex;
401
+ align-items: center;
402
+ gap: 12px;
403
+ padding: 10px 0;
404
+ border-bottom: 1px solid var(--border);
405
+ cursor: pointer;
406
+ transition: background 0.1s;
407
+ }
408
+ .mcp-server-row:last-child { border-bottom: none; }
409
+ .mcp-server-row:hover { background: var(--bg-dim); margin: 0 -20px; padding: 10px 20px; }
410
+ .mcp-server-row input[type="checkbox"] {
411
+ width: 16px;
412
+ height: 16px;
413
+ margin: 0;
414
+ cursor: pointer;
415
+ flex-shrink: 0;
416
+ }
417
+ .mcp-server-info {
418
+ display: flex;
419
+ flex-direction: column;
420
+ gap: 2px;
421
+ flex: 1;
422
+ min-width: 0;
423
+ }
424
+ .mcp-server-name {
425
+ font-size: 14px;
426
+ font-weight: 500;
427
+ color: var(--text);
428
+ }
429
+ .mcp-server-meta {
430
+ font-size: 12px;
431
+ color: var(--text-muted);
432
+ }
433
+
230
434
  /* Beta toggle row inside settings card */
231
435
  .ps-beta-toggle-row,
232
436
  .ss-beta-toggle-row {
@@ -598,6 +598,161 @@
598
598
  text-align: center;
599
599
  }
600
600
 
601
+ #sched-create-desc-row.hidden { display: none; }
602
+
603
+ .sched-create-row-icon-spacer {
604
+ width: 15px;
605
+ flex-shrink: 0;
606
+ }
607
+
608
+ .sched-review-toggle {
609
+ display: flex;
610
+ align-items: center;
611
+ gap: 8px;
612
+ margin-top: 10px;
613
+ font-size: 13px;
614
+ color: var(--text-secondary);
615
+ cursor: pointer;
616
+ }
617
+
618
+ .sched-review-toggle input[type="checkbox"] {
619
+ accent-color: var(--accent);
620
+ }
621
+
622
+ .sched-review-label {
623
+ flex-shrink: 0;
624
+ }
625
+
626
+ .sched-review-count {
627
+ display: inline-flex;
628
+ align-items: center;
629
+ gap: 2px;
630
+ }
631
+
632
+ .sched-review-count.hidden {
633
+ display: none;
634
+ }
635
+
636
+ .sched-create-desc-wrap {
637
+ margin-top: 10px;
638
+ }
639
+
640
+ .sched-create-desc-wrap .sched-create-row-textarea {
641
+ width: 100%;
642
+ }
643
+
644
+ /* --- Accordion sections --- */
645
+ .sched-accordion-divider {
646
+ height: 1px;
647
+ background: var(--border);
648
+ margin: 4px 14px 0;
649
+ opacity: 0.5;
650
+ }
651
+
652
+ .sched-accordion-header {
653
+ display: flex;
654
+ align-items: center;
655
+ justify-content: space-between;
656
+ width: 100%;
657
+ padding: 8px 14px;
658
+ background: none;
659
+ border: none;
660
+ cursor: pointer;
661
+ color: var(--text);
662
+ transition: background 0.12s;
663
+ text-align: left;
664
+ }
665
+
666
+ .sched-accordion-header:hover {
667
+ background: var(--hover);
668
+ }
669
+
670
+ .sched-accordion-header-left {
671
+ display: flex;
672
+ align-items: center;
673
+ gap: 10px;
674
+ }
675
+
676
+ .sched-accordion-icon {
677
+ width: 15px;
678
+ height: 15px;
679
+ color: var(--text-dimmer);
680
+ flex-shrink: 0;
681
+ }
682
+
683
+ .sched-accordion.has-value .sched-accordion-icon {
684
+ color: var(--accent);
685
+ }
686
+
687
+ .sched-accordion-text {
688
+ display: flex;
689
+ flex-direction: column;
690
+ }
691
+
692
+ .sched-accordion-title {
693
+ font-size: 13px;
694
+ font-weight: 500;
695
+ line-height: 1.2;
696
+ }
697
+
698
+ .sched-accordion-subtitle {
699
+ font-size: 11px;
700
+ color: var(--text-dimmer);
701
+ line-height: 1.3;
702
+ margin-top: 1px;
703
+ }
704
+
705
+ .sched-accordion-header-right {
706
+ display: flex;
707
+ align-items: center;
708
+ gap: 6px;
709
+ }
710
+
711
+ .sched-accordion-clear {
712
+ display: inline-flex;
713
+ align-items: center;
714
+ justify-content: center;
715
+ width: 20px;
716
+ height: 20px;
717
+ border-radius: 50%;
718
+ color: var(--text-dimmer);
719
+ transition: background 0.12s, color 0.12s;
720
+ }
721
+
722
+ .sched-accordion-clear:hover {
723
+ background: var(--hover);
724
+ color: var(--text);
725
+ }
726
+
727
+ .sched-accordion-clear .lucide {
728
+ width: 12px;
729
+ height: 12px;
730
+ }
731
+
732
+ .sched-accordion-clear.hidden {
733
+ display: none;
734
+ }
735
+
736
+ .sched-accordion-chevron {
737
+ width: 14px;
738
+ height: 14px;
739
+ color: var(--text-dimmer);
740
+ flex-shrink: 0;
741
+ transition: transform 0.2s ease;
742
+ }
743
+
744
+ .sched-accordion.open .sched-accordion-chevron {
745
+ transform: rotate(90deg);
746
+ }
747
+
748
+ .sched-accordion-body {
749
+ padding: 4px 14px 10px 39px;
750
+ }
751
+
752
+ .sched-accordion-body.hidden {
753
+ display: none;
754
+ }
755
+
601
756
  /* --- Bottom bar --- */
602
757
  .sched-create-bottom {
603
758
  display: flex;
@@ -1061,7 +1216,7 @@
1061
1216
  max-width: 100px;
1062
1217
  }
1063
1218
 
1064
- .sched-custom-repeat-panel .sched-field-select {
1219
+ .sched-accordion-body .sched-field-select {
1065
1220
  padding: 5px 26px 5px 8px;
1066
1221
  font-size: 12px;
1067
1222
  border-radius: 6px;
@@ -1103,6 +1103,12 @@
1103
1103
  overflow-y: auto;
1104
1104
  padding: 20px 24px;
1105
1105
  }
1106
+
1107
+ .scheduler-detail-body:has(.scheduler-file-editor) {
1108
+ display: flex;
1109
+ flex-direction: column;
1110
+ overflow: hidden;
1111
+ }
1106
1112
  .scheduler-detail-loading {
1107
1113
  padding: 32px;
1108
1114
  text-align: center;
@@ -1114,6 +1120,81 @@
1114
1120
  line-height: 1.6;
1115
1121
  color: var(--text);
1116
1122
  }
1123
+
1124
+ .scheduler-file-toolbar {
1125
+ display: flex;
1126
+ justify-content: flex-end;
1127
+ gap: 8px;
1128
+ margin-bottom: 12px;
1129
+ }
1130
+
1131
+ .scheduler-file-edit-btn,
1132
+ .scheduler-file-save-btn,
1133
+ .scheduler-file-cancel-btn {
1134
+ display: inline-flex;
1135
+ align-items: center;
1136
+ gap: 4px;
1137
+ padding: 4px 10px;
1138
+ font-size: 12px;
1139
+ border-radius: 6px;
1140
+ border: 1px solid var(--border);
1141
+ background: var(--bg-secondary);
1142
+ color: var(--text-secondary);
1143
+ cursor: pointer;
1144
+ transition: background 0.15s, border-color 0.15s;
1145
+ }
1146
+
1147
+ .scheduler-file-edit-btn:hover,
1148
+ .scheduler-file-cancel-btn:hover {
1149
+ border-color: var(--text-dimmer);
1150
+ background: var(--hover);
1151
+ }
1152
+
1153
+ .scheduler-file-save-btn {
1154
+ background: var(--accent);
1155
+ color: #fff;
1156
+ border-color: var(--accent);
1157
+ }
1158
+
1159
+ .scheduler-file-save-btn:hover {
1160
+ opacity: 0.9;
1161
+ }
1162
+
1163
+ .scheduler-file-edit-btn .lucide,
1164
+ .scheduler-file-save-btn .lucide,
1165
+ .scheduler-file-cancel-btn .lucide {
1166
+ width: 12px;
1167
+ height: 12px;
1168
+ }
1169
+
1170
+ .scheduler-file-editor {
1171
+ width: 100%;
1172
+ flex: 1;
1173
+ min-height: 0;
1174
+ padding: 12px;
1175
+ font-family: "SF Mono", "Fira Code", "Consolas", monospace;
1176
+ font-size: 13px;
1177
+ line-height: 1.6;
1178
+ color: var(--text);
1179
+ background: var(--bg-secondary);
1180
+ border: 1px solid var(--border);
1181
+ border-radius: 8px;
1182
+ resize: none;
1183
+ outline: none;
1184
+ }
1185
+
1186
+ .scheduler-file-editor:focus {
1187
+ border-color: var(--accent);
1188
+ }
1189
+
1190
+ .scheduler-model-settings {
1191
+ max-width: 640px;
1192
+ margin: 0 auto;
1193
+ }
1194
+
1195
+ .scheduler-model-settings .settings-card {
1196
+ margin-bottom: 16px;
1197
+ }
1117
1198
  .scheduler-detail-meta {
1118
1199
  display: grid;
1119
1200
  grid-template-columns: auto 1fr;