@agent-link/server 0.1.162 → 0.1.164

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.
@@ -0,0 +1,603 @@
1
+ /* ── Sidebar ── */
2
+ .sidebar {
3
+ width: 260px;
4
+ flex-shrink: 0;
5
+ background: var(--bg-secondary);
6
+ border-right: 1px solid var(--border);
7
+ display: flex;
8
+ flex-direction: column;
9
+ overflow: hidden;
10
+ }
11
+
12
+ .sidebar-section {
13
+ padding: 0.5rem 0.75rem;
14
+ border-bottom: 1px solid var(--border);
15
+ }
16
+
17
+ .sidebar-workdir {
18
+ position: relative;
19
+ }
20
+
21
+ .sidebar-hostname {
22
+ display: flex;
23
+ align-items: center;
24
+ gap: 6px;
25
+ font-size: 0.85rem;
26
+ font-weight: 500;
27
+ color: var(--text-primary);
28
+ margin-bottom: 10px;
29
+ padding-bottom: 10px;
30
+ border-bottom: 1px solid var(--border);
31
+ }
32
+
33
+ .sidebar-hostname-icon {
34
+ flex-shrink: 0;
35
+ opacity: 0.6;
36
+ }
37
+
38
+ .sidebar-workdir-label {
39
+ font-size: 0.7rem;
40
+ text-transform: uppercase;
41
+ letter-spacing: 0.05em;
42
+ color: var(--text-secondary);
43
+ margin-bottom: 4px;
44
+ }
45
+
46
+ .sidebar-workdir-path {
47
+ font-size: 0.8rem;
48
+ color: var(--text-primary);
49
+ font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
50
+ overflow: hidden;
51
+ text-overflow: ellipsis;
52
+ white-space: nowrap;
53
+ line-height: 1.3;
54
+ }
55
+
56
+ /* ── Working Directory History ── */
57
+ .workdir-history {
58
+ margin-top: 10px;
59
+ padding-top: 10px;
60
+ border-top: 1px solid var(--border);
61
+ }
62
+ .workdir-history-label {
63
+ font-size: 0.65rem;
64
+ text-transform: uppercase;
65
+ letter-spacing: 0.05em;
66
+ color: var(--text-secondary);
67
+ margin-bottom: 6px;
68
+ opacity: 0.7;
69
+ }
70
+ .workdir-history-list {
71
+ display: flex;
72
+ flex-direction: column;
73
+ gap: 2px;
74
+ max-height: 120px;
75
+ overflow-y: auto;
76
+ }
77
+ .workdir-history-item {
78
+ display: flex;
79
+ align-items: center;
80
+ gap: 6px;
81
+ padding: 4px 6px;
82
+ border-radius: 4px;
83
+ cursor: pointer;
84
+ transition: background 0.15s;
85
+ }
86
+ .workdir-history-item:hover {
87
+ background: var(--bg-tertiary);
88
+ }
89
+ .workdir-history-path {
90
+ font-size: 0.72rem;
91
+ color: var(--text-secondary);
92
+ font-family: 'SF Mono', 'Fira Code', Consolas, monospace;
93
+ overflow: hidden;
94
+ text-overflow: ellipsis;
95
+ white-space: nowrap;
96
+ flex: 1;
97
+ min-width: 0;
98
+ }
99
+ .workdir-history-item:hover .workdir-history-path {
100
+ color: var(--text-primary);
101
+ }
102
+ .workdir-history-delete {
103
+ display: flex;
104
+ align-items: center;
105
+ justify-content: center;
106
+ width: 18px;
107
+ height: 18px;
108
+ background: none;
109
+ border: none;
110
+ border-radius: 3px;
111
+ color: var(--text-secondary);
112
+ cursor: pointer;
113
+ padding: 0;
114
+ flex-shrink: 0;
115
+ transition: color 0.15s, background 0.15s;
116
+ visibility: hidden;
117
+ }
118
+ .workdir-history-item:hover .workdir-history-delete {
119
+ visibility: visible;
120
+ }
121
+ .workdir-history-delete:hover {
122
+ color: var(--error);
123
+ background: rgba(212, 84, 84, 0.1);
124
+ }
125
+
126
+ .sidebar-sessions {
127
+ display: flex;
128
+ flex-direction: column;
129
+ overflow: hidden;
130
+ min-height: 0;
131
+ }
132
+
133
+ .sidebar-version-footer {
134
+ padding: 6px 12px;
135
+ font-size: 0.65rem;
136
+ color: var(--text-secondary);
137
+ opacity: 0.5;
138
+ text-align: center;
139
+ border-top: 1px solid var(--border);
140
+ flex-shrink: 0;
141
+ }
142
+
143
+ .sidebar-version-sep {
144
+ margin: 0 3px;
145
+ }
146
+
147
+ .sidebar-section-header {
148
+ display: flex;
149
+ align-items: center;
150
+ justify-content: space-between;
151
+ font-size: 0.7rem;
152
+ text-transform: uppercase;
153
+ letter-spacing: 0.05em;
154
+ color: var(--text-secondary);
155
+ margin-bottom: 4px;
156
+ }
157
+
158
+ .sidebar-refresh-btn {
159
+ display: flex;
160
+ align-items: center;
161
+ justify-content: center;
162
+ width: 20px;
163
+ height: 20px;
164
+ background: none;
165
+ border: none;
166
+ border-radius: 4px;
167
+ color: var(--text-secondary);
168
+ cursor: pointer;
169
+ transition: color 0.15s;
170
+ }
171
+
172
+ .sidebar-refresh-btn:hover {
173
+ color: var(--text-primary);
174
+ }
175
+
176
+ .sidebar-refresh-btn:disabled {
177
+ opacity: 0.4;
178
+ cursor: not-allowed;
179
+ }
180
+
181
+ .sidebar-section-header-actions {
182
+ display: flex;
183
+ align-items: center;
184
+ gap: 2px;
185
+ }
186
+
187
+ .sidebar-collapse-btn {
188
+ display: flex;
189
+ align-items: center;
190
+ justify-content: center;
191
+ width: 24px;
192
+ height: 24px;
193
+ background: none;
194
+ border: none;
195
+ border-radius: 4px;
196
+ color: var(--text-secondary);
197
+ cursor: pointer;
198
+ transition: color 0.15s;
199
+ }
200
+
201
+ .sidebar-collapse-btn:hover {
202
+ color: var(--text-primary);
203
+ }
204
+
205
+ .sidebar-collapse-btn svg {
206
+ transition: transform 0.2s ease;
207
+ }
208
+
209
+ .sidebar-collapse-btn svg.collapsed {
210
+ transform: rotate(-90deg);
211
+ }
212
+
213
+ @keyframes spin {
214
+ from { transform: rotate(0deg); }
215
+ to { transform: rotate(360deg); }
216
+ }
217
+
218
+ .spinning {
219
+ animation: spin 0.8s linear infinite;
220
+ }
221
+
222
+ .new-conversation-btn {
223
+ display: flex;
224
+ align-items: center;
225
+ gap: 6px;
226
+ width: 100%;
227
+ padding: 6px 8px;
228
+ background: none;
229
+ border: 1px dashed var(--border);
230
+ border-radius: 6px;
231
+ color: var(--text-secondary);
232
+ font-size: 0.82rem;
233
+ cursor: pointer;
234
+ transition: color 0.15s, border-color 0.15s, background 0.15s;
235
+ margin-bottom: 8px;
236
+ }
237
+
238
+ .new-conversation-btn:hover {
239
+ color: var(--text-primary);
240
+ border-color: var(--text-secondary);
241
+ background: var(--bg-tertiary);
242
+ }
243
+
244
+ .new-conversation-btn:disabled {
245
+ opacity: 0.4;
246
+ cursor: not-allowed;
247
+ }
248
+
249
+ .sidebar-loading,
250
+ .sidebar-empty {
251
+ font-size: 0.8rem;
252
+ color: var(--text-secondary);
253
+ text-align: center;
254
+ padding: 1rem 0;
255
+ }
256
+
257
+ .session-list {
258
+ flex: 1 1 auto;
259
+ overflow-y: auto;
260
+ min-height: 0;
261
+ overscroll-behavior: contain;
262
+ display: flex;
263
+ flex-direction: column;
264
+ gap: 2px;
265
+ min-height: 0;
266
+ overscroll-behavior: contain;
267
+ }
268
+
269
+ .session-group {
270
+ margin-bottom: 0.5rem;
271
+ }
272
+
273
+ .session-group-label {
274
+ font-size: 0.68rem;
275
+ font-weight: 600;
276
+ text-transform: uppercase;
277
+ letter-spacing: 0.04em;
278
+ color: var(--text-secondary);
279
+ padding: 0.4rem 8px 0.2rem;
280
+ opacity: 0.7;
281
+ }
282
+
283
+ .session-item {
284
+ padding: 8px 10px;
285
+ border-radius: 8px;
286
+ cursor: pointer;
287
+ transition: background 0.15s, transform 0.1s;
288
+ border-left: 3px solid transparent;
289
+ }
290
+
291
+ .session-item:hover {
292
+ background: var(--bg-tertiary);
293
+ }
294
+
295
+ .session-item:active {
296
+ transform: scale(0.98);
297
+ }
298
+
299
+ .session-item.active {
300
+ background: var(--bg-tertiary);
301
+ border-left-color: var(--accent);
302
+ }
303
+
304
+ .session-title {
305
+ font-size: 0.82rem;
306
+ color: var(--text-primary);
307
+ overflow: hidden;
308
+ text-overflow: ellipsis;
309
+ white-space: nowrap;
310
+ line-height: 1.3;
311
+ display: flex;
312
+ align-items: center;
313
+ gap: 4px;
314
+ }
315
+
316
+ .session-team-icon {
317
+ flex-shrink: 0;
318
+ color: var(--accent);
319
+ opacity: 0.7;
320
+ }
321
+
322
+ /* Processing indicator: pulsing dot before session title */
323
+ .session-item.processing .session-title::before {
324
+ content: '';
325
+ display: inline-block;
326
+ width: 6px;
327
+ height: 6px;
328
+ border-radius: 50%;
329
+ background: var(--accent);
330
+ margin-right: 6px;
331
+ vertical-align: middle;
332
+ animation: pulse-dot 1.5s ease-in-out infinite;
333
+ }
334
+
335
+ @keyframes pulse-dot {
336
+ 0%, 100% { opacity: 1; }
337
+ 50% { opacity: 0.3; }
338
+ }
339
+
340
+ .session-meta {
341
+ font-size: 0.7rem;
342
+ color: var(--text-secondary);
343
+ margin-top: 2px;
344
+ display: flex;
345
+ align-items: center;
346
+ justify-content: space-between;
347
+ }
348
+
349
+ .session-actions {
350
+ display: flex;
351
+ align-items: center;
352
+ gap: 2px;
353
+ visibility: hidden;
354
+ }
355
+
356
+ .session-item:hover .session-actions {
357
+ visibility: visible;
358
+ }
359
+
360
+ .team-history-item:hover .session-actions {
361
+ visibility: visible;
362
+ }
363
+
364
+ .session-delete-btn {
365
+ display: flex;
366
+ align-items: center;
367
+ justify-content: center;
368
+ width: 20px;
369
+ height: 20px;
370
+ background: none;
371
+ border: none;
372
+ border-radius: 4px;
373
+ color: var(--text-secondary);
374
+ cursor: pointer;
375
+ padding: 0;
376
+ transition: color 0.15s, background 0.15s;
377
+ }
378
+
379
+ .session-delete-btn:hover {
380
+ color: var(--error);
381
+ background: rgba(212, 84, 84, 0.1);
382
+ }
383
+
384
+ /* ── Rename session (pencil icon + inline edit) ── */
385
+ .session-rename-btn {
386
+ display: flex;
387
+ align-items: center;
388
+ justify-content: center;
389
+ width: 20px;
390
+ height: 20px;
391
+ background: none;
392
+ border: none;
393
+ border-radius: 4px;
394
+ color: var(--text-secondary);
395
+ cursor: pointer;
396
+ padding: 0;
397
+ transition: color 0.15s, background 0.15s;
398
+ }
399
+
400
+ .session-rename-btn:hover {
401
+ color: var(--accent);
402
+ background: rgba(107, 159, 206, 0.12);
403
+ }
404
+
405
+ .session-rename-row {
406
+ display: flex;
407
+ align-items: center;
408
+ gap: 4px;
409
+ min-width: 0;
410
+ flex: 1;
411
+ }
412
+
413
+ .session-rename-input {
414
+ flex: 1;
415
+ min-width: 0;
416
+ background: var(--bg-primary);
417
+ border: 1px solid var(--accent);
418
+ border-radius: 4px;
419
+ color: var(--text-primary);
420
+ font-size: 0.82rem;
421
+ padding: 2px 6px;
422
+ outline: none;
423
+ }
424
+
425
+ .session-rename-ok,
426
+ .session-rename-cancel {
427
+ background: none;
428
+ border: none;
429
+ color: var(--text-secondary);
430
+ cursor: pointer;
431
+ font-size: 0.9rem;
432
+ padding: 0 2px;
433
+ line-height: 1;
434
+ }
435
+
436
+ .session-rename-ok:hover { color: var(--accent); }
437
+ .session-rename-cancel:hover { color: var(--error); }
438
+
439
+ /* ── Delete confirmation dialog ── */
440
+ .delete-confirm-dialog {
441
+ width: 360px;
442
+ background: var(--bg-secondary);
443
+ border: 1px solid var(--border);
444
+ border-radius: 12px;
445
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
446
+ }
447
+
448
+ .delete-confirm-header {
449
+ padding: 12px 16px;
450
+ font-size: 0.95rem;
451
+ font-weight: 600;
452
+ border-bottom: 1px solid var(--border);
453
+ }
454
+
455
+ .delete-confirm-body {
456
+ padding: 16px;
457
+ font-size: 0.88rem;
458
+ line-height: 1.5;
459
+ }
460
+
461
+ .delete-confirm-body p {
462
+ margin-bottom: 6px;
463
+ }
464
+
465
+ .delete-confirm-title {
466
+ font-weight: 500;
467
+ color: var(--text-primary);
468
+ overflow: hidden;
469
+ text-overflow: ellipsis;
470
+ white-space: nowrap;
471
+ padding: 6px 10px;
472
+ background: var(--bg-tertiary);
473
+ border-radius: 6px;
474
+ }
475
+
476
+ .delete-confirm-warning {
477
+ font-size: 0.78rem;
478
+ color: var(--text-secondary);
479
+ margin-top: 4px;
480
+ }
481
+
482
+ .delete-confirm-footer {
483
+ padding: 10px 16px;
484
+ display: flex;
485
+ justify-content: flex-end;
486
+ gap: 8px;
487
+ border-top: 1px solid var(--border);
488
+ }
489
+
490
+ .delete-confirm-btn {
491
+ padding: 6px 20px;
492
+ background: var(--error);
493
+ color: #fff;
494
+ border: none;
495
+ border-radius: 8px;
496
+ font-size: 0.85rem;
497
+ font-weight: 600;
498
+ cursor: pointer;
499
+ transition: background 0.15s;
500
+ }
501
+
502
+ .delete-confirm-btn:hover {
503
+ background: #c04444;
504
+ }
505
+
506
+ /* ── Auth Dialog ── */
507
+ .auth-dialog {
508
+ background: var(--bg-secondary);
509
+ border: 1px solid var(--border);
510
+ border-radius: 12px;
511
+ width: 360px;
512
+ max-width: 90vw;
513
+ box-shadow: 0 8px 32px rgba(0,0,0,0.3);
514
+ }
515
+
516
+ .auth-dialog-header {
517
+ display: flex;
518
+ align-items: center;
519
+ gap: 10px;
520
+ padding: 20px 24px 16px;
521
+ font-size: 1rem;
522
+ font-weight: 600;
523
+ color: var(--text-primary);
524
+ }
525
+
526
+ .auth-dialog-header svg {
527
+ color: var(--accent);
528
+ }
529
+
530
+ .auth-dialog-locked .auth-dialog-header svg {
531
+ color: var(--error);
532
+ }
533
+
534
+ .auth-dialog-body {
535
+ padding: 0 24px 16px;
536
+ }
537
+
538
+ .auth-dialog-body p {
539
+ margin: 0 0 12px 0;
540
+ color: var(--text-secondary);
541
+ font-size: 0.85rem;
542
+ }
543
+
544
+ .auth-password-input {
545
+ width: 100%;
546
+ padding: 10px 12px;
547
+ background: var(--bg-tertiary);
548
+ border: 1px solid var(--border);
549
+ border-radius: 8px;
550
+ color: var(--text-primary);
551
+ font-size: 0.9rem;
552
+ outline: none;
553
+ box-sizing: border-box;
554
+ margin-bottom: 4px;
555
+ }
556
+
557
+ .auth-password-input:focus {
558
+ border-color: var(--accent);
559
+ }
560
+
561
+ .auth-error {
562
+ color: var(--error) !important;
563
+ font-size: 0.82rem !important;
564
+ margin-top: 8px !important;
565
+ }
566
+
567
+ .auth-attempts {
568
+ color: var(--text-secondary) !important;
569
+ font-size: 0.78rem !important;
570
+ }
571
+
572
+ .auth-locked-hint {
573
+ font-size: 0.78rem !important;
574
+ color: var(--text-secondary) !important;
575
+ }
576
+
577
+ .auth-dialog-footer {
578
+ padding: 12px 24px 20px;
579
+ display: flex;
580
+ justify-content: flex-end;
581
+ }
582
+
583
+ .auth-submit-btn {
584
+ background: var(--accent);
585
+ color: #fff;
586
+ border: none;
587
+ padding: 8px 24px;
588
+ border-radius: 8px;
589
+ font-size: 0.85rem;
590
+ font-weight: 600;
591
+ cursor: pointer;
592
+ transition: background 0.15s;
593
+ }
594
+
595
+ .auth-submit-btn:hover:not(:disabled) {
596
+ background: var(--accent-hover);
597
+ }
598
+
599
+ .auth-submit-btn:disabled {
600
+ opacity: 0.4;
601
+ cursor: not-allowed;
602
+ }
603
+