@railtownai/railtracks-visualizer 0.0.68 → 0.0.69
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/cjs/index.js +183 -126
- package/dist/esm/index.js +183 -126
- package/dist/types/agenthub/components/AggregateResultsTable.d.ts +3 -1
- package/dist/types/agenthub/components/JudgeAggregateView.d.ts +5 -3
- package/dist/types/agenthub/components/NodeActions.d.ts +21 -0
- package/dist/types/agenthub/pages/evaluator-result-page.d.ts +7 -2
- package/dist/types/agenthub/pages/evaluator-result.d.ts +7 -2
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -12939,7 +12939,7 @@ const createLucideIcon = (iconName, iconNode)=>{
|
|
|
12939
12939
|
return Component;
|
|
12940
12940
|
};
|
|
12941
12941
|
|
|
12942
|
-
const __iconNode$
|
|
12942
|
+
const __iconNode$A = [
|
|
12943
12943
|
[
|
|
12944
12944
|
"path",
|
|
12945
12945
|
{
|
|
@@ -12955,9 +12955,9 @@ const __iconNode$z = [
|
|
|
12955
12955
|
}
|
|
12956
12956
|
]
|
|
12957
12957
|
];
|
|
12958
|
-
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$
|
|
12958
|
+
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$A);
|
|
12959
12959
|
|
|
12960
|
-
const __iconNode$
|
|
12960
|
+
const __iconNode$z = [
|
|
12961
12961
|
[
|
|
12962
12962
|
"path",
|
|
12963
12963
|
{
|
|
@@ -12973,9 +12973,9 @@ const __iconNode$y = [
|
|
|
12973
12973
|
}
|
|
12974
12974
|
]
|
|
12975
12975
|
];
|
|
12976
|
-
const ArrowRight = createLucideIcon("arrow-right", __iconNode$
|
|
12976
|
+
const ArrowRight = createLucideIcon("arrow-right", __iconNode$z);
|
|
12977
12977
|
|
|
12978
|
-
const __iconNode$
|
|
12978
|
+
const __iconNode$y = [
|
|
12979
12979
|
[
|
|
12980
12980
|
"path",
|
|
12981
12981
|
{
|
|
@@ -13023,9 +13023,9 @@ const __iconNode$x = [
|
|
|
13023
13023
|
}
|
|
13024
13024
|
]
|
|
13025
13025
|
];
|
|
13026
|
-
const Bot = createLucideIcon("bot", __iconNode$
|
|
13026
|
+
const Bot = createLucideIcon("bot", __iconNode$y);
|
|
13027
13027
|
|
|
13028
|
-
const __iconNode$
|
|
13028
|
+
const __iconNode$x = [
|
|
13029
13029
|
[
|
|
13030
13030
|
"path",
|
|
13031
13031
|
{
|
|
@@ -13059,9 +13059,9 @@ const __iconNode$w = [
|
|
|
13059
13059
|
}
|
|
13060
13060
|
]
|
|
13061
13061
|
];
|
|
13062
|
-
const Calendar = createLucideIcon("calendar", __iconNode$
|
|
13062
|
+
const Calendar = createLucideIcon("calendar", __iconNode$x);
|
|
13063
13063
|
|
|
13064
|
-
const __iconNode$
|
|
13064
|
+
const __iconNode$w = [
|
|
13065
13065
|
[
|
|
13066
13066
|
"path",
|
|
13067
13067
|
{
|
|
@@ -13118,9 +13118,9 @@ const __iconNode$v = [
|
|
|
13118
13118
|
}
|
|
13119
13119
|
]
|
|
13120
13120
|
];
|
|
13121
|
-
const ChartNetwork = createLucideIcon("chart-network", __iconNode$
|
|
13121
|
+
const ChartNetwork = createLucideIcon("chart-network", __iconNode$w);
|
|
13122
13122
|
|
|
13123
|
-
const __iconNode$
|
|
13123
|
+
const __iconNode$v = [
|
|
13124
13124
|
[
|
|
13125
13125
|
"path",
|
|
13126
13126
|
{
|
|
@@ -13129,9 +13129,9 @@ const __iconNode$u = [
|
|
|
13129
13129
|
}
|
|
13130
13130
|
]
|
|
13131
13131
|
];
|
|
13132
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
13132
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$v);
|
|
13133
13133
|
|
|
13134
|
-
const __iconNode$
|
|
13134
|
+
const __iconNode$u = [
|
|
13135
13135
|
[
|
|
13136
13136
|
"path",
|
|
13137
13137
|
{
|
|
@@ -13140,9 +13140,9 @@ const __iconNode$t = [
|
|
|
13140
13140
|
}
|
|
13141
13141
|
]
|
|
13142
13142
|
];
|
|
13143
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
13143
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$u);
|
|
13144
13144
|
|
|
13145
|
-
const __iconNode$
|
|
13145
|
+
const __iconNode$t = [
|
|
13146
13146
|
[
|
|
13147
13147
|
"path",
|
|
13148
13148
|
{
|
|
@@ -13158,9 +13158,9 @@ const __iconNode$s = [
|
|
|
13158
13158
|
}
|
|
13159
13159
|
]
|
|
13160
13160
|
];
|
|
13161
|
-
const ChevronsDown = createLucideIcon("chevrons-down", __iconNode$
|
|
13161
|
+
const ChevronsDown = createLucideIcon("chevrons-down", __iconNode$t);
|
|
13162
13162
|
|
|
13163
|
-
const __iconNode$
|
|
13163
|
+
const __iconNode$s = [
|
|
13164
13164
|
[
|
|
13165
13165
|
"path",
|
|
13166
13166
|
{
|
|
@@ -13176,9 +13176,9 @@ const __iconNode$r = [
|
|
|
13176
13176
|
}
|
|
13177
13177
|
]
|
|
13178
13178
|
];
|
|
13179
|
-
const ChevronsUp = createLucideIcon("chevrons-up", __iconNode$
|
|
13179
|
+
const ChevronsUp = createLucideIcon("chevrons-up", __iconNode$s);
|
|
13180
13180
|
|
|
13181
|
-
const __iconNode$
|
|
13181
|
+
const __iconNode$r = [
|
|
13182
13182
|
[
|
|
13183
13183
|
"circle",
|
|
13184
13184
|
{
|
|
@@ -13209,9 +13209,9 @@ const __iconNode$q = [
|
|
|
13209
13209
|
}
|
|
13210
13210
|
]
|
|
13211
13211
|
];
|
|
13212
|
-
const CircleAlert = createLucideIcon("circle-alert", __iconNode$
|
|
13212
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$r);
|
|
13213
13213
|
|
|
13214
|
-
const __iconNode$
|
|
13214
|
+
const __iconNode$q = [
|
|
13215
13215
|
[
|
|
13216
13216
|
"path",
|
|
13217
13217
|
{
|
|
@@ -13227,9 +13227,9 @@ const __iconNode$p = [
|
|
|
13227
13227
|
}
|
|
13228
13228
|
]
|
|
13229
13229
|
];
|
|
13230
|
-
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$
|
|
13230
|
+
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$q);
|
|
13231
13231
|
|
|
13232
|
-
const __iconNode$
|
|
13232
|
+
const __iconNode$p = [
|
|
13233
13233
|
[
|
|
13234
13234
|
"circle",
|
|
13235
13235
|
{
|
|
@@ -13254,9 +13254,9 @@ const __iconNode$o = [
|
|
|
13254
13254
|
}
|
|
13255
13255
|
]
|
|
13256
13256
|
];
|
|
13257
|
-
const CircleDollarSign = createLucideIcon("circle-dollar-sign", __iconNode$
|
|
13257
|
+
const CircleDollarSign = createLucideIcon("circle-dollar-sign", __iconNode$p);
|
|
13258
13258
|
|
|
13259
|
-
const __iconNode$
|
|
13259
|
+
const __iconNode$o = [
|
|
13260
13260
|
[
|
|
13261
13261
|
"circle",
|
|
13262
13262
|
{
|
|
@@ -13274,9 +13274,9 @@ const __iconNode$n = [
|
|
|
13274
13274
|
}
|
|
13275
13275
|
]
|
|
13276
13276
|
];
|
|
13277
|
-
const Clock = createLucideIcon("clock", __iconNode$
|
|
13277
|
+
const Clock = createLucideIcon("clock", __iconNode$o);
|
|
13278
13278
|
|
|
13279
|
-
const __iconNode$
|
|
13279
|
+
const __iconNode$n = [
|
|
13280
13280
|
[
|
|
13281
13281
|
"rect",
|
|
13282
13282
|
{
|
|
@@ -13297,9 +13297,9 @@ const __iconNode$m = [
|
|
|
13297
13297
|
}
|
|
13298
13298
|
]
|
|
13299
13299
|
];
|
|
13300
|
-
const Copy = createLucideIcon("copy", __iconNode$
|
|
13300
|
+
const Copy = createLucideIcon("copy", __iconNode$n);
|
|
13301
13301
|
|
|
13302
|
-
const __iconNode$
|
|
13302
|
+
const __iconNode$m = [
|
|
13303
13303
|
[
|
|
13304
13304
|
"path",
|
|
13305
13305
|
{
|
|
@@ -13407,9 +13407,9 @@ const __iconNode$l = [
|
|
|
13407
13407
|
}
|
|
13408
13408
|
]
|
|
13409
13409
|
];
|
|
13410
|
-
const Cpu = createLucideIcon("cpu", __iconNode$
|
|
13410
|
+
const Cpu = createLucideIcon("cpu", __iconNode$m);
|
|
13411
13411
|
|
|
13412
|
-
const __iconNode$
|
|
13412
|
+
const __iconNode$l = [
|
|
13413
13413
|
[
|
|
13414
13414
|
"line",
|
|
13415
13415
|
{
|
|
@@ -13428,9 +13428,9 @@ const __iconNode$k = [
|
|
|
13428
13428
|
}
|
|
13429
13429
|
]
|
|
13430
13430
|
];
|
|
13431
|
-
const DollarSign = createLucideIcon("dollar-sign", __iconNode$
|
|
13431
|
+
const DollarSign = createLucideIcon("dollar-sign", __iconNode$l);
|
|
13432
13432
|
|
|
13433
|
-
const __iconNode$
|
|
13433
|
+
const __iconNode$k = [
|
|
13434
13434
|
[
|
|
13435
13435
|
"path",
|
|
13436
13436
|
{
|
|
@@ -13460,9 +13460,9 @@ const __iconNode$j = [
|
|
|
13460
13460
|
}
|
|
13461
13461
|
]
|
|
13462
13462
|
];
|
|
13463
|
-
const FileInput = createLucideIcon("file-input", __iconNode$
|
|
13463
|
+
const FileInput = createLucideIcon("file-input", __iconNode$k);
|
|
13464
13464
|
|
|
13465
|
-
const __iconNode$
|
|
13465
|
+
const __iconNode$j = [
|
|
13466
13466
|
[
|
|
13467
13467
|
"path",
|
|
13468
13468
|
{
|
|
@@ -13492,9 +13492,9 @@ const __iconNode$i = [
|
|
|
13492
13492
|
}
|
|
13493
13493
|
]
|
|
13494
13494
|
];
|
|
13495
|
-
const FileOutput = createLucideIcon("file-output", __iconNode$
|
|
13495
|
+
const FileOutput = createLucideIcon("file-output", __iconNode$j);
|
|
13496
13496
|
|
|
13497
|
-
const __iconNode$
|
|
13497
|
+
const __iconNode$i = [
|
|
13498
13498
|
[
|
|
13499
13499
|
"path",
|
|
13500
13500
|
{
|
|
@@ -13552,9 +13552,9 @@ const __iconNode$h = [
|
|
|
13552
13552
|
}
|
|
13553
13553
|
]
|
|
13554
13554
|
];
|
|
13555
|
-
const FoldVertical = createLucideIcon("fold-vertical", __iconNode$
|
|
13555
|
+
const FoldVertical = createLucideIcon("fold-vertical", __iconNode$i);
|
|
13556
13556
|
|
|
13557
|
-
const __iconNode$
|
|
13557
|
+
const __iconNode$h = [
|
|
13558
13558
|
[
|
|
13559
13559
|
"line",
|
|
13560
13560
|
{
|
|
@@ -13596,9 +13596,9 @@ const __iconNode$g = [
|
|
|
13596
13596
|
}
|
|
13597
13597
|
]
|
|
13598
13598
|
];
|
|
13599
|
-
const Hash = createLucideIcon("hash", __iconNode$
|
|
13599
|
+
const Hash = createLucideIcon("hash", __iconNode$h);
|
|
13600
13600
|
|
|
13601
|
-
const __iconNode$
|
|
13601
|
+
const __iconNode$g = [
|
|
13602
13602
|
[
|
|
13603
13603
|
"circle",
|
|
13604
13604
|
{
|
|
@@ -13623,9 +13623,9 @@ const __iconNode$f = [
|
|
|
13623
13623
|
}
|
|
13624
13624
|
]
|
|
13625
13625
|
];
|
|
13626
|
-
const Info = createLucideIcon("info", __iconNode$
|
|
13626
|
+
const Info = createLucideIcon("info", __iconNode$g);
|
|
13627
13627
|
|
|
13628
|
-
const __iconNode$
|
|
13628
|
+
const __iconNode$f = [
|
|
13629
13629
|
[
|
|
13630
13630
|
"path",
|
|
13631
13631
|
{
|
|
@@ -13662,9 +13662,9 @@ const __iconNode$e = [
|
|
|
13662
13662
|
}
|
|
13663
13663
|
]
|
|
13664
13664
|
];
|
|
13665
|
-
const ListChecks = createLucideIcon("list-checks", __iconNode$
|
|
13665
|
+
const ListChecks = createLucideIcon("list-checks", __iconNode$f);
|
|
13666
13666
|
|
|
13667
|
-
const __iconNode$
|
|
13667
|
+
const __iconNode$e = [
|
|
13668
13668
|
[
|
|
13669
13669
|
"path",
|
|
13670
13670
|
{
|
|
@@ -13694,9 +13694,9 @@ const __iconNode$d = [
|
|
|
13694
13694
|
}
|
|
13695
13695
|
]
|
|
13696
13696
|
];
|
|
13697
|
-
const MessageSquareText = createLucideIcon("message-square-text", __iconNode$
|
|
13697
|
+
const MessageSquareText = createLucideIcon("message-square-text", __iconNode$e);
|
|
13698
13698
|
|
|
13699
|
-
const __iconNode$
|
|
13699
|
+
const __iconNode$d = [
|
|
13700
13700
|
[
|
|
13701
13701
|
"path",
|
|
13702
13702
|
{
|
|
@@ -13712,9 +13712,9 @@ const __iconNode$c = [
|
|
|
13712
13712
|
}
|
|
13713
13713
|
]
|
|
13714
13714
|
];
|
|
13715
|
-
const MessagesSquare = createLucideIcon("messages-square", __iconNode$
|
|
13715
|
+
const MessagesSquare = createLucideIcon("messages-square", __iconNode$d);
|
|
13716
13716
|
|
|
13717
|
-
const __iconNode$
|
|
13717
|
+
const __iconNode$c = [
|
|
13718
13718
|
[
|
|
13719
13719
|
"rect",
|
|
13720
13720
|
{
|
|
@@ -13734,7 +13734,36 @@ const __iconNode$b = [
|
|
|
13734
13734
|
}
|
|
13735
13735
|
]
|
|
13736
13736
|
];
|
|
13737
|
-
const PanelLeft = createLucideIcon("panel-left", __iconNode$
|
|
13737
|
+
const PanelLeft = createLucideIcon("panel-left", __iconNode$c);
|
|
13738
|
+
|
|
13739
|
+
const __iconNode$b = [
|
|
13740
|
+
[
|
|
13741
|
+
"rect",
|
|
13742
|
+
{
|
|
13743
|
+
width: "18",
|
|
13744
|
+
height: "18",
|
|
13745
|
+
x: "3",
|
|
13746
|
+
y: "3",
|
|
13747
|
+
rx: "2",
|
|
13748
|
+
key: "afitv7"
|
|
13749
|
+
}
|
|
13750
|
+
],
|
|
13751
|
+
[
|
|
13752
|
+
"path",
|
|
13753
|
+
{
|
|
13754
|
+
d: "M15 3v18",
|
|
13755
|
+
key: "14nvp0"
|
|
13756
|
+
}
|
|
13757
|
+
],
|
|
13758
|
+
[
|
|
13759
|
+
"path",
|
|
13760
|
+
{
|
|
13761
|
+
d: "m10 15-3-3 3-3",
|
|
13762
|
+
key: "1pgupc"
|
|
13763
|
+
}
|
|
13764
|
+
]
|
|
13765
|
+
];
|
|
13766
|
+
const PanelRightOpen = createLucideIcon("panel-right-open", __iconNode$b);
|
|
13738
13767
|
|
|
13739
13768
|
const __iconNode$a = [
|
|
13740
13769
|
[
|
|
@@ -117153,13 +117182,70 @@ function metricNameOf(agg) {
|
|
|
117153
117182
|
});
|
|
117154
117183
|
}
|
|
117155
117184
|
|
|
117156
|
-
const
|
|
117157
|
-
const
|
|
117158
|
-
const
|
|
117185
|
+
const NodeActions = ({ sessionId, nodeId, onAgentNodeClick, onOpenVisualizer })=>{
|
|
117186
|
+
const { theme } = useTheme$1();
|
|
117187
|
+
const baseStyle = {
|
|
117188
|
+
display: "inline-flex",
|
|
117189
|
+
alignItems: "center",
|
|
117190
|
+
gap: 5,
|
|
117191
|
+
padding: "3px 9px",
|
|
117192
|
+
borderRadius: 6,
|
|
117193
|
+
fontSize: 12,
|
|
117194
|
+
fontWeight: 500,
|
|
117195
|
+
cursor: "pointer",
|
|
117196
|
+
background: "transparent",
|
|
117197
|
+
color: theme.colors.primary,
|
|
117198
|
+
border: `1px solid ${theme.colors.primary}`,
|
|
117199
|
+
whiteSpace: "nowrap",
|
|
117200
|
+
lineHeight: 1.4
|
|
117201
|
+
};
|
|
117202
|
+
if (!onAgentNodeClick && !onOpenVisualizer) {
|
|
117203
|
+
// No handlers: fall back to surfacing the (shortened) id so context isn't lost.
|
|
117204
|
+
return /*#__PURE__*/ React.createElement(Tooltip, {
|
|
117205
|
+
title: nodeId
|
|
117206
|
+
}, /*#__PURE__*/ React.createElement("span", {
|
|
117207
|
+
style: {
|
|
117208
|
+
fontFamily: "monospace",
|
|
117209
|
+
fontSize: 12,
|
|
117210
|
+
color: theme.colors.mutedForeground
|
|
117211
|
+
}
|
|
117212
|
+
}, nodeId.length > 8 ? nodeId.slice(0, 8) : nodeId));
|
|
117213
|
+
}
|
|
117214
|
+
return /*#__PURE__*/ React.createElement("span", {
|
|
117215
|
+
style: {
|
|
117216
|
+
display: "inline-flex",
|
|
117217
|
+
alignItems: "center",
|
|
117218
|
+
gap: 8
|
|
117219
|
+
},
|
|
117220
|
+
onClick: (e)=>e.stopPropagation()
|
|
117221
|
+
}, onAgentNodeClick && /*#__PURE__*/ React.createElement(Tooltip, {
|
|
117222
|
+
title: `Open Flow Details · ${nodeId}`
|
|
117223
|
+
}, /*#__PURE__*/ React.createElement("button", {
|
|
117224
|
+
type: "button",
|
|
117225
|
+
style: baseStyle,
|
|
117226
|
+
onClick: ()=>onAgentNodeClick(sessionId, nodeId)
|
|
117227
|
+
}, /*#__PURE__*/ React.createElement(PanelRightOpen, {
|
|
117228
|
+
size: 13,
|
|
117229
|
+
style: {
|
|
117230
|
+
flexShrink: 0
|
|
117231
|
+
}
|
|
117232
|
+
}), "Flow Details")), onOpenVisualizer && /*#__PURE__*/ React.createElement(Tooltip, {
|
|
117233
|
+
title: `Open in Visualizer · ${nodeId}`
|
|
117234
|
+
}, /*#__PURE__*/ React.createElement("button", {
|
|
117235
|
+
type: "button",
|
|
117236
|
+
style: baseStyle,
|
|
117237
|
+
onClick: ()=>onOpenVisualizer(sessionId, nodeId)
|
|
117238
|
+
}, /*#__PURE__*/ React.createElement(ChartNetwork, {
|
|
117239
|
+
size: 13,
|
|
117240
|
+
style: {
|
|
117241
|
+
flexShrink: 0
|
|
117242
|
+
}
|
|
117243
|
+
}), "Visualizer")));
|
|
117244
|
+
};
|
|
117245
|
+
|
|
117246
|
+
const NodeRow = ({ node, metricName, onAgentNodeClick, onOpenVisualizer })=>{
|
|
117159
117247
|
const { theme } = useTheme$1();
|
|
117160
117248
|
const [showReasoning, setShowReasoning] = React.useState(false);
|
|
117161
|
-
const clickable = !!onAgentNodeClick;
|
|
117162
|
-
const open = ()=>onAgentNodeClick?.(node.sessionId, node.nodeId);
|
|
117163
117249
|
return /*#__PURE__*/ React.createElement("div", {
|
|
117164
117250
|
style: {
|
|
117165
117251
|
display: "flex",
|
|
@@ -117173,38 +117259,27 @@ const NodeRow = ({ node, metricName, onAgentNodeClick })=>{
|
|
|
117173
117259
|
gap: 10,
|
|
117174
117260
|
flexWrap: "wrap"
|
|
117175
117261
|
}
|
|
117176
|
-
}, /*#__PURE__*/ React.createElement(
|
|
117177
|
-
title: clickable ? `Inspect run · ${node.nodeId}` : node.nodeId
|
|
117178
|
-
}, /*#__PURE__*/ React.createElement("span", {
|
|
117179
|
-
role: clickable ? "button" : undefined,
|
|
117180
|
-
tabIndex: clickable ? 0 : undefined,
|
|
117181
|
-
onClick: clickable ? open : undefined,
|
|
117182
|
-
onKeyDown: clickable ? (e)=>{
|
|
117183
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
117184
|
-
e.preventDefault();
|
|
117185
|
-
open();
|
|
117186
|
-
}
|
|
117187
|
-
} : undefined,
|
|
117262
|
+
}, /*#__PURE__*/ React.createElement(Tag, {
|
|
117188
117263
|
style: {
|
|
117264
|
+
margin: 0,
|
|
117189
117265
|
display: "inline-flex",
|
|
117190
117266
|
alignItems: "center",
|
|
117191
117267
|
gap: 6,
|
|
117192
|
-
|
|
117193
|
-
|
|
117194
|
-
|
|
117195
|
-
fontSize: 12,
|
|
117196
|
-
fontWeight: 500,
|
|
117197
|
-
background: theme.colors.tagLlminference?.bg ?? theme.colors.muted,
|
|
117198
|
-
color: theme.colors.tagLlminference?.color ?? theme.colors.foreground,
|
|
117199
|
-
border: `1px solid ${theme.colors.tagLlminference?.border ?? theme.colors.border}`,
|
|
117200
|
-
cursor: clickable ? "pointer" : "default"
|
|
117268
|
+
background: theme.colors.tagToolLevel2?.bg ?? theme.colors.primary,
|
|
117269
|
+
color: theme.colors.tagToolLevel2?.color ?? theme.colors.primaryForeground,
|
|
117270
|
+
border: "none"
|
|
117201
117271
|
}
|
|
117202
117272
|
}, /*#__PURE__*/ React.createElement(Bot, {
|
|
117203
|
-
size:
|
|
117273
|
+
size: 12,
|
|
117204
117274
|
style: {
|
|
117205
117275
|
flexShrink: 0
|
|
117206
117276
|
}
|
|
117207
|
-
}),
|
|
117277
|
+
}), "Agent Node"), /*#__PURE__*/ React.createElement(NodeActions, {
|
|
117278
|
+
sessionId: node.sessionId,
|
|
117279
|
+
nodeId: node.nodeId,
|
|
117280
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
117281
|
+
onOpenVisualizer: onOpenVisualizer
|
|
117282
|
+
}), node.reasoning && /*#__PURE__*/ React.createElement("button", {
|
|
117208
117283
|
type: "button",
|
|
117209
117284
|
onClick: ()=>setShowReasoning((s)=>!s),
|
|
117210
117285
|
style: {
|
|
@@ -117271,7 +117346,7 @@ const LabelPanelHeader = ({ label })=>{
|
|
|
117271
117346
|
}
|
|
117272
117347
|
}, label.count, " ", label.count === 1 ? "node" : "nodes"));
|
|
117273
117348
|
};
|
|
117274
|
-
const MetricCard = ({ metric, onAgentNodeClick })=>{
|
|
117349
|
+
const MetricCard = ({ metric, onAgentNodeClick, onOpenVisualizer })=>{
|
|
117275
117350
|
const { theme } = useTheme$1();
|
|
117276
117351
|
const items = metric.labels.map((label)=>({
|
|
117277
117352
|
key: label.labelName,
|
|
@@ -117295,7 +117370,8 @@ const MetricCard = ({ metric, onAgentNodeClick })=>{
|
|
|
117295
117370
|
key: node.nodeId,
|
|
117296
117371
|
node: node,
|
|
117297
117372
|
metricName: metric.metricName,
|
|
117298
|
-
onAgentNodeClick: onAgentNodeClick
|
|
117373
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
117374
|
+
onOpenVisualizer: onOpenVisualizer
|
|
117299
117375
|
})))
|
|
117300
117376
|
}));
|
|
117301
117377
|
return /*#__PURE__*/ React.createElement("div", {
|
|
@@ -117405,7 +117481,7 @@ const Meta = ({ label, value })=>{
|
|
|
117405
117481
|
}
|
|
117406
117482
|
}, value ?? "—"));
|
|
117407
117483
|
};
|
|
117408
|
-
const JudgeAggregateView = ({ metrics, onAgentNodeClick })=>{
|
|
117484
|
+
const JudgeAggregateView = ({ metrics, onAgentNodeClick, onOpenVisualizer })=>{
|
|
117409
117485
|
const { theme } = useTheme$1();
|
|
117410
117486
|
if (!metrics.length) {
|
|
117411
117487
|
return /*#__PURE__*/ React.createElement("div", {
|
|
@@ -117437,7 +117513,8 @@ const JudgeAggregateView = ({ metrics, onAgentNodeClick })=>{
|
|
|
117437
117513
|
}, metrics.map((metric)=>/*#__PURE__*/ React.createElement(MetricCard, {
|
|
117438
117514
|
key: metric.key,
|
|
117439
117515
|
metric: metric,
|
|
117440
|
-
onAgentNodeClick: onAgentNodeClick
|
|
117516
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
117517
|
+
onOpenVisualizer: onOpenVisualizer
|
|
117441
117518
|
}))));
|
|
117442
117519
|
};
|
|
117443
117520
|
|
|
@@ -117489,7 +117566,7 @@ const DEFAULT_TITLES = {
|
|
|
117489
117566
|
LLMInference: "LLM Inference Evaluator - Aggregate View",
|
|
117490
117567
|
Judge: "Judge Evaluator - Aggregate View"
|
|
117491
117568
|
};
|
|
117492
|
-
const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, title, evaluatorName, onAgentNodeClick })=>{
|
|
117569
|
+
const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, title, evaluatorName, onAgentNodeClick, onOpenVisualizer })=>{
|
|
117493
117570
|
const { theme } = useTheme$1();
|
|
117494
117571
|
const [expandedRowKeys, setExpandedRowKeys] = React.useState([]);
|
|
117495
117572
|
const { aggregateType, dataSource, llmIsTree, llmExpandableKeys } = React.useMemo(()=>{
|
|
@@ -117657,7 +117734,7 @@ const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, titl
|
|
|
117657
117734
|
dataIndex: "name",
|
|
117658
117735
|
key: "name",
|
|
117659
117736
|
render: (name, row)=>{
|
|
117660
|
-
const
|
|
117737
|
+
const showActions = row.level === 3 && row.agentNodeId && (onAgentNodeClick || onOpenVisualizer);
|
|
117661
117738
|
return /*#__PURE__*/ React.createElement("span", {
|
|
117662
117739
|
style: {
|
|
117663
117740
|
display: "inline-flex",
|
|
@@ -117665,27 +117742,16 @@ const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, titl
|
|
|
117665
117742
|
gap: 8,
|
|
117666
117743
|
fontFamily: "monospace",
|
|
117667
117744
|
fontSize: 13,
|
|
117668
|
-
|
|
117669
|
-
|
|
117670
|
-
color: theme.colors.primary
|
|
117671
|
-
}
|
|
117672
|
-
},
|
|
117673
|
-
onClick: isClickable ? (e)=>{
|
|
117674
|
-
e.stopPropagation();
|
|
117675
|
-
onAgentNodeClick(row.sessionId, row.agentNodeId);
|
|
117676
|
-
} : undefined,
|
|
117677
|
-
onKeyDown: isClickable ? (e)=>{
|
|
117678
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
117679
|
-
e.preventDefault();
|
|
117680
|
-
e.stopPropagation();
|
|
117681
|
-
onAgentNodeClick(row.sessionId, row.agentNodeId);
|
|
117682
|
-
}
|
|
117683
|
-
} : undefined,
|
|
117684
|
-
role: isClickable ? "button" : undefined,
|
|
117685
|
-
tabIndex: isClickable ? 0 : undefined
|
|
117745
|
+
flexWrap: "wrap"
|
|
117746
|
+
}
|
|
117686
117747
|
}, /*#__PURE__*/ React.createElement(LLMTagForLevel, {
|
|
117687
117748
|
level: row.level
|
|
117688
|
-
}),
|
|
117749
|
+
}), showActions ? /*#__PURE__*/ React.createElement(NodeActions, {
|
|
117750
|
+
sessionId: row.sessionId,
|
|
117751
|
+
nodeId: row.agentNodeId,
|
|
117752
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
117753
|
+
onOpenVisualizer: onOpenVisualizer
|
|
117754
|
+
}) : name);
|
|
117689
117755
|
}
|
|
117690
117756
|
},
|
|
117691
117757
|
...METRIC_COLUMNS.map(({ key, title, Icon })=>({
|
|
@@ -117872,7 +117938,8 @@ const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, titl
|
|
|
117872
117938
|
if (aggregateType === "Judge") {
|
|
117873
117939
|
return /*#__PURE__*/ React.createElement(JudgeAggregateView, {
|
|
117874
117940
|
metrics: dataSource,
|
|
117875
|
-
onAgentNodeClick: onAgentNodeClick
|
|
117941
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
117942
|
+
onOpenVisualizer: onOpenVisualizer
|
|
117876
117943
|
});
|
|
117877
117944
|
}
|
|
117878
117945
|
// ToolUse (tree table)
|
|
@@ -117941,7 +118008,7 @@ const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, titl
|
|
|
117941
118008
|
dataIndex: "name",
|
|
117942
118009
|
key: "name",
|
|
117943
118010
|
render: (name, row)=>{
|
|
117944
|
-
const
|
|
118011
|
+
const showActions = (row.level === 2 || row.level === 3) && row.nodeId && (onAgentNodeClick || onOpenVisualizer);
|
|
117945
118012
|
return /*#__PURE__*/ React.createElement("span", {
|
|
117946
118013
|
style: {
|
|
117947
118014
|
display: "inline-flex",
|
|
@@ -117949,27 +118016,16 @@ const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, titl
|
|
|
117949
118016
|
gap: 8,
|
|
117950
118017
|
fontFamily: "monospace",
|
|
117951
118018
|
fontSize: 13,
|
|
117952
|
-
|
|
117953
|
-
|
|
117954
|
-
color: theme.colors.primary
|
|
117955
|
-
}
|
|
117956
|
-
},
|
|
117957
|
-
onClick: isClickable ? (e)=>{
|
|
117958
|
-
e.stopPropagation();
|
|
117959
|
-
onAgentNodeClick(row.sessionId, row.nodeId);
|
|
117960
|
-
} : undefined,
|
|
117961
|
-
onKeyDown: isClickable ? (e)=>{
|
|
117962
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
117963
|
-
e.preventDefault();
|
|
117964
|
-
e.stopPropagation();
|
|
117965
|
-
onAgentNodeClick(row.sessionId, row.nodeId);
|
|
117966
|
-
}
|
|
117967
|
-
} : undefined,
|
|
117968
|
-
role: isClickable ? "button" : undefined,
|
|
117969
|
-
tabIndex: isClickable ? 0 : undefined
|
|
118019
|
+
flexWrap: "wrap"
|
|
118020
|
+
}
|
|
117970
118021
|
}, /*#__PURE__*/ React.createElement(TagForLevel, {
|
|
117971
118022
|
level: row.level
|
|
117972
|
-
}),
|
|
118023
|
+
}), showActions ? /*#__PURE__*/ React.createElement(NodeActions, {
|
|
118024
|
+
sessionId: row.sessionId,
|
|
118025
|
+
nodeId: row.nodeId,
|
|
118026
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
118027
|
+
onOpenVisualizer: onOpenVisualizer
|
|
118028
|
+
}) : name);
|
|
117973
118029
|
}
|
|
117974
118030
|
},
|
|
117975
118031
|
{
|
|
@@ -118287,7 +118343,7 @@ function isCategoricalMetric(def) {
|
|
|
118287
118343
|
}, 0) ?? 0;
|
|
118288
118344
|
}
|
|
118289
118345
|
|
|
118290
|
-
const EvaluatorResult = ({ evaluation, evaluatorId, backHref, onAgentNodeClick })=>{
|
|
118346
|
+
const EvaluatorResult = ({ evaluation, evaluatorId, backHref, onAgentNodeClick, onOpenVisualizer })=>{
|
|
118291
118347
|
const { theme } = useTheme$1();
|
|
118292
118348
|
const labelColor = theme.colors.mutedForeground;
|
|
118293
118349
|
const derived = evaluation ? deriveEvaluatorResultData(evaluation, evaluatorId) : null;
|
|
@@ -118430,7 +118486,8 @@ const EvaluatorResult = ({ evaluation, evaluatorId, backHref, onAgentNodeClick }
|
|
|
118430
118486
|
aggregateResults: aggregateResults,
|
|
118431
118487
|
agents: evaluation.agents,
|
|
118432
118488
|
evaluatorName: evaluatorName,
|
|
118433
|
-
onAgentNodeClick: onAgentNodeClick
|
|
118489
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
118490
|
+
onOpenVisualizer: onOpenVisualizer
|
|
118434
118491
|
}))));
|
|
118435
118492
|
};
|
|
118436
118493
|
|
package/dist/esm/index.js
CHANGED
|
@@ -12919,7 +12919,7 @@ const createLucideIcon = (iconName, iconNode)=>{
|
|
|
12919
12919
|
return Component;
|
|
12920
12920
|
};
|
|
12921
12921
|
|
|
12922
|
-
const __iconNode$
|
|
12922
|
+
const __iconNode$A = [
|
|
12923
12923
|
[
|
|
12924
12924
|
"path",
|
|
12925
12925
|
{
|
|
@@ -12935,9 +12935,9 @@ const __iconNode$z = [
|
|
|
12935
12935
|
}
|
|
12936
12936
|
]
|
|
12937
12937
|
];
|
|
12938
|
-
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$
|
|
12938
|
+
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$A);
|
|
12939
12939
|
|
|
12940
|
-
const __iconNode$
|
|
12940
|
+
const __iconNode$z = [
|
|
12941
12941
|
[
|
|
12942
12942
|
"path",
|
|
12943
12943
|
{
|
|
@@ -12953,9 +12953,9 @@ const __iconNode$y = [
|
|
|
12953
12953
|
}
|
|
12954
12954
|
]
|
|
12955
12955
|
];
|
|
12956
|
-
const ArrowRight = createLucideIcon("arrow-right", __iconNode$
|
|
12956
|
+
const ArrowRight = createLucideIcon("arrow-right", __iconNode$z);
|
|
12957
12957
|
|
|
12958
|
-
const __iconNode$
|
|
12958
|
+
const __iconNode$y = [
|
|
12959
12959
|
[
|
|
12960
12960
|
"path",
|
|
12961
12961
|
{
|
|
@@ -13003,9 +13003,9 @@ const __iconNode$x = [
|
|
|
13003
13003
|
}
|
|
13004
13004
|
]
|
|
13005
13005
|
];
|
|
13006
|
-
const Bot = createLucideIcon("bot", __iconNode$
|
|
13006
|
+
const Bot = createLucideIcon("bot", __iconNode$y);
|
|
13007
13007
|
|
|
13008
|
-
const __iconNode$
|
|
13008
|
+
const __iconNode$x = [
|
|
13009
13009
|
[
|
|
13010
13010
|
"path",
|
|
13011
13011
|
{
|
|
@@ -13039,9 +13039,9 @@ const __iconNode$w = [
|
|
|
13039
13039
|
}
|
|
13040
13040
|
]
|
|
13041
13041
|
];
|
|
13042
|
-
const Calendar = createLucideIcon("calendar", __iconNode$
|
|
13042
|
+
const Calendar = createLucideIcon("calendar", __iconNode$x);
|
|
13043
13043
|
|
|
13044
|
-
const __iconNode$
|
|
13044
|
+
const __iconNode$w = [
|
|
13045
13045
|
[
|
|
13046
13046
|
"path",
|
|
13047
13047
|
{
|
|
@@ -13098,9 +13098,9 @@ const __iconNode$v = [
|
|
|
13098
13098
|
}
|
|
13099
13099
|
]
|
|
13100
13100
|
];
|
|
13101
|
-
const ChartNetwork = createLucideIcon("chart-network", __iconNode$
|
|
13101
|
+
const ChartNetwork = createLucideIcon("chart-network", __iconNode$w);
|
|
13102
13102
|
|
|
13103
|
-
const __iconNode$
|
|
13103
|
+
const __iconNode$v = [
|
|
13104
13104
|
[
|
|
13105
13105
|
"path",
|
|
13106
13106
|
{
|
|
@@ -13109,9 +13109,9 @@ const __iconNode$u = [
|
|
|
13109
13109
|
}
|
|
13110
13110
|
]
|
|
13111
13111
|
];
|
|
13112
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
13112
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$v);
|
|
13113
13113
|
|
|
13114
|
-
const __iconNode$
|
|
13114
|
+
const __iconNode$u = [
|
|
13115
13115
|
[
|
|
13116
13116
|
"path",
|
|
13117
13117
|
{
|
|
@@ -13120,9 +13120,9 @@ const __iconNode$t = [
|
|
|
13120
13120
|
}
|
|
13121
13121
|
]
|
|
13122
13122
|
];
|
|
13123
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
13123
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$u);
|
|
13124
13124
|
|
|
13125
|
-
const __iconNode$
|
|
13125
|
+
const __iconNode$t = [
|
|
13126
13126
|
[
|
|
13127
13127
|
"path",
|
|
13128
13128
|
{
|
|
@@ -13138,9 +13138,9 @@ const __iconNode$s = [
|
|
|
13138
13138
|
}
|
|
13139
13139
|
]
|
|
13140
13140
|
];
|
|
13141
|
-
const ChevronsDown = createLucideIcon("chevrons-down", __iconNode$
|
|
13141
|
+
const ChevronsDown = createLucideIcon("chevrons-down", __iconNode$t);
|
|
13142
13142
|
|
|
13143
|
-
const __iconNode$
|
|
13143
|
+
const __iconNode$s = [
|
|
13144
13144
|
[
|
|
13145
13145
|
"path",
|
|
13146
13146
|
{
|
|
@@ -13156,9 +13156,9 @@ const __iconNode$r = [
|
|
|
13156
13156
|
}
|
|
13157
13157
|
]
|
|
13158
13158
|
];
|
|
13159
|
-
const ChevronsUp = createLucideIcon("chevrons-up", __iconNode$
|
|
13159
|
+
const ChevronsUp = createLucideIcon("chevrons-up", __iconNode$s);
|
|
13160
13160
|
|
|
13161
|
-
const __iconNode$
|
|
13161
|
+
const __iconNode$r = [
|
|
13162
13162
|
[
|
|
13163
13163
|
"circle",
|
|
13164
13164
|
{
|
|
@@ -13189,9 +13189,9 @@ const __iconNode$q = [
|
|
|
13189
13189
|
}
|
|
13190
13190
|
]
|
|
13191
13191
|
];
|
|
13192
|
-
const CircleAlert = createLucideIcon("circle-alert", __iconNode$
|
|
13192
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$r);
|
|
13193
13193
|
|
|
13194
|
-
const __iconNode$
|
|
13194
|
+
const __iconNode$q = [
|
|
13195
13195
|
[
|
|
13196
13196
|
"path",
|
|
13197
13197
|
{
|
|
@@ -13207,9 +13207,9 @@ const __iconNode$p = [
|
|
|
13207
13207
|
}
|
|
13208
13208
|
]
|
|
13209
13209
|
];
|
|
13210
|
-
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$
|
|
13210
|
+
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$q);
|
|
13211
13211
|
|
|
13212
|
-
const __iconNode$
|
|
13212
|
+
const __iconNode$p = [
|
|
13213
13213
|
[
|
|
13214
13214
|
"circle",
|
|
13215
13215
|
{
|
|
@@ -13234,9 +13234,9 @@ const __iconNode$o = [
|
|
|
13234
13234
|
}
|
|
13235
13235
|
]
|
|
13236
13236
|
];
|
|
13237
|
-
const CircleDollarSign = createLucideIcon("circle-dollar-sign", __iconNode$
|
|
13237
|
+
const CircleDollarSign = createLucideIcon("circle-dollar-sign", __iconNode$p);
|
|
13238
13238
|
|
|
13239
|
-
const __iconNode$
|
|
13239
|
+
const __iconNode$o = [
|
|
13240
13240
|
[
|
|
13241
13241
|
"circle",
|
|
13242
13242
|
{
|
|
@@ -13254,9 +13254,9 @@ const __iconNode$n = [
|
|
|
13254
13254
|
}
|
|
13255
13255
|
]
|
|
13256
13256
|
];
|
|
13257
|
-
const Clock = createLucideIcon("clock", __iconNode$
|
|
13257
|
+
const Clock = createLucideIcon("clock", __iconNode$o);
|
|
13258
13258
|
|
|
13259
|
-
const __iconNode$
|
|
13259
|
+
const __iconNode$n = [
|
|
13260
13260
|
[
|
|
13261
13261
|
"rect",
|
|
13262
13262
|
{
|
|
@@ -13277,9 +13277,9 @@ const __iconNode$m = [
|
|
|
13277
13277
|
}
|
|
13278
13278
|
]
|
|
13279
13279
|
];
|
|
13280
|
-
const Copy = createLucideIcon("copy", __iconNode$
|
|
13280
|
+
const Copy = createLucideIcon("copy", __iconNode$n);
|
|
13281
13281
|
|
|
13282
|
-
const __iconNode$
|
|
13282
|
+
const __iconNode$m = [
|
|
13283
13283
|
[
|
|
13284
13284
|
"path",
|
|
13285
13285
|
{
|
|
@@ -13387,9 +13387,9 @@ const __iconNode$l = [
|
|
|
13387
13387
|
}
|
|
13388
13388
|
]
|
|
13389
13389
|
];
|
|
13390
|
-
const Cpu = createLucideIcon("cpu", __iconNode$
|
|
13390
|
+
const Cpu = createLucideIcon("cpu", __iconNode$m);
|
|
13391
13391
|
|
|
13392
|
-
const __iconNode$
|
|
13392
|
+
const __iconNode$l = [
|
|
13393
13393
|
[
|
|
13394
13394
|
"line",
|
|
13395
13395
|
{
|
|
@@ -13408,9 +13408,9 @@ const __iconNode$k = [
|
|
|
13408
13408
|
}
|
|
13409
13409
|
]
|
|
13410
13410
|
];
|
|
13411
|
-
const DollarSign = createLucideIcon("dollar-sign", __iconNode$
|
|
13411
|
+
const DollarSign = createLucideIcon("dollar-sign", __iconNode$l);
|
|
13412
13412
|
|
|
13413
|
-
const __iconNode$
|
|
13413
|
+
const __iconNode$k = [
|
|
13414
13414
|
[
|
|
13415
13415
|
"path",
|
|
13416
13416
|
{
|
|
@@ -13440,9 +13440,9 @@ const __iconNode$j = [
|
|
|
13440
13440
|
}
|
|
13441
13441
|
]
|
|
13442
13442
|
];
|
|
13443
|
-
const FileInput = createLucideIcon("file-input", __iconNode$
|
|
13443
|
+
const FileInput = createLucideIcon("file-input", __iconNode$k);
|
|
13444
13444
|
|
|
13445
|
-
const __iconNode$
|
|
13445
|
+
const __iconNode$j = [
|
|
13446
13446
|
[
|
|
13447
13447
|
"path",
|
|
13448
13448
|
{
|
|
@@ -13472,9 +13472,9 @@ const __iconNode$i = [
|
|
|
13472
13472
|
}
|
|
13473
13473
|
]
|
|
13474
13474
|
];
|
|
13475
|
-
const FileOutput = createLucideIcon("file-output", __iconNode$
|
|
13475
|
+
const FileOutput = createLucideIcon("file-output", __iconNode$j);
|
|
13476
13476
|
|
|
13477
|
-
const __iconNode$
|
|
13477
|
+
const __iconNode$i = [
|
|
13478
13478
|
[
|
|
13479
13479
|
"path",
|
|
13480
13480
|
{
|
|
@@ -13532,9 +13532,9 @@ const __iconNode$h = [
|
|
|
13532
13532
|
}
|
|
13533
13533
|
]
|
|
13534
13534
|
];
|
|
13535
|
-
const FoldVertical = createLucideIcon("fold-vertical", __iconNode$
|
|
13535
|
+
const FoldVertical = createLucideIcon("fold-vertical", __iconNode$i);
|
|
13536
13536
|
|
|
13537
|
-
const __iconNode$
|
|
13537
|
+
const __iconNode$h = [
|
|
13538
13538
|
[
|
|
13539
13539
|
"line",
|
|
13540
13540
|
{
|
|
@@ -13576,9 +13576,9 @@ const __iconNode$g = [
|
|
|
13576
13576
|
}
|
|
13577
13577
|
]
|
|
13578
13578
|
];
|
|
13579
|
-
const Hash = createLucideIcon("hash", __iconNode$
|
|
13579
|
+
const Hash = createLucideIcon("hash", __iconNode$h);
|
|
13580
13580
|
|
|
13581
|
-
const __iconNode$
|
|
13581
|
+
const __iconNode$g = [
|
|
13582
13582
|
[
|
|
13583
13583
|
"circle",
|
|
13584
13584
|
{
|
|
@@ -13603,9 +13603,9 @@ const __iconNode$f = [
|
|
|
13603
13603
|
}
|
|
13604
13604
|
]
|
|
13605
13605
|
];
|
|
13606
|
-
const Info = createLucideIcon("info", __iconNode$
|
|
13606
|
+
const Info = createLucideIcon("info", __iconNode$g);
|
|
13607
13607
|
|
|
13608
|
-
const __iconNode$
|
|
13608
|
+
const __iconNode$f = [
|
|
13609
13609
|
[
|
|
13610
13610
|
"path",
|
|
13611
13611
|
{
|
|
@@ -13642,9 +13642,9 @@ const __iconNode$e = [
|
|
|
13642
13642
|
}
|
|
13643
13643
|
]
|
|
13644
13644
|
];
|
|
13645
|
-
const ListChecks = createLucideIcon("list-checks", __iconNode$
|
|
13645
|
+
const ListChecks = createLucideIcon("list-checks", __iconNode$f);
|
|
13646
13646
|
|
|
13647
|
-
const __iconNode$
|
|
13647
|
+
const __iconNode$e = [
|
|
13648
13648
|
[
|
|
13649
13649
|
"path",
|
|
13650
13650
|
{
|
|
@@ -13674,9 +13674,9 @@ const __iconNode$d = [
|
|
|
13674
13674
|
}
|
|
13675
13675
|
]
|
|
13676
13676
|
];
|
|
13677
|
-
const MessageSquareText = createLucideIcon("message-square-text", __iconNode$
|
|
13677
|
+
const MessageSquareText = createLucideIcon("message-square-text", __iconNode$e);
|
|
13678
13678
|
|
|
13679
|
-
const __iconNode$
|
|
13679
|
+
const __iconNode$d = [
|
|
13680
13680
|
[
|
|
13681
13681
|
"path",
|
|
13682
13682
|
{
|
|
@@ -13692,9 +13692,9 @@ const __iconNode$c = [
|
|
|
13692
13692
|
}
|
|
13693
13693
|
]
|
|
13694
13694
|
];
|
|
13695
|
-
const MessagesSquare = createLucideIcon("messages-square", __iconNode$
|
|
13695
|
+
const MessagesSquare = createLucideIcon("messages-square", __iconNode$d);
|
|
13696
13696
|
|
|
13697
|
-
const __iconNode$
|
|
13697
|
+
const __iconNode$c = [
|
|
13698
13698
|
[
|
|
13699
13699
|
"rect",
|
|
13700
13700
|
{
|
|
@@ -13714,7 +13714,36 @@ const __iconNode$b = [
|
|
|
13714
13714
|
}
|
|
13715
13715
|
]
|
|
13716
13716
|
];
|
|
13717
|
-
const PanelLeft = createLucideIcon("panel-left", __iconNode$
|
|
13717
|
+
const PanelLeft = createLucideIcon("panel-left", __iconNode$c);
|
|
13718
|
+
|
|
13719
|
+
const __iconNode$b = [
|
|
13720
|
+
[
|
|
13721
|
+
"rect",
|
|
13722
|
+
{
|
|
13723
|
+
width: "18",
|
|
13724
|
+
height: "18",
|
|
13725
|
+
x: "3",
|
|
13726
|
+
y: "3",
|
|
13727
|
+
rx: "2",
|
|
13728
|
+
key: "afitv7"
|
|
13729
|
+
}
|
|
13730
|
+
],
|
|
13731
|
+
[
|
|
13732
|
+
"path",
|
|
13733
|
+
{
|
|
13734
|
+
d: "M15 3v18",
|
|
13735
|
+
key: "14nvp0"
|
|
13736
|
+
}
|
|
13737
|
+
],
|
|
13738
|
+
[
|
|
13739
|
+
"path",
|
|
13740
|
+
{
|
|
13741
|
+
d: "m10 15-3-3 3-3",
|
|
13742
|
+
key: "1pgupc"
|
|
13743
|
+
}
|
|
13744
|
+
]
|
|
13745
|
+
];
|
|
13746
|
+
const PanelRightOpen = createLucideIcon("panel-right-open", __iconNode$b);
|
|
13718
13747
|
|
|
13719
13748
|
const __iconNode$a = [
|
|
13720
13749
|
[
|
|
@@ -117133,13 +117162,70 @@ function metricNameOf(agg) {
|
|
|
117133
117162
|
});
|
|
117134
117163
|
}
|
|
117135
117164
|
|
|
117136
|
-
const
|
|
117137
|
-
const
|
|
117138
|
-
const
|
|
117165
|
+
const NodeActions = ({ sessionId, nodeId, onAgentNodeClick, onOpenVisualizer })=>{
|
|
117166
|
+
const { theme } = useTheme$1();
|
|
117167
|
+
const baseStyle = {
|
|
117168
|
+
display: "inline-flex",
|
|
117169
|
+
alignItems: "center",
|
|
117170
|
+
gap: 5,
|
|
117171
|
+
padding: "3px 9px",
|
|
117172
|
+
borderRadius: 6,
|
|
117173
|
+
fontSize: 12,
|
|
117174
|
+
fontWeight: 500,
|
|
117175
|
+
cursor: "pointer",
|
|
117176
|
+
background: "transparent",
|
|
117177
|
+
color: theme.colors.primary,
|
|
117178
|
+
border: `1px solid ${theme.colors.primary}`,
|
|
117179
|
+
whiteSpace: "nowrap",
|
|
117180
|
+
lineHeight: 1.4
|
|
117181
|
+
};
|
|
117182
|
+
if (!onAgentNodeClick && !onOpenVisualizer) {
|
|
117183
|
+
// No handlers: fall back to surfacing the (shortened) id so context isn't lost.
|
|
117184
|
+
return /*#__PURE__*/ React__default.createElement(Tooltip, {
|
|
117185
|
+
title: nodeId
|
|
117186
|
+
}, /*#__PURE__*/ React__default.createElement("span", {
|
|
117187
|
+
style: {
|
|
117188
|
+
fontFamily: "monospace",
|
|
117189
|
+
fontSize: 12,
|
|
117190
|
+
color: theme.colors.mutedForeground
|
|
117191
|
+
}
|
|
117192
|
+
}, nodeId.length > 8 ? nodeId.slice(0, 8) : nodeId));
|
|
117193
|
+
}
|
|
117194
|
+
return /*#__PURE__*/ React__default.createElement("span", {
|
|
117195
|
+
style: {
|
|
117196
|
+
display: "inline-flex",
|
|
117197
|
+
alignItems: "center",
|
|
117198
|
+
gap: 8
|
|
117199
|
+
},
|
|
117200
|
+
onClick: (e)=>e.stopPropagation()
|
|
117201
|
+
}, onAgentNodeClick && /*#__PURE__*/ React__default.createElement(Tooltip, {
|
|
117202
|
+
title: `Open Flow Details · ${nodeId}`
|
|
117203
|
+
}, /*#__PURE__*/ React__default.createElement("button", {
|
|
117204
|
+
type: "button",
|
|
117205
|
+
style: baseStyle,
|
|
117206
|
+
onClick: ()=>onAgentNodeClick(sessionId, nodeId)
|
|
117207
|
+
}, /*#__PURE__*/ React__default.createElement(PanelRightOpen, {
|
|
117208
|
+
size: 13,
|
|
117209
|
+
style: {
|
|
117210
|
+
flexShrink: 0
|
|
117211
|
+
}
|
|
117212
|
+
}), "Flow Details")), onOpenVisualizer && /*#__PURE__*/ React__default.createElement(Tooltip, {
|
|
117213
|
+
title: `Open in Visualizer · ${nodeId}`
|
|
117214
|
+
}, /*#__PURE__*/ React__default.createElement("button", {
|
|
117215
|
+
type: "button",
|
|
117216
|
+
style: baseStyle,
|
|
117217
|
+
onClick: ()=>onOpenVisualizer(sessionId, nodeId)
|
|
117218
|
+
}, /*#__PURE__*/ React__default.createElement(ChartNetwork, {
|
|
117219
|
+
size: 13,
|
|
117220
|
+
style: {
|
|
117221
|
+
flexShrink: 0
|
|
117222
|
+
}
|
|
117223
|
+
}), "Visualizer")));
|
|
117224
|
+
};
|
|
117225
|
+
|
|
117226
|
+
const NodeRow = ({ node, metricName, onAgentNodeClick, onOpenVisualizer })=>{
|
|
117139
117227
|
const { theme } = useTheme$1();
|
|
117140
117228
|
const [showReasoning, setShowReasoning] = useState(false);
|
|
117141
|
-
const clickable = !!onAgentNodeClick;
|
|
117142
|
-
const open = ()=>onAgentNodeClick?.(node.sessionId, node.nodeId);
|
|
117143
117229
|
return /*#__PURE__*/ React__default.createElement("div", {
|
|
117144
117230
|
style: {
|
|
117145
117231
|
display: "flex",
|
|
@@ -117153,38 +117239,27 @@ const NodeRow = ({ node, metricName, onAgentNodeClick })=>{
|
|
|
117153
117239
|
gap: 10,
|
|
117154
117240
|
flexWrap: "wrap"
|
|
117155
117241
|
}
|
|
117156
|
-
}, /*#__PURE__*/ React__default.createElement(
|
|
117157
|
-
title: clickable ? `Inspect run · ${node.nodeId}` : node.nodeId
|
|
117158
|
-
}, /*#__PURE__*/ React__default.createElement("span", {
|
|
117159
|
-
role: clickable ? "button" : undefined,
|
|
117160
|
-
tabIndex: clickable ? 0 : undefined,
|
|
117161
|
-
onClick: clickable ? open : undefined,
|
|
117162
|
-
onKeyDown: clickable ? (e)=>{
|
|
117163
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
117164
|
-
e.preventDefault();
|
|
117165
|
-
open();
|
|
117166
|
-
}
|
|
117167
|
-
} : undefined,
|
|
117242
|
+
}, /*#__PURE__*/ React__default.createElement(Tag, {
|
|
117168
117243
|
style: {
|
|
117244
|
+
margin: 0,
|
|
117169
117245
|
display: "inline-flex",
|
|
117170
117246
|
alignItems: "center",
|
|
117171
117247
|
gap: 6,
|
|
117172
|
-
|
|
117173
|
-
|
|
117174
|
-
|
|
117175
|
-
fontSize: 12,
|
|
117176
|
-
fontWeight: 500,
|
|
117177
|
-
background: theme.colors.tagLlminference?.bg ?? theme.colors.muted,
|
|
117178
|
-
color: theme.colors.tagLlminference?.color ?? theme.colors.foreground,
|
|
117179
|
-
border: `1px solid ${theme.colors.tagLlminference?.border ?? theme.colors.border}`,
|
|
117180
|
-
cursor: clickable ? "pointer" : "default"
|
|
117248
|
+
background: theme.colors.tagToolLevel2?.bg ?? theme.colors.primary,
|
|
117249
|
+
color: theme.colors.tagToolLevel2?.color ?? theme.colors.primaryForeground,
|
|
117250
|
+
border: "none"
|
|
117181
117251
|
}
|
|
117182
117252
|
}, /*#__PURE__*/ React__default.createElement(Bot, {
|
|
117183
|
-
size:
|
|
117253
|
+
size: 12,
|
|
117184
117254
|
style: {
|
|
117185
117255
|
flexShrink: 0
|
|
117186
117256
|
}
|
|
117187
|
-
}),
|
|
117257
|
+
}), "Agent Node"), /*#__PURE__*/ React__default.createElement(NodeActions, {
|
|
117258
|
+
sessionId: node.sessionId,
|
|
117259
|
+
nodeId: node.nodeId,
|
|
117260
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
117261
|
+
onOpenVisualizer: onOpenVisualizer
|
|
117262
|
+
}), node.reasoning && /*#__PURE__*/ React__default.createElement("button", {
|
|
117188
117263
|
type: "button",
|
|
117189
117264
|
onClick: ()=>setShowReasoning((s)=>!s),
|
|
117190
117265
|
style: {
|
|
@@ -117251,7 +117326,7 @@ const LabelPanelHeader = ({ label })=>{
|
|
|
117251
117326
|
}
|
|
117252
117327
|
}, label.count, " ", label.count === 1 ? "node" : "nodes"));
|
|
117253
117328
|
};
|
|
117254
|
-
const MetricCard = ({ metric, onAgentNodeClick })=>{
|
|
117329
|
+
const MetricCard = ({ metric, onAgentNodeClick, onOpenVisualizer })=>{
|
|
117255
117330
|
const { theme } = useTheme$1();
|
|
117256
117331
|
const items = metric.labels.map((label)=>({
|
|
117257
117332
|
key: label.labelName,
|
|
@@ -117275,7 +117350,8 @@ const MetricCard = ({ metric, onAgentNodeClick })=>{
|
|
|
117275
117350
|
key: node.nodeId,
|
|
117276
117351
|
node: node,
|
|
117277
117352
|
metricName: metric.metricName,
|
|
117278
|
-
onAgentNodeClick: onAgentNodeClick
|
|
117353
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
117354
|
+
onOpenVisualizer: onOpenVisualizer
|
|
117279
117355
|
})))
|
|
117280
117356
|
}));
|
|
117281
117357
|
return /*#__PURE__*/ React__default.createElement("div", {
|
|
@@ -117385,7 +117461,7 @@ const Meta = ({ label, value })=>{
|
|
|
117385
117461
|
}
|
|
117386
117462
|
}, value ?? "—"));
|
|
117387
117463
|
};
|
|
117388
|
-
const JudgeAggregateView = ({ metrics, onAgentNodeClick })=>{
|
|
117464
|
+
const JudgeAggregateView = ({ metrics, onAgentNodeClick, onOpenVisualizer })=>{
|
|
117389
117465
|
const { theme } = useTheme$1();
|
|
117390
117466
|
if (!metrics.length) {
|
|
117391
117467
|
return /*#__PURE__*/ React__default.createElement("div", {
|
|
@@ -117417,7 +117493,8 @@ const JudgeAggregateView = ({ metrics, onAgentNodeClick })=>{
|
|
|
117417
117493
|
}, metrics.map((metric)=>/*#__PURE__*/ React__default.createElement(MetricCard, {
|
|
117418
117494
|
key: metric.key,
|
|
117419
117495
|
metric: metric,
|
|
117420
|
-
onAgentNodeClick: onAgentNodeClick
|
|
117496
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
117497
|
+
onOpenVisualizer: onOpenVisualizer
|
|
117421
117498
|
}))));
|
|
117422
117499
|
};
|
|
117423
117500
|
|
|
@@ -117469,7 +117546,7 @@ const DEFAULT_TITLES = {
|
|
|
117469
117546
|
LLMInference: "LLM Inference Evaluator - Aggregate View",
|
|
117470
117547
|
Judge: "Judge Evaluator - Aggregate View"
|
|
117471
117548
|
};
|
|
117472
|
-
const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, title, evaluatorName, onAgentNodeClick })=>{
|
|
117549
|
+
const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, title, evaluatorName, onAgentNodeClick, onOpenVisualizer })=>{
|
|
117473
117550
|
const { theme } = useTheme$1();
|
|
117474
117551
|
const [expandedRowKeys, setExpandedRowKeys] = useState([]);
|
|
117475
117552
|
const { aggregateType, dataSource, llmIsTree, llmExpandableKeys } = useMemo(()=>{
|
|
@@ -117637,7 +117714,7 @@ const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, titl
|
|
|
117637
117714
|
dataIndex: "name",
|
|
117638
117715
|
key: "name",
|
|
117639
117716
|
render: (name, row)=>{
|
|
117640
|
-
const
|
|
117717
|
+
const showActions = row.level === 3 && row.agentNodeId && (onAgentNodeClick || onOpenVisualizer);
|
|
117641
117718
|
return /*#__PURE__*/ React__default.createElement("span", {
|
|
117642
117719
|
style: {
|
|
117643
117720
|
display: "inline-flex",
|
|
@@ -117645,27 +117722,16 @@ const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, titl
|
|
|
117645
117722
|
gap: 8,
|
|
117646
117723
|
fontFamily: "monospace",
|
|
117647
117724
|
fontSize: 13,
|
|
117648
|
-
|
|
117649
|
-
|
|
117650
|
-
color: theme.colors.primary
|
|
117651
|
-
}
|
|
117652
|
-
},
|
|
117653
|
-
onClick: isClickable ? (e)=>{
|
|
117654
|
-
e.stopPropagation();
|
|
117655
|
-
onAgentNodeClick(row.sessionId, row.agentNodeId);
|
|
117656
|
-
} : undefined,
|
|
117657
|
-
onKeyDown: isClickable ? (e)=>{
|
|
117658
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
117659
|
-
e.preventDefault();
|
|
117660
|
-
e.stopPropagation();
|
|
117661
|
-
onAgentNodeClick(row.sessionId, row.agentNodeId);
|
|
117662
|
-
}
|
|
117663
|
-
} : undefined,
|
|
117664
|
-
role: isClickable ? "button" : undefined,
|
|
117665
|
-
tabIndex: isClickable ? 0 : undefined
|
|
117725
|
+
flexWrap: "wrap"
|
|
117726
|
+
}
|
|
117666
117727
|
}, /*#__PURE__*/ React__default.createElement(LLMTagForLevel, {
|
|
117667
117728
|
level: row.level
|
|
117668
|
-
}),
|
|
117729
|
+
}), showActions ? /*#__PURE__*/ React__default.createElement(NodeActions, {
|
|
117730
|
+
sessionId: row.sessionId,
|
|
117731
|
+
nodeId: row.agentNodeId,
|
|
117732
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
117733
|
+
onOpenVisualizer: onOpenVisualizer
|
|
117734
|
+
}) : name);
|
|
117669
117735
|
}
|
|
117670
117736
|
},
|
|
117671
117737
|
...METRIC_COLUMNS.map(({ key, title, Icon })=>({
|
|
@@ -117852,7 +117918,8 @@ const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, titl
|
|
|
117852
117918
|
if (aggregateType === "Judge") {
|
|
117853
117919
|
return /*#__PURE__*/ React__default.createElement(JudgeAggregateView, {
|
|
117854
117920
|
metrics: dataSource,
|
|
117855
|
-
onAgentNodeClick: onAgentNodeClick
|
|
117921
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
117922
|
+
onOpenVisualizer: onOpenVisualizer
|
|
117856
117923
|
});
|
|
117857
117924
|
}
|
|
117858
117925
|
// ToolUse (tree table)
|
|
@@ -117921,7 +117988,7 @@ const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, titl
|
|
|
117921
117988
|
dataIndex: "name",
|
|
117922
117989
|
key: "name",
|
|
117923
117990
|
render: (name, row)=>{
|
|
117924
|
-
const
|
|
117991
|
+
const showActions = (row.level === 2 || row.level === 3) && row.nodeId && (onAgentNodeClick || onOpenVisualizer);
|
|
117925
117992
|
return /*#__PURE__*/ React__default.createElement("span", {
|
|
117926
117993
|
style: {
|
|
117927
117994
|
display: "inline-flex",
|
|
@@ -117929,27 +117996,16 @@ const AggregateResultsTable = ({ rawResults = [], aggregateResults, agents, titl
|
|
|
117929
117996
|
gap: 8,
|
|
117930
117997
|
fontFamily: "monospace",
|
|
117931
117998
|
fontSize: 13,
|
|
117932
|
-
|
|
117933
|
-
|
|
117934
|
-
color: theme.colors.primary
|
|
117935
|
-
}
|
|
117936
|
-
},
|
|
117937
|
-
onClick: isClickable ? (e)=>{
|
|
117938
|
-
e.stopPropagation();
|
|
117939
|
-
onAgentNodeClick(row.sessionId, row.nodeId);
|
|
117940
|
-
} : undefined,
|
|
117941
|
-
onKeyDown: isClickable ? (e)=>{
|
|
117942
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
117943
|
-
e.preventDefault();
|
|
117944
|
-
e.stopPropagation();
|
|
117945
|
-
onAgentNodeClick(row.sessionId, row.nodeId);
|
|
117946
|
-
}
|
|
117947
|
-
} : undefined,
|
|
117948
|
-
role: isClickable ? "button" : undefined,
|
|
117949
|
-
tabIndex: isClickable ? 0 : undefined
|
|
117999
|
+
flexWrap: "wrap"
|
|
118000
|
+
}
|
|
117950
118001
|
}, /*#__PURE__*/ React__default.createElement(TagForLevel, {
|
|
117951
118002
|
level: row.level
|
|
117952
|
-
}),
|
|
118003
|
+
}), showActions ? /*#__PURE__*/ React__default.createElement(NodeActions, {
|
|
118004
|
+
sessionId: row.sessionId,
|
|
118005
|
+
nodeId: row.nodeId,
|
|
118006
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
118007
|
+
onOpenVisualizer: onOpenVisualizer
|
|
118008
|
+
}) : name);
|
|
117953
118009
|
}
|
|
117954
118010
|
},
|
|
117955
118011
|
{
|
|
@@ -118267,7 +118323,7 @@ function isCategoricalMetric(def) {
|
|
|
118267
118323
|
}, 0) ?? 0;
|
|
118268
118324
|
}
|
|
118269
118325
|
|
|
118270
|
-
const EvaluatorResult = ({ evaluation, evaluatorId, backHref, onAgentNodeClick })=>{
|
|
118326
|
+
const EvaluatorResult = ({ evaluation, evaluatorId, backHref, onAgentNodeClick, onOpenVisualizer })=>{
|
|
118271
118327
|
const { theme } = useTheme$1();
|
|
118272
118328
|
const labelColor = theme.colors.mutedForeground;
|
|
118273
118329
|
const derived = evaluation ? deriveEvaluatorResultData(evaluation, evaluatorId) : null;
|
|
@@ -118410,7 +118466,8 @@ const EvaluatorResult = ({ evaluation, evaluatorId, backHref, onAgentNodeClick }
|
|
|
118410
118466
|
aggregateResults: aggregateResults,
|
|
118411
118467
|
agents: evaluation.agents,
|
|
118412
118468
|
evaluatorName: evaluatorName,
|
|
118413
|
-
onAgentNodeClick: onAgentNodeClick
|
|
118469
|
+
onAgentNodeClick: onAgentNodeClick,
|
|
118470
|
+
onOpenVisualizer: onOpenVisualizer
|
|
118414
118471
|
}))));
|
|
118415
118472
|
};
|
|
118416
118473
|
|
|
@@ -22,7 +22,9 @@ export interface AggregateResultsTableProps {
|
|
|
22
22
|
title?: string;
|
|
23
23
|
/** Optional evaluator name hint (e.g. "ToolUseEvaluator") for default title. */
|
|
24
24
|
evaluatorName?: string;
|
|
25
|
-
/** Called when an Agent/Tool
|
|
25
|
+
/** Called when an Agent/Tool node's "Session Details" action is used. sessionId may be undefined when evaluation uses legacy agent_node_ids format. */
|
|
26
26
|
onAgentNodeClick?: (sessionId: string | undefined, nodeId: string) => void;
|
|
27
|
+
/** Called when an Agent/Tool node's "Visualizer" action is used. sessionId may be undefined when evaluation uses legacy agent_node_ids format. */
|
|
28
|
+
onOpenVisualizer?: (sessionId: string | undefined, nodeId: string) => void;
|
|
27
29
|
}
|
|
28
30
|
export declare const AggregateResultsTable: React.FC<AggregateResultsTableProps>;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Judge (LLM-as-judge) evaluator view: one card per categorical metric, with
|
|
3
3
|
* collapsible accordions per category label listing the agent nodes that received
|
|
4
|
-
* that label. Each node
|
|
5
|
-
*
|
|
4
|
+
* that label. Each node exposes Session Details / Visualizer call-to-actions
|
|
5
|
+
* (see NodeActions) and an inline toggle to reveal the judge's reasoning when present.
|
|
6
6
|
*/
|
|
7
7
|
import React from "react";
|
|
8
8
|
import type { JudgeMetric } from "../utils/judgeAggregateTree";
|
|
9
9
|
export interface JudgeAggregateViewProps {
|
|
10
10
|
metrics: JudgeMetric[];
|
|
11
|
-
/** Opens the run for a judged node. sessionId may be undefined for legacy evaluations. */
|
|
11
|
+
/** Opens the run for a judged node in the Session Details drawer. sessionId may be undefined for legacy evaluations. */
|
|
12
12
|
onAgentNodeClick?: (sessionId: string | undefined, nodeId: string) => void;
|
|
13
|
+
/** Opens the run for a judged node in the full Visualizer. */
|
|
14
|
+
onOpenVisualizer?: (sessionId: string | undefined, nodeId: string) => void;
|
|
13
15
|
}
|
|
14
16
|
export declare const JudgeAggregateView: React.FC<JudgeAggregateViewProps>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Call-to-action buttons for an evaluated agent node. Instead of surfacing a raw
|
|
3
|
+
* node id, this offers two clear actions: open the run in the Flow Details
|
|
4
|
+
* drawer, or open it in the full Visualizer. Shared by the Judge, ToolUse and
|
|
5
|
+
* LLMInference evaluator views so the affordance is consistent everywhere.
|
|
6
|
+
*
|
|
7
|
+
* Each button only renders when its handler is provided, so library consumers
|
|
8
|
+
* that pass just `onAgentNodeClick` still get a working "Flow Details" action.
|
|
9
|
+
*/
|
|
10
|
+
import React from "react";
|
|
11
|
+
export interface NodeActionsProps {
|
|
12
|
+
/** Session containing the node. May be undefined for legacy evaluations. */
|
|
13
|
+
sessionId?: string;
|
|
14
|
+
/** Identifier of the evaluated agent node. */
|
|
15
|
+
nodeId: string;
|
|
16
|
+
/** Opens the run for this node in the Session Details drawer. */
|
|
17
|
+
onAgentNodeClick?: (sessionId: string | undefined, nodeId: string) => void;
|
|
18
|
+
/** Opens the run for this node in the full Visualizer. */
|
|
19
|
+
onOpenVisualizer?: (sessionId: string | undefined, nodeId: string) => void;
|
|
20
|
+
}
|
|
21
|
+
export declare const NodeActions: React.FC<NodeActionsProps>;
|
|
@@ -3,10 +3,15 @@ export interface EvaluatorResultPageProps {
|
|
|
3
3
|
/** Optional href for back link. Pass from the host app (e.g. "#/evaluations" for HashRouter). */
|
|
4
4
|
backHref?: string;
|
|
5
5
|
/**
|
|
6
|
-
* Optional handler for
|
|
7
|
-
* legacy agent_node_ids format. Default opens a SessionDetails drawer on this page.
|
|
6
|
+
* Optional handler for a node's "Session Details" action. sessionId may be undefined when evaluation
|
|
7
|
+
* uses legacy agent_node_ids format. Default opens a SessionDetails drawer on this page.
|
|
8
8
|
*/
|
|
9
9
|
onAgentNodeClick?: (sessionId: string | undefined, nodeId: string) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Optional handler for a node's "Visualizer" action. sessionId may be undefined when evaluation
|
|
12
|
+
* uses legacy agent_node_ids format. Default navigates to the full Sessions visualizer route.
|
|
13
|
+
*/
|
|
14
|
+
onOpenVisualizer?: (sessionId: string | undefined, nodeId: string) => void;
|
|
10
15
|
}
|
|
11
16
|
/**
|
|
12
17
|
* Page that resolves evaluationId and evaluatorId from the route,
|
|
@@ -12,9 +12,14 @@ export interface EvaluatorResultProps {
|
|
|
12
12
|
/** Optional href for back link. When provided, a "Back to Evaluations" control is shown. */
|
|
13
13
|
backHref?: string;
|
|
14
14
|
/**
|
|
15
|
-
* Optional handler for
|
|
16
|
-
* uses legacy agent_node_ids format. When
|
|
15
|
+
* Optional handler for a node's "Session Details" action. sessionId may be undefined when
|
|
16
|
+
* evaluation uses legacy agent_node_ids format. When omitted, the action is not shown.
|
|
17
17
|
*/
|
|
18
18
|
onAgentNodeClick?: (sessionId: string | undefined, nodeId: string) => void;
|
|
19
|
+
/**
|
|
20
|
+
* Optional handler for a node's "Visualizer" action. sessionId may be undefined when
|
|
21
|
+
* evaluation uses legacy agent_node_ids format. When omitted, the action is not shown.
|
|
22
|
+
*/
|
|
23
|
+
onOpenVisualizer?: (sessionId: string | undefined, nodeId: string) => void;
|
|
19
24
|
}
|
|
20
25
|
export declare const EvaluatorResult: React.FC<EvaluatorResultProps>;
|