@mtharrison/loupe 1.0.0 → 1.0.1
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/dist/client/app.css +263 -63
- package/dist/client/app.js +121 -59
- package/package.json +1 -1
package/dist/client/app.css
CHANGED
|
@@ -97,6 +97,17 @@ select {
|
|
|
97
97
|
button {
|
|
98
98
|
cursor: pointer;
|
|
99
99
|
}
|
|
100
|
+
.sr-only {
|
|
101
|
+
position: absolute;
|
|
102
|
+
width: 1px;
|
|
103
|
+
height: 1px;
|
|
104
|
+
padding: 0;
|
|
105
|
+
margin: -1px;
|
|
106
|
+
overflow: hidden;
|
|
107
|
+
clip: rect(0, 0, 0, 0);
|
|
108
|
+
white-space: nowrap;
|
|
109
|
+
border: 0;
|
|
110
|
+
}
|
|
100
111
|
pre {
|
|
101
112
|
margin: 0;
|
|
102
113
|
white-space: pre-wrap;
|
|
@@ -421,7 +432,12 @@ pre {
|
|
|
421
432
|
align-items: center;
|
|
422
433
|
justify-content: space-between;
|
|
423
434
|
gap: 0.75rem;
|
|
424
|
-
|
|
435
|
+
margin: 0.4rem 0.4rem 0;
|
|
436
|
+
padding: 0.88rem 0.92rem;
|
|
437
|
+
border: 1px solid var(--line);
|
|
438
|
+
border-radius: 16px;
|
|
439
|
+
background: rgba(250, 252, 255, 0.9);
|
|
440
|
+
box-shadow: 0 8px 22px rgba(32, 50, 76, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.7);
|
|
425
441
|
}
|
|
426
442
|
.session-sidebar-toolbar-copy {
|
|
427
443
|
display: flex;
|
|
@@ -551,10 +567,10 @@ pre {
|
|
|
551
567
|
.theme-switch {
|
|
552
568
|
display: inline-flex;
|
|
553
569
|
align-items: center;
|
|
554
|
-
gap: 0.
|
|
555
|
-
min-height: 2.
|
|
556
|
-
padding: 0.
|
|
557
|
-
border-radius:
|
|
570
|
+
gap: 0.18rem;
|
|
571
|
+
min-height: 2.5rem;
|
|
572
|
+
padding: 0.14rem;
|
|
573
|
+
border-radius: 999px;
|
|
558
574
|
border: 1px solid var(--line);
|
|
559
575
|
background: rgba(245, 249, 253, 0.92);
|
|
560
576
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
|
|
@@ -563,13 +579,15 @@ pre {
|
|
|
563
579
|
.theme-switch-button {
|
|
564
580
|
display: inline-flex;
|
|
565
581
|
align-items: center;
|
|
566
|
-
|
|
582
|
+
justify-content: center;
|
|
583
|
+
gap: 0;
|
|
567
584
|
border: 0;
|
|
568
585
|
background: transparent;
|
|
569
586
|
color: var(--muted-foreground);
|
|
570
|
-
border-radius:
|
|
571
|
-
|
|
572
|
-
|
|
587
|
+
border-radius: 999px;
|
|
588
|
+
width: 2.2rem;
|
|
589
|
+
min-height: 2.2rem;
|
|
590
|
+
padding: 0;
|
|
573
591
|
font-weight: 650;
|
|
574
592
|
line-height: 1;
|
|
575
593
|
}
|
|
@@ -578,6 +596,11 @@ pre {
|
|
|
578
596
|
color: var(--primary-strong);
|
|
579
597
|
box-shadow: inset 0 0 0 1px rgba(40, 93, 168, 0.2), 0 1px 2px rgba(19, 46, 72, 0.08);
|
|
580
598
|
}
|
|
599
|
+
.tag-filter-toggle.is-active {
|
|
600
|
+
border-color: rgba(40, 93, 168, 0.2);
|
|
601
|
+
background: rgba(40, 93, 168, 0.08);
|
|
602
|
+
color: var(--primary-strong);
|
|
603
|
+
}
|
|
581
604
|
.clear-traces-button.is-confirming {
|
|
582
605
|
border-color: rgba(181, 82, 93, 0.34);
|
|
583
606
|
background: rgba(181, 82, 93, 0.08);
|
|
@@ -1017,13 +1040,16 @@ pre {
|
|
|
1017
1040
|
line-height: 1.4;
|
|
1018
1041
|
}
|
|
1019
1042
|
.hierarchy-timeline-axis {
|
|
1043
|
+
--timeline-time-column: 4.75rem;
|
|
1044
|
+
--timeline-column-gap: 0.45rem;
|
|
1020
1045
|
display: grid;
|
|
1021
|
-
grid-template-columns:
|
|
1022
|
-
gap:
|
|
1046
|
+
grid-template-columns: var(--timeline-time-column) minmax(0, 1fr) minmax(13rem, 19rem);
|
|
1047
|
+
gap: var(--timeline-column-gap);
|
|
1023
1048
|
align-items: end;
|
|
1024
1049
|
}
|
|
1025
1050
|
.hierarchy-timeline-axis-track,
|
|
1026
1051
|
.hierarchy-timeline-row-track {
|
|
1052
|
+
box-sizing: border-box;
|
|
1027
1053
|
background-image:
|
|
1028
1054
|
linear-gradient(
|
|
1029
1055
|
90deg,
|
|
@@ -1036,6 +1062,7 @@ pre {
|
|
|
1036
1062
|
.hierarchy-timeline-axis-track {
|
|
1037
1063
|
position: relative;
|
|
1038
1064
|
height: 1.6rem;
|
|
1065
|
+
padding: 0 0.82rem 0 0.18rem;
|
|
1039
1066
|
}
|
|
1040
1067
|
.hierarchy-timeline-axis-track::before {
|
|
1041
1068
|
content: "";
|
|
@@ -1085,22 +1112,28 @@ pre {
|
|
|
1085
1112
|
.hierarchy-timeline-list {
|
|
1086
1113
|
display: flex;
|
|
1087
1114
|
flex-direction: column;
|
|
1088
|
-
gap: 0
|
|
1115
|
+
gap: 0;
|
|
1089
1116
|
max-height: 28rem;
|
|
1090
1117
|
overflow: auto;
|
|
1091
1118
|
padding-right: 0.2rem;
|
|
1092
1119
|
}
|
|
1093
1120
|
.hierarchy-timeline-row {
|
|
1121
|
+
--timeline-time-column: 4.75rem;
|
|
1122
|
+
--timeline-column-gap: 0.45rem;
|
|
1123
|
+
--timeline-indent: 0.94rem;
|
|
1124
|
+
--timeline-gutter-base: 1.16rem;
|
|
1125
|
+
--timeline-gutter-width: calc( var(--timeline-depth, 0) * var(--timeline-indent) + var(--timeline-gutter-base) );
|
|
1126
|
+
--timeline-branch-offset: calc( var(--timeline-depth, 0) * var(--timeline-indent) + 0.12rem );
|
|
1094
1127
|
--timeline-row-color: rgba(69, 104, 222, 0.88);
|
|
1128
|
+
position: relative;
|
|
1095
1129
|
display: grid;
|
|
1096
|
-
grid-template-columns:
|
|
1097
|
-
gap:
|
|
1130
|
+
grid-template-columns: var(--timeline-time-column) minmax(0, 1fr) minmax(13rem, 19rem);
|
|
1131
|
+
gap: var(--timeline-column-gap);
|
|
1098
1132
|
align-items: center;
|
|
1099
1133
|
width: 100%;
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
background: rgba(255, 255, 255, 0.42);
|
|
1134
|
+
border: 0;
|
|
1135
|
+
background: transparent;
|
|
1136
|
+
padding: 0.12rem 0.55rem;
|
|
1104
1137
|
color: inherit;
|
|
1105
1138
|
cursor: default;
|
|
1106
1139
|
font: inherit;
|
|
@@ -1109,38 +1142,59 @@ pre {
|
|
|
1109
1142
|
content-visibility: auto;
|
|
1110
1143
|
contain-intrinsic-size: 3rem;
|
|
1111
1144
|
}
|
|
1145
|
+
.hierarchy-timeline-row::before {
|
|
1146
|
+
content: "";
|
|
1147
|
+
position: absolute;
|
|
1148
|
+
top: 0.14rem;
|
|
1149
|
+
right: 0.55rem;
|
|
1150
|
+
bottom: 0.14rem;
|
|
1151
|
+
left: calc(0.55rem + var(--timeline-time-column) + var(--timeline-column-gap) + var(--timeline-gutter-width));
|
|
1152
|
+
border-radius: 12px;
|
|
1153
|
+
border: 1px solid transparent;
|
|
1154
|
+
background: rgba(255, 255, 255, 0.42);
|
|
1155
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 4px 12px rgba(32, 50, 76, 0.03);
|
|
1156
|
+
pointer-events: none;
|
|
1157
|
+
z-index: 0;
|
|
1158
|
+
}
|
|
1159
|
+
.hierarchy-timeline-row > * {
|
|
1160
|
+
position: relative;
|
|
1161
|
+
z-index: 1;
|
|
1162
|
+
}
|
|
1112
1163
|
.hierarchy-timeline-row.is-clickable {
|
|
1113
1164
|
cursor: pointer;
|
|
1165
|
+
}
|
|
1166
|
+
.hierarchy-timeline-row.is-clickable::before {
|
|
1114
1167
|
border-color: rgba(40, 93, 168, 0.08);
|
|
1115
|
-
background: rgba(255, 255, 255, 0.
|
|
1168
|
+
background: rgba(255, 255, 255, 0.72);
|
|
1116
1169
|
box-shadow: 0 6px 18px rgba(32, 50, 76, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.72);
|
|
1117
1170
|
}
|
|
1118
|
-
.hierarchy-timeline-row.is-clickable:hover {
|
|
1171
|
+
.hierarchy-timeline-row.is-clickable:hover::before {
|
|
1119
1172
|
border-color: rgba(40, 93, 168, 0.14);
|
|
1120
1173
|
background: rgba(242, 248, 255, 0.86);
|
|
1121
1174
|
}
|
|
1122
1175
|
.hierarchy-timeline-row.is-structure {
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1176
|
+
}
|
|
1177
|
+
.hierarchy-timeline-row.is-structure::before {
|
|
1178
|
+
border-color: color-mix(in srgb, var(--timeline-row-color) 12%, rgba(84, 100, 125, 0.08));
|
|
1179
|
+
background: color-mix(in srgb, var(--timeline-row-color) 5%, rgba(255, 255, 255, 0.56));
|
|
1180
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 4px 12px rgba(32, 50, 76, 0.02);
|
|
1127
1181
|
}
|
|
1128
1182
|
.hierarchy-timeline-row:focus-visible {
|
|
1129
1183
|
outline: 2px solid rgba(40, 93, 168, 0.22);
|
|
1130
1184
|
outline-offset: 2px;
|
|
1131
1185
|
}
|
|
1132
|
-
.hierarchy-timeline-row.is-in-path {
|
|
1186
|
+
.hierarchy-timeline-row.is-in-path::before {
|
|
1133
1187
|
background: rgba(240, 246, 255, 0.54);
|
|
1134
1188
|
}
|
|
1135
|
-
.hierarchy-timeline-row.is-structure.is-in-path {
|
|
1189
|
+
.hierarchy-timeline-row.is-structure.is-in-path::before {
|
|
1136
1190
|
background: rgba(240, 246, 255, 0.38);
|
|
1137
1191
|
}
|
|
1138
|
-
.hierarchy-timeline-row.is-detail-trace:not(.is-active) {
|
|
1192
|
+
.hierarchy-timeline-row.is-detail-trace:not(.is-active)::before {
|
|
1139
1193
|
border-color: rgba(40, 93, 168, 0.16);
|
|
1140
1194
|
background: rgba(238, 246, 255, 0.76);
|
|
1141
1195
|
box-shadow: inset 2px 0 0 rgba(40, 93, 168, 0.58), 0 8px 18px rgba(32, 50, 76, 0.05);
|
|
1142
1196
|
}
|
|
1143
|
-
.hierarchy-timeline-row.is-active {
|
|
1197
|
+
.hierarchy-timeline-row.is-active::before {
|
|
1144
1198
|
border-color: rgba(40, 93, 168, 0.18);
|
|
1145
1199
|
background: rgba(234, 243, 255, 0.82);
|
|
1146
1200
|
box-shadow: inset 3px 0 0 rgba(40, 93, 168, 0.74), 0 8px 20px rgba(32, 50, 76, 0.06);
|
|
@@ -1162,6 +1216,10 @@ pre {
|
|
|
1162
1216
|
--timeline-row-color: rgba(61, 108, 225, 0.9);
|
|
1163
1217
|
}
|
|
1164
1218
|
.hierarchy-timeline-row-time {
|
|
1219
|
+
align-self: stretch;
|
|
1220
|
+
display: flex;
|
|
1221
|
+
align-items: center;
|
|
1222
|
+
justify-content: flex-end;
|
|
1165
1223
|
color: var(--muted-foreground);
|
|
1166
1224
|
font-family:
|
|
1167
1225
|
ui-monospace,
|
|
@@ -1174,26 +1232,47 @@ pre {
|
|
|
1174
1232
|
text-align: right;
|
|
1175
1233
|
white-space: nowrap;
|
|
1176
1234
|
}
|
|
1177
|
-
.hierarchy-timeline-row-
|
|
1235
|
+
.hierarchy-timeline-row-branch {
|
|
1236
|
+
display: grid;
|
|
1237
|
+
grid-template-columns: var(--timeline-gutter-width) minmax(0, 1fr);
|
|
1238
|
+
align-items: stretch;
|
|
1239
|
+
min-width: 0;
|
|
1240
|
+
}
|
|
1241
|
+
.hierarchy-timeline-row-gutter {
|
|
1178
1242
|
position: relative;
|
|
1179
|
-
display: flex;
|
|
1180
1243
|
min-width: 0;
|
|
1181
|
-
flex-direction: column;
|
|
1182
|
-
gap: 0.15rem;
|
|
1183
|
-
padding-left: calc(var(--timeline-depth, 0) * 0.95rem);
|
|
1184
1244
|
}
|
|
1185
|
-
.hierarchy-timeline-row-
|
|
1245
|
+
.hierarchy-timeline-row-gutter::before {
|
|
1186
1246
|
content: "";
|
|
1187
1247
|
position: absolute;
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
bottom: 0.
|
|
1248
|
+
top: -0.14rem;
|
|
1249
|
+
left: var(--timeline-branch-offset);
|
|
1250
|
+
bottom: -0.14rem;
|
|
1191
1251
|
width: 1px;
|
|
1192
|
-
background: rgba(84, 100, 125, 0.12);
|
|
1252
|
+
background: color-mix(in srgb, var(--timeline-row-color) 18%, rgba(84, 100, 125, 0.12));
|
|
1253
|
+
}
|
|
1254
|
+
.hierarchy-timeline-row-gutter::after {
|
|
1255
|
+
content: "";
|
|
1256
|
+
position: absolute;
|
|
1257
|
+
top: 50%;
|
|
1258
|
+
left: var(--timeline-branch-offset);
|
|
1259
|
+
right: 0.08rem;
|
|
1260
|
+
height: 1px;
|
|
1261
|
+
background: color-mix(in srgb, var(--timeline-row-color) 18%, rgba(84, 100, 125, 0.12));
|
|
1262
|
+
transform: translateY(-50%);
|
|
1193
1263
|
}
|
|
1194
|
-
.hierarchy-timeline-row.is-root .hierarchy-timeline-row-
|
|
1264
|
+
.hierarchy-timeline-row.is-root .hierarchy-timeline-row-gutter::before,
|
|
1265
|
+
.hierarchy-timeline-row.is-root .hierarchy-timeline-row-gutter::after {
|
|
1195
1266
|
display: none;
|
|
1196
1267
|
}
|
|
1268
|
+
.hierarchy-timeline-row-labels {
|
|
1269
|
+
position: relative;
|
|
1270
|
+
display: flex;
|
|
1271
|
+
min-width: 0;
|
|
1272
|
+
flex-direction: column;
|
|
1273
|
+
gap: 0.18rem;
|
|
1274
|
+
padding: 0.58rem 0 0.58rem 0.82rem;
|
|
1275
|
+
}
|
|
1197
1276
|
.hierarchy-timeline-row-title {
|
|
1198
1277
|
display: flex;
|
|
1199
1278
|
align-items: center;
|
|
@@ -1218,6 +1297,7 @@ pre {
|
|
|
1218
1297
|
.hierarchy-timeline-row.is-structure .hierarchy-timeline-row-title-text {
|
|
1219
1298
|
font-size: 0.88rem;
|
|
1220
1299
|
font-weight: 600;
|
|
1300
|
+
color: color-mix(in srgb, var(--timeline-row-color) 42%, var(--foreground));
|
|
1221
1301
|
}
|
|
1222
1302
|
.hierarchy-timeline-row.is-structure .hierarchy-timeline-row-meta {
|
|
1223
1303
|
font-size: 0.74rem;
|
|
@@ -1229,6 +1309,7 @@ pre {
|
|
|
1229
1309
|
column-gap: 0.65rem;
|
|
1230
1310
|
row-gap: 0.45rem;
|
|
1231
1311
|
align-items: center;
|
|
1312
|
+
padding: 0.58rem 0.82rem 0.58rem 0.18rem;
|
|
1232
1313
|
}
|
|
1233
1314
|
.hierarchy-timeline-row-track {
|
|
1234
1315
|
grid-area: track;
|
|
@@ -1330,7 +1411,31 @@ pre {
|
|
|
1330
1411
|
min-width: 0;
|
|
1331
1412
|
flex: 1;
|
|
1332
1413
|
flex-direction: column;
|
|
1333
|
-
gap: 0.
|
|
1414
|
+
gap: 0.55rem;
|
|
1415
|
+
}
|
|
1416
|
+
.trace-detail-breadcrumb {
|
|
1417
|
+
display: flex;
|
|
1418
|
+
align-items: center;
|
|
1419
|
+
flex-wrap: wrap;
|
|
1420
|
+
gap: 0.28rem 0.4rem;
|
|
1421
|
+
color: var(--muted-foreground);
|
|
1422
|
+
font-size: 0.8rem;
|
|
1423
|
+
font-weight: 650;
|
|
1424
|
+
line-height: 1.4;
|
|
1425
|
+
}
|
|
1426
|
+
.trace-detail-breadcrumb-separator {
|
|
1427
|
+
width: 0.9rem;
|
|
1428
|
+
height: 0.9rem;
|
|
1429
|
+
color: rgba(84, 100, 125, 0.5);
|
|
1430
|
+
}
|
|
1431
|
+
.trace-detail-breadcrumb-segment {
|
|
1432
|
+
white-space: nowrap;
|
|
1433
|
+
}
|
|
1434
|
+
.trace-detail-breadcrumb-segment.is-current {
|
|
1435
|
+
border-radius: 999px;
|
|
1436
|
+
padding: 0.18rem 0.56rem;
|
|
1437
|
+
background: rgba(40, 93, 168, 0.08);
|
|
1438
|
+
color: var(--primary-strong);
|
|
1334
1439
|
}
|
|
1335
1440
|
.trace-detail-title-row {
|
|
1336
1441
|
display: flex;
|
|
@@ -1341,7 +1446,7 @@ pre {
|
|
|
1341
1446
|
}
|
|
1342
1447
|
.trace-detail-title-row h2 {
|
|
1343
1448
|
margin: 0;
|
|
1344
|
-
font-size: 1.
|
|
1449
|
+
font-size: 1.34rem;
|
|
1345
1450
|
letter-spacing: -0.02em;
|
|
1346
1451
|
}
|
|
1347
1452
|
.trace-detail-heading p {
|
|
@@ -1351,7 +1456,8 @@ pre {
|
|
|
1351
1456
|
}
|
|
1352
1457
|
.trace-detail-subtitle {
|
|
1353
1458
|
color: var(--muted-foreground);
|
|
1354
|
-
font-size: 0.
|
|
1459
|
+
font-size: 0.82rem;
|
|
1460
|
+
line-height: 1.45;
|
|
1355
1461
|
}
|
|
1356
1462
|
.trace-detail-meta {
|
|
1357
1463
|
display: flex;
|
|
@@ -1454,6 +1560,11 @@ pre {
|
|
|
1454
1560
|
justify-content: space-between;
|
|
1455
1561
|
gap: 0.65rem;
|
|
1456
1562
|
}
|
|
1563
|
+
.trace-detail-json-toggle {
|
|
1564
|
+
min-height: 2.4rem;
|
|
1565
|
+
padding: 0.52rem 0.82rem;
|
|
1566
|
+
color: var(--muted-foreground);
|
|
1567
|
+
}
|
|
1457
1568
|
.trace-detail-scroll {
|
|
1458
1569
|
min-height: 0;
|
|
1459
1570
|
flex: 1;
|
|
@@ -1671,6 +1782,18 @@ pre {
|
|
|
1671
1782
|
color: var(--foreground);
|
|
1672
1783
|
opacity: 1;
|
|
1673
1784
|
}
|
|
1785
|
+
.detail-tabs {
|
|
1786
|
+
padding: 0.24rem;
|
|
1787
|
+
border-radius: 16px;
|
|
1788
|
+
background: rgba(243, 247, 251, 0.98);
|
|
1789
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 1px 2px rgba(32, 50, 76, 0.04);
|
|
1790
|
+
}
|
|
1791
|
+
.detail-tabs .tabs-trigger {
|
|
1792
|
+
padding: 0.62rem 0.94rem;
|
|
1793
|
+
font-size: 0.84rem;
|
|
1794
|
+
font-weight: 700;
|
|
1795
|
+
letter-spacing: -0.01em;
|
|
1796
|
+
}
|
|
1674
1797
|
.tabs-root[data-value=conversation] .tabs-trigger[data-tab-value=conversation],
|
|
1675
1798
|
.tabs-root[data-value=request] .tabs-trigger[data-tab-value=request],
|
|
1676
1799
|
.tabs-root[data-value=response] .tabs-trigger[data-tab-value=response],
|
|
@@ -1922,19 +2045,21 @@ pre {
|
|
|
1922
2045
|
}
|
|
1923
2046
|
.expandable-toggle {
|
|
1924
2047
|
align-self: flex-start;
|
|
1925
|
-
|
|
1926
|
-
border
|
|
1927
|
-
|
|
2048
|
+
margin-top: 0.22rem;
|
|
2049
|
+
border: 1px solid rgba(40, 93, 168, 0.12);
|
|
2050
|
+
border-radius: 999px;
|
|
2051
|
+
background: rgba(40, 93, 168, 0.06);
|
|
1928
2052
|
color: var(--primary-strong);
|
|
1929
2053
|
cursor: pointer;
|
|
1930
|
-
font-size: 0.
|
|
2054
|
+
font-size: 0.78rem;
|
|
1931
2055
|
font-weight: 650;
|
|
1932
2056
|
line-height: 1;
|
|
1933
|
-
padding: 0;
|
|
2057
|
+
padding: 0.42rem 0.7rem;
|
|
1934
2058
|
}
|
|
1935
2059
|
.expandable-toggle:hover {
|
|
1936
|
-
text-decoration:
|
|
1937
|
-
|
|
2060
|
+
text-decoration: none;
|
|
2061
|
+
border-color: rgba(40, 93, 168, 0.18);
|
|
2062
|
+
background: rgba(40, 93, 168, 0.1);
|
|
1938
2063
|
}
|
|
1939
2064
|
.conversation-bubble p {
|
|
1940
2065
|
margin: 0;
|
|
@@ -2527,6 +2652,16 @@ pre {
|
|
|
2527
2652
|
color: var(--primary-strong);
|
|
2528
2653
|
box-shadow: inset 0 0 0 1px rgba(134, 184, 255, 0.2), 0 1px 2px rgba(1, 7, 18, 0.24);
|
|
2529
2654
|
}
|
|
2655
|
+
:root[data-theme=dark] .tag-filter-toggle.is-active {
|
|
2656
|
+
border-color: rgba(134, 184, 255, 0.24);
|
|
2657
|
+
background: rgba(134, 184, 255, 0.14);
|
|
2658
|
+
color: var(--primary-strong);
|
|
2659
|
+
}
|
|
2660
|
+
:root[data-theme=dark] .session-sidebar-toolbar {
|
|
2661
|
+
border-color: rgba(128, 153, 189, 0.14);
|
|
2662
|
+
background: rgba(16, 24, 36, 0.82);
|
|
2663
|
+
box-shadow: 0 10px 24px rgba(2, 10, 24, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04);
|
|
2664
|
+
}
|
|
2530
2665
|
:root[data-theme=dark] .trace-group-button,
|
|
2531
2666
|
:root[data-theme=dark] .nav-item,
|
|
2532
2667
|
:root[data-theme=dark] .tree-node-card,
|
|
@@ -2622,33 +2757,37 @@ pre {
|
|
|
2622
2757
|
color: color-mix(in srgb, var(--semantic-badge-color) 74%, white);
|
|
2623
2758
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
2624
2759
|
}
|
|
2625
|
-
:root[data-theme=dark] .hierarchy-timeline-row {
|
|
2626
|
-
background: rgba(22, 32, 47, 0.52);
|
|
2627
|
-
}
|
|
2628
2760
|
:root[data-theme=dark] .hierarchy-timeline-hint {
|
|
2629
2761
|
color: rgba(182, 197, 219, 0.72);
|
|
2630
2762
|
}
|
|
2631
|
-
:root[data-theme=dark] .hierarchy-timeline-row
|
|
2763
|
+
:root[data-theme=dark] .hierarchy-timeline-row::before {
|
|
2764
|
+
background: rgba(22, 32, 47, 0.52);
|
|
2765
|
+
}
|
|
2766
|
+
:root[data-theme=dark] .hierarchy-timeline-row.is-clickable::before {
|
|
2632
2767
|
border-color: rgba(134, 184, 255, 0.12);
|
|
2633
2768
|
background: rgba(24, 35, 52, 0.74);
|
|
2634
2769
|
box-shadow: 0 8px 20px rgba(2, 10, 24, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.04);
|
|
2635
2770
|
}
|
|
2636
|
-
:root[data-theme=dark] .hierarchy-timeline-row.is-
|
|
2637
|
-
border-color: rgba(
|
|
2638
|
-
background: rgba(
|
|
2771
|
+
:root[data-theme=dark] .hierarchy-timeline-row.is-clickable:hover::before {
|
|
2772
|
+
border-color: rgba(134, 184, 255, 0.2);
|
|
2773
|
+
background: rgba(29, 43, 64, 0.88);
|
|
2774
|
+
}
|
|
2775
|
+
:root[data-theme=dark] .hierarchy-timeline-row.is-structure::before {
|
|
2776
|
+
border-color: color-mix(in srgb, var(--timeline-row-color) 18%, rgba(128, 153, 189, 0.08));
|
|
2777
|
+
background: color-mix(in srgb, var(--timeline-row-color) 8%, rgba(18, 27, 40, 0.4));
|
|
2639
2778
|
}
|
|
2640
|
-
:root[data-theme=dark] .hierarchy-timeline-row.is-in-path {
|
|
2779
|
+
:root[data-theme=dark] .hierarchy-timeline-row.is-in-path::before {
|
|
2641
2780
|
background: rgba(27, 40, 60, 0.7);
|
|
2642
2781
|
}
|
|
2643
|
-
:root[data-theme=dark] .hierarchy-timeline-row.is-structure.is-in-path {
|
|
2782
|
+
:root[data-theme=dark] .hierarchy-timeline-row.is-structure.is-in-path::before {
|
|
2644
2783
|
background: rgba(24, 35, 52, 0.38);
|
|
2645
2784
|
}
|
|
2646
|
-
:root[data-theme=dark] .hierarchy-timeline-row.is-detail-trace:not(.is-active) {
|
|
2785
|
+
:root[data-theme=dark] .hierarchy-timeline-row.is-detail-trace:not(.is-active)::before {
|
|
2647
2786
|
border-color: rgba(134, 184, 255, 0.16);
|
|
2648
2787
|
background: rgba(26, 38, 57, 0.84);
|
|
2649
2788
|
box-shadow: inset 2px 0 0 rgba(134, 184, 255, 0.6), 0 8px 18px rgba(2, 10, 24, 0.18);
|
|
2650
2789
|
}
|
|
2651
|
-
:root[data-theme=dark] .hierarchy-timeline-row.is-active {
|
|
2790
|
+
:root[data-theme=dark] .hierarchy-timeline-row.is-active::before {
|
|
2652
2791
|
border-color: rgba(134, 184, 255, 0.2);
|
|
2653
2792
|
background: rgba(31, 45, 66, 0.94);
|
|
2654
2793
|
box-shadow: inset 3px 0 0 rgba(134, 184, 255, 0.82), 0 10px 22px rgba(2, 10, 24, 0.18);
|
|
@@ -2660,6 +2799,13 @@ pre {
|
|
|
2660
2799
|
:root[data-theme=dark] .hierarchy-timeline-title {
|
|
2661
2800
|
color: rgba(182, 197, 219, 0.78);
|
|
2662
2801
|
}
|
|
2802
|
+
:root[data-theme=dark] .hierarchy-timeline-row-gutter::before,
|
|
2803
|
+
:root[data-theme=dark] .hierarchy-timeline-row-gutter::after {
|
|
2804
|
+
background: color-mix(in srgb, var(--timeline-row-color) 24%, rgba(128, 153, 189, 0.14));
|
|
2805
|
+
}
|
|
2806
|
+
:root[data-theme=dark] .hierarchy-timeline-row.is-structure .hierarchy-timeline-row-title-text {
|
|
2807
|
+
color: color-mix(in srgb, var(--timeline-row-color) 48%, white);
|
|
2808
|
+
}
|
|
2663
2809
|
:root[data-theme=dark] .hierarchy-timeline-row-inspect {
|
|
2664
2810
|
border-color: rgba(134, 184, 255, 0.18);
|
|
2665
2811
|
background: rgba(134, 184, 255, 0.12);
|
|
@@ -2669,12 +2815,26 @@ pre {
|
|
|
2669
2815
|
border-color: rgba(134, 184, 255, 0.24);
|
|
2670
2816
|
background: rgba(134, 184, 255, 0.18);
|
|
2671
2817
|
}
|
|
2818
|
+
:root[data-theme=dark] .trace-detail-breadcrumb {
|
|
2819
|
+
color: rgba(182, 197, 219, 0.74);
|
|
2820
|
+
}
|
|
2821
|
+
:root[data-theme=dark] .trace-detail-breadcrumb-separator {
|
|
2822
|
+
color: rgba(182, 197, 219, 0.42);
|
|
2823
|
+
}
|
|
2824
|
+
:root[data-theme=dark] .trace-detail-breadcrumb-segment.is-current {
|
|
2825
|
+
background: rgba(134, 184, 255, 0.14);
|
|
2826
|
+
color: rgba(186, 214, 255, 0.96);
|
|
2827
|
+
}
|
|
2828
|
+
:root[data-theme=dark] .trace-detail-subtitle,
|
|
2829
|
+
:root[data-theme=dark] .trace-detail-json-toggle {
|
|
2830
|
+
color: rgba(182, 197, 219, 0.74);
|
|
2831
|
+
}
|
|
2672
2832
|
:root[data-theme=dark] .hierarchy-timeline-row-title-text {
|
|
2673
2833
|
color: var(--foreground);
|
|
2674
2834
|
}
|
|
2675
2835
|
:root[data-theme=dark] .hierarchy-timeline-axis-track::before,
|
|
2676
2836
|
:root[data-theme=dark] .hierarchy-timeline-axis-tick::before,
|
|
2677
|
-
:root[data-theme=dark] .hierarchy-timeline-row-
|
|
2837
|
+
:root[data-theme=dark] .hierarchy-timeline-row-gutter::before,
|
|
2678
2838
|
:root[data-theme=dark] .hierarchy-timeline-row-track::before {
|
|
2679
2839
|
background: rgba(128, 153, 189, 0.14);
|
|
2680
2840
|
}
|
|
@@ -2706,6 +2866,10 @@ pre {
|
|
|
2706
2866
|
:root[data-theme=dark] .tabs-list {
|
|
2707
2867
|
background: rgba(16, 24, 36, 0.92);
|
|
2708
2868
|
}
|
|
2869
|
+
:root[data-theme=dark] .detail-tabs {
|
|
2870
|
+
background: rgba(16, 24, 36, 0.96);
|
|
2871
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 1px 2px rgba(1, 7, 18, 0.22);
|
|
2872
|
+
}
|
|
2709
2873
|
:root[data-theme=dark] .tabs-trigger:hover {
|
|
2710
2874
|
background: rgba(134, 184, 255, 0.08);
|
|
2711
2875
|
color: var(--foreground);
|
|
@@ -2806,6 +2970,15 @@ pre {
|
|
|
2806
2970
|
background: rgba(29, 42, 60, 0.92);
|
|
2807
2971
|
border-color: rgba(128, 153, 189, 0.12);
|
|
2808
2972
|
}
|
|
2973
|
+
:root[data-theme=dark] .expandable-toggle {
|
|
2974
|
+
border-color: rgba(134, 184, 255, 0.18);
|
|
2975
|
+
background: rgba(134, 184, 255, 0.1);
|
|
2976
|
+
color: rgba(186, 214, 255, 0.96);
|
|
2977
|
+
}
|
|
2978
|
+
:root[data-theme=dark] .expandable-toggle:hover {
|
|
2979
|
+
border-color: rgba(134, 184, 255, 0.24);
|
|
2980
|
+
background: rgba(134, 184, 255, 0.16);
|
|
2981
|
+
}
|
|
2809
2982
|
:root[data-theme=dark] .workspace-grid::-webkit-scrollbar-thumb {
|
|
2810
2983
|
background: rgba(128, 153, 189, 0.28);
|
|
2811
2984
|
}
|
|
@@ -2877,10 +3050,12 @@ pre {
|
|
|
2877
3050
|
padding-right: 0;
|
|
2878
3051
|
}
|
|
2879
3052
|
.hierarchy-timeline-axis {
|
|
2880
|
-
|
|
3053
|
+
--timeline-time-column: 4.5rem;
|
|
3054
|
+
grid-template-columns: var(--timeline-time-column) minmax(0, 1fr) minmax(11rem, 1fr);
|
|
2881
3055
|
}
|
|
2882
3056
|
.hierarchy-timeline-row {
|
|
2883
|
-
|
|
3057
|
+
--timeline-time-column: 4.5rem;
|
|
3058
|
+
grid-template-columns: var(--timeline-time-column) minmax(0, 1fr) minmax(11rem, 1fr);
|
|
2884
3059
|
}
|
|
2885
3060
|
.sheet-panel {
|
|
2886
3061
|
width: min(100vw, 48rem);
|
|
@@ -2969,6 +3144,17 @@ pre {
|
|
|
2969
3144
|
.trace-detail-secondary .hierarchy-timeline-row-time {
|
|
2970
3145
|
text-align: left;
|
|
2971
3146
|
}
|
|
3147
|
+
.trace-detail-secondary .hierarchy-timeline-row::before {
|
|
3148
|
+
top: 1.7rem;
|
|
3149
|
+
left: 0;
|
|
3150
|
+
right: 0;
|
|
3151
|
+
}
|
|
3152
|
+
.trace-detail-secondary .hierarchy-timeline-row-branch {
|
|
3153
|
+
grid-template-columns: minmax(0, 1fr);
|
|
3154
|
+
}
|
|
3155
|
+
.trace-detail-secondary .hierarchy-timeline-row-gutter {
|
|
3156
|
+
display: none;
|
|
3157
|
+
}
|
|
2972
3158
|
.trace-detail-secondary .hierarchy-timeline-row-bars {
|
|
2973
3159
|
grid-column: auto;
|
|
2974
3160
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
@@ -2989,10 +3175,24 @@ pre {
|
|
|
2989
3175
|
}
|
|
2990
3176
|
.hierarchy-timeline-row {
|
|
2991
3177
|
grid-template-columns: minmax(0, 1fr);
|
|
3178
|
+
padding-left: 0;
|
|
3179
|
+
padding-right: 0;
|
|
2992
3180
|
}
|
|
2993
3181
|
.hierarchy-timeline-row-time {
|
|
3182
|
+
justify-content: flex-start;
|
|
2994
3183
|
text-align: left;
|
|
2995
3184
|
}
|
|
3185
|
+
.hierarchy-timeline-row::before {
|
|
3186
|
+
top: 1.7rem;
|
|
3187
|
+
left: 0;
|
|
3188
|
+
right: 0;
|
|
3189
|
+
}
|
|
3190
|
+
.hierarchy-timeline-row-branch {
|
|
3191
|
+
grid-template-columns: minmax(0, 1fr);
|
|
3192
|
+
}
|
|
3193
|
+
.hierarchy-timeline-row-gutter {
|
|
3194
|
+
display: none;
|
|
3195
|
+
}
|
|
2996
3196
|
.hierarchy-timeline-row-bars {
|
|
2997
3197
|
grid-column: auto;
|
|
2998
3198
|
grid-template-columns: minmax(0, 1fr) auto;
|
package/dist/client/app.js
CHANGED
|
@@ -21696,25 +21696,35 @@ var init_check = __esm({
|
|
|
21696
21696
|
}
|
|
21697
21697
|
});
|
|
21698
21698
|
|
|
21699
|
+
// node_modules/lucide-react/dist/esm/icons/chevron-right.js
|
|
21700
|
+
var __iconNode6, ChevronRight;
|
|
21701
|
+
var init_chevron_right = __esm({
|
|
21702
|
+
"node_modules/lucide-react/dist/esm/icons/chevron-right.js"() {
|
|
21703
|
+
init_createLucideIcon();
|
|
21704
|
+
__iconNode6 = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
21705
|
+
ChevronRight = createLucideIcon("chevron-right", __iconNode6);
|
|
21706
|
+
}
|
|
21707
|
+
});
|
|
21708
|
+
|
|
21699
21709
|
// node_modules/lucide-react/dist/esm/icons/copy.js
|
|
21700
|
-
var
|
|
21710
|
+
var __iconNode7, Copy;
|
|
21701
21711
|
var init_copy = __esm({
|
|
21702
21712
|
"node_modules/lucide-react/dist/esm/icons/copy.js"() {
|
|
21703
21713
|
init_createLucideIcon();
|
|
21704
|
-
|
|
21714
|
+
__iconNode7 = [
|
|
21705
21715
|
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
21706
21716
|
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
21707
21717
|
];
|
|
21708
|
-
Copy = createLucideIcon("copy",
|
|
21718
|
+
Copy = createLucideIcon("copy", __iconNode7);
|
|
21709
21719
|
}
|
|
21710
21720
|
});
|
|
21711
21721
|
|
|
21712
21722
|
// node_modules/lucide-react/dist/esm/icons/funnel.js
|
|
21713
|
-
var
|
|
21723
|
+
var __iconNode8, Funnel;
|
|
21714
21724
|
var init_funnel = __esm({
|
|
21715
21725
|
"node_modules/lucide-react/dist/esm/icons/funnel.js"() {
|
|
21716
21726
|
init_createLucideIcon();
|
|
21717
|
-
|
|
21727
|
+
__iconNode8 = [
|
|
21718
21728
|
[
|
|
21719
21729
|
"path",
|
|
21720
21730
|
{
|
|
@@ -21723,16 +21733,16 @@ var init_funnel = __esm({
|
|
|
21723
21733
|
}
|
|
21724
21734
|
]
|
|
21725
21735
|
];
|
|
21726
|
-
Funnel = createLucideIcon("funnel",
|
|
21736
|
+
Funnel = createLucideIcon("funnel", __iconNode8);
|
|
21727
21737
|
}
|
|
21728
21738
|
});
|
|
21729
21739
|
|
|
21730
21740
|
// node_modules/lucide-react/dist/esm/icons/moon.js
|
|
21731
|
-
var
|
|
21741
|
+
var __iconNode9, Moon;
|
|
21732
21742
|
var init_moon = __esm({
|
|
21733
21743
|
"node_modules/lucide-react/dist/esm/icons/moon.js"() {
|
|
21734
21744
|
init_createLucideIcon();
|
|
21735
|
-
|
|
21745
|
+
__iconNode9 = [
|
|
21736
21746
|
[
|
|
21737
21747
|
"path",
|
|
21738
21748
|
{
|
|
@@ -21741,45 +21751,45 @@ var init_moon = __esm({
|
|
|
21741
21751
|
}
|
|
21742
21752
|
]
|
|
21743
21753
|
];
|
|
21744
|
-
Moon = createLucideIcon("moon",
|
|
21754
|
+
Moon = createLucideIcon("moon", __iconNode9);
|
|
21745
21755
|
}
|
|
21746
21756
|
});
|
|
21747
21757
|
|
|
21748
21758
|
// node_modules/lucide-react/dist/esm/icons/network.js
|
|
21749
|
-
var
|
|
21759
|
+
var __iconNode10, Network;
|
|
21750
21760
|
var init_network = __esm({
|
|
21751
21761
|
"node_modules/lucide-react/dist/esm/icons/network.js"() {
|
|
21752
21762
|
init_createLucideIcon();
|
|
21753
|
-
|
|
21763
|
+
__iconNode10 = [
|
|
21754
21764
|
["rect", { x: "16", y: "16", width: "6", height: "6", rx: "1", key: "4q2zg0" }],
|
|
21755
21765
|
["rect", { x: "2", y: "16", width: "6", height: "6", rx: "1", key: "8cvhb9" }],
|
|
21756
21766
|
["rect", { x: "9", y: "2", width: "6", height: "6", rx: "1", key: "1egb70" }],
|
|
21757
21767
|
["path", { d: "M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3", key: "1jsf9p" }],
|
|
21758
21768
|
["path", { d: "M12 12V8", key: "2874zd" }]
|
|
21759
21769
|
];
|
|
21760
|
-
Network = createLucideIcon("network",
|
|
21770
|
+
Network = createLucideIcon("network", __iconNode10);
|
|
21761
21771
|
}
|
|
21762
21772
|
});
|
|
21763
21773
|
|
|
21764
21774
|
// node_modules/lucide-react/dist/esm/icons/search.js
|
|
21765
|
-
var
|
|
21775
|
+
var __iconNode11, Search;
|
|
21766
21776
|
var init_search = __esm({
|
|
21767
21777
|
"node_modules/lucide-react/dist/esm/icons/search.js"() {
|
|
21768
21778
|
init_createLucideIcon();
|
|
21769
|
-
|
|
21779
|
+
__iconNode11 = [
|
|
21770
21780
|
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
|
|
21771
21781
|
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
|
|
21772
21782
|
];
|
|
21773
|
-
Search = createLucideIcon("search",
|
|
21783
|
+
Search = createLucideIcon("search", __iconNode11);
|
|
21774
21784
|
}
|
|
21775
21785
|
});
|
|
21776
21786
|
|
|
21777
21787
|
// node_modules/lucide-react/dist/esm/icons/sun.js
|
|
21778
|
-
var
|
|
21788
|
+
var __iconNode12, Sun;
|
|
21779
21789
|
var init_sun = __esm({
|
|
21780
21790
|
"node_modules/lucide-react/dist/esm/icons/sun.js"() {
|
|
21781
21791
|
init_createLucideIcon();
|
|
21782
|
-
|
|
21792
|
+
__iconNode12 = [
|
|
21783
21793
|
["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }],
|
|
21784
21794
|
["path", { d: "M12 2v2", key: "tus03m" }],
|
|
21785
21795
|
["path", { d: "M12 20v2", key: "1lh1kg" }],
|
|
@@ -21790,20 +21800,20 @@ var init_sun = __esm({
|
|
|
21790
21800
|
["path", { d: "m6.34 17.66-1.41 1.41", key: "1m8zz5" }],
|
|
21791
21801
|
["path", { d: "m19.07 4.93-1.41 1.41", key: "1shlcs" }]
|
|
21792
21802
|
];
|
|
21793
|
-
Sun = createLucideIcon("sun",
|
|
21803
|
+
Sun = createLucideIcon("sun", __iconNode12);
|
|
21794
21804
|
}
|
|
21795
21805
|
});
|
|
21796
21806
|
|
|
21797
21807
|
// node_modules/lucide-react/dist/esm/icons/x.js
|
|
21798
|
-
var
|
|
21808
|
+
var __iconNode13, X;
|
|
21799
21809
|
var init_x = __esm({
|
|
21800
21810
|
"node_modules/lucide-react/dist/esm/icons/x.js"() {
|
|
21801
21811
|
init_createLucideIcon();
|
|
21802
|
-
|
|
21812
|
+
__iconNode13 = [
|
|
21803
21813
|
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
21804
21814
|
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
21805
21815
|
];
|
|
21806
|
-
X = createLucideIcon("x",
|
|
21816
|
+
X = createLucideIcon("x", __iconNode13);
|
|
21807
21817
|
}
|
|
21808
21818
|
});
|
|
21809
21819
|
|
|
@@ -21816,6 +21826,7 @@ var init_lucide_react = __esm({
|
|
|
21816
21826
|
init_bot();
|
|
21817
21827
|
init_boxes();
|
|
21818
21828
|
init_check();
|
|
21829
|
+
init_chevron_right();
|
|
21819
21830
|
init_copy();
|
|
21820
21831
|
init_moon();
|
|
21821
21832
|
init_network();
|
|
@@ -37067,6 +37078,7 @@ function App() {
|
|
|
37067
37078
|
const hasActiveFilters = Boolean(
|
|
37068
37079
|
filters.search || filters.status || filters.kind || filters.tags
|
|
37069
37080
|
);
|
|
37081
|
+
const activeTagFilterCount = countTagFilters(filters.tags);
|
|
37070
37082
|
const onFilterChange = (key, value) => {
|
|
37071
37083
|
(0, import_react4.startTransition)(() => {
|
|
37072
37084
|
setFilters((current) => ({ ...current, [key]: value }));
|
|
@@ -37243,11 +37255,7 @@ function App() {
|
|
|
37243
37255
|
eventsConnected ? "Connected" : "Reconnecting"
|
|
37244
37256
|
]
|
|
37245
37257
|
}
|
|
37246
|
-
)
|
|
37247
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { className: "inspector-meta", children: [
|
|
37248
|
-
data.traces.total,
|
|
37249
|
-
" stored"
|
|
37250
|
-
] })
|
|
37258
|
+
)
|
|
37251
37259
|
] }),
|
|
37252
37260
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "inspector-header-actions", children: [
|
|
37253
37261
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
@@ -37301,10 +37309,14 @@ function App() {
|
|
|
37301
37309
|
Button,
|
|
37302
37310
|
{
|
|
37303
37311
|
variant: "outline",
|
|
37312
|
+
className: cn(
|
|
37313
|
+
"tag-filter-toggle",
|
|
37314
|
+
(showAdvancedFilters || activeTagFilterCount > 0) && "is-active"
|
|
37315
|
+
),
|
|
37304
37316
|
onClick: () => setShowAdvancedFilters((current) => !current),
|
|
37305
37317
|
children: [
|
|
37306
37318
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Funnel, { "data-icon": "inline-start" }),
|
|
37307
|
-
showAdvancedFilters || filters.tags ? "Hide filters" : "
|
|
37319
|
+
showAdvancedFilters || filters.tags ? "Hide tag filters" : activeTagFilterCount > 0 ? `Tag filters \xB7 ${activeTagFilterCount}` : "Tag filters"
|
|
37308
37320
|
]
|
|
37309
37321
|
}
|
|
37310
37322
|
),
|
|
@@ -37413,10 +37425,12 @@ function ThemeSwitcher({
|
|
|
37413
37425
|
type: "button",
|
|
37414
37426
|
className: cn("theme-switch-button", theme === "light" && "is-active"),
|
|
37415
37427
|
"aria-pressed": theme === "light",
|
|
37428
|
+
"aria-label": "Use light theme",
|
|
37429
|
+
title: "Light theme",
|
|
37416
37430
|
onClick: () => onChange("light"),
|
|
37417
37431
|
children: [
|
|
37418
37432
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Sun, { "data-icon": "inline-start" }),
|
|
37419
|
-
"Light"
|
|
37433
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "sr-only", children: "Light theme" })
|
|
37420
37434
|
]
|
|
37421
37435
|
}
|
|
37422
37436
|
),
|
|
@@ -37426,10 +37440,12 @@ function ThemeSwitcher({
|
|
|
37426
37440
|
type: "button",
|
|
37427
37441
|
className: cn("theme-switch-button", theme === "dark" && "is-active"),
|
|
37428
37442
|
"aria-pressed": theme === "dark",
|
|
37443
|
+
"aria-label": "Use dark theme",
|
|
37444
|
+
title: "Dark theme",
|
|
37429
37445
|
onClick: () => onChange("dark"),
|
|
37430
37446
|
children: [
|
|
37431
37447
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Moon, { "data-icon": "inline-start" }),
|
|
37432
|
-
"Dark"
|
|
37448
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "sr-only", children: "Dark theme" })
|
|
37433
37449
|
]
|
|
37434
37450
|
}
|
|
37435
37451
|
)
|
|
@@ -37523,20 +37539,29 @@ function HierarchyTimelineOverview({
|
|
|
37523
37539
|
};
|
|
37524
37540
|
const rowContent = /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react4.Fragment, { children: [
|
|
37525
37541
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "hierarchy-timeline-row-time", children: formatTimelineTimestamp(row.startedAt) }),
|
|
37526
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "hierarchy-timeline-row-
|
|
37527
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.
|
|
37528
|
-
|
|
37529
|
-
|
|
37530
|
-
|
|
37531
|
-
|
|
37532
|
-
|
|
37533
|
-
|
|
37534
|
-
|
|
37535
|
-
|
|
37536
|
-
}
|
|
37537
|
-
|
|
37538
|
-
|
|
37539
|
-
|
|
37542
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "hierarchy-timeline-row-branch", children: [
|
|
37543
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
37544
|
+
"div",
|
|
37545
|
+
{
|
|
37546
|
+
className: "hierarchy-timeline-row-gutter",
|
|
37547
|
+
"aria-hidden": "true"
|
|
37548
|
+
}
|
|
37549
|
+
),
|
|
37550
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "hierarchy-timeline-row-labels", children: [
|
|
37551
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "hierarchy-timeline-row-title", children: [
|
|
37552
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "hierarchy-timeline-row-title-text", children: row.label }),
|
|
37553
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
37554
|
+
Badge,
|
|
37555
|
+
{
|
|
37556
|
+
variant: "secondary",
|
|
37557
|
+
className: "hierarchy-timeline-pill",
|
|
37558
|
+
semantic: row.badge,
|
|
37559
|
+
children: row.badge
|
|
37560
|
+
}
|
|
37561
|
+
)
|
|
37562
|
+
] }),
|
|
37563
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "hierarchy-timeline-row-meta", children: row.meta })
|
|
37564
|
+
] })
|
|
37540
37565
|
] }),
|
|
37541
37566
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "hierarchy-timeline-row-bars", children: [
|
|
37542
37567
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
@@ -37612,13 +37637,32 @@ function TraceDetailPanel({
|
|
|
37612
37637
|
const detailCopy = detail ? getTraceDisplayCopy(detail) : fallbackTrace ? getTraceDisplayCopy(fallbackTrace) : null;
|
|
37613
37638
|
const detailStatus = detail?.status ?? fallbackTrace?.status ?? null;
|
|
37614
37639
|
const detailDuration = detail ? formatTraceDuration(detail) : fallbackTrace ? fallbackTrace.durationMs == null ? "Running" : `${fallbackTrace.durationMs} ms` : null;
|
|
37615
|
-
const detailSubtitle = detail
|
|
37640
|
+
const detailSubtitle = formatTraceProviderSummary(detail ?? fallbackTrace);
|
|
37616
37641
|
const detailCostUsd = detail ? getUsageCostUsd(detail.usage) : fallbackTrace?.costUsd ?? null;
|
|
37617
37642
|
const detailCostLabel = formatUsdCost(detailCostUsd);
|
|
37618
37643
|
const hasSecondaryInspector = Boolean(detail && timelineModel);
|
|
37619
37644
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "trace-detail-panel", role: "region", "aria-label": "Trace detail", children: [
|
|
37620
37645
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "trace-detail-header", children: [
|
|
37621
37646
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "trace-detail-heading", children: [
|
|
37647
|
+
detailCopy?.pathParts?.length ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "trace-detail-breadcrumb", "aria-label": "Trace path", children: detailCopy.pathParts.map((part, index2) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react4.Fragment, { children: [
|
|
37648
|
+
index2 > 0 ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
37649
|
+
ChevronRight,
|
|
37650
|
+
{
|
|
37651
|
+
className: "trace-detail-breadcrumb-separator",
|
|
37652
|
+
"aria-hidden": "true"
|
|
37653
|
+
}
|
|
37654
|
+
) : null,
|
|
37655
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
37656
|
+
"span",
|
|
37657
|
+
{
|
|
37658
|
+
className: cn(
|
|
37659
|
+
"trace-detail-breadcrumb-segment",
|
|
37660
|
+
index2 === detailCopy.pathParts.length - 1 && "is-current"
|
|
37661
|
+
),
|
|
37662
|
+
children: part
|
|
37663
|
+
}
|
|
37664
|
+
)
|
|
37665
|
+
] }, `${part}-${index2}`)) }) : null,
|
|
37622
37666
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "trace-detail-title-row", children: [
|
|
37623
37667
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("h2", { children: detailCopy?.title || "Loading trace" }),
|
|
37624
37668
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "trace-detail-meta", children: [
|
|
@@ -37627,8 +37671,7 @@ function TraceDetailPanel({
|
|
|
37627
37671
|
detailCostLabel ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(TraceMetricPill, { tone: "cost", children: detailCostLabel }) : null
|
|
37628
37672
|
] })
|
|
37629
37673
|
] }),
|
|
37630
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("
|
|
37631
|
-
detailSubtitle ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "trace-detail-subtitle", children: detailSubtitle }) : null
|
|
37674
|
+
detailSubtitle ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "trace-detail-subtitle", children: detailSubtitle }) : detailCopy?.path ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "trace-detail-subtitle", children: detailCopy.path }) : null
|
|
37632
37675
|
] }),
|
|
37633
37676
|
onBack ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "trace-detail-actions", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Button, { variant: "outline", onClick: onBack, children: "Show hierarchy" }) }) : null
|
|
37634
37677
|
] }),
|
|
@@ -37648,6 +37691,7 @@ function TraceDetailPanel({
|
|
|
37648
37691
|
Button,
|
|
37649
37692
|
{
|
|
37650
37693
|
variant: "outline",
|
|
37694
|
+
className: "trace-detail-json-toggle",
|
|
37651
37695
|
onClick: () => onToggleJsonMode(activeTab),
|
|
37652
37696
|
children: [
|
|
37653
37697
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Boxes, { "data-icon": "inline-start" }),
|
|
@@ -38615,6 +38659,15 @@ function getHierarchyNodeCopy(node2, traceById) {
|
|
|
38615
38659
|
}
|
|
38616
38660
|
function getTraceDisplayCopy(trace) {
|
|
38617
38661
|
const actor = trace.hierarchy.childActorId || trace.hierarchy.rootActorId;
|
|
38662
|
+
const pathParts = getTracePathParts(trace);
|
|
38663
|
+
return {
|
|
38664
|
+
path: pathParts.join(" / "),
|
|
38665
|
+
pathParts,
|
|
38666
|
+
subtitle: formatList([actor, trace.provider, trace.model]),
|
|
38667
|
+
title: getTraceTitle(trace)
|
|
38668
|
+
};
|
|
38669
|
+
}
|
|
38670
|
+
function getTracePathParts(trace) {
|
|
38618
38671
|
const pathParts = [
|
|
38619
38672
|
`Session ${shortId(trace.hierarchy.sessionId)}`,
|
|
38620
38673
|
trace.hierarchy.rootActorId
|
|
@@ -38633,11 +38686,13 @@ function getTraceDisplayCopy(trace) {
|
|
|
38633
38686
|
pathParts.push(`Stage: ${trace.hierarchy.stage}`);
|
|
38634
38687
|
}
|
|
38635
38688
|
}
|
|
38636
|
-
return
|
|
38637
|
-
|
|
38638
|
-
|
|
38639
|
-
|
|
38640
|
-
|
|
38689
|
+
return pathParts;
|
|
38690
|
+
}
|
|
38691
|
+
function formatTraceProviderSummary(trace) {
|
|
38692
|
+
if (!trace) {
|
|
38693
|
+
return null;
|
|
38694
|
+
}
|
|
38695
|
+
return formatList([trace.provider, trace.model]);
|
|
38641
38696
|
}
|
|
38642
38697
|
function groupTracesForNav(items) {
|
|
38643
38698
|
const groups = /* @__PURE__ */ new Map();
|
|
@@ -39003,6 +39058,12 @@ function mergeTagFilter(current, nextEntry) {
|
|
|
39003
39058
|
}
|
|
39004
39059
|
return [...existing, nextEntry].join(",");
|
|
39005
39060
|
}
|
|
39061
|
+
function countTagFilters(value) {
|
|
39062
|
+
if (!value.trim()) {
|
|
39063
|
+
return 0;
|
|
39064
|
+
}
|
|
39065
|
+
return value.split(",").map((entry) => entry.trim()).filter(Boolean).length;
|
|
39066
|
+
}
|
|
39006
39067
|
function getHierarchyNodeCostUsd(node2) {
|
|
39007
39068
|
return typeof node2?.meta?.costUsd === "number" && Number.isFinite(node2.meta.costUsd) ? node2.meta.costUsd : null;
|
|
39008
39069
|
}
|
|
@@ -39086,7 +39147,7 @@ function createCurrencyMetadataEntry(label, rawValue, secondary) {
|
|
|
39086
39147
|
label,
|
|
39087
39148
|
monospace: false,
|
|
39088
39149
|
secondary,
|
|
39089
|
-
value: formatUsdCost(rawValue)
|
|
39150
|
+
value: formatUsdCost(rawValue) ?? "$0.0000"
|
|
39090
39151
|
};
|
|
39091
39152
|
}
|
|
39092
39153
|
function getUsageSegmentCostUsd(usage, segment) {
|
|
@@ -39759,13 +39820,13 @@ var init_app = __esm({
|
|
|
39759
39820
|
init_theme();
|
|
39760
39821
|
import_jsx_runtime2 = __toESM(require_jsx_runtime());
|
|
39761
39822
|
MESSAGE_COLLAPSE_CHAR_LIMIT = 900;
|
|
39762
|
-
MESSAGE_COLLAPSE_LINE_LIMIT =
|
|
39763
|
-
MESSAGE_COLLAPSE_HEIGHT_PROSE = "
|
|
39764
|
-
MESSAGE_COLLAPSE_HEIGHT_STRUCTURED = "
|
|
39765
|
-
MESSAGE_COLLAPSE_CHAR_LIMIT_SYSTEM =
|
|
39766
|
-
MESSAGE_COLLAPSE_LINE_LIMIT_SYSTEM =
|
|
39767
|
-
MESSAGE_COLLAPSE_HEIGHT_PROSE_SYSTEM = "
|
|
39768
|
-
MESSAGE_COLLAPSE_HEIGHT_STRUCTURED_SYSTEM = "
|
|
39823
|
+
MESSAGE_COLLAPSE_LINE_LIMIT = 10;
|
|
39824
|
+
MESSAGE_COLLAPSE_HEIGHT_PROSE = "9rem";
|
|
39825
|
+
MESSAGE_COLLAPSE_HEIGHT_STRUCTURED = "9rem";
|
|
39826
|
+
MESSAGE_COLLAPSE_CHAR_LIMIT_SYSTEM = 500;
|
|
39827
|
+
MESSAGE_COLLAPSE_LINE_LIMIT_SYSTEM = 5;
|
|
39828
|
+
MESSAGE_COLLAPSE_HEIGHT_PROSE_SYSTEM = "9rem";
|
|
39829
|
+
MESSAGE_COLLAPSE_HEIGHT_STRUCTURED_SYSTEM = "9rem";
|
|
39769
39830
|
TIMELINE_AXIS_STOPS = [0, 0.25, 0.5, 0.75, 1];
|
|
39770
39831
|
STATUS_OPTIONS = [
|
|
39771
39832
|
{ label: "All statuses", value: "" },
|
|
@@ -39872,6 +39933,7 @@ lucide-react/dist/esm/icons/arrow-up-right.js:
|
|
|
39872
39933
|
lucide-react/dist/esm/icons/bot.js:
|
|
39873
39934
|
lucide-react/dist/esm/icons/boxes.js:
|
|
39874
39935
|
lucide-react/dist/esm/icons/check.js:
|
|
39936
|
+
lucide-react/dist/esm/icons/chevron-right.js:
|
|
39875
39937
|
lucide-react/dist/esm/icons/copy.js:
|
|
39876
39938
|
lucide-react/dist/esm/icons/funnel.js:
|
|
39877
39939
|
lucide-react/dist/esm/icons/moon.js:
|