oh-my-opencode-dashboard 0.0.4 → 0.1.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.
- package/README.md +15 -4
- package/dist/assets/index-BFRahC0d.css +1 -0
- package/dist/assets/index-BsLpOGvG.js +40 -0
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/src/App.tsx +512 -14
- package/src/app-payload.test.ts +108 -1
- package/src/background-task-toolcalls-policy.test.ts +191 -0
- package/src/ingest/background-tasks.test.ts +11 -2
- package/src/ingest/tool-calls.test.ts +161 -0
- package/src/ingest/tool-calls.ts +157 -0
- package/src/server/api.test.ts +175 -53
- package/src/server/api.ts +39 -2
- package/src/server/dashboard.test.ts +41 -0
- package/src/server/dashboard.ts +81 -0
- package/src/server/dev.ts +4 -2
- package/src/server/start.ts +4 -2
- package/src/styles.css +189 -0
- package/dist/assets/index-CZM2MUUs.js +0 -40
- package/dist/assets/index-RAZRO3YN.css +0 -1
package/src/styles.css
CHANGED
|
@@ -161,6 +161,64 @@ body {
|
|
|
161
161
|
transform: translateY(0px);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
+
.fieldRow {
|
|
165
|
+
display: flex;
|
|
166
|
+
align-items: center;
|
|
167
|
+
flex-wrap: wrap;
|
|
168
|
+
gap: 10px;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.field {
|
|
172
|
+
border: 1px solid rgba(31, 36, 38, 0.14);
|
|
173
|
+
background: rgba(255, 255, 255, 0.64);
|
|
174
|
+
padding: 9px 12px;
|
|
175
|
+
border-radius: 999px;
|
|
176
|
+
color: var(--ink);
|
|
177
|
+
font-size: 12px;
|
|
178
|
+
line-height: 1;
|
|
179
|
+
box-shadow: 0 6px 16px rgba(29, 32, 33, 0.06);
|
|
180
|
+
transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
|
|
181
|
+
min-width: 0;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.field:hover {
|
|
185
|
+
transform: translateY(-1px);
|
|
186
|
+
background: rgba(255, 255, 255, 0.78);
|
|
187
|
+
border-color: rgba(31, 36, 38, 0.18);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.field:active {
|
|
191
|
+
transform: translateY(0px);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.field:focus-visible {
|
|
195
|
+
outline: 2px solid rgba(15, 90, 81, 0.30);
|
|
196
|
+
outline-offset: 2px;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.field:disabled {
|
|
200
|
+
opacity: 0.55;
|
|
201
|
+
cursor: not-allowed;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
select.field {
|
|
205
|
+
appearance: none;
|
|
206
|
+
padding-right: 34px;
|
|
207
|
+
background-image:
|
|
208
|
+
linear-gradient(45deg, transparent 50%, rgba(31, 36, 38, 0.50) 50%),
|
|
209
|
+
linear-gradient(135deg, rgba(31, 36, 38, 0.50) 50%, transparent 50%);
|
|
210
|
+
background-position:
|
|
211
|
+
calc(100% - 18px) 50%,
|
|
212
|
+
calc(100% - 13px) 50%;
|
|
213
|
+
background-size: 5px 5px;
|
|
214
|
+
background-repeat: no-repeat;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
input.field {
|
|
218
|
+
appearance: none;
|
|
219
|
+
flex: 1 1 220px;
|
|
220
|
+
}
|
|
221
|
+
|
|
164
222
|
.pill {
|
|
165
223
|
display: inline-flex;
|
|
166
224
|
align-items: center;
|
|
@@ -349,6 +407,133 @@ body {
|
|
|
349
407
|
color: rgba(31, 36, 38, 0.62);
|
|
350
408
|
}
|
|
351
409
|
|
|
410
|
+
.bgTaskRowTitleWrap {
|
|
411
|
+
display: flex;
|
|
412
|
+
align-items: flex-start;
|
|
413
|
+
gap: 10px;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
.bgTaskRowTitleText {
|
|
417
|
+
min-width: 0;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
.bgTaskToggle {
|
|
421
|
+
appearance: none;
|
|
422
|
+
width: 22px;
|
|
423
|
+
height: 22px;
|
|
424
|
+
border-radius: 10px;
|
|
425
|
+
border: 1px solid rgba(31, 36, 38, 0.16);
|
|
426
|
+
background: rgba(255, 255, 255, 0.62);
|
|
427
|
+
box-shadow: 0 6px 14px rgba(29, 32, 33, 0.06);
|
|
428
|
+
color: rgba(31, 36, 38, 0.72);
|
|
429
|
+
display: inline-flex;
|
|
430
|
+
align-items: center;
|
|
431
|
+
justify-content: center;
|
|
432
|
+
padding: 0;
|
|
433
|
+
cursor: pointer;
|
|
434
|
+
flex: 0 0 auto;
|
|
435
|
+
margin-top: 2px;
|
|
436
|
+
transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
.bgTaskToggle::before {
|
|
440
|
+
content: "\25B8";
|
|
441
|
+
font-size: 12px;
|
|
442
|
+
line-height: 1;
|
|
443
|
+
transform: translateX(0.5px);
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
.bgTaskToggle:hover {
|
|
447
|
+
transform: translateY(-1px);
|
|
448
|
+
background: rgba(255, 255, 255, 0.78);
|
|
449
|
+
border-color: rgba(31, 36, 38, 0.20);
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
.bgTaskToggle:active {
|
|
453
|
+
transform: translateY(0px);
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.bgTaskToggle:focus-visible {
|
|
457
|
+
outline: 2px solid rgba(15, 90, 81, 0.30);
|
|
458
|
+
outline-offset: 2px;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
.bgTaskToggle[aria-expanded="true"] {
|
|
462
|
+
background: rgba(15, 90, 81, 0.10);
|
|
463
|
+
border-color: rgba(15, 90, 81, 0.22);
|
|
464
|
+
color: var(--teal-ink);
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
.bgTaskToggle[aria-expanded="true"]::before {
|
|
468
|
+
content: "\25BE";
|
|
469
|
+
transform: translateY(-0.5px);
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
.table td.bgTaskDetailCell {
|
|
473
|
+
padding: 0 10px 14px;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
.bgTaskDetail {
|
|
477
|
+
padding: 12px 12px 10px;
|
|
478
|
+
border-radius: 14px;
|
|
479
|
+
border: 1px solid rgba(31, 36, 38, 0.08);
|
|
480
|
+
background: rgba(255, 255, 255, 0.54);
|
|
481
|
+
box-shadow:
|
|
482
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.28),
|
|
483
|
+
0 10px 22px rgba(29, 32, 33, 0.05);
|
|
484
|
+
backdrop-filter: blur(8px);
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
.bgTaskDetailHeader {
|
|
488
|
+
font-size: 12px;
|
|
489
|
+
margin-bottom: 10px;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
.bgTaskDetailEmpty {
|
|
493
|
+
font-size: 13px;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
.bgTaskToolCallsGrid {
|
|
497
|
+
display: grid;
|
|
498
|
+
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
|
|
499
|
+
gap: 10px;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
.bgTaskToolCall {
|
|
503
|
+
border-radius: 14px;
|
|
504
|
+
border: 1px solid rgba(31, 36, 38, 0.10);
|
|
505
|
+
background:
|
|
506
|
+
radial-gradient(120px 50px at 12% 18%, rgba(15, 90, 81, 0.06), transparent 70%),
|
|
507
|
+
rgba(255, 255, 255, 0.64);
|
|
508
|
+
padding: 10px 11px;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
.bgTaskToolCallRow {
|
|
512
|
+
display: grid;
|
|
513
|
+
grid-template-columns: minmax(140px, 1fr) max-content;
|
|
514
|
+
gap: 10px;
|
|
515
|
+
align-items: baseline;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
.bgTaskToolCallTool,
|
|
519
|
+
.bgTaskToolCallStatus,
|
|
520
|
+
.bgTaskToolCallId {
|
|
521
|
+
overflow: hidden;
|
|
522
|
+
text-overflow: ellipsis;
|
|
523
|
+
white-space: nowrap;
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
.bgTaskToolCallTime {
|
|
527
|
+
margin-top: 8px;
|
|
528
|
+
font-size: 12px;
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
.bgTaskToolCallId {
|
|
532
|
+
margin-top: 6px;
|
|
533
|
+
font-size: 12px;
|
|
534
|
+
opacity: 0.78;
|
|
535
|
+
}
|
|
536
|
+
|
|
352
537
|
.details {
|
|
353
538
|
border-radius: var(--radius);
|
|
354
539
|
border: 1px solid rgba(31, 36, 38, 0.12);
|
|
@@ -655,4 +840,8 @@ body {
|
|
|
655
840
|
flex-direction: column;
|
|
656
841
|
align-items: flex-start;
|
|
657
842
|
}
|
|
843
|
+
|
|
844
|
+
.bgTaskToolCallsGrid {
|
|
845
|
+
grid-template-columns: 1fr;
|
|
846
|
+
}
|
|
658
847
|
}
|