backtrace-console 0.0.2 → 0.0.3

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,569 +0,0 @@
1
- .agent-block:first-child {
2
- margin-top: 0;
3
- padding-top: 0;
4
- border-top: none;
5
- }
6
-
7
- .agent-block h1,
8
- .agent-block h2,
9
- .agent-block h3 {
10
- margin: 0 0 0.85rem;
11
- line-height: 1.35;
12
- color: #111827;
13
- }
14
-
15
- .agent-block h1 { font-size: 1.18rem; }
16
- .agent-block h2 { font-size: 1.08rem; }
17
- .agent-block h3 { font-size: 1rem; }
18
-
19
- .agent-block p {
20
- margin: 0 0 0.8rem;
21
- }
22
-
23
- .agent-block ul,
24
- .agent-block ol {
25
- margin: 0 0 0.9rem 1.25rem;
26
- padding: 0;
27
- }
28
-
29
- .agent-block li {
30
- margin-bottom: 0.42rem;
31
- }
32
-
33
- .agent-block pre {
34
- margin: 0.9rem 0;
35
- padding: 0.95rem 1rem;
36
- border-radius: 12px;
37
- overflow-x: auto;
38
- background: #0f172a;
39
- color: #e2e8f0;
40
- font-size: 0.9rem;
41
- line-height: 1.65;
42
- box-shadow: inset 0 0 0 1px rgba(148,163,184,0.14);
43
- }
44
-
45
- .agent-block code {
46
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
47
- }
48
-
49
- .agent-block p code,
50
- .agent-block li code {
51
- background: rgba(15, 23, 42, 0.06);
52
- color: #0f172a;
53
- padding: 0.08rem 0.4rem;
54
- border-radius: 6px;
55
- font-size: 0.92em;
56
- }
57
-
58
- .agent-block strong {
59
- color: #111827;
60
- font-weight: 700;
61
- }
62
-
63
- .message.tool-message .message-content {
64
- background: linear-gradient(180deg, #1f2937 0%, #111827 100%);
65
- border-color: rgba(148,163,184,0.16);
66
- color: #e5eefb;
67
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
68
- font-size: 0.9rem;
69
- box-shadow: 0 12px 28px rgba(17, 24, 39, 0.22);
70
- }
71
-
72
- .tool-section {
73
- margin-top: 0.8rem;
74
- padding-top: 0.75rem;
75
- border-top: 1px dashed rgba(148,163,184,0.28);
76
- }
77
-
78
- .tool-section:first-of-type {
79
- margin-top: 0.4rem;
80
- padding-top: 0;
81
- border-top: none;
82
- }
83
-
84
- .tool-section-title {
85
- font-size: 0.74rem;
86
- font-weight: 700;
87
- letter-spacing: 0.04em;
88
- text-transform: uppercase;
89
- color: #93c5fd;
90
- margin-bottom: 0.35rem;
91
- }
92
-
93
- .approval-card {
94
- background: linear-gradient(180deg, #fff7ed 0%, #fffbeb 100%);
95
- border: 1px solid rgba(249, 115, 22, 0.22);
96
- border-radius: 16px;
97
- padding: 1rem 1.1rem;
98
- box-shadow: 0 12px 28px rgba(249, 115, 22, 0.08);
99
- }
100
-
101
- .approval-title {
102
- font-weight: 700;
103
- color: #9a3412;
104
- margin-bottom: 0.8rem;
105
- }
106
-
107
- .approval-section {
108
- margin-top: 0.75rem;
109
- }
110
-
111
- .approval-section-title {
112
- font-size: 0.78rem;
113
- font-weight: 700;
114
- color: #c2410c;
115
- margin-bottom: 0.3rem;
116
- text-transform: uppercase;
117
- letter-spacing: 0.04em;
118
- }
119
-
120
- .approval-actions {
121
- display: flex;
122
- gap: 0.75rem;
123
- margin-top: 1rem;
124
- flex-wrap: wrap;
125
- }
126
-
127
- .approval-btn {
128
- border: none;
129
- border-radius: 10px;
130
- padding: 0.7rem 1rem;
131
- font-weight: 700;
132
- cursor: pointer;
133
- transition: transform 0.2s, opacity 0.2s;
134
- }
135
-
136
- .approval-btn:hover {
137
- transform: translateY(-1px);
138
- }
139
-
140
- .approval-btn.approve {
141
- background: linear-gradient(135deg, #10a37f 0%, #0d8c6d 100%);
142
- color: white;
143
- }
144
-
145
- .approval-btn.reject {
146
- background: rgba(239, 68, 68, 0.12);
147
- color: #b91c1c;
148
- border: 1px solid rgba(239, 68, 68, 0.2);
149
- }
150
-
151
- .message.system-message .message-content {
152
- background: linear-gradient(180deg, #ecfdf5 0%, #dff7ee 100%);
153
- border-color: rgba(16,163,127,0.24);
154
- color: #065f46;
155
- position: relative;
156
- padding-top: 3.15rem;
157
- overflow: visible;
158
- }
159
-
160
- .system-badge {
161
- position: absolute;
162
- top: 0.9rem;
163
- left: 1rem;
164
- display: inline-flex;
165
- align-items: center;
166
- gap: 0.45rem;
167
- padding: 0.28rem 0.65rem;
168
- border-radius: 999px;
169
- background: rgba(16,163,127,0.14);
170
- color: #047857;
171
- font-size: 0.78rem;
172
- font-weight: 700;
173
- letter-spacing: 0.02em;
174
- }
175
-
176
- .message.running-message .message-content {
177
- background: linear-gradient(180deg, #f0fdf4 0%, #ecfdf5 100%);
178
- border-color: rgba(16,163,127,0.24);
179
- color: #065f46;
180
- }
181
-
182
- .running-status {
183
- display: inline-flex;
184
- align-items: center;
185
- gap: 0.55rem;
186
- font-weight: 600;
187
- }
188
-
189
- .running-spinner {
190
- width: 12px;
191
- height: 12px;
192
- border-radius: 999px;
193
- border: 2px solid rgba(16,163,127,0.25);
194
- border-top-color: var(--accent-color);
195
- animation: spin 0.9s linear infinite;
196
- flex-shrink: 0;
197
- }
198
-
199
- /* 输入区域 */
200
- .input-container {
201
- padding: 1.25rem 2rem 1.75rem;
202
- background: linear-gradient(180deg, rgba(243,244,246,0) 0%, rgba(243,244,246,0.94) 18%, rgba(243,244,246,1) 100%);
203
- border-top: 1px solid rgba(15, 23, 42, 0.06);
204
- backdrop-filter: blur(8px);
205
- }
206
-
207
- .input-box {
208
- max-width: 900px;
209
- margin: 0 auto;
210
- position: relative;
211
- background: rgba(255,255,255,0.98);
212
- border: 1px solid rgba(15,23,42,0.08);
213
- border-radius: 18px;
214
- box-shadow: 0 16px 40px rgba(15, 23, 42, 0.1);
215
- padding: 0.65rem;
216
- display: flex;
217
- align-items: flex-end;
218
- gap: 0.5rem;
219
- }
220
-
221
- .input-box:focus-within {
222
- border-color: rgba(16,163,127,0.5);
223
- box-shadow: 0 0 0 4px rgba(16,163,127,0.12), 0 16px 40px rgba(15, 23, 42, 0.1);
224
- }
225
-
226
- .composer-status {
227
- max-width: 900px;
228
- margin: 0 auto 0.55rem;
229
- min-height: 26px;
230
- display: flex;
231
- align-items: center;
232
- color: #065f46;
233
- font-size: 0.86rem;
234
- }
235
-
236
- .composer-status:empty {
237
- display: none;
238
- }
239
-
240
- .composer-status .running-status {
241
- background: rgba(236,253,245,0.94);
242
- border: 1px solid rgba(16,163,127,0.2);
243
- border-radius: 999px;
244
- padding: 0.35rem 0.65rem;
245
- box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
246
- }
247
-
248
- textarea {
249
- width: 100%;
250
- border: none;
251
- resize: none;
252
- padding: 0.85rem 0.95rem;
253
- font-family: inherit;
254
- font-size: 1rem;
255
- max-height: 220px;
256
- min-height: 56px;
257
- background: transparent;
258
- outline: none;
259
- line-height: 1.6;
260
- color: var(--text-main);
261
- }
262
-
263
- textarea::placeholder {
264
- color: #9ca3af;
265
- }
266
-
267
- .send-btn {
268
- background: linear-gradient(135deg, var(--accent-color) 0%, #0d8c6d 100%);
269
- color: white;
270
- border: none;
271
- border-radius: 12px;
272
- width: 44px;
273
- height: 44px;
274
- display: flex;
275
- align-items: center;
276
- justify-content: center;
277
- cursor: pointer;
278
- margin: 0.35rem;
279
- transition: transform 0.2s, box-shadow 0.2s, opacity 0.2s;
280
- box-shadow: 0 10px 20px rgba(16,163,127,0.24);
281
- }
282
-
283
- .send-btn:hover {
284
- transform: translateY(-1px);
285
- box-shadow: 0 14px 28px rgba(16,163,127,0.28);
286
- }
287
-
288
- .send-btn:disabled {
289
- background: #cbd5e1;
290
- cursor: not-allowed;
291
- opacity: 0.72;
292
- box-shadow: none;
293
- transform: none;
294
- }
295
-
296
- .image-btn {
297
- background: none;
298
- border: none;
299
- border-radius: 10px;
300
- width: 36px;
301
- height: 36px;
302
- display: flex;
303
- align-items: center;
304
- justify-content: center;
305
- cursor: pointer;
306
- color: var(--text-muted);
307
- flex-shrink: 0;
308
- margin: 0.35rem 0 0.35rem 0.2rem;
309
- transition: color 0.15s, background 0.15s;
310
- }
311
-
312
- .image-btn:hover {
313
- color: var(--accent-color);
314
- background: rgba(16,163,127,0.08);
315
- }
316
-
317
- .image-preview-item {
318
- position: relative;
319
- width: 48px;
320
- height: 48px;
321
- border-radius: 8px;
322
- overflow: hidden;
323
- border: 1px solid var(--border-color);
324
- flex-shrink: 0;
325
- }
326
-
327
- .image-preview-item img {
328
- width: 100%;
329
- height: 100%;
330
- object-fit: cover;
331
- display: block;
332
- }
333
-
334
- .image-preview-remove {
335
- position: absolute;
336
- top: 1px;
337
- right: 1px;
338
- width: 16px;
339
- height: 16px;
340
- border-radius: 50%;
341
- background: rgba(0,0,0,0.55);
342
- color: #fff;
343
- border: none;
344
- cursor: pointer;
345
- font-size: 11px;
346
- line-height: 1;
347
- display: flex;
348
- align-items: center;
349
- justify-content: center;
350
- padding: 0;
351
- }
352
-
353
-
354
- .typing-indicator {
355
- display: flex;
356
- gap: 4px;
357
- align-items: center;
358
- height: 24px;
359
- }
360
-
361
- .dot {
362
- width: 6px;
363
- height: 6px;
364
- background-color: var(--text-muted);
365
- border-radius: 50%;
366
- animation: bounce 1.4s infinite ease-in-out both;
367
- }
368
-
369
- .dot:nth-child(1) { animation-delay: -0.32s; }
370
- .dot:nth-child(2) { animation-delay: -0.16s; }
371
-
372
- @keyframes bounce {
373
- 0%, 80%, 100% { transform: scale(0); }
374
- 40% { transform: scale(1); }
375
- }
376
-
377
- @keyframes spin {
378
- from { transform: rotate(0deg); }
379
- to { transform: rotate(360deg); }
380
- }
381
-
382
- /* 日志模态框 */
383
- .modal-overlay {
384
- position: fixed;
385
- inset: 0;
386
- background: rgba(15,23,42,0.45);
387
- z-index: 1000;
388
- display: flex;
389
- align-items: center;
390
- justify-content: center;
391
- }
392
-
393
- .modal-box {
394
- background: #fff;
395
- border-radius: 16px;
396
- box-shadow: 0 16px 40px rgba(15,23,42,0.15);
397
- width: 680px;
398
- max-width: 95vw;
399
- max-height: 80vh;
400
- display: flex;
401
- flex-direction: column;
402
- }
403
-
404
- .modal-header {
405
- padding: 1.1rem 1.4rem;
406
- border-bottom: 1px solid var(--border-color);
407
- display: flex;
408
- justify-content: space-between;
409
- align-items: center;
410
- font-weight: 700;
411
- font-size: 1rem;
412
- flex-shrink: 0;
413
- }
414
-
415
- .modal-close {
416
- background: none;
417
- border: none;
418
- cursor: pointer;
419
- font-size: 1.4rem;
420
- color: var(--text-muted);
421
- line-height: 1;
422
- padding: 0 0.2rem;
423
- }
424
-
425
- .modal-close:hover { color: var(--text-main); }
426
-
427
- .modal-status {
428
- padding: 0.75rem 1.4rem;
429
- font-size: 0.9rem;
430
- color: var(--text-muted);
431
- flex-shrink: 0;
432
- }
433
-
434
- .modal-body {
435
- overflow-y: auto;
436
- padding: 0.75rem 1.4rem 1.2rem;
437
- flex: 1;
438
- }
439
-
440
- .object-row {
441
- border: 1px solid var(--border-color);
442
- border-radius: 10px;
443
- margin-bottom: 0.55rem;
444
- overflow: hidden;
445
- }
446
-
447
- .object-row-header {
448
- padding: 0.65rem 1rem;
449
- cursor: pointer;
450
- display: flex;
451
- align-items: center;
452
- gap: 0.6rem;
453
- background: var(--bg-color);
454
- user-select: none;
455
- }
456
-
457
- .object-row-header:hover { background: #f0fdf9; }
458
-
459
- .object-arrow {
460
- font-size: 0.7rem;
461
- color: var(--text-muted);
462
- transition: transform 0.15s;
463
- flex-shrink: 0;
464
- }
465
-
466
- .object-row-header.expanded .object-arrow { transform: rotate(90deg); }
467
-
468
- .object-hex {
469
- font-family: monospace;
470
- font-size: 0.85rem;
471
- flex: 1;
472
- color: var(--text-main);
473
- overflow: hidden;
474
- text-overflow: ellipsis;
475
- white-space: nowrap;
476
- }
477
-
478
- .object-time {
479
- font-size: 0.8rem;
480
- color: var(--text-muted);
481
- flex-shrink: 0;
482
- }
483
-
484
- .object-badge {
485
- font-size: 0.76rem;
486
- padding: 0.12rem 0.5rem;
487
- border-radius: 999px;
488
- background: #e5e7eb;
489
- color: #6b7280;
490
- flex-shrink: 0;
491
- }
492
-
493
- .object-badge.downloaded {
494
- background: rgba(16,163,127,0.12);
495
- color: var(--accent-color);
496
- }
497
-
498
- .object-files {
499
- padding: 0.4rem 1rem 0.7rem 2.6rem;
500
- display: none;
501
- border-top: 1px solid var(--border-color);
502
- }
503
-
504
- .object-files.open { display: block; }
505
-
506
- .file-row {
507
- display: flex;
508
- align-items: center;
509
- justify-content: space-between;
510
- padding: 0.35rem 0;
511
- border-bottom: 1px solid #f3f4f6;
512
- font-size: 0.87rem;
513
- gap: 0.5rem;
514
- }
515
-
516
- .file-row:last-child { border-bottom: none; }
517
-
518
- .file-name {
519
- flex: 1;
520
- overflow: hidden;
521
- text-overflow: ellipsis;
522
- white-space: nowrap;
523
- }
524
-
525
- .file-link {
526
- color: var(--accent-color);
527
- text-decoration: none;
528
- }
529
-
530
- .file-link:hover {
531
- text-decoration: underline;
532
- }
533
-
534
- .file-size {
535
- font-size: 0.78rem;
536
- color: var(--text-muted);
537
- flex-shrink: 0;
538
- white-space: nowrap;
539
- }
540
-
541
- .download-btn {
542
- font-size: 0.78rem;
543
- padding: 0.2rem 0.65rem;
544
- border-radius: 6px;
545
- background: var(--accent-color);
546
- color: white;
547
- border: none;
548
- cursor: pointer;
549
- text-decoration: none;
550
- flex-shrink: 0;
551
- }
552
-
553
- .download-btn:hover { background: var(--accent-hover); }
554
-
555
- .logs-btn {
556
- width: 100%;
557
- padding: 0.6rem;
558
- border-radius: 8px;
559
- background: var(--accent-color);
560
- color: white;
561
- border: none;
562
- cursor: pointer;
563
- font-size: 0.9rem;
564
- font-weight: 600;
565
- margin-top: 0.25rem;
566
- }
567
-
568
- .logs-btn:hover { background: var(--accent-hover); }
569
-