copilot-lens 1.0.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.
@@ -0,0 +1,364 @@
1
+ * { margin: 0; padding: 0; box-sizing: border-box; }
2
+
3
+ :root {
4
+ --bg: #0d1117;
5
+ --surface: #161b22;
6
+ --surface2: #21262d;
7
+ --border: #30363d;
8
+ --text: #e6edf3;
9
+ --text-dim: #8b949e;
10
+ --accent: #58a6ff;
11
+ --accent2: #3fb950;
12
+ --danger: #f85149;
13
+ --warning: #d29922;
14
+ --radius: 8px;
15
+ }
16
+
17
+ body {
18
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
19
+ background: var(--bg);
20
+ color: var(--text);
21
+ min-height: 100vh;
22
+ }
23
+
24
+ header {
25
+ display: flex;
26
+ align-items: center;
27
+ padding: 12px 24px;
28
+ background: var(--surface);
29
+ border-bottom: 1px solid var(--border);
30
+ position: sticky;
31
+ top: 0;
32
+ z-index: 100;
33
+ }
34
+
35
+ .logo {
36
+ font-size: 1.3rem;
37
+ font-weight: 700;
38
+ margin-right: 32px;
39
+ }
40
+
41
+ nav { display: flex; gap: 4px; flex: 1; }
42
+
43
+ .nav-btn {
44
+ padding: 8px 16px;
45
+ background: transparent;
46
+ border: 1px solid transparent;
47
+ color: var(--text-dim);
48
+ cursor: pointer;
49
+ border-radius: var(--radius);
50
+ font-size: 0.9rem;
51
+ transition: all 0.15s;
52
+ }
53
+
54
+ .nav-btn:hover { color: var(--text); background: var(--surface2); }
55
+ .nav-btn.active { color: var(--text); background: var(--surface2); border-color: var(--border); }
56
+
57
+ .refresh-btn {
58
+ padding: 6px 14px;
59
+ background: var(--surface2);
60
+ border: 1px solid var(--border);
61
+ color: var(--text);
62
+ border-radius: var(--radius);
63
+ cursor: pointer;
64
+ font-size: 0.9rem;
65
+ transition: all 0.15s;
66
+ }
67
+
68
+ .refresh-btn:hover { border-color: var(--accent); color: var(--accent); }
69
+ .refresh-btn.spinning { animation: spin 0.6s linear; }
70
+
71
+ @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
72
+
73
+ main { max-width: 1200px; margin: 0 auto; padding: 24px; }
74
+
75
+ .page { display: none; }
76
+ .page.active { display: block; }
77
+
78
+ /* Controls */
79
+ .controls {
80
+ display: flex;
81
+ gap: 12px;
82
+ margin-bottom: 16px;
83
+ }
84
+
85
+ .controls input, .controls select {
86
+ padding: 10px 14px;
87
+ background: var(--surface);
88
+ border: 1px solid var(--border);
89
+ color: var(--text);
90
+ border-radius: var(--radius);
91
+ font-size: 0.9rem;
92
+ }
93
+
94
+ .controls input { flex: 1; }
95
+ .controls input:focus, .controls select:focus { outline: none; border-color: var(--accent); }
96
+
97
+ .session-count {
98
+ color: var(--text-dim);
99
+ font-size: 0.85rem;
100
+ margin-bottom: 12px;
101
+ }
102
+
103
+ /* Session List */
104
+ .session-list { display: flex; flex-direction: column; gap: 8px; }
105
+
106
+ .session-card {
107
+ background: var(--surface);
108
+ border: 1px solid var(--border);
109
+ border-radius: var(--radius);
110
+ padding: 16px;
111
+ cursor: pointer;
112
+ transition: border-color 0.15s, background 0.15s;
113
+ }
114
+
115
+ .session-card:hover { background: var(--surface2); }
116
+
117
+ .session-card .top-row {
118
+ display: flex;
119
+ justify-content: space-between;
120
+ align-items: center;
121
+ margin-bottom: 8px;
122
+ }
123
+
124
+ .session-card .session-id {
125
+ font-family: monospace;
126
+ font-size: 0.85rem;
127
+ color: var(--accent);
128
+ }
129
+
130
+ .session-card .session-time {
131
+ font-size: 0.8rem;
132
+ color: var(--text-dim);
133
+ }
134
+
135
+ .session-card .session-dir {
136
+ font-size: 0.9rem;
137
+ color: var(--text);
138
+ margin-bottom: 4px;
139
+ word-break: break-all;
140
+ }
141
+
142
+ .session-card .session-meta {
143
+ display: flex;
144
+ gap: 16px;
145
+ font-size: 0.8rem;
146
+ color: var(--text-dim);
147
+ }
148
+
149
+ .session-card .badge {
150
+ padding: 2px 8px;
151
+ border-radius: 12px;
152
+ font-size: 0.75rem;
153
+ font-weight: 600;
154
+ }
155
+
156
+ .badge-branch { background: #1f3a5f; color: var(--accent); }
157
+ .badge-running { background: #1a3a1a; color: var(--accent2); }
158
+ .badge-completed { background: #2a2a2a; color: var(--text-dim); }
159
+ .badge-error { background: #3a1a1a; color: var(--danger); }
160
+
161
+ /* Stats Cards */
162
+ .stats-cards {
163
+ display: grid;
164
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
165
+ gap: 12px;
166
+ margin-bottom: 24px;
167
+ }
168
+
169
+ .stat-card {
170
+ background: var(--surface);
171
+ border: 1px solid var(--border);
172
+ border-radius: var(--radius);
173
+ padding: 20px;
174
+ text-align: center;
175
+ }
176
+
177
+ .stat-card .stat-value {
178
+ font-size: 2rem;
179
+ font-weight: 700;
180
+ color: var(--accent);
181
+ }
182
+
183
+ .stat-card .stat-label {
184
+ font-size: 0.85rem;
185
+ color: var(--text-dim);
186
+ margin-top: 4px;
187
+ }
188
+
189
+ /* Charts */
190
+ .charts-grid {
191
+ display: grid;
192
+ grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
193
+ gap: 16px;
194
+ }
195
+
196
+ .chart-card {
197
+ background: var(--surface);
198
+ border: 1px solid var(--border);
199
+ border-radius: var(--radius);
200
+ padding: 20px;
201
+ }
202
+
203
+ .chart-card h3 {
204
+ font-size: 1rem;
205
+ margin-bottom: 16px;
206
+ color: var(--text-dim);
207
+ }
208
+
209
+ /* Modal */
210
+ .modal {
211
+ position: fixed;
212
+ inset: 0;
213
+ background: rgba(0,0,0,0.7);
214
+ z-index: 200;
215
+ display: flex;
216
+ align-items: center;
217
+ justify-content: center;
218
+ }
219
+
220
+ .modal.hidden { display: none; }
221
+
222
+ .modal-content {
223
+ background: var(--surface);
224
+ border: 1px solid var(--border);
225
+ border-radius: 12px;
226
+ width: 90%;
227
+ max-width: 900px;
228
+ max-height: 85vh;
229
+ overflow-y: auto;
230
+ padding: 24px;
231
+ position: relative;
232
+ }
233
+
234
+ .modal-close {
235
+ position: absolute;
236
+ top: 12px;
237
+ right: 16px;
238
+ background: none;
239
+ border: none;
240
+ color: var(--text-dim);
241
+ font-size: 1.3rem;
242
+ cursor: pointer;
243
+ }
244
+
245
+ .modal-close:hover { color: var(--text); }
246
+
247
+ /* Detail View */
248
+ .detail-header {
249
+ margin-bottom: 20px;
250
+ padding-bottom: 16px;
251
+ border-bottom: 1px solid var(--border);
252
+ }
253
+
254
+ .detail-header h2 {
255
+ font-size: 1.1rem;
256
+ font-family: monospace;
257
+ color: var(--accent);
258
+ margin-bottom: 12px;
259
+ }
260
+
261
+ .detail-meta {
262
+ display: grid;
263
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
264
+ gap: 8px;
265
+ font-size: 0.85rem;
266
+ }
267
+
268
+ .detail-meta span { color: var(--text-dim); }
269
+ .detail-meta strong { color: var(--text); }
270
+
271
+ .detail-tabs {
272
+ display: flex;
273
+ gap: 4px;
274
+ margin-bottom: 16px;
275
+ border-bottom: 1px solid var(--border);
276
+ padding-bottom: 8px;
277
+ }
278
+
279
+ .detail-tab {
280
+ padding: 6px 14px;
281
+ background: transparent;
282
+ border: none;
283
+ color: var(--text-dim);
284
+ cursor: pointer;
285
+ border-radius: var(--radius) var(--radius) 0 0;
286
+ font-size: 0.85rem;
287
+ }
288
+
289
+ .detail-tab:hover { color: var(--text); }
290
+ .detail-tab.active { color: var(--accent); border-bottom: 2px solid var(--accent); }
291
+
292
+ .detail-panel { display: none; }
293
+ .detail-panel.active { display: block; }
294
+
295
+ /* Conversation */
296
+ .message {
297
+ margin-bottom: 12px;
298
+ padding: 12px;
299
+ border-radius: var(--radius);
300
+ font-size: 0.85rem;
301
+ line-height: 1.5;
302
+ white-space: pre-wrap;
303
+ word-break: break-word;
304
+ }
305
+
306
+ .message-user {
307
+ background: #1a2332;
308
+ border-left: 3px solid var(--accent);
309
+ }
310
+
311
+ .message-assistant {
312
+ background: #1a2b1a;
313
+ border-left: 3px solid var(--accent2);
314
+ }
315
+
316
+ .message-label {
317
+ font-size: 0.75rem;
318
+ font-weight: 700;
319
+ text-transform: uppercase;
320
+ margin-bottom: 6px;
321
+ color: var(--text-dim);
322
+ }
323
+
324
+ /* Tool calls */
325
+ .tool-item {
326
+ padding: 8px 12px;
327
+ background: var(--surface2);
328
+ border-radius: var(--radius);
329
+ margin-bottom: 6px;
330
+ font-size: 0.8rem;
331
+ font-family: monospace;
332
+ }
333
+
334
+ /* Event counts */
335
+ .event-counts {
336
+ display: flex;
337
+ flex-wrap: wrap;
338
+ gap: 8px;
339
+ }
340
+
341
+ .event-count-badge {
342
+ padding: 4px 10px;
343
+ background: var(--surface2);
344
+ border-radius: 12px;
345
+ font-size: 0.8rem;
346
+ }
347
+
348
+ /* Plan content */
349
+ .plan-content {
350
+ white-space: pre-wrap;
351
+ font-size: 0.85rem;
352
+ line-height: 1.6;
353
+ padding: 16px;
354
+ background: var(--surface2);
355
+ border-radius: var(--radius);
356
+ }
357
+
358
+ /* Responsive */
359
+ @media (max-width: 768px) {
360
+ .controls { flex-direction: column; }
361
+ .charts-grid { grid-template-columns: 1fr; }
362
+ .stats-cards { grid-template-columns: repeat(2, 1fr); }
363
+ .detail-meta { grid-template-columns: 1fr; }
364
+ }